Message ID | 1483473860-17644-3-git-send-email-paulo.r.zanoni@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, 2017-01-03 at 18:04 -0200, Paulo Zanoni wrote: > Back in 2014, commit fb7023e0e248 ("drm/i915: BDW: Adding Reserved PCI > IDs.") added the reserved PCI IDs in order to try to make sure we had > working drivers in case we ever released products using these IDs > (since we had instances of this type of problem in the past). The > problem is that the patch only touched the macros used by > early-quirks.c and by the user space components that rely on > i915_pciids.h, it didn't touch the macros used by i915_pci.c. So we > correctly handled the stolen memory for these theoretical IDs, but we > didn't actually drive the devices from i915.ko. > > So this patch fixes the original commit by actually making i915.ko > drive these IDs, which was the goal. There's no information on what > would be the GT count on these IDs, so we just go with the safer > intel_broadwell_info, at the risk of ignoring a possibly inexistent > BSD2_RING. > > I did some checking, and it seems that these IDs are driven by > intel-gpu-tools, xf86-video-intel and libdrm (since they contain old > copies of i915_pciids.h), but they are not checked by mesa. > > The alternative to this patch would be to just assume we're actually > never going to use these IDs, and then remove them from our ID lists > and make sure our user space components sync the latest i915_pciids.h > copy. I'm fine with either approaches, as long as we make sure that > every component tries to drive the same list of PCI IDs. I prefer to assume that it is possible that this device will be used at some point since it is on spec as reserved. So, Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> > > Fixes: fb7023e0e248 ("drm/i915: BDW: Adding Reserved PCI IDs.") > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Cc: Ben Widawsky <ben@bwidawsk.net> > Cc: Jani Nikula <jani.nikula@intel.com> > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> > --- > drivers/gpu/drm/i915/i915_pci.c | 1 + > 1 file changed, 1 insertion(+) > > I'm not even sure if this deserves a Cc: stable tag... > > diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c > index 7435a73..ecb487b 100644 > --- a/drivers/gpu/drm/i915/i915_pci.c > +++ b/drivers/gpu/drm/i915/i915_pci.c > @@ -456,6 +456,7 @@ static const struct pci_device_id pciidlist[] = { > INTEL_VLV_IDS(&intel_valleyview_info), > INTEL_BDW_GT12_IDS(&intel_broadwell_info), > INTEL_BDW_GT3_IDS(&intel_broadwell_gt3_info), > + INTEL_BDW_RSVD_IDS(&intel_broadwell_info), > INTEL_CHV_IDS(&intel_cherryview_info), > INTEL_SKL_GT1_IDS(&intel_skylake_info), > INTEL_SKL_GT2_IDS(&intel_skylake_info),
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index 7435a73..ecb487b 100644 --- a/drivers/gpu/drm/i915/i915_pci.c +++ b/drivers/gpu/drm/i915/i915_pci.c @@ -456,6 +456,7 @@ static const struct pci_device_id pciidlist[] = { INTEL_VLV_IDS(&intel_valleyview_info), INTEL_BDW_GT12_IDS(&intel_broadwell_info), INTEL_BDW_GT3_IDS(&intel_broadwell_gt3_info), + INTEL_BDW_RSVD_IDS(&intel_broadwell_info), INTEL_CHV_IDS(&intel_cherryview_info), INTEL_SKL_GT1_IDS(&intel_skylake_info), INTEL_SKL_GT2_IDS(&intel_skylake_info),
Back in 2014, commit fb7023e0e248 ("drm/i915: BDW: Adding Reserved PCI IDs.") added the reserved PCI IDs in order to try to make sure we had working drivers in case we ever released products using these IDs (since we had instances of this type of problem in the past). The problem is that the patch only touched the macros used by early-quirks.c and by the user space components that rely on i915_pciids.h, it didn't touch the macros used by i915_pci.c. So we correctly handled the stolen memory for these theoretical IDs, but we didn't actually drive the devices from i915.ko. So this patch fixes the original commit by actually making i915.ko drive these IDs, which was the goal. There's no information on what would be the GT count on these IDs, so we just go with the safer intel_broadwell_info, at the risk of ignoring a possibly inexistent BSD2_RING. I did some checking, and it seems that these IDs are driven by intel-gpu-tools, xf86-video-intel and libdrm (since they contain old copies of i915_pciids.h), but they are not checked by mesa. The alternative to this patch would be to just assume we're actually never going to use these IDs, and then remove them from our ID lists and make sure our user space components sync the latest i915_pciids.h copy. I'm fine with either approaches, as long as we make sure that every component tries to drive the same list of PCI IDs. Fixes: fb7023e0e248 ("drm/i915: BDW: Adding Reserved PCI IDs.") Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Ben Widawsky <ben@bwidawsk.net> Cc: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> --- drivers/gpu/drm/i915/i915_pci.c | 1 + 1 file changed, 1 insertion(+) I'm not even sure if this deserves a Cc: stable tag...