[PATCH i-g-t 10/10] lib: switch i915_pciids_local.h to xe driver style PCI ID macros

Rodrigo Vivi rodrigo.vivi at intel.com
Wed May 22 17:15:45 UTC 2024


On Wed, May 22, 2024 at 08:13:24PM +0300, Jani Nikula wrote:
> On Wed, 22 May 2024, Rodrigo Vivi <rodrigo.vivi at intel.com> wrote:
> > On Wed, May 22, 2024 at 01:35:23PM +0300, Jani Nikula wrote:
> >> Follow-up the kernel i915_pciids.h switching to xe driver style PCI ID
> >> macros, and do the same for i915_pciids_local.h. This is a clear
> >> improvement in the perf code, for example.
> >
> > I'm confused now on why do we need this i915_pciids_local.h o.O
> > but anyway, the change is good and right:
> 
> We'd need to split the MTL macros up kernel side to match IGT perf.c
> needs, even if we don't need that kernel side. But might as well do it
> for Single Point of Truth.

hmmm I see...  yeap, we should probably do this.

> 
> Ditto for PVC, we should use XE_PVC_IDS from xe_pciids.h, but there's a
> diff between those and what's in i915_pciids_local.h. Needs some
> analysis why.

This case is different... PVC IDs are not fully merged upstream.
They are part of a drm-tip's topic branch.

> 
> Anyway, all this can come as follow-up.

Agreed!

> 
> Thanks for the review,
> Jani.
> 
> 
> >
> > Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> >
> >> 
> >> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> >> ---
> >>  lib/i915/perf.c         | 12 +++--------
> >>  lib/i915_pciids_local.h | 44 ++++++++++++++++++++---------------------
> >>  lib/intel_device_info.c |  2 +-
> >>  3 files changed, 26 insertions(+), 32 deletions(-)
> >> 
> >> diff --git a/lib/i915/perf.c b/lib/i915/perf.c
> >> index 4b00ba5de9d4..ee950b3c03e4 100644
> >> --- a/lib/i915/perf.c
> >> +++ b/lib/i915/perf.c
> >> @@ -204,13 +204,10 @@ is_acm_gt3(const struct intel_perf_devinfo *devinfo)
> >>  static bool
> >>  is_mtl_gt2(const struct intel_perf_devinfo *devinfo)
> >>  {
> >> -#undef INTEL_VGA_DEVICE
> >> -#define INTEL_VGA_DEVICE(_id, _info) _id
> >>  	static const uint32_t devids[] = {
> >> -		INTEL_MTL_M_IDS(NULL),
> >> -		INTEL_MTL_P_GT2_IDS(NULL),
> >> +		INTEL_MTL_M_IDS(ID),
> >> +		INTEL_MTL_P_GT2_IDS(ID),
> >>  	};
> >> -#undef INTEL_VGA_DEVICE
> >>  	for (uint32_t i = 0; i < ARRAY_SIZE(devids); i++) {
> >>  		if (devids[i] == devinfo->devid)
> >>  			return true;
> >> @@ -222,12 +219,9 @@ is_mtl_gt2(const struct intel_perf_devinfo *devinfo)
> >>  static bool
> >>  is_mtl_gt3(const struct intel_perf_devinfo *devinfo)
> >>  {
> >> -#undef INTEL_VGA_DEVICE
> >> -#define INTEL_VGA_DEVICE(_id, _info) _id
> >>  	static const uint32_t devids[] = {
> >> -		INTEL_MTL_P_GT3_IDS(NULL),
> >> +		INTEL_MTL_P_GT3_IDS(ID),
> >>  	};
> >> -#undef INTEL_VGA_DEVICE
> >>  	for (uint32_t i = 0; i < ARRAY_SIZE(devids); i++) {
> >>  		if (devids[i] == devinfo->devid)
> >>  			return true;
> >> diff --git a/lib/i915_pciids_local.h b/lib/i915_pciids_local.h
> >> index 0043b0cd9b34..92879704aa8e 100644
> >> --- a/lib/i915_pciids_local.h
> >> +++ b/lib/i915_pciids_local.h
> >> @@ -9,41 +9,41 @@
> >>  
> >>  /* MTL perf */
> >>  #ifndef INTEL_MTL_M_IDS
> >> -#define INTEL_MTL_M_IDS(info) \
> >> -	INTEL_VGA_DEVICE(0x7D60, info), \
> >> -	INTEL_VGA_DEVICE(0x7D67, info)
> >> +#define INTEL_MTL_M_IDS(MACRO__, ...) \
> >> +	MACRO__(0x7D60, ## __VA_ARGS__), \
> >> +	MACRO__(0x7D67, ## __VA_ARGS__)
> >>  #endif
> >>  
> >>  #ifndef INTEL_MTL_P_GT2_IDS
> >> -#define INTEL_MTL_P_GT2_IDS(info) \
> >> -	INTEL_VGA_DEVICE(0x7D45, info)
> >> +#define INTEL_MTL_P_GT2_IDS(MACRO__, ...) \
> >> +	MACRO__(0x7D45, ## __VA_ARGS__)
> >>  #endif
> >>  
> >>  #ifndef INTEL_MTL_P_GT3_IDS
> >> -#define INTEL_MTL_P_GT3_IDS(info) \
> >> -	INTEL_VGA_DEVICE(0x7D55, info), \
> >> -	INTEL_VGA_DEVICE(0x7DD5, info)
> >> +#define INTEL_MTL_P_GT3_IDS(MACRO__, ...) \
> >> +	MACRO__(0x7D55, ## __VA_ARGS__), \
> >> +	MACRO__(0x7DD5, ## __VA_ARGS__)
> >>  #endif
> >>  
> >>  #ifndef INTEL_MTL_P_IDS
> >> -#define INTEL_MTL_P_IDS(info) \
> >> -	INTEL_MTL_P_GT2_IDS(info), \
> >> -	INTEL_MTL_P_GT3_IDS(info)
> >> +#define INTEL_MTL_P_IDS(MACRO__, ...) \
> >> +	INTEL_MTL_P_GT2_IDS(MACRO__, ## __VA_ARGS__), \
> >> +	INTEL_MTL_P_GT3_IDS(MACRO__, ## __VA_ARGS__)
> >>  #endif
> >>  
> >>  /* PVC */
> >>  #ifndef INTEL_PVC_IDS
> >> -#define INTEL_PVC_IDS(info) \
> >> -	INTEL_VGA_DEVICE(0x0BD0, info), \
> >> -	INTEL_VGA_DEVICE(0x0BD1, info), \
> >> -	INTEL_VGA_DEVICE(0x0BD2, info), \
> >> -	INTEL_VGA_DEVICE(0x0BD5, info), \
> >> -	INTEL_VGA_DEVICE(0x0BD6, info), \
> >> -	INTEL_VGA_DEVICE(0x0BD7, info), \
> >> -	INTEL_VGA_DEVICE(0x0BD8, info), \
> >> -	INTEL_VGA_DEVICE(0x0BD9, info), \
> >> -	INTEL_VGA_DEVICE(0x0BDA, info), \
> >> -	INTEL_VGA_DEVICE(0x0BDB, info)
> >> +#define INTEL_PVC_IDS(MACRO__, ...) \
> >> +	MACRO__(0x0BD0, ## __VA_ARGS__), \
> >> +	MACRO__(0x0BD1, ## __VA_ARGS__), \
> >> +	MACRO__(0x0BD2, ## __VA_ARGS__), \
> >> +	MACRO__(0x0BD5, ## __VA_ARGS__), \
> >> +	MACRO__(0x0BD6, ## __VA_ARGS__), \
> >> +	MACRO__(0x0BD7, ## __VA_ARGS__), \
> >> +	MACRO__(0x0BD8, ## __VA_ARGS__), \
> >> +	MACRO__(0x0BD9, ## __VA_ARGS__), \
> >> +	MACRO__(0x0BDA, ## __VA_ARGS__), \
> >> +	MACRO__(0x0BDB, ## __VA_ARGS__)
> >>  #endif
> >>  
> >>  #endif /* _I915_PCIIDS_LOCAL_H */
> >> diff --git a/lib/intel_device_info.c b/lib/intel_device_info.c
> >> index 30aca2abd7be..e80ea54707de 100644
> >> --- a/lib/intel_device_info.c
> >> +++ b/lib/intel_device_info.c
> >> @@ -617,7 +617,7 @@ static const struct pci_id_match intel_device_match[] = {
> >>  
> >>  	INTEL_MTL_IDS(INTEL_VGA_DEVICE, &intel_meteorlake_info),
> >>  
> >> -	INTEL_PVC_IDS(&intel_pontevecchio_info),
> >> +	INTEL_PVC_IDS(INTEL_VGA_DEVICE, &intel_pontevecchio_info),
> >>  
> >>  	XE_LNL_IDS(INTEL_VGA_DEVICE, &intel_lunarlake_info),
> >>  
> >> -- 
> >> 2.39.2
> >> 
> 
> -- 
> Jani Nikula, Intel


More information about the igt-dev mailing list