Add Qualcomm IPC router to enable USB(Lenovo x13s)

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
This commit is contained in:
Dennis Gilmore 2023-12-08 10:35:20 -06:00
parent 1f5e24a402
commit cd723abe02
2 changed files with 54 additions and 1 deletions

46
2531.patch Normal file
View File

@ -0,0 +1,46 @@
From a8015f7dfc682100434e3ee051bf9472a8e6cad4 Mon Sep 17 00:00:00 2001
From: Jeremy Linton <jeremy.linton@arm.com>
Date: Fri, 6 Oct 2023 10:33:22 -0500
Subject: [PATCH] feat(kernel-modules): add Qualcomm IPC router to enable USB
The x13s, and possibly other Qualcomm based devices need the QC
IPC router driver in order to enable USB. Without it, its not
possible to boot from USB-C attached disks.
IPC in this case is Inter _Processor_ Communication and forms
the message bus used to communicate between differing processing
elements in a given system/SoC running and managing various
hardware devices. This means that while it appears this driver
should be in the dracut network modules that is incorrect
because its not for enabling host networking in the initrd,
but rather for communicating with other hardware blocks.
Those other blocks aren't limited to modems, but any SMD (shared
memory device), which on QC based machines includes the audio DSPs,
RPM (resource power manager) and of course the application
processor cores linux is running on.
References:
https://osmocom.org/projects/quectel-modems/wiki/Qualcomm_Linux_SMD
https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/Documentation/arm/msm/msm_ipc_router.txt
https://github.com/dracutdevs/dracut/pull/2531
Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
---
modules.d/90kernel-modules/module-setup.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index e217512594..75afecc86f 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -95,7 +95,8 @@ installkernel() {
"=drivers/usb/misc" \
"=drivers/usb/musb" \
"=drivers/usb/phy" \
- "=drivers/scsi/hisi_sas"
+ "=drivers/scsi/hisi_sas" \
+ "=net/qrtr"
fi
awk -F: '/^\// {print $1}' "$srcmods/modules.dep" 2> /dev/null | instmods

View File

@ -7,7 +7,7 @@
%global __requires_exclude pkg-config
# rpmdev-bumpspec and releng automation compatible variable
%global baserelease 17
%global baserelease 18
Name: dracut
Version: 059
@ -94,6 +94,10 @@ Patch16: https://github.com/dracutdevs/dracut/pull/2527.patch
# https://github.com/dracutdevs/dracut/pull/2481
Patch17: 2481-remove-microcode-check-based-on-CONFIG_MICROCODE_.patch
# Fix for Lenovo x13s
# https://github.com/dracutdevs/dracut/pull/2531
Patch: 2531.patch
BuildRequires: bash
BuildRequires: git-core
BuildRequires: pkgconfig(libkmod) >= 23
@ -494,6 +498,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
%changelog
* Fri Dec 08 2023 Dennis Gilmore <dennis@ausil.us> - 059-18
- Add Qualcomm IPC router to enable USB(Lenovo x13s)
* Thu Nov 16 2023 Pavel Valena <pvalena@redhat.com> - 059-17
- fix(dracut.sh): remove microcode check based on