Lines Matching +full:0 +full:xe
31 * as we use unique identifier for each user, with handle 0 being reserved for
61 * @xe: the Xe device
70 u32 xe_gsc_emit_header(struct xe_device *xe, struct iosys_map *map, u32 offset, in xe_gsc_emit_header() argument
73 xe_assert(xe, !(host_session_id & HOST_SESSION_CLIENT_MASK)); in xe_gsc_emit_header()
78 xe_map_memset(xe, map, offset, 0, GSC_HDR_SIZE); in xe_gsc_emit_header()
80 mtl_gsc_header_wr(xe, map, offset, validity_marker, GSC_HECI_VALIDITY_MARKER); in xe_gsc_emit_header()
81 mtl_gsc_header_wr(xe, map, offset, heci_client_id, heci_client_id); in xe_gsc_emit_header()
82 mtl_gsc_header_wr(xe, map, offset, host_session_handle, host_session_id); in xe_gsc_emit_header()
83 mtl_gsc_header_wr(xe, map, offset, header_version, MTL_GSC_HEADER_VERSION); in xe_gsc_emit_header()
84 mtl_gsc_header_wr(xe, map, offset, message_size, payload_size + GSC_HDR_SIZE); in xe_gsc_emit_header()
91 * @xe: the Xe device
95 void xe_gsc_poison_header(struct xe_device *xe, struct iosys_map *map, u32 offset) in xe_gsc_poison_header() argument
97 xe_map_memset(xe, map, offset, POISON_FREE, GSC_HDR_SIZE); in xe_gsc_poison_header()
103 * @xe: the Xe device
111 bool xe_gsc_check_and_update_pending(struct xe_device *xe, in xe_gsc_check_and_update_pending() argument
115 if (mtl_gsc_header_rd(xe, out, offset_out, flags) & GSC_OUTFLAG_MSG_PENDING) { in xe_gsc_check_and_update_pending()
116 u64 handle = mtl_gsc_header_rd(xe, out, offset_out, gsc_message_handle); in xe_gsc_check_and_update_pending()
118 mtl_gsc_header_wr(xe, in, offset_in, gsc_message_handle, handle); in xe_gsc_check_and_update_pending()
129 * @xe: the Xe device
135 * Returns: -errno value on failure, 0 otherwise
137 int xe_gsc_read_out_header(struct xe_device *xe, in xe_gsc_read_out_header() argument
142 u32 marker = mtl_gsc_header_rd(xe, map, offset, validity_marker); in xe_gsc_read_out_header()
143 u32 size = mtl_gsc_header_rd(xe, map, offset, message_size); in xe_gsc_read_out_header()
144 u32 status = mtl_gsc_header_rd(xe, map, offset, status); in xe_gsc_read_out_header()
150 if (status != 0) { in xe_gsc_read_out_header()
151 drm_err(&xe->drm, "GSC header readout indicates error: %d\n", in xe_gsc_read_out_header()
162 return 0; in xe_gsc_read_out_header()
199 bb->cs[bb->len++] = 0; in xe_gsc_pkt_submit_kernel()
214 if (timeout < 0) in xe_gsc_pkt_submit_kernel()
219 return 0; in xe_gsc_pkt_submit_kernel()