[PATCH 3/4] drm/xe: Rename gmdid_map to xe_ip
Matt Roper
matthew.d.roper at intel.com
Thu Feb 20 20:52:49 UTC 2025
On Thu, Feb 20, 2025 at 02:25:10PM -0300, Gustavo Sousa wrote:
> If we pay closer attention to struct gmdid_map, we will realize that it
> is actually fully describing an IP (graphics or media): it contains
> "release info" and "features info". The former is comprised of fields
> "ver" and "name"; and the latter is done via member "ip", which is a
> pointer to either struct xe_graphics_desc or xe_media_desc, and can be
> reused across releases.
>
> As such let's:
>
> * Rename struct gmdid_map to xe_ip.
> * Rename the field ver to verx100 to be consistent with the naming of
> members using that encoding of the version.
> * Rename the field "ip" to "desc" to make it clear that it is a
> pointer to a descriptor of features for the IP, since it will not
> contain *all* info (i.e. features + release info).
>
> We sill have release info mapped into struct xe_{graphics,media}_desc
> for pre-GMDID IPs. In an upcoming change we will handle that so that we
> make a clear separation between "release info" and "feature info".
>
> Signed-off-by: Gustavo Sousa <gustavo.sousa at intel.com>
Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
> ---
> drivers/gpu/drm/xe/tests/xe_pci.c | 24 ++++++++++++------------
> drivers/gpu/drm/xe/xe_pci.c | 24 ++++++++++++------------
> drivers/gpu/drm/xe/xe_pci_types.h | 6 +++---
> 3 files changed, 27 insertions(+), 27 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
> index 67404863087e..5132c1961472 100644
> --- a/drivers/gpu/drm/xe/tests/xe_pci.c
> +++ b/drivers/gpu/drm/xe/tests/xe_pci.c
> @@ -21,15 +21,15 @@
> */
> void xe_call_for_each_graphics_ip(xe_graphics_fn xe_fn)
> {
> - const struct xe_graphics_desc *ip, *last = NULL;
> + const struct xe_graphics_desc *desc, *last = NULL;
>
> - for (int i = 0; i < ARRAY_SIZE(graphics_ip_map); i++) {
> - ip = graphics_ip_map[i].ip;
> - if (ip == last)
> + for (int i = 0; i < ARRAY_SIZE(graphics_ips); i++) {
> + desc = graphics_ips[i].desc;
> + if (desc == last)
> continue;
>
> - xe_fn(ip);
> - last = ip;
> + xe_fn(desc);
> + last = desc;
> }
> }
> EXPORT_SYMBOL_IF_KUNIT(xe_call_for_each_graphics_ip);
> @@ -43,15 +43,15 @@ EXPORT_SYMBOL_IF_KUNIT(xe_call_for_each_graphics_ip);
> */
> void xe_call_for_each_media_ip(xe_media_fn xe_fn)
> {
> - const struct xe_media_desc *ip, *last = NULL;
> + const struct xe_media_desc *desc, *last = NULL;
>
> - for (int i = 0; i < ARRAY_SIZE(media_ip_map); i++) {
> - ip = media_ip_map[i].ip;
> - if (ip == last)
> + for (int i = 0; i < ARRAY_SIZE(media_ips); i++) {
> + desc = media_ips[i].desc;
> + if (desc == last)
> continue;
>
> - xe_fn(ip);
> - last = ip;
> + xe_fn(desc);
> + last = desc;
> }
> }
> EXPORT_SYMBOL_IF_KUNIT(xe_call_for_each_media_ip);
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index a61a8982ab67..8b8111e954c1 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
> @@ -369,8 +369,8 @@ static const struct xe_device_desc ptl_desc = {
> #undef PLATFORM
> __diag_pop();
>
> -/* Map of GMD_ID values to graphics IP */
> -static const struct gmdid_map graphics_ip_map[] = {
> +/* GMDID-based Graphics IPs */
> +static const struct xe_ip graphics_ips[] = {
> { 1270, "Xe_LPG", &graphics_xelpg },
> { 1271, "Xe_LPG", &graphics_xelpg },
> { 1274, "Xe_LPG+", &graphics_xelpg },
> @@ -380,8 +380,8 @@ static const struct gmdid_map graphics_ip_map[] = {
> { 3001, "Xe3_LPG", &graphics_xe2 },
> };
>
> -/* Map of GMD_ID values to media IP */
> -static const struct gmdid_map media_ip_map[] = {
> +/* GMDID-based Media IPs */
> +static const struct xe_ip media_ips[] = {
> { 1300, "Xe_LPM+", &media_xelpmp },
> { 1301, "Xe2_HPM", &media_xe2 },
> { 2000, "Xe2_LPM", &media_xe2 },
> @@ -584,11 +584,11 @@ static void handle_gmdid(struct xe_device *xe,
>
> read_gmdid(xe, GMDID_GRAPHICS, &ver, graphics_revid);
>
> - for (int i = 0; i < ARRAY_SIZE(graphics_ip_map); i++) {
> - if (ver == graphics_ip_map[i].ver) {
> + for (int i = 0; i < ARRAY_SIZE(graphics_ips); i++) {
> + if (ver == graphics_ips[i].verx100) {
> xe->info.graphics_verx100 = ver;
> - xe->info.graphics_name = graphics_ip_map[i].name;
> - *graphics = graphics_ip_map[i].ip;
> + xe->info.graphics_name = graphics_ips[i].name;
> + *graphics = graphics_ips[i].desc;
>
> break;
> }
> @@ -606,11 +606,11 @@ static void handle_gmdid(struct xe_device *xe,
> if (ver == 0)
> return;
>
> - for (int i = 0; i < ARRAY_SIZE(media_ip_map); i++) {
> - if (ver == media_ip_map[i].ver) {
> + for (int i = 0; i < ARRAY_SIZE(media_ips); i++) {
> + if (ver == media_ips[i].verx100) {
> xe->info.media_verx100 = ver;
> - xe->info.media_name = media_ip_map[i].name;
> - *media = media_ip_map[i].ip;
> + xe->info.media_name = media_ips[i].name;
> + *media = media_ips[i].desc;
>
> break;
> }
> diff --git a/drivers/gpu/drm/xe/xe_pci_types.h b/drivers/gpu/drm/xe/xe_pci_types.h
> index 8e586d02d089..f46426ef8ed8 100644
> --- a/drivers/gpu/drm/xe/xe_pci_types.h
> +++ b/drivers/gpu/drm/xe/xe_pci_types.h
> @@ -37,10 +37,10 @@ struct xe_media_desc {
> u8 has_indirect_ring_state:1;
> };
>
> -struct gmdid_map {
> - unsigned int ver;
> +struct xe_ip {
> + unsigned int verx100;
> const char *name;
> - const void *ip;
> + const void *desc;
> };
>
> #endif
> --
> 2.48.1
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the Intel-xe
mailing list