Lines Matching full:query
114 struct drm_xe_device_query *query) in query_engine_cycles() argument
128 if (query->size == 0) { in query_engine_cycles()
129 query->size = size; in query_engine_cycles()
131 } else if (XE_IOCTL_DBG(xe, query->size != size)) { in query_engine_cycles()
135 query_ptr = u64_to_user_ptr(query->data); in query_engine_cycles()
175 /* Only write to the output fields of user query */ in query_engine_cycles()
186 struct drm_xe_device_query *query) in query_engines() argument
190 u64_to_user_ptr(query->data); in query_engines()
198 if (query->size == 0) { in query_engines()
199 query->size = size; in query_engines()
201 } else if (XE_IOCTL_DBG(xe, query->size != size)) { in query_engines()
247 struct drm_xe_device_query *query) in query_mem_regions() argument
252 u64_to_user_ptr(query->data); in query_mem_regions()
256 if (query->size == 0) { in query_mem_regions()
257 query->size = size; in query_mem_regions()
259 } else if (XE_IOCTL_DBG(xe, query->size != size)) { in query_mem_regions()
317 static int query_config(struct xe_device *xe, struct drm_xe_device_query *query) in query_config() argument
323 u64_to_user_ptr(query->data); in query_config()
326 if (query->size == 0) { in query_config()
327 query->size = size; in query_config()
329 } else if (XE_IOCTL_DBG(xe, query->size != size)) { in query_config()
363 static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query) in query_gt_list() argument
369 u64_to_user_ptr(query->data); in query_gt_list()
373 if (query->size == 0) { in query_gt_list()
374 query->size = size; in query_gt_list()
376 } else if (XE_IOCTL_DBG(xe, query->size != size)) { in query_gt_list()
434 struct drm_xe_device_query *query) in query_hwconfig() argument
438 void __user *query_ptr = u64_to_user_ptr(query->data); in query_hwconfig()
441 if (query->size == 0) { in query_hwconfig()
442 query->size = size; in query_hwconfig()
444 } else if (XE_IOCTL_DBG(xe, query->size != size)) { in query_hwconfig()
502 struct drm_xe_device_query *query) in query_gt_topology() argument
504 void __user *query_ptr = u64_to_user_ptr(query->data); in query_gt_topology()
510 if (query->size == 0) { in query_gt_topology()
511 query->size = size; in query_gt_topology()
513 } else if (XE_IOCTL_DBG(xe, query->size != size)) { in query_gt_topology()
536 * mask, then it's better to omit L3 from the query rather than in query_gt_topology()
561 query_uc_fw_version(struct xe_device *xe, struct drm_xe_device_query *query) in query_uc_fw_version() argument
563 struct drm_xe_query_uc_fw_version __user *query_ptr = u64_to_user_ptr(query->data); in query_uc_fw_version()
568 if (query->size == 0) { in query_uc_fw_version()
569 query->size = size; in query_uc_fw_version()
571 } else if (XE_IOCTL_DBG(xe, query->size != size)) { in query_uc_fw_version()
651 struct drm_xe_device_query *query) in query_oa_units() argument
653 void __user *query_ptr = u64_to_user_ptr(query->data); in query_oa_units()
664 if (query->size == 0) { in query_oa_units()
665 query->size = size; in query_oa_units()
667 } else if (XE_IOCTL_DBG(xe, query->size != size)) { in query_oa_units()
711 static int query_pxp_status(struct xe_device *xe, struct drm_xe_device_query *query) in query_pxp_status() argument
713 struct drm_xe_query_pxp_status __user *query_ptr = u64_to_user_ptr(query->data); in query_pxp_status()
718 if (query->size == 0) { in query_pxp_status()
719 query->size = size; in query_pxp_status()
721 } else if (XE_IOCTL_DBG(xe, query->size != size)) { in query_pxp_status()
739 struct drm_xe_device_query *query) in query_eu_stall() argument
741 void __user *query_ptr = u64_to_user_ptr(query->data); in query_eu_stall()
756 if (query->size == 0) { in query_eu_stall()
757 query->size = size; in query_eu_stall()
759 } else if (XE_IOCTL_DBG(xe, query->size != size)) { in query_eu_stall()
780 struct drm_xe_device_query *query) = {
797 struct drm_xe_device_query *query = data; in xe_query_ioctl() local
800 if (XE_IOCTL_DBG(xe, query->extensions) || in xe_query_ioctl()
801 XE_IOCTL_DBG(xe, query->reserved[0] || query->reserved[1])) in xe_query_ioctl()
804 if (XE_IOCTL_DBG(xe, query->query >= ARRAY_SIZE(xe_query_funcs))) in xe_query_ioctl()
807 idx = array_index_nospec(query->query, ARRAY_SIZE(xe_query_funcs)); in xe_query_ioctl()
811 return xe_query_funcs[idx](xe, query); in xe_query_ioctl()