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