Skip to content

backport: Enable mei drivers backport support - #446

Open
knayana-gse wants to merge 10 commits into
intel-gpu:oot-backport/v7.0from
knayana-gse:mei-bp-7.0-jun25
Open

backport: Enable mei drivers backport support#446
knayana-gse wants to merge 10 commits into
intel-gpu:oot-backport/v7.0from
knayana-gse:mei-bp-7.0-jun25

Conversation

@knayana-gse

Copy link
Copy Markdown

Enable mei drivers backport support against 6.6 kernel
based on 7.0 kernel.

Signed-off-by: Kanaka Raju Nayana kanaka.raju.nayana@intel.com

Comment thread copy-list
include/linux/mei_aux.h
include/linux/mei_cl_bus.h
include/uapi/linux/mei.h
include/drm/intel/i915_hdcp_interface.h

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be part of previous commit

Enable mei drivers backport support against 6.6 kernel
based on 7.0 kernel.

Signed-off-by: Kanaka Raju Nayana <kanaka.raju.nayana@intel.com>
Add i915_hdcp_interface.h and i915_pxp_tee_interface.h files in
copy-list to resolve below errors:

Error:
-------------------------------------------------------------------------------
drm/intel/i915_hdcp_interface.h: No such file or directory
drm/intel/i915_pxp_tee_interface.h: No such file or directory
-------------------------------------------------------------------------------

Signed-off-by: Kanaka Raju Nayana <kanaka.raju.nayana@intel.com>
When compiling mei bus driver for kernel 6.6, the mei_cl_device_match()
function signature is incompatible with newer kernels (6.11+) where
struct bus_type.match requires const struct device_driver *.
This causes a compilation error on kernel 6.11+.

Add conditional compilation to support both older kernels (6.6-6.10)
with non-const parameter and newer kernels (6.11+) with const parameter.

Error:
-------------------------------------------------------------------------------
initialization of ‘int (*)(struct device *, struct device_driver *)’ from
incompatible pointer type ‘int (*)(struct device *, const struct
device_driver *)’ [-Werror=incompatible-pointer-types]
.match          = mei_cl_device_match
-------------------------------------------------------------------------------

Reference:
    d69d80484598
    driver core: have match() callback in struct bus_type take a const *

Signed-off-by: Kanaka Raju Nayana <kanaka.raju.nayana@intel.com>
After changing assign_str to one argument in KV6.10, backporting to
older version need to change parameters with in trace definition.
Go back to old handling.

Error:
-------------------------------------------------------------------------------
mei-trace.h: macro "__assign_str" requires 2 arguments, but only 1 given
-------------------------------------------------------------------------------

Reference:
    2c92ca849fcc
    tracing/treewide: Remove second parameter of __assign_str()

Signed-off-by: Kanaka Raju Nayana <kanaka.raju.nayana@intel.com>
Kernel 6.12 moved unaligned.h from asm/ to linux/. Add backport header
to conditionally include the correct location based on kernel version.

Error:
-------------------------------------------------------------------------------
fatal error: linux/unaligned.h: No such file or directory
-------------------------------------------------------------------------------

Reference:
    5f60d5f6bbc1 move asm/unaligned.h to linux/unaligned.h

Signed-off-by: Kanaka Raju Nayana <kanaka.raju.nayana@intel.com>
Kernel 6.11 changed platform_driver::remove() from int to void.
This breaks builds on older kernels if the remove callback
signature is not matched to the target kernel.

Add a compatibility check and switch mei_vsc_remove() to the
appropriate signature so the driver builds on both 6.6 and
newer kernels.

Error:
-------------------------------------------------------------------------------
initialization of ‘int (*)(struct platform_device *)’ from incompatible
pointer type ‘void (*)(struct platform_device *)’
[-Werror=incompatible-pointer-types]
  445 |         .remove = mei_vsc_remove,
-------------------------------------------------------------------------------

Reference:
    0edb555a65d1
    platform: Make platform_driver::remove() return void

Signed-off-by: Kanaka Raju Nayana <kanaka.raju.nayana@intel.com>
Fix modpost namespace import errors for mei-vsc.

Error:
-------------------------------------------------------------------------------
module mei-vsc uses symbol vsc_tp_reset from namespace VSC_TP, but
does not import it.
-------------------------------------------------------------------------------

Signed-off-by: Kanaka Raju Nayana <kanaka.raju.nayana@intel.com>
Add mei drivers oot module to dkms deb package list.

Signed-off-by: Kanaka Raju Nayana <kanaka.raju.nayana@intel.com>
Add 7.1 kernel mei changes for now and once moved to 7.1 base
remove from here.

Signed-off-by: Kanaka Raju Nayana <kanaka.raju.nayana@intel.com>
Add mei drivers oot module to dkms rpm package list.

Signed-off-by: Kanaka Raju Nayana <kanaka.raju.nayana@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants