1*b3a2a91aSJani Nikula // SPDX-License-Identifier: MIT 2*b3a2a91aSJani Nikula /* Copyright © 2026 Intel Corporation */ 3*b3a2a91aSJani Nikula 4*b3a2a91aSJani Nikula #include <drm/intel/display_parent_interface.h> 5*b3a2a91aSJani Nikula 6*b3a2a91aSJani Nikula #include "xe_device.h" 7*b3a2a91aSJani Nikula #include "xe_pcode.h" 8*b3a2a91aSJani Nikula 9*b3a2a91aSJani Nikula static int xe_display_pcode_read(struct drm_device *drm, u32 mbox, u32 *val, u32 *val1) 10*b3a2a91aSJani Nikula { 11*b3a2a91aSJani Nikula struct xe_device *xe = to_xe_device(drm); 12*b3a2a91aSJani Nikula struct xe_tile *tile = xe_device_get_root_tile(xe); 13*b3a2a91aSJani Nikula 14*b3a2a91aSJani Nikula return xe_pcode_read(tile, mbox, val, val1); 15*b3a2a91aSJani Nikula } 16*b3a2a91aSJani Nikula 17*b3a2a91aSJani Nikula static int xe_display_pcode_write_timeout(struct drm_device *drm, u32 mbox, u32 val, int timeout_ms) 18*b3a2a91aSJani Nikula { 19*b3a2a91aSJani Nikula struct xe_device *xe = to_xe_device(drm); 20*b3a2a91aSJani Nikula struct xe_tile *tile = xe_device_get_root_tile(xe); 21*b3a2a91aSJani Nikula 22*b3a2a91aSJani Nikula return xe_pcode_write_timeout(tile, mbox, val, timeout_ms); 23*b3a2a91aSJani Nikula } 24*b3a2a91aSJani Nikula 25*b3a2a91aSJani Nikula static int xe_display_pcode_request(struct drm_device *drm, u32 mbox, u32 request, 26*b3a2a91aSJani Nikula u32 reply_mask, u32 reply, int timeout_base_ms) 27*b3a2a91aSJani Nikula { 28*b3a2a91aSJani Nikula struct xe_device *xe = to_xe_device(drm); 29*b3a2a91aSJani Nikula struct xe_tile *tile = xe_device_get_root_tile(xe); 30*b3a2a91aSJani Nikula 31*b3a2a91aSJani Nikula return xe_pcode_request(tile, mbox, request, reply_mask, reply, timeout_base_ms); 32*b3a2a91aSJani Nikula } 33*b3a2a91aSJani Nikula 34*b3a2a91aSJani Nikula const struct intel_display_pcode_interface xe_display_pcode_interface = { 35*b3a2a91aSJani Nikula .read = xe_display_pcode_read, 36*b3a2a91aSJani Nikula .write = xe_display_pcode_write_timeout, 37*b3a2a91aSJani Nikula .request = xe_display_pcode_request, 38*b3a2a91aSJani Nikula }; 39