On Wed, Oct 09, 2024 at 04:05:20PM +0300, Jani Nikula wrote: > On Wed, 09 Oct 2024, Raag Jadav <raag.jadav@xxxxxxxxx> wrote: > > On Tue, Oct 08, 2024 at 08:24:42PM +0300, Jani Nikula wrote: > >> On Mon, 07 Oct 2024, Raag Jadav <raag.jadav@xxxxxxxxx> wrote: > >> > + > >> > +/* Wa_14022698589:dg2 */ > >> > +static void intel_enable_g8(struct intel_uncore *uncore) > >> > +{ > >> > + if (IS_DG2(uncore->i915)) { > >> > + switch (INTEL_DEVID(uncore->i915)) { > >> > >> Even using INTEL_DEVID() is a no-go. There are currently four users, and > >> even some of them are too much. > >> > >> We try hard to abstract this stuff at a higher level, and there must be > >> zero direct PCI ID checks in code other than the table driven device > >> identification. Otherwise it's just impossible to figure out where we do > >> platform specific stuff for each platform. > > > > Even if we use pci_match_id(), we'd need an explicit list to match against. > > Well, we don't use that for individual workarounds or hacks either. When > you think of using something like that, see what git grep says. > > > Any better way? > > You probably need to turn it into another subplatform, and add it in > intel_device_info.c. You're probably going to need to rehash the > INTEL_DG2_*_IDS PCI ID macros too. That's how we tell platforms apart at > the PCI ID granularity. Which would be controversial since the ids span across existing subplatforms, which we don't want to break. Don't we have quirk mask thing like display? Raag