sm8550-6.18: Fix TF card IO performance regression#9546
sm8550-6.18: Fix TF card IO performance regression#9546igorpecovnik merged 1 commit intoarmbian:mainfrom
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
Disabled knowledge base sources:
📝 WalkthroughWalkthroughUpdates enable and wire Qualcomm downstream SDHC support on SM8550: kernel config changes, removal of platform free calls in the downstream SDHCI driver, clock ops revert for SDCC RCGs, and device-tree additions/replacements to instantiate the downstream SDHC node with clocks, regulators, interconnects, QoS and operating-points. Changes
Sequence Diagram(s)sequenceDiagram
participant DT as Device Tree
participant Kernel as Kernel (platform core)
participant Driver as sdhci-msm-downstream
participant Clk as Clock framework
participant Reg as Regulators
participant Inter as Interconnect/msm-bus
participant MMC as MMC core
DT->>Kernel: describe sdhci@8804000 (downstream node)
Kernel->>Driver: bind driver for compatible qcom,sdhci-msm-v5-downstream
Driver->>Clk: request/enable clocks
Driver->>Reg: request/enable vdd/vdd-io regulators
Driver->>Inter: configure interconnect / msm-bus vectors / QoS
Driver->>MMC: register host with MMC core
MMC-->>Driver: begin card/IO operations
Note over Driver,Kernel: On error/removal, platform free call removed (no sdhci_pltfm_free)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
patch/kernel/archive/sm8550-6.18/0217-arm64-dts-Switch-to-downstream-sdhc-driver-for-Odin2.patch (1)
126-206: Consider extracting shared SDHC configuration to reduce duplication.The
sdhc_2node is nearly identical betweenqcs8550-ayn-odin2.dtsandqcs8550-ayn-odin2portal.dts(~80 lines). If both Odin2 variants will continue to share this configuration, consider extracting it to a common dtsi file (e.g.,qcs8550-ayn-odin2-sdhc.dtsi) to improve maintainability.This is optional and can be deferred if the configurations are expected to diverge in the future.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@patch/kernel/archive/sm8550-6.18/0217-arm64-dts-Switch-to-downstream-sdhc-driver-for-Odin2.patch` around lines 126 - 206, Extract the duplicated sdhc_2 node (sdhci@8804000) and its child opp-table (sdhc2_opp_table) into a new common dtsi (e.g., qcs8550-ayn-odin2-sdhc.dtsi), then include that dtsi from both qcs8550-ayn-odin2.dts and qcs8550-ayn-odin2portal.dts and remove the duplicate node blocks; ensure you preserve labels (sdhc_2, sdhci@8804000, sdhc2_opp_table), phandles (vdd-supply, vdd-io-supply, &gcc, &apps_smmu, etc.), pinctrl references (&sdc2_default, &sdc2_sleep, &sdc2_card_det_n) and interconnect/MSM-bus settings so all references resolve, and if future divergence is expected keep only truly shared properties in the new dtsi and leave variant-specific overrides in each DTS.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@patch/kernel/archive/sm8550-6.18/0217-arm64-dts-Switch-to-downstream-sdhc-driver-for-Odin2.patch`:
- Around line 40-46: The comment above qcom,dll-hsr-list incorrectly includes an
extra "0" ("0 but it is calculated"); edit the comment in the patch's block that
mentions DLL_CONFIG_2 so it reads "...DLL_CONFIG_2 value is not passed from the
device tree, but it is calculated in the driver." (reference symbols:
qcom,dll-hsr-list and DLL_CONFIG_2) — remove the stray "0" and keep punctuation
consistent with qcs8550-ayn-odin2portal.dts.
---
Nitpick comments:
In
`@patch/kernel/archive/sm8550-6.18/0217-arm64-dts-Switch-to-downstream-sdhc-driver-for-Odin2.patch`:
- Around line 126-206: Extract the duplicated sdhc_2 node (sdhci@8804000) and
its child opp-table (sdhc2_opp_table) into a new common dtsi (e.g.,
qcs8550-ayn-odin2-sdhc.dtsi), then include that dtsi from both
qcs8550-ayn-odin2.dts and qcs8550-ayn-odin2portal.dts and remove the duplicate
node blocks; ensure you preserve labels (sdhc_2, sdhci@8804000,
sdhc2_opp_table), phandles (vdd-supply, vdd-io-supply, &gcc, &apps_smmu, etc.),
pinctrl references (&sdc2_default, &sdc2_sleep, &sdc2_card_det_n) and
interconnect/MSM-bus settings so all references resolve, and if future
divergence is expected keep only truly shared properties in the new dtsi and
leave variant-specific overrides in each DTS.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 19e910b5-5627-4f3c-9b46-90a851564624
📒 Files selected for processing (4)
config/kernel/linux-sm8550-edge.configpatch/kernel/archive/sm8550-6.18/0215-drivers-mmc-Added-qcom-downstream-sdhci-driver.patchpatch/kernel/archive/sm8550-6.18/0216-Revert-clk-qcom-gcc-sm8550-Use-floor-ops-for-SDCC-RC.patchpatch/kernel/archive/sm8550-6.18/0217-arm64-dts-Switch-to-downstream-sdhc-driver-for-Odin2.patch
...h/kernel/archive/sm8550-6.18/0217-arm64-dts-Switch-to-downstream-sdhc-driver-for-Odin2.patch
Show resolved
Hide resolved
|
✅ This PR has been reviewed and approved — all set for merge! |
- Fix the issue that downstream MSM sdhc driver cannot work on 6.18.14 or newer kernel - Switch back to downstream MSM sdhc driver for Ayn Odin2 devices to fix the IO performance regression brought by upstream driver. Before this fix, average sequential read bandwidth on a UHS-I SDR104 card is 16.8MiB/s. After this fix applied, it is 85.1MiB/s. It fixes commit f785a6d Signed-off-by: Alex Ling <ling_kasim@hotmail.com>
a8b961b to
0a055ca
Compare
Before this fix, average sequential read bandwidth on a UHS-I SDR104 card is 16.8MiB/s. After this fix applied, it is 85.1MiB/s.
It fixes commit f785a6d
Summary by CodeRabbit