[Intel-gfx] [RFC 3/3] drm/i915: actually drive the BDW reserved IDs

Vivi, Rodrigo rodrigo.vivi at intel.com
Tue Jan 3 20:32:01 UTC 2017

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
> 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.

Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

> Fixes: fb7023e0e248 ("drm/i915: BDW: Adding Reserved PCI IDs.")
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: Ben Widawsky <ben at bwidawsk.net>
> Cc: Jani Nikula <jani.nikula at intel.com>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at 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),

More information about the Intel-gfx mailing list