-
- Downloads
drm/xe: memirq infra changes for MSI-X
When using MSI-X, hw engines report interrupt status and source to engine instance 0. For this scenario, in order to differentiate between the engines, we need to pass different status/source pointers in the LRC. The requirements on those pointers are: - Interrupt status should be 4KiB aligned - Interrupt source should be 64 bytes aligned To accommodate this, we duplicate the current memirq page layout - allocating a page for each engine instance and pass this page in the LRC. Note that the same page can be reused for different engine types. For example, an LRC executing on CCS #x will have pointers to page #x, and an LRC executing on BCS #x will have the same pointers. Thus, to locate the proper page, the pointer accessors were modified to receive the hw engine. Signed-off-by:Ilia Levi <ilia.levi@intel.com> Reviewed-by:
Michal Wajdeczko <michal.wajdeczko@intel.com> Signed-off-by:
Michal Wajdeczko <michal.wajdeczko@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240918053942.1331811-5-illevi@habana.ai
Showing
- drivers/gpu/drm/xe/xe_device.h 7 additions, 1 deletiondrivers/gpu/drm/xe/xe_device.h
- drivers/gpu/drm/xe/xe_lrc.c 2 additions, 2 deletionsdrivers/gpu/drm/xe/xe_lrc.c
- drivers/gpu/drm/xe/xe_memirq.c 75 additions, 14 deletionsdrivers/gpu/drm/xe/xe_memirq.c
- drivers/gpu/drm/xe/xe_memirq.h 3 additions, 2 deletionsdrivers/gpu/drm/xe/xe_memirq.h
- drivers/gpu/drm/xe/xe_memirq_types.h 2 additions, 2 deletionsdrivers/gpu/drm/xe/xe_memirq_types.h
Loading
Please register or sign in to comment