mei: pxp: support matching with a gfx discrete card
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2147558 Upstream Status: git://anongit.freedesktop.org/drm/drm commit bd58904a328fe53a5b8b8f03127c98b072e0986d Author: Tomas Winkler <tomas.winkler@intel.com> AuthorDate: Tue Sep 27 17:41:36 2022 -0700 Commit: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> CommitDate: Mon Oct 3 11:29:12 2022 -0700 With on-boards graphics card, both i915 and MEI are in the same device hierarchy with the same parent, while for discrete gfx card the MEI is its child device. Adjust the match function for that scenario by matching MEI parent device with i915. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Vitaly Lubart <vitaly.lubart@intel.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://patchwork.freedesktop.org/patch/msgid/20220928004145.745803-7-daniele.ceraolospurio@intel.com Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
This commit is contained in:
parent
5a7402531e
commit
51f2373bb9
|
@ -156,17 +156,24 @@ static int mei_pxp_component_match(struct device *dev, int subcomponent,
|
|||
{
|
||||
struct device *base = data;
|
||||
|
||||
if (!dev)
|
||||
return 0;
|
||||
|
||||
if (!dev->driver || strcmp(dev->driver->name, "i915") ||
|
||||
subcomponent != I915_COMPONENT_PXP)
|
||||
return 0;
|
||||
|
||||
base = base->parent;
|
||||
if (!base)
|
||||
if (!base) /* mei device */
|
||||
return 0;
|
||||
|
||||
base = base->parent;
|
||||
dev = dev->parent;
|
||||
base = base->parent; /* pci device */
|
||||
/* for dgfx */
|
||||
if (base && dev == base)
|
||||
return 1;
|
||||
|
||||
/* for pch */
|
||||
dev = dev->parent;
|
||||
return (base && dev && dev == base);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue