i3c: dw: Add Altera Agilex5 runtime PM disable quirk
Status from this message: Applied, thanks!
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v5 Latest3 patches 3 repliesApplied
- v43 patches 1 replySuperseded
- v33 patches 4 repliesSuperseded
Earlier versions · 1
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v2 RFC | 3 patches | 3 replies | Superseded |
Changes in v5 from the cover letter
*Update commit message for better clarity.
*Update implementation to use const struct for better extensibility. *Add ACPI and Device Tree match handling separation for quirks to maintain existing behavior consistency.
Patches in v5 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | dt-bindings: i3c: snps: Add Altera SoCFPGA compatibleDocumentation/ | +5 | 0 replies | |
| 2/3 | arm64: dts: intel: agilex5: Add Altera compatible for I3C controllersarch/ | +4 | 1 reply | |
| 3/3 | i3c: dw: Disable runtime PM on Agilex5 to avoid bus hang on IBIdrivers/ | +30 | 1 reply |
Reviews trailers per patch
2 of 3 patches have a Reviewed-by or Acked-by.
| Patch | Krzysztof Kozlowski | Frank Li |
|---|---|---|
| 1/3 | R-b | R-b |
| 2/3 | ||
| 3/3 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v5 0/3] i3c: dw: Add Altera Agilex5 runtime PM disable quirk
From: Adrian Ng Ho Yin <[email protected]>
This patchset adds support for an Altera SoCFPGA-specific quirk in the Synopsys DesignWare I3C master driver.
While running the I3C compliance test suite on the Altera Agilex5 SoCFPGA, the I3C bus was observed to hang when a slave device issued an IBI after the Dynamic Address Assignment (DAA) process completed.
This issue occurs because the controller enters a suspended state after DAA due to runtime PM being enabled. When suspended, the controller stops driving the SCL line. As a result, an IBI transfer cannot complete, leaving the SDA line stuck low and the bus in a hung state.
To address this issue, a new compatible string, "altr,agilex5-dw-i3c-master", is introduced to identify the SoC variant. When this compatible string is matched, a new quirk (DW_I3C_DISABLE_RUNTIME_PM_QUIRK) is applied to keep the controller enabled by incrementing the runtime PM reference counter during probe. This ensures the controller remains active to reliably handle IBI transactions without requiring runtime PM checks throughout the driver.
---
changelog:v4->v5:
*Update commit message for better clarity.
*Update implementation to use const struct for better extensibility. *Add ACPI and Device Tree match handling separation for quirks to maintain existing behavior consistency.v3->v4:
*Add reviewed by tag for dt binding.
*Aligned compatible string in dtsi with previous line.
*Update commit message for better clarity.
*Updated implementation to increment the PM reference counter during probe instead of conditionally bypassing runtime PM APIs. This simplifies the logic and ensures consistent behavior when the disable-runtime-PM quirk is applied.v2->v3:
*Dropped RFC tag.
*Update compatible string to "altr,agilex5-dw-i3c-master" to match actual SoC. *Update commit message to describe changes correctly.v1->v2:
*Add new compatible string in dw i3c dt binding to validate against newly added compatible string.
*Added new compatible string for altr socfpga platform.
*Remove Kconfig that disables runtime PM added in v1.
*Update implementation to disable runtime PM via compatible string match so that the implementation can be tied to a specific compatible string so that it does impact the existing behavior for other users.
See previous patch series at:
https://lore.kernel.org/all/22286d459959f2a153ac59d7da46794c0f495c77.1760579799.git.adrianhoyin.ng@altera.com/
---
Adrian Ng Ho Yin (3):
dt-bindings: i3c: snps: Add Altera SoCFPGA compatible
arm64: dts: intel: agilex5: Add Altera compatible for I3C controllers
i3c: dw: Disable runtime PM on Agilex5 to avoid bus hang on IBI
.../bindings/i3c/snps,dw-i3c-master.yaml | 6 +++- .../arm64/boot/dts/intel/socfpga_agilex5.dtsi | 6 ++-- drivers/i3c/master/dw-i3c-master.c | 31 ++++++++++++++++++- 3 files changed, 39 insertions(+), 4 deletions(-)
Signature · 1 line
2.49.GIT