drm-xe-next for 6.12 UAPI Changes: - Rename xe perf layer as xe observation layer, but was also made available via fixes to previous verison (Ashutosh) - Use write-back caching mode for system memory on DGFX, but was also mad available via fixes to previous version (Thomas) - Expose SIMD16 EU mask in topology query for userspace to know the type of EU, as available in PVC, Lunar Lake and Battlemage (Lucas) - Return ENOBUFS instead of ENOMEM in vm_bind if failure is tied to an array of binds (Matthew Brost) Driver Changes: - Log cleanup moving messages to debug priority (Michal Wajdeczko) - Add timeout to fences to adhere to dma_buf rules (Matthew Brost) - Rename old engine nomenclature to exec_queue (Matthew Brost) - Convert multiple bind ops to 1 job (Matthew Brost) - Add error injection for vm bind to help testing error path (Matthew Brost) - Fix error handling in page table to propagate correctly to userspace (Matthew Brost) - Re-organize and cleanup SR-IOV related registers (Michal Wajdeczko) - Make the device write barrier compatible with VF (Michal Wajdeczko) - New display workarounds for Battlemage (Matthew Auld) - New media workarounds for Lunar Lake and Battlemage (Ngai-Mint Kwan) - New graphics workarounds for Lunar Lake (Bommu Krishnaiah) - Tracepoint updates (Matthew Brost, Nirmoy Das) - Cleanup the header generation for OOB workarounds (Lucas De Marchi) - Fix leaking HDCP-related object (Nirmoy Das) - Serialize L2 flushes to avoid races (Tejas Upadhyay) - Log pid and comm on job timeout (José Roberto de Souza) - Simplify boilerplate code for live kunit (Michal Wajdeczko) - Improve kunit skips for live kunit (Michal Wajdeczko) - Fix xe_sync cleanup when handling xe_exec ioctl (Ashutosh Dixit) - Limit fair VF LMEM provisioning (Michal Wajdeczko) - New workaround to fence mmio writes in Lunar Lake (Tejas Upadhyay) - Warn on writes inaccessible register in VF (Michal Wajdeczko) - Fix register lookup in VF (Michal Wajdeczko) - Add GSC support for Battlemage (Alexander Usyskin) - Fix wedging only the GT in which timeout occurred (Matthew Brost) - Block device suspend when wedging (Matthew Brost) - Handle compression and migration changes for Battlemage (Akshata Jahagirdar) - Limit access of stolen memory for Lunar Lake (Uma Shankar) - Fail invalid addresses during user fence creation (Matthew Brost) - Refcount xe_file to safely and accurately store fdinfo stats (Umesh Nerlige Ramappa) - Cleanup and fix PM reference for TLB invalidation code (Matthew Brost) - Fix PM reference handling when communicating with GuC (Matthew Brost) - Add new BO flag for 2 MiB alignement and use in VF (Michal Wajdeczko) - Simplify MMIO setup for multi-tile platforms (Lucas De Marchi) - Add check for uninitialized access to OOB workarounds (Lucas De Marchi) - New GSC and HuC firmware blobs for Lunar Lake and Battlemage (Daniele Ceraolo Spurio) - Unify mmio wait logic (Gustavo Sousa) - Fix off-by-one when processing RTP rules (Lucas De Marchi) - Future-proof migrate logic with compressed PAT flag (Matt Roper) - Add WA kunit tests for Battlemage (Lucas De Marchi) - Test active tracking for workaorunds with kunit (Lucas De Marchi) - Add kunit tests for RTP with no actions (Lucas De Marchi) - Unify parse of OR rules in RTP (Lucas De Marchi) - Add performance tuning for Battlemage (Sai Teja Pottumuttu) - Make bit masks unsigned (Geert Uytterhoeven) Signed-off-by: Dave Airlie <airlied@redhat.com>
Showing the changes to include/uapi (1 of 94 files). Show all
Unified · Split
| @@ -517,7 +517,14 @@ struct drm_xe_query_gt_list { · 516 unmodified lines | ||
| 517 | 517 | * available per Dual Sub Slices (DSS). For example a query response |
| 518 | 518 | * containing the following in mask: |
| 519 | 519 | * ``EU_PER_DSS ff ff 00 00 00 00 00 00`` |
| 520 | − * means each DSS has 16 EU. | |
| 520 | + * means each DSS has 16 SIMD8 EUs. This type may be omitted if device | |
| 521 | + * doesn't have SIMD8 EUs. | |
| 522 | + * - %DRM_XE_TOPO_SIMD16_EU_PER_DSS - To query the mask of SIMD16 Execution | |
| 523 | + * Units (EU) available per Dual Sub Slices (DSS). For example a query | |
| 524 | + * response containing the following in mask: | |
| 525 | + * ``SIMD16_EU_PER_DSS ff ff 00 00 00 00 00 00`` | |
| 526 | + * means each DSS has 16 SIMD16 EUs. This type may be omitted if device | |
| 527 | + * doesn't have SIMD16 EUs. | |
| 521 | 528 | */ |
| 522 | 529 | struct drm_xe_query_topology_mask { |
| 523 | 530 | /** @gt_id: GT ID the mask is associated with */ |
| @@ -527,6 +534,7 @@ struct drm_xe_query_topology_mask { · 3 unmodified lines | ||
| 527 | 534 | #define DRM_XE_TOPO_DSS_COMPUTE 2 |
| 528 | 535 | #define DRM_XE_TOPO_L3_BANK 3 |
| 529 | 536 | #define DRM_XE_TOPO_EU_PER_DSS 4 |
| 537 | +#define DRM_XE_TOPO_SIMD16_EU_PER_DSS 5 | |
| 530 | 538 | /** @type: type of mask */ |
| 531 | 539 | __u16 type; |
| 532 | 540 | |
| @@ -1590,10 +1598,10 @@ enum drm_xe_oa_property_id { · 1057 unmodified lines | ||
| 1590 | 1598 | * b. Counter select c. Counter size and d. BC report. Also refer to the |
| 1591 | 1599 | * oa_formats array in drivers/gpu/drm/xe/xe_oa.c. |
| 1592 | 1600 | */ |
| 1593 | −#define DRM_XE_OA_FORMAT_MASK_FMT_TYPE (0xff << 0) | |
| 1594 | −#define DRM_XE_OA_FORMAT_MASK_COUNTER_SEL (0xff << 8) | |
| 1595 | −#define DRM_XE_OA_FORMAT_MASK_COUNTER_SIZE (0xff << 16) | |
| 1596 | −#define DRM_XE_OA_FORMAT_MASK_BC_REPORT (0xff << 24) | |
| 1601 | +#define DRM_XE_OA_FORMAT_MASK_FMT_TYPE (0xffu << 0) | |
| 1602 | +#define DRM_XE_OA_FORMAT_MASK_COUNTER_SEL (0xffu << 8) | |
| 1603 | +#define DRM_XE_OA_FORMAT_MASK_COUNTER_SIZE (0xffu << 16) | |
| 1604 | +#define DRM_XE_OA_FORMAT_MASK_BC_REPORT (0xffu << 24) | |
| 1597 | 1605 | |
| 1598 | 1606 | /** |
| 1599 | 1607 | * @DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT: Requests periodic OA unit |