misc/mei: Allow building Intel ME interface on non-x86
A message that is not in the archive (sent off-list or not yet received): [email protected]
v2 cover Intel MEI Kconfig cleanups
Hi,
this enables GPU firmware updates on Intel dGPUs plugged into non-x86 machines. The most important patches are the first and last.
The second patch switches the ME interfaces for GPUs to use !=n tests, so it is possible for them to be builtins when the GPU drivers themselves are modules (as is likely). MEI is built-in by default on x86_64 (and Atom).
This might need some discussion what is desirable here:
- this is a strong dependency from an "early" directory (misc/mei) to a later one (gpu/drm), causing backtracking
- does it make sense for MEI to be built-in by default, or should it default to being a module?
- is the strong dependency desired because if the code is compiled as built-in, it will not be used until the module is loaded?
There is no strong functional dependency here, no symbol references, as these devices are enumerated over an auxiliary bus.
Also, enable building without the GPU drivers for compile testing.
No stable backport.
Simon
Simon Richter (4):
misc/mei: Allow building Intel ME interface on non-x86 misc/mei: Decouple ME interfaces from GPU drivers misc/mei: Allow building standalone for compile testing misc/mei: gsc_proxy: add dependency on Xe driver
drivers/misc/mei/Kconfig | 6 +++--- drivers/misc/mei/gsc_proxy/Kconfig | 2 +- drivers/misc/mei/hdcp/Kconfig | 2 +- drivers/misc/mei/pxp/Kconfig | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-)
base-commit: f8f9c1f4d0c7a64600e2ca312dec824a0bc2f1da
Signature · 1 line
2.47.3
PATCH v2 1/4 misc/mei: Allow building Intel ME interface on non-x86
The xe driver supports dGPUs which can be plugged into non-x86 machines, and exposes a MEI GSC interface, so this driver is no longer x86 only.
--- drivers/misc/mei/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/misc/mei/Kconfig +1 -1
@@ -2,7 +2,7 @@ # Copyright (c) 2003-2019, Intel Corporation. All rights reserved. config INTEL_MEI tristate "Intel Management Engine Interface" - depends on X86 && PCI + depends on PCI default X86_64 || MATOM help The Intel Management Engine (Intel ME) provides Manageability,
Signature · 1 line
2.47.3
PATCH v2 2/4 misc/mei: Decouple ME interfaces from GPU drivers
In reply to Simon RichterThese are enumerated via an auxiliary bus, so there is no functional dependency between these drivers, therefore allow compiling MEI as builtin even when i915/xe are built as modules.
--- drivers/misc/mei/Kconfig | 4 ++-- drivers/misc/mei/gsc_proxy/Kconfig | 2 +- drivers/misc/mei/hdcp/Kconfig | 2 +- drivers/misc/mei/pxp/Kconfig | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-)
drivers/misc/mei/Kconfig +2 -2
@@ -49,7 +49,7 @@ config INTEL_MEI_TXE config INTEL_MEI_GSC tristate "Intel MEI GSC embedded device" depends on INTEL_MEI_ME - depends on DRM_I915 || DRM_XE + depends on DRM_I915!=n || DRM_XE!=n help Intel auxiliary driver for GSC devices embedded in Intel graphics devices.
@@ -84,7 +84,7 @@ config INTEL_MEI_VSC config INTEL_MEI_LB tristate "Intel Late Binding (LB) support on ME Interface" depends on INTEL_MEI_ME - depends on DRM_XE + depends on DRM_XE!=n help Enable support for Intel Late Binding (LB) via the MEI interface.
drivers/misc/mei/gsc_proxy/Kconfig +1 -1
@@ -4,7 +4,7 @@ config INTEL_MEI_GSC_PROXY tristate "Intel GSC Proxy services of ME Interface" depends on INTEL_MEI_ME - depends on DRM_I915 + depends on DRM_I915!=n help MEI Support for GSC Proxy Services on Intel platforms.
drivers/misc/mei/hdcp/Kconfig +1 -1
@@ -4,7 +4,7 @@ config INTEL_MEI_HDCP tristate "Intel HDCP2.2 services of ME Interface" depends on INTEL_MEI_ME - depends on DRM_I915 || DRM_XE + depends on DRM_I915!=n || DRM_XE!=n help MEI Support for HDCP2.2 Services on Intel platforms.
drivers/misc/mei/pxp/Kconfig +1 -1
@@ -4,7 +4,7 @@ config INTEL_MEI_PXP tristate "Intel PXP services of ME Interface" depends on INTEL_MEI_ME - depends on DRM_I915 || DRM_XE + depends on DRM_I915!=n || DRM_XE!=n help MEI Support for PXP Services on Intel platforms.
Signature · 1 line
2.47.3
PATCH v2 3/4 misc/mei: Allow building standalone for compile testing
In reply to Simon RichterWhile this is not a particularly useful configuration, the MEI code should compile even when no drivers for a GPU containing a management engine are built.
--- drivers/misc/mei/Kconfig | 4 ++-- drivers/misc/mei/gsc_proxy/Kconfig | 2 +- drivers/misc/mei/hdcp/Kconfig | 2 +- drivers/misc/mei/pxp/Kconfig | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-)
drivers/misc/mei/Kconfig +2 -2
@@ -49,7 +49,7 @@ config INTEL_MEI_TXE config INTEL_MEI_GSC tristate "Intel MEI GSC embedded device" depends on INTEL_MEI_ME - depends on DRM_I915!=n || DRM_XE!=n + depends on DRM_I915!=n || DRM_XE!=n || COMPILE_TEST help Intel auxiliary driver for GSC devices embedded in Intel graphics devices.
@@ -84,7 +84,7 @@ config INTEL_MEI_VSC config INTEL_MEI_LB tristate "Intel Late Binding (LB) support on ME Interface" depends on INTEL_MEI_ME - depends on DRM_XE!=n + depends on DRM_XE!=n || COMPILE_TEST help Enable support for Intel Late Binding (LB) via the MEI interface.
drivers/misc/mei/gsc_proxy/Kconfig +1 -1
@@ -4,7 +4,7 @@ config INTEL_MEI_GSC_PROXY tristate "Intel GSC Proxy services of ME Interface" depends on INTEL_MEI_ME - depends on DRM_I915!=n + depends on DRM_I915!=n || COMPILE_TEST help MEI Support for GSC Proxy Services on Intel platforms.
drivers/misc/mei/hdcp/Kconfig +1 -1
@@ -4,7 +4,7 @@ config INTEL_MEI_HDCP tristate "Intel HDCP2.2 services of ME Interface" depends on INTEL_MEI_ME - depends on DRM_I915!=n || DRM_XE!=n + depends on DRM_I915!=n || DRM_XE!=n || COMPILE_TEST help MEI Support for HDCP2.2 Services on Intel platforms.
drivers/misc/mei/pxp/Kconfig +1 -1
@@ -4,7 +4,7 @@ config INTEL_MEI_PXP tristate "Intel PXP services of ME Interface" depends on INTEL_MEI_ME - depends on DRM_I915!=n || DRM_XE!=n + depends on DRM_I915!=n || DRM_XE!=n || COMPILE_TEST help MEI Support for PXP Services on Intel platforms.
Signature · 1 line
2.47.3
PATCH v2 4/4 misc/mei: gsc_proxy: add dependency on Xe driver
In reply to Simon RichterThis driver is useful if at least one DRM driver registers an auxiliary device for the ME interface. With the addition of Xe, this is no longer just i915.
--- drivers/misc/mei/gsc_proxy/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/misc/mei/gsc_proxy/Kconfig +1 -1
@@ -4,7 +4,7 @@ config INTEL_MEI_GSC_PROXY tristate "Intel GSC Proxy services of ME Interface" depends on INTEL_MEI_ME - depends on DRM_I915!=n || COMPILE_TEST + depends on DRM_I915!=n || DRM_XE!=n || COMPILE_TEST help MEI Support for GSC Proxy Services on Intel platforms.
Signature · 1 line
2.47.3
RE: [PATCH v2 0/4] Intel MEI Kconfig cleanups
In reply to Simon RichterQuoted 11 lines
Subject: [PATCH v2 0/4] Intel MEI
KconfigcleanupsHi,
this enables GPU firmware updates on Intel dGPUs plugged into non-x86 machines. The most important patches are the first and last.
The second patch switches the ME interfaces for GPUs to use !=n tests, so it is possible for them to be builtins when the GPU drivers themselves are modules (as is likely). MEI is built-in by default on
x86_64(and Atom).
Quoted 6 lines
This might need some discussion what is desirable here:
- this is a strong dependency from an "early" directory (misc/mei) to a later one (gpu/drm), causing backtracking
- does it make sense for MEI to be built-in by default, or should it default to being a module?
Usually module is enough, but there are some embedded systems that requires it as early as possible.
Quoted 11 lines
- is the strong dependency desired because if the code is compiled as built-in, it will not be used until the module is loaded?
There is no strong functional dependency here, no symbol references, as these devices are enumerated over an auxiliary bus.
Also, enable building without the GPU drivers for compile testing.
No stable backport.
Simon
Series looks reasonable to me now.
Quoted 17 lines
Simon Richter (4):
misc/mei: Allow building Intel ME interface on non-x86 misc/mei: Decouple ME interfaces from GPU drivers misc/mei: Allow building standalone for compile testing misc/mei:gsc_proxy: add dependency on Xe driverdrivers/misc/mei/Kconfig | 6 +++--- drivers/misc/mei/gsc_proxy/Kconfig | 2 +- drivers/misc/mei/hdcp/Kconfig | 2 +- drivers/misc/mei/pxp/Kconfig | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-)base-commit:
f8f9c1f4d0c7a64600e2ca312dec824a0bc2f1da--
2.47.3