[PATCH] drm/xe/uapi: Expose EU width via topology query

Lucas De Marchi lucas.demarchi at intel.com
Wed Jul 10 14:59:55 UTC 2024


On Wed, Jul 10, 2024 at 07:52:38AM GMT, Matt Roper wrote:
>On Tue, Jul 09, 2024 at 10:53:54PM -0700, Lucas De Marchi wrote:
>> PVC, Xe2 and later platforms have a 16 wide EU. We were implicitly
>> reporting for PVC the number of 16-wide EUs without giving userspace any
>> hint that they were different than for other platforms. Xe2 and later
>> also have 16-wide, but in those case the reported number would
>> correspond to the 8-wide count.
>>
>> Add a new item to the topology that aims to clarify what the EU_PER_DSS
>> mask means. This new item uses mask[] as a single u8 value. Xe2 and
>> later platforms start returning the number of SIMD16 EUs.
>
>So it looks like your patch is adding a new standalone "EU type" item to
>the list of masks returned by the query.  I.e.,
>
>        - DRM_XE_TOPO_DSS_GEOMETRY = ...
>        - DRM_XE_TOPO_DSS_COMPUTE = ...
>        - DRM_XE_TOPO_DSS_EU_PER_DSS = ...
>        - DRM_XE_TOPO_EU_WIDTH = {0, 1}
>
>I think it would be more natural if we just didn't include
>DRM_XE_TOPO_DSS_EU_PER_DSS in the list of masks returned on new
>platforms, but instead added a new type of mask that would be returned
>on the newer platforms.  I.e.,
>
>   Old Xe1 platforms receive from query:
>        - DRM_XE_TOPO_DSS_GEOMETRY = ...
>        - DRM_XE_TOPO_DSS_COMPUTE = ...
>        - DRM_XE_TOPO_DSS_EU_PER_DSS = ...
>
>   New Xe2 platforms receive from query:
>        - DRM_XE_TOPO_DSS_GEOMETRY = ...
>        - DRM_XE_TOPO_DSS_COMPUTE = ...
>        - DRM_XE_TOPO_DSS_SIMD16_EU_PER_DSS = ...

yeah, I like this and wouldn't be an abuse of the field "mask[]" like
I'm doing here.

Should we document that the query may not have all the items?

thanks
Lucas De Marchi


More information about the Intel-xe mailing list