Skip to content

overlay-debs: Add linux debdiff for RB1 #81

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 26, 2025

Conversation

lool
Copy link
Contributor

@lool lool commented Jun 24, 2025

This turns on a number of configs, more than needed, to fix RB1 boot
with Debian kernels.

The changelog doesn't use experimental because that requires using "exp"
in the version number.

Copy link
Contributor

@basak-qcom basak-qcom left a comment

Choose a reason for hiding this comment

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

Looks good, and nice job narrowing down the config changes to such a small list :)

Ideally we'd confirm this is booting and passing tests, but I'm unclear on what's needed for that (still absorbing the various defined workflows). I do understand it won't change any builds in itself though, so feel free to land when appropriate.

Copy link
Contributor

@lumag lumag left a comment

Choose a reason for hiding this comment

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

Please follow comments

@lool lool force-pushed the debian-linux-rb1 branch from 0a510a3 to 3ef9df4 Compare June 24, 2025 17:23
@lool
Copy link
Contributor Author

lool commented Jun 24, 2025

I pushed a new version, but:

  • it fails to build due to expecting a module for d-i that isn't there
  • a few of the configs I tried to =y reverted to =m due to now missing dependencies – QCOM_SMD_RPM and QCOM_CLK_SMD_RPM notably

I'm trying a build reverting the changes for the above, and will see if it's enough

@lool lool force-pushed the debian-linux-rb1 branch from 3ef9df4 to 87bc245 Compare June 24, 2025 17:45
@lool
Copy link
Contributor Author

lool commented Jun 24, 2025

I pushed my current build attempt, but I haven't finished building + testing this

@lool
Copy link
Contributor Author

lool commented Jun 24, 2025

I pushed my current build attempt, but I haven't finished building + testing this

Doesn't boot

@lool lool force-pushed the debian-linux-rb1 branch from 87bc245 to 24d3083 Compare June 24, 2025 18:28
@lool
Copy link
Contributor Author

lool commented Jun 25, 2025

Ok, this latest one does boot and seems decent in config changes

@lool
Copy link
Contributor Author

lool commented Jun 25, 2025

This is the actual diff between the generated configs for experimental and debs resulting from my latest debdiff:

5173c5173
< CONFIG_PINCTRL_QCM2290=m
---
> CONFIG_PINCTRL_QCM2290=y
10068c10068
< # CONFIG_CLK_QCM2290_GPUCC is not set
---
> CONFIG_CLK_QCM2290_GPUCC=y
10074c10074
< CONFIG_QCOM_CLK_SMD_RPM=m
---
> CONFIG_QCOM_CLK_SMD_RPM=y
10099c10099
< CONFIG_QCM_GCC_2290=m
---
> CONFIG_QCM_GCC_2290=y
10293c10293
< CONFIG_QCOM_APCS_IPC=m
---
> CONFIG_QCOM_APCS_IPC=y
10370c10370
< CONFIG_RPMSG=m
---
> CONFIG_RPMSG=y
10378c10378
< CONFIG_RPMSG_QCOM_SMD=m
---
> CONFIG_RPMSG_QCOM_SMD=y
10483,10484c10483,10484
< CONFIG_QCOM_SMEM=m
< CONFIG_QCOM_SMD_RPM=m
---
> CONFIG_QCOM_SMEM=y
> CONFIG_QCOM_SMD_RPM=y
10600c10600
< CONFIG_QCOM_RPMPD=m
---
> CONFIG_QCOM_RPMPD=y
11731c11731
< CONFIG_INTERCONNECT_QCOM_MSM8996=m
---
> CONFIG_INTERCONNECT_QCOM_MSM8996=y
11733c11733
< CONFIG_INTERCONNECT_QCOM_QCM2290=m
---
> CONFIG_INTERCONNECT_QCOM_QCM2290=y
11752c11752
< CONFIG_INTERCONNECT_QCOM_SM6115=m
---
> CONFIG_INTERCONNECT_QCOM_SM6115=y
11763c11763
< CONFIG_INTERCONNECT_QCOM_SMD_RPM=m
---
> CONFIG_INTERCONNECT_QCOM_SMD_RPM=y

@lool lool force-pushed the debian-linux-rb1 branch from 24d3083 to 1a6168e Compare June 25, 2025 09:03
@lool
Copy link
Contributor Author

lool commented Jun 25, 2025

This latest one does NOT boot; here's the full config diff:

5173c5173
< CONFIG_PINCTRL_QCM2290=m
---
> CONFIG_PINCTRL_QCM2290=y
10068c10068
< # CONFIG_CLK_QCM2290_GPUCC is not set
---
> CONFIG_CLK_QCM2290_GPUCC=m
10099c10099
< CONFIG_QCM_GCC_2290=m
---
> CONFIG_QCM_GCC_2290=y
10293c10293
< CONFIG_QCOM_APCS_IPC=m
---
> CONFIG_QCOM_APCS_IPC=y
10483c10483
< CONFIG_QCOM_SMEM=m
---
> CONFIG_QCOM_SMEM=y

@lool lool force-pushed the debian-linux-rb1 branch from 1a6168e to 9b746ea Compare June 25, 2025 10:07
@lool
Copy link
Contributor Author

lool commented Jun 25, 2025

Latest debdiff does NOT boot, so perhaps can remain a module, but CONFIG_RPMSG_QCOM_SMD=y is needed

@lool lool force-pushed the debian-linux-rb1 branch from 9b746ea to e90dc52 Compare June 25, 2025 10:42
@lool
Copy link
Contributor Author

lool commented Jun 25, 2025

Latest attempt fails to boot, but in a creative new way:

[...]
[    1.138960] Checked W+X mappings: passed, no W+X pages found
[    1.139006] Run /init as init process
[    1.707907] spmi_pmic_arb 1c40000.spmi: PMIC arbiter version v5 (0x50010000)
[    1.708863] /soc@0/spmi@1c40000/pmic@0/typec@1500/connector: Fixed dependency cycle(s) with /soc@0/phy@1615000
[    1.708955] /soc@0/spmi@1c40000/pmic@0/typec@1500/connector: Fixed dependency cycle(s) with /soc@0/usb@4ef8800/usb@4e00000
[    1.734884] irq: IRQ21: trimming hierarchy from :soc@0:interrupt-controller@f200000-1
[    1.735118] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    1.782256] gpio-518 (sda): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    1.782310] gpio-519 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    1.782575] /hdmi-connector: Fixed dependency cycle(s) with /i2c/hdmi-bridge@2b
[    1.782648] /soc@0/display-subsystem@5e00000/dsi@5e94000: Fixed dependency cycle(s) with /i2c/hdmi-bridge@2b
[    1.782712] /i2c/hdmi-bridge@2b: Fixed dependency cycle(s) with /hdmi-connector
[    1.782810] /i2c/hdmi-bridge@2b: Fixed dependency cycle(s) with /soc@0/display-subsystem@5e00000/dsi@5e94000
[    1.783000] i2c-gpio i2c: using lines 518 (SDA) and 519 (SCL)
[    1.825409] sdhci: Secure Digital Host Controller Interface driver
[    1.825441] sdhci: Copyright(c) Pierre Ossman
[    1.842988] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.923951] qcom_scm: convention: smc arm 64
[    1.925932] qcom_scm firmware:scm: qseecom: found qseecom with version 0x1402000
[    1.925985] qcom_scm firmware:scm: qseecom: untested machine, skipping
[    1.928258] arm-smmu 59a0000.iommu: probing hardware configuration...
[    1.928293] arm-smmu 59a0000.iommu: SMMUv2 with:
[    1.928322] arm-smmu 59a0000.iommu:  stage 1 translation
[    1.928333] arm-smmu 59a0000.iommu:  non-coherent table walk
[    1.928343] arm-smmu 59a0000.iommu:  (IDR0.CTTW overridden by FW configuration)
[    1.928355] arm-smmu 59a0000.iommu:  stream matching with 4 register groups
[    1.928378] arm-smmu 59a0000.iommu:  5 context banks (0 stage-2 only)
[    1.928402] arm-smmu 59a0000.iommu:  Supported page sizes: 0x61311000
[    1.928413] arm-smmu 59a0000.iommu:  Stage-1: 48-bit VA -> 36-bit IPA
[    1.928514] arm-smmu 59a0000.iommu:  preserved 0 boot mappings
[    1.929611] platform 5900000.gpu: Adding to iommu group 0
[    1.933896] arm-smmu c600000.iommu: probing hardware configuration...
[    1.933933] arm-smmu c600000.iommu: SMMUv2 with:
[    1.933957] arm-smmu c600000.iommu:  stage 1 translation
[    1.933968] arm-smmu c600000.iommu:  non-coherent table walk
[    1.933978] arm-smmu c600000.iommu:  (IDR0.CTTW overridden by FW configuration)
[    1.933991] arm-smmu c600000.iommu:  stream matching with 41 register groups
[    1.934011] arm-smmu c600000.iommu:  50 context banks (0 stage-2 only)
[    1.934182] arm-smmu c600000.iommu:  Supported page sizes: 0x61311000
[    1.934195] arm-smmu c600000.iommu:  Stage-1: 36-bit VA -> 36-bit IPA
[    1.934295] arm-smmu c600000.iommu:  preserved 0 boot mappings
[    1.935096] platform 4744000.mmc: Adding to iommu group 1
[    1.935304] platform 4784000.mmc: Adding to iommu group 2
[    1.935535] platform 4a00000.dma-controller: Adding to iommu group 3
[    1.935739] platform 4ac0000.geniqup: Adding to iommu group 4
[    1.935934] platform 5e00000.display-subsystem: Adding to iommu group 5
[    1.936144] platform c800000.wifi: Adding to iommu group 6
[    1.942888] platform 4e00000.usb: Adding to iommu group 7
[    1.943180] /soc@0/spmi@1c40000/pmic@0/typec@1500/connector: Fixed dependency cycle(s) with /soc@0/usb@4ef8800/usb@4e00000
[    1.943275] /soc@0/phy@1615000: Fixed dependency cycle(s) with /soc@0/usb@4ef8800/usb@4e00000
[    1.943402] /soc@0/usb@4ef8800/usb@4e00000: Fixed dependency cycle(s) with /soc@0/spmi@1c40000/pmic@0/typec@1500/connector
[    1.943454] /soc@0/usb@4ef8800/usb@4e00000: Fixed dependency cycle(s) with /soc@0/phy@1615000
[    1.956823] sdhci_msm 4784000.mmc: Got CD GPIO
[    1.973539] 4a90000.serial: ttyMSM0 at MMIO 0x4a90000 (irq = 107, base_baud = 0) is a MSM
[    1.989432] /soc@0/spmi@1c40000/pmic@0/typec@1500/connector: Fixed dependency cycle(s) with /soc@0/phy@1615000
[    1.989530] /soc@0/spmi@1c40000/pmic@0/typec@1500/connector: Fixed dependency cycle(s) with /soc@0/usb@4ef8800/usb@4e00000
[    2.005031] printk: legacy console [ttyMSM0] enabled
[    2.072842] s3: Bringing 0uV into 1352000-1352000uV
[    2.102740] sdhci_msm 4784000.mmc: Got CD GPIO
[    2.111895] s4: Bringing 0uV into 2072000-2072000uV
[   25.293347] rcu: INFO: rcu_sched self-detected stall on CPU
[   25.298981] rcu:     0-....: (5250 ticks this GP) idle=1354/1/0x4000000000000000 softirq=313/313 fqs=2625
[   25.308328] rcu:     (t=5253 jiffies g=-823 q=54 ncpus=4)
[   25.313503] CPU: 0 UID: 0 PID: 12 Comm: kworker/u16:0 Not tainted 6.15-arm64 #1 NONE  Debian 6.15.3-1~exp1
[   25.313512] Hardware name: qcom  Inc. Robotics RB1/ Inc. Robotics RB1, BIOS 2025.07-rc1-g318459c490c3 07/01/2025
[   25.313516] Workqueue: async async_run_entry_fn
[   25.313534] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   25.313540] pc : mutex_unlock+0x3c/0x70
[   25.313549] lr : _find_opp_table_unlocked+0xb0/0x108
[   25.313561] sp : ffff800080093950
[   25.313563] x29: ffff800080093950 x28: ffff010fc0250000 x27: ffff010fc0012028
[   25.313572] x26: ffffa5641d31b030 x25: 0000000000000001 x24: ffff010fc0b37010
[   25.313580] x23: 0000000000000000 x22: ffffa5641d6933e0 x21: ffff010fd3d8bc78
[   25.313587] x20: ffff010fd3d8bc00 x19: ffff010fc0b37010 x18: 00000000eab0d173
[   25.313595] x17: 0000000000000000 x16: 0000000000000002 x15: 0000000000000000
[   25.313603] x14: ffffffffffffffff x13: 0000000000000000 x12: 0101010101010101
[   25.313610] x11: ff7f7f7f7f7f7f7f x10: ffffa5641d2c4083 x9 : ffffa5641bd59a58
[   25.313618] x8 : ffff010fc7f909d0 x7 : 0000000000000000 x6 : 0000000000000000
[   25.313625] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
[   25.313632] x2 : ffff010fc0273b40 x1 : ffff010fc0273b40 x0 : ffff010fd3d8bc78
[   25.313641] Call trace:
[   25.313645]  mutex_unlock+0x3c/0x70 (P)
[   25.313654]  _add_opp_table_indexed+0x44/0x3a0
[   25.313662]  dev_pm_opp_set_config+0x6c/0x6a0
[   25.313670]  genpd_set_required_opp_dev+0xa8/0xc8
[   25.313684]  __genpd_dev_pm_attach+0x220/0x308
[   25.313691]  genpd_dev_pm_attach+0x6c/0x90
[   25.313696]  dev_pm_domain_attach+0x54/0x60
[   25.313705]  platform_probe+0x58/0xe8
[   25.313714]  really_probe+0xc8/0x3a0
[   25.313722]  __driver_probe_device+0x84/0x160
[   25.313730]  driver_probe_device+0x44/0x130
[   25.313738]  __device_attach_driver+0xc4/0x170
[   25.313745]  bus_for_each_drv+0x90/0xf8
[   25.313752]  __device_attach_async_helper+0xbc/0x120
[   25.313760]  async_run_entry_fn+0x40/0x1e0
[   25.313767]  process_one_work+0x178/0x3e0
[   25.313774]  worker_thread+0x208/0x400
[   25.313781]  kthread+0x120/0x220
[   25.313790]  ret_from_fork+0x10/0x20
[   25.308328] rcu:     (t=5253 jiffies g=-823 q=54 ncpus=4)
[   25.313503] CPU: 0 UID: 0 PID: 12 Comm: kworker/u16:0 Not tainted 6.15-arm64 #1 NONE  Debian 6.15.3-1~exp1
[   25.313512] Hardware name: qcom  Inc. Robotics RB1/ Inc. Robotics RB1, BIOS 2025.07-rc1-g318459c490c3 07/01/2025
[   25.313516] Workqueue: async async_run_entry_fn
[   25.313534] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   25.313540] pc : mutex_unlock+0x3c/0x70
[   25.313549] lr : _find_opp_table_unlocked+0xb0/0x108
[...]

@lool
Copy link
Contributor Author

lool commented Jun 25, 2025

Latest attempt fails to boot, but in a creative new way:

Ok, this was a one-off; I rebooted 3 times successfully with the same kernel.

@lool
Copy link
Contributor Author

lool commented Jun 25, 2025

Here's a full config diff between Debian experimental and latest booting debdiff:

35a36
> CONFIG_BUILD_SALT="6.15-arm64"
943a945
> CONFIG_MODULE_SIG_ALL=y
5173c5175
< CONFIG_PINCTRL_QCM2290=m
---
> CONFIG_PINCTRL_QCM2290=y
10068c10070
< # CONFIG_CLK_QCM2290_GPUCC is not set
---
> CONFIG_CLK_QCM2290_GPUCC=m
10074c10076
< CONFIG_QCOM_CLK_SMD_RPM=m
---
> CONFIG_QCOM_CLK_SMD_RPM=y
10099c10101
< CONFIG_QCM_GCC_2290=m
---
> CONFIG_QCM_GCC_2290=y
10293c10295
< CONFIG_QCOM_APCS_IPC=m
---
> CONFIG_QCOM_APCS_IPC=y
10370c10372
< CONFIG_RPMSG=m
---
> CONFIG_RPMSG=y
10378c10380
< CONFIG_RPMSG_QCOM_SMD=m
---
> CONFIG_RPMSG_QCOM_SMD=y
10483,10484c10485,10486
< CONFIG_QCOM_SMEM=m
< CONFIG_QCOM_SMD_RPM=m
---
> CONFIG_QCOM_SMEM=y
> CONFIG_QCOM_SMD_RPM=y
10600c10602
< CONFIG_QCOM_RPMPD=m
---
> CONFIG_QCOM_RPMPD=y
11731c11733
< CONFIG_INTERCONNECT_QCOM_MSM8996=m
---
> CONFIG_INTERCONNECT_QCOM_MSM8996=y
11733c11735
< CONFIG_INTERCONNECT_QCOM_QCM2290=m
---
> CONFIG_INTERCONNECT_QCOM_QCM2290=y
11752c11754
< CONFIG_INTERCONNECT_QCOM_SM6115=m
---
> CONFIG_INTERCONNECT_QCOM_SM6115=y
11763c11765
< CONFIG_INTERCONNECT_QCOM_SMD_RPM=m
---
> CONFIG_INTERCONNECT_QCOM_SMD_RPM=y
12642a12645
> CONFIG_MODULE_SIG_KEY="output/signing_key.pem"
12644a12648
> CONFIG_SYSTEM_TRUSTED_KEYS=""

This turns on a number of configs to enable RB1 with Debian kernels.

Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com>
@lool lool force-pushed the debian-linux-rb1 branch from e90dc52 to 391c706 Compare June 25, 2025 20:15
@lool
Copy link
Contributor Author

lool commented Jun 25, 2025

Latest debdiff boots, is ready to send to Debian, and for merging here; this is the actual config diff:

5173c5173
< CONFIG_PINCTRL_QCM2290=m
---
> CONFIG_PINCTRL_QCM2290=y
10068c10068
< # CONFIG_CLK_QCM2290_GPUCC is not set
---
> CONFIG_CLK_QCM2290_GPUCC=m
10074c10074
< CONFIG_QCOM_CLK_SMD_RPM=m
---
> CONFIG_QCOM_CLK_SMD_RPM=y
10099c10099
< CONFIG_QCM_GCC_2290=m
---
> CONFIG_QCM_GCC_2290=y
10293c10293
< CONFIG_QCOM_APCS_IPC=m
---
> CONFIG_QCOM_APCS_IPC=y
10370c10370
< CONFIG_RPMSG=m
---
> CONFIG_RPMSG=y
10375c10375
< CONFIG_RPMSG_QCOM_GLINK=m
---
> CONFIG_RPMSG_QCOM_GLINK=y
10377,10378c10377,10378
< CONFIG_RPMSG_QCOM_GLINK_SMEM=m
< CONFIG_RPMSG_QCOM_SMD=m
---
> CONFIG_RPMSG_QCOM_GLINK_SMEM=y
> # CONFIG_RPMSG_QCOM_SMD is not set
10483,10484c10483,10484
< CONFIG_QCOM_SMEM=m
< CONFIG_QCOM_SMD_RPM=m
---
> CONFIG_QCOM_SMEM=y
> CONFIG_QCOM_SMD_RPM=y
10600c10600
< CONFIG_QCOM_RPMPD=m
---
> CONFIG_QCOM_RPMPD=y
11731c11731
< CONFIG_INTERCONNECT_QCOM_MSM8996=m
---
> CONFIG_INTERCONNECT_QCOM_MSM8996=y
11733c11733
< CONFIG_INTERCONNECT_QCOM_QCM2290=m
---
> CONFIG_INTERCONNECT_QCOM_QCM2290=y
11752c11752
< CONFIG_INTERCONNECT_QCOM_SM6115=m
---
> CONFIG_INTERCONNECT_QCOM_SM6115=y
11763c11763
< CONFIG_INTERCONNECT_QCOM_SMD_RPM=m
---
> CONFIG_INTERCONNECT_QCOM_SMD_RPM=y

@lumag
Copy link
Contributor

lumag commented Jun 25, 2025

LGTM now, thanks a lot for all the debugging efforts!

@lool lool merged commit 9f57c48 into qualcomm-linux:main Jun 26, 2025
8 checks passed
@lool
Copy link
Contributor Author

lool commented Jun 26, 2025

LGTM now, thanks a lot for all the debugging efforts!

thanks for the reviews and guidance!

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.

3 participants