[Intel-xe] [PATCH v3 00/30] uAPI Alignment - take 1 v3

John Harrison john.c.harrison at intel.com
Wed Oct 4 00:31:16 UTC 2023


On 9/26/2023 05:55, Francois Dugast wrote:
> v3:
> Rebase and add more fixes to uAPI as well as drm_xe_vm_bind_op extension,
> query for microcontroller version and documentation.
>
> This is still not the final version as we are missing at least:
> - a fix for GEM create flags [1]
> - a uAPI update to go per tile rather than per GT [3]
> - PAT and cache coherency support [4]
There is a need to rework the PMU counters (unless that support hasn't 
yet been ported across from i915?). Hardware generated engine busyness 
is reported in clock ticks not nanoseconds. And while technically a 
native device can convert from ticks to ns and compare the activiy count 
against wall time, a VF cannot do that - wall time is not a valid 
concept in a VF because the VF only gets to run on the hardware for some 
amount of the time. Therefore, the interface needs to return 'active 
ticks' and 'total available ticks' and the user can only use these as a 
ratio to determine an active busyness. Comparison to wall time is not 
valid. And in order to prevent code being written on native and then 
failing when run in a VF, we need to make sure the only interface 
provided to the user is the VF compliant one.

John.


>
> v2:
> This v2 has 3 extra patches that was missing on yesterday's submission.
> But that aligns with the IGT series sent yesterday.
>
> Also I'm glad that Mesa reacted super fast and we already have the MR
> ready that aligns with v1 sent yesterday:
>
> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25300
>
> Thank you Jose!
>
> v1:
> As a result of the uAPI review efforts started by Thomas[1],
> we have identified many updates on our uAPI that would lead to
> breakage in the compatibility. What it is not acceptable after
> we are merged upstream. So, let's break it before it is too late,
> and start upstreaming a good, reliable and clean uapi.
>
> Most of this work on putting these patches together for a single
> shot was led by Francois.
>
> The IGT counter part of this series is available as well[2].
>
> [1] - https://lore.kernel.org/all/863bebd0c624d6fc2b38c0a06b63e468b4185128.camel@l\
> inux.intel.com/
> [2] - https://lore.kernel.org/all/20230919142000.91363-1-rodrigo.vivi@intel.com
> [3] - https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/633
> [4] - https://patchwork.freedesktop.org/series/123027/
>
> Ashutosh Dixit (1):
>    drm/xe/uapi: Use common drm_xe_ext_set_property extension
>
> Francois Dugast (11):
>    drm/xe/uapi: Separate VM_BIND's operation and flag
>    drm/xe/vm: Remove VM_BIND_OP macro
>    drm/xe/uapi: Remove MMIO ioctl
>    drm/xe/uapi: Fix naming of XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY
>    drm/xe/uapi: Add documentation for query
>    drm/xe/uapi: Document DRM_XE_DEVICE_QUERY_HWCONFIG
>    drm/xe/uapi: Add pad to drm_xe_engine_class_instance
>    drm/xe: Extend uAPI to query HuC micro-controler firmware version
>    drm/xe: Remove useless query config num_params
>    drm/xe/uapi: Add missing DRM_ prefix in uAPI constants
>    drm/xe/uapi: Add _FLAG to uAPI constants usable for flags
>
> José Roberto de Souza (1):
>    drm/xe: Add uAPI to query micro-controler firmware version
>
> Matthew Brost (7):
>    drm/xe: Fix xe_exec_queue_is_idle for parallel exec queues
>    drm/xe: Deprecate XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE
>      implementation
>    drm/xe: Rename exec_queue_kill_compute to
>      xe_vm_remove_compute_exec_queue
>    drm/xe: Remove XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE from uAPI
>    drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
>    drm/xe: Remove async worker and rework sync binds
>    drm/xe: Fix VM bind out-sync signaling ordering
>
> Mika Kuoppala (1):
>    drm/xe: Extend drm_xe_vm_bind_op
>
> Rodrigo Vivi (6):
>    drm/xe: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
>    drm/xe/uapi: Document drm_xe_query_gt
>    drm/xe/uapi: Replace useless 'instance' per unique gt_id
>    drm/xe/uapi: Remove unused field of drm_xe_query_gt
>    drm/xe/uapi: Rename gts to gt_list
>    drm/xe/uapi: Crystal Reference Clock updates
>
> Umesh Nerlige Ramappa (3):
>    drm/xe: Fix array bounds check for queries
>    drm/xe: Set the correct type for xe_to_user_engine_class
>    drm/xe: Correlate engine and cpu timestamps with better accuracy
>
>   drivers/gpu/drm/xe/xe_bo.c               |  14 +-
>   drivers/gpu/drm/xe/xe_device.c           |   1 -
>   drivers/gpu/drm/xe/xe_exec.c             |  43 --
>   drivers/gpu/drm/xe/xe_exec_queue.c       | 201 +++---
>   drivers/gpu/drm/xe/xe_exec_queue.h       |   7 +
>   drivers/gpu/drm/xe/xe_exec_queue_types.h |  14 +-
>   drivers/gpu/drm/xe/xe_gt.c               |   2 +-
>   drivers/gpu/drm/xe/xe_gt_types.h         |   2 +-
>   drivers/gpu/drm/xe/xe_mmio.c             | 102 ---
>   drivers/gpu/drm/xe/xe_pci.c              |   4 -
>   drivers/gpu/drm/xe/xe_pmu.c              |  20 +-
>   drivers/gpu/drm/xe/xe_query.c            | 266 ++++++--
>   drivers/gpu/drm/xe/xe_sync.c             |  28 +-
>   drivers/gpu/drm/xe/xe_sync.h             |   2 +-
>   drivers/gpu/drm/xe/xe_vm.c               | 829 ++++++-----------------
>   drivers/gpu/drm/xe/xe_vm.h               |   3 +-
>   drivers/gpu/drm/xe/xe_vm_doc.h           |  14 +-
>   drivers/gpu/drm/xe/xe_vm_madvise.c       |   8 +-
>   drivers/gpu/drm/xe/xe_vm_types.h         |  42 +-
>   drivers/gpu/drm/xe/xe_wait_user_fence.c  |  49 +-
>   include/uapi/drm/xe_drm.h                | 516 +++++++-------
>   21 files changed, 915 insertions(+), 1252 deletions(-)
>



More information about the Intel-xe mailing list