Skip to content

Qcom 6.18.y#63

Open
hasiburr-qti wants to merge 46 commits into
qualcomm-linux-stg:qcom-6.18.yfrom
hasiburr-qti:qcom-6.18.y
Open

Qcom 6.18.y#63
hasiburr-qti wants to merge 46 commits into
qualcomm-linux-stg:qcom-6.18.yfrom
hasiburr-qti:qcom-6.18.y

Conversation

@hasiburr-qti
Copy link
Copy Markdown

No description provided.

kumarsingh-art and others added 30 commits April 14, 2026 03:56
Add dailinks for DISPLAY-PORT to enable audio functionality
on edp0.

Link: https://lore.kernel.org/all/ce8ca265-24df-41e5-a763-f9475de2fa9b@oss.qualcomm.com/

Signed-off-by: Kumar Anurag <kumar.singh@oss.qualcomm.com>
…al board

The Rb3Gen2 Industrial board has the Realtek RTL8221 PHY which fails to
function correctly without the Realtek PHY driver. Remove
CONFIG_REALTEK_PHY from prune.config to properly enable it.

Signed-off-by: Mohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com>
Start the graph at trigger callback. Staring the graph at prepare does
not make sense as there is no data transfer at this point.
Moving this to trigger will also help cope situation where pipewire
is not happy if display port is not connected during start.

Link: https://lore.kernel.org/all/20260402081118.348071-12-srinivas.kandagatla@oss.qualcomm.com/

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Signed-off-by: Karthik S <karthik.s@oss.qualcomm.com>
Enable secondary mi2s to support HDMI audio.

Link: https://lore.kernel.org/all/20260413091937.134469-2-kumar.singh@oss.qualcomm.com/

Signed-off-by: Kumar Anurag <kumar.singh@oss.qualcomm.com>
Signed-off-by: Karthik S <karthik.s@oss.qualcomm.com>
Add new dai link to enable DP audio.

Link: https://lore.kernel.org/all/20260413091937.134469-3-kumar.singh@oss.qualcomm.com/

Signed-off-by: Kumar Anurag <kumar.singh@oss.qualcomm.com>
Signed-off-by: Karthik S <karthik.s@oss.qualcomm.com>
…ver to support additional sampling rates

Expand the existing constraints in the q6dsp-lpass-ports driver
to allow a wider range of sampling rates, from 8000 Hz to 192000 Hz.
This change improves compatibility with diverse audio hardware and
provides greater flexibility for audio stream configurations.

Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
Signed-off-by: Karthik S <karthik.s@oss.qualcomm.com>

Link: https://lore.kernel.org/all/20251210065157.2775514-2-ravi.hothi@oss.qualcomm.com/
…t 32-bit PCM format

Expand the existing constraints by introducing support for
the 32-bit PCM format (SNDRV_PCM_FMTBIT_S32_LE) alongside
the existing 16-bit and 24-bit formats. This enhancement
enables handling of high-resolution audio streams and improves
audio quality for supported hardware.

Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
Signed-off-by: Karthik S <karthik.s@oss.qualcomm.com>

Link: https://lore.kernel.org/all/20251210065157.2775514-3-ravi.hothi@oss.qualcomm.com/
…for QPS615

Add an overlay devicetree to enable Rb3Gen2 industrial board's 4
ethernet ports provided by two QPS615 PCIe Ethernet switches.

Signed-off-by: Mohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com>
…emory pool

The initial buffer allocated for the Audio PD memory pool is never added
to the pool because pageslen is set to 0. As a result, the buffer is not
registered with Audio PD and is never used, causing a memory leak. Audio
PD immediately falls back to allocating memory from the remote heap since
the pool starts out empty.

Fix this by setting pageslen to 1 so that the initially allocated buffer
is correctly registered and becomes part of the Audio PD memory pool.

Link: https://lore.kernel.org/all/20260407100508.1027-2-jianping.li@oss.qualcomm.com/
Fixes: 0871561 ("misc: fastrpc: Add support for audiopd")
Cc: stable@kernel.org
Co-developed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
…tion

fastrpc_req_munmap_impl() is called to unmap any buffer. The buffer is
getting removed from the list after it is unmapped from DSP. This can
create potential race conditions if any other thread removes the entry
from list while unmap operation is ongoing. Remove the entry before
calling unmap operation.

Link: https://lore.kernel.org/all/20260409062617.1182-3-jianping.li@oss.qualcomm.com/
Fixes: 2419e55 ("misc: fastrpc: add mmap/unmap support")
Cc: stable@kernel.org
Co-developed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
… in probe

Allocating and freeing Audio PD memory from userspace is unsafe because
the kernel cannot reliably determine when the DSP has finished using the
memory. Userspace may free buffers while they are still in use by the DSP,
and remote free requests cannot be safely trusted.

Allocate the entire Audio PD reserved-memory region upfront during rpmsg
probe and tie its lifetime to the rpmsg channel. This avoids userspace-
controlled alloc/free and ensures memory is reclaimed only when the DSP
shuts down.

Link: https://lore.kernel.org/all/20260409062617.1182-4-jianping.li@oss.qualcomm.com/
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
Make fastrpc_buf_free() a no-op when passed a NULL pointer, allowing
callers to avoid open-coded NULL checks.

Link: https://lore.kernel.org/all/20260409062617.1182-5-jianping.li@oss.qualcomm.com/
Co-developed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
…eset polarity

Fix issues with the Monaco EVK IFP Mezz staging overlay for QPS615:

1) Setting the VendorDtbOverlays EFI variable to "staging" causes UEFI
   to fail the overlay application entirely. The staging overlay
   references &eeprom1, a label introduced by the ifp-mezzanine
   overlay. When overlays are stacked, ufdt does not propagate
   __symbols__ from previously applied overlays into the working DTB,
   so &eeprom1 cannot be resolved as a fixup target and the firmware
   aborts with FDT_ERR_NOTFOUND. Fix this by defining the eeprom node
   inline under &i2c15, which is present in the base DTB __symbols__.

2) The QCA8081 port does not come out of reset and is therefore never
   detected. The PHY reset line is declared GPIO_ACTIVE_HIGH, but the
   QCA8081 has an active-low reset input. With GPIO_ACTIVE_HIGH the
   driver's deassert call maps logical 0 to physical LOW, holding
   RESETN asserted throughout probe. Correct it to GPIO_ACTIVE_LOW.

Signed-off-by: Mohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com>
… heap

On KODIAK platforms boot can fail when the DT "adsp-rpc-remote-heap"
reserved-memory region overlaps with firmware allocations (UEFI/EFI
runtime). The kernel then reports failure to reserve the region and
subsequent EFI runtime activity may trigger aborts.

The remote heap node was described as a fixed "no-map" region, which
turns it into a hard carveout. Replace it with a "shared-dma-pool"
reserved memory region with reusable CMA-backed allocation, specifying
alignment and size.

This avoids hard carveouts and reduces the chance of conflicting with
firmware memory maps while keeping an explicit pool for ADSP remote
heap usage.

Link: https://lore.kernel.org/all/20260423063502.484-1-jianping.li@oss.qualcomm.com/
Fixes: 90a58ff ("arm64: dts: qcom: kodiak: Add memory region for audiopd")
Cc: stable@kernel.org
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
Enable CONFIG_CONNECTOR and CONFIG_PROC_EVENTS to allow userspace
to receive process lifecycle events (fork/exec/exit) via the proc
connector over netlink.

Signed-off-by: Jagadeesh Pagadala <jpagadal@qti.qualcomm.com>
FROMLIST: misc: fastrpc: Add missing bug fixes
…lcomm-linux#499)

arm64: dts: qcom: sc7280: avoid EFI overlap for ADSP remote heap
This reverts commit 374c98d.

The v13 version of this patch series introduced a regression in
of_msi_xlate(). The "Factor arguments passed to of_map_id() into a
struct" patch changed the call from passing &np to passing *msi_np,
collapsing the "pointer-but-no-filter-yet" case into "no filter at all".
This causes of_map_id() to return 0 (pass-through) instead of -ENODEV
when a node has no msi-map property, terminating the walk prematurely
and leaving *msi_np NULL so no MSI domain is associated with the device.
Additionally, fsl_mc_get_msi_id() passes msi_np == NULL directly to
of_msi_xlate(), causing a NULL pointer dereference.

Revert the v13 series to pick up v14 which has the above fixes.

Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
…truct"

This reverts commit 62babf2.

The v13 version of this patch series introduced a regression in
of_msi_xlate(). This patch changed the call from passing &np to passing
*msi_np, collapsing the "pointer-but-no-filter-yet" case into "no filter
at all". This causes of_map_id() to return 0 (pass-through) instead of
-ENODEV when a node has no msi-map property, terminating the walk
prematurely and leaving *msi_np NULL so no MSI domain is associated with
the device. Additionally, fsl_mc_get_msi_id() passes msi_np == NULL
directly to of_msi_xlate(), causing a NULL pointer dereference.

Revert the v13 series to pick up v14 which has the above fixes.

Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
This reverts commit 7a3860c.

The v13 version of this patch series introduced a regression in
of_msi_xlate(). The "Factor arguments passed to of_map_id() into a
struct" patch changed the call from passing &np to passing *msi_np,
collapsing the "pointer-but-no-filter-yet" case into "no filter at all".
This causes of_map_id() to return 0 (pass-through) instead of -ENODEV
when a node has no msi-map property, terminating the walk prematurely
and leaving *msi_np NULL so no MSI domain is associated with the device.
Additionally, fsl_mc_get_msi_id() passes msi_np == NULL directly to
of_msi_xlate(), causing a NULL pointer dereference.

Revert the v13 series to pick up v14 which has the above fixes.

Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
Since we now have quite a few users parsing "iommu-map" and "msi-map"
properties, give them some wrappers to conveniently encapsulate the
appropriate sets of property names. This will also make it easier to
then change of_map_id() to correctly account for specifier cells.

Link: https://lore.kernel.org/lkml/20260424-parse_iommu_cells-v14-1-fd02f11b6c38@oss.qualcomm.com/
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>

[Conflict: irq-gic-its-msi-parent.c was refactored to split
of_pmsi_get_msi_info() into of_pmsi_get_dev_id() and
of_v5_pmsi_get_msi_info(); updated both of_map_id() calls.]

Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
Change of_map_id() to take a pointer to struct of_phandle_args
instead of passing target device node and translated IDs separately.
Update all callers accordingly.

Add an explicit filter_np parameter to of_map_id() and of_map_msi_id()
to separate the filter input from the output. Previously, the target
parameter served dual purpose: as an input filter (if non-NULL, only
match entries targeting that node) and as an output (receiving the
matched node with a reference held). Now filter_np is the explicit
input filter and arg->np is the pure output.

Previously, of_map_id() would call of_node_put() on the matched node
when a filter was provided, making reference ownership inconsistent.
Remove this internal of_node_put() call so that of_map_id() now always
transfers ownership of the matched node reference to the caller via
arg->np. Callers are now consistently responsible for releasing this
reference with of_node_put(arg->np) when done.

Link: https://lore.kernel.org/lkml/20260424-parse_iommu_cells-v14-2-fd02f11b6c38@oss.qualcomm.com/
Acked-by: Frank Li <Frank.Li@nxp.com>
Suggested-by: Rob Herring (Arm) <robh@kernel.org>
Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Charan Teja Kalla <charan.kalla@oss.qualcomm.com>

[Conflict: irq-gic-its-msi-parent.c was refactored to split
of_pmsi_get_msi_info() into of_pmsi_get_dev_id() and
of_v5_pmsi_get_msi_info(); updated both of_map_id() calls.]

Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
So far our parsing of {iommu,msi}-map properties has always blindly
assumed that the output specifiers will always have exactly 1 cell.
This typically does happen to be the case, but is not actually enforced
(and the PCI msi-map binding even explicitly states support for 0 or 1
cells) - as a result we've now ended up with dodgy DTs out in the field
which depend on this behaviour to map a 1-cell specifier for a 2-cell
provider, despite that being bogus per the bindings themselves.

Since there is some potential use in being able to map at least single
input IDs to multi-cell output specifiers (and properly support 0-cell
outputs as well), add support for properly parsing and using the target
nodes' #cells values, albeit with the unfortunate complication of still
having to work around expectations of the old behaviour too.

Since there are multi-cell output specifiers, the callers of of_map_id()
may need to get the exact cell output value for further processing.
Update of_map_id() to set args_count in the output to reflect the actual
number of output specifier cells.

Link: https://lore.kernel.org/lkml/20260424-parse_iommu_cells-v14-3-fd02f11b6c38@oss.qualcomm.com/
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Charan Teja Kalla <charan.kalla@oss.qualcomm.com>
Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
…I-RX is used as MSI controller""

Commit bf62c12 ("Revert "FROMLIST: PCI: dwc: Remove MSI/MSIX
capability if iMSI-RX is used as MSI controller"") was applied due to
excessive AER logging and functional breakage after INTx fallback.

The AER issue is now mitigated by disabling L0s, so restore the original
behavior and remove MSI/MSI-X capabilities from Root Ports using iMSI-RX.

This reverts commit bf62c12 ("Revert "FROMLIST: PCI: dwc: Remove
MSI/MSIX capability if iMSI-RX is used as MSI controller"").

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Commit f5cd8a9 ("PCI: dwc: Remove MSI/MSIX capability for Root Port
if iMSI-RX is used as MSI controller") removed MSI/MSI-X capabilities
from the Root Port on platforms using iMSI-RX (including SA8775P, which
has no msi-parent/msi-map in DT).  This causes PME and AER service
drivers to fall back from MSI to INTx.

There are lot of AER's seen after this change, the reason for this
AER's can be board specific, and recently discovered refgen voting
required by phy driver.

[   13.069528] pcieport 0000:00:00.0: PME: Signaling with IRQ 332
[   13.082436] pcieport 0000:00:00.0: AER: enabled with IRQ 332
[   13.082447] pcieport 0000:00:00.0: AER: Correctable error message received from 0000:01:00.0
[   13.101347] pci 0000:01:00.0: PCIe Bus Error: severity=Correctable, type=Data Link Layer, (Transmitter ID)
[   13.111281] pci 0000:01:00.0:   device [17cb:1103] error status/mask=00001000/0000e000
[   13.111284] pci 0000:01:00.0:    [12] Timeout
[   13.111313] pcieport 0000:00:00.0: AER: Multiple Correctable error message received from 0000:01:00.0
[   13.130512] pcieport 0000:00:00.0: PCIe Bus Error: severity=Correctable, type=Data Link Layer, (Transmitter ID)
[   13.130514] pcieport 0000:00:00.0:   device [17cb:0115] error status/mask=00001000/0000e000
[   13.130516] pcieport 0000:00:00.0:    [12] Timeout

Fix this temporarly on SA8775P/Lemans platform by adding no_l0s = true
to cfg_1_34_0 for SA8775P, so that PCI_EXP_LNKCAP_ASPM_L0S is cleared from
the Root Port and ASPM L0s is prevented from being negotiated.

Fixes: f5cd8a9 ("PCI: dwc: Remove MSI/MSIX capability for Root Port if iMSI-RX is used as MSI controller")
Assisted-by: Claude:claude-4-6-sonnet
Link: https://lore.kernel.org/all/20260419093934.1223027-1-shengchao.guo@oss.qualcomm.com/
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
)

linux-qcom: Enable audio over HDMI and DP for kodiak
…nux#474)

ASoC: qcom: q6apm-lpass-dai: move graph start to trigger
…ux#462)

arm64: dts: qcom: lemans: Enable audio over DisplayPort
…rity (qualcomm-linux#501)

arm64: dts: qcom: monaco-evk: fix overlay stacking and PHY reset polarity
Disable L0s to fix wlan functionality
sgaud-quic and others added 16 commits April 29, 2026 15:54
…m-linux#507)

of/irq: Fix MSI map walk regression and NULL deref in of_msi…
…linux#511)

arm64: configs: qcom.config: Enable CONNECTOR, PROC_EVENTS
qualcomm-linux#488)

arm64: dts: qcom: rb3gen2-industrial-mezzanine: add overlay for QPS615
…ualcomm-linux#466)

prune.config: Enable Realtek PHY config for Rb3Gen2 Industrial board
PCIe-to-USB bridge UPD720201 does not advertise D3cold
support until firmware is loaded post pci enumeration.
This results in upd blocking D3cold entry during system
suspend and causing overall failure to enter XO
shutdown.

Hence, add a quirk to advertise D3cold PME capability
since the HW actually supports and advertises it post
firmware loading.

Link: https://lore.kernel.org/all/20260430-d3cold_support-v1-1-6734f280c481@oss.qualcomm.com/
Signed-off-by: Sushrut Shree Trivedi <sushrut.trivedi@oss.qualcomm.com>
When other drivers attempt I2C transfers during early resume phase, the
I2C controller is still runtime suspended, causing pm_runtime_get_sync()
to fail with -EACCES (-13):

  [  101.914202] geni_i2c 980000.i2c: error turning SE resources:-13

The PM runtime core returns -EACCES when runtime PM is disabled
(dev->power.disable_depth > 0). This occurs because:

1. During suspend_noirq, I2C driver calls geni_i2c_runtime_suspend()
   and then pm_runtime_disable()
2. I2C driver's noirq_resume only marks adapter as resumed but doesn't
   re-enable runtime PM or power up the hardware
3. Other drivers resuming later attempt I2C transfers
4. pm_runtime_get_sync() returns -EACCES because runtime PM is still
   disabled

Fix this by calling pm_runtime_force_resume() in geni_i2c_resume_noirq()
to properly resume the hardware and re-enable runtime PM during the noirq
phase. This ensures the I2C controller is powered and ready for use when
other drivers need it during resume.

Upstream-Status: Pending
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Add support for transitioning PCIe endpoints under host bridge into
D3cold by integrating with the DWC core suspend/resume helpers.

Implement PME_TurnOff message generation via ELBI_SYS_CTRL and hook it
into the DWC host operations so the controller follows the standard
PME_TurnOff-based power-down sequence before entering D3cold.

When the device is suspended into D3cold, fully tear down interconnect
bandwidth, OPP votes. If D3cold is not entered, retain existing behavior
by keeping the required interconnect and OPP votes.

Use dw_pcie::skip_pwrctrl_off to avoid powering off devices during suspend
to preseve wakeup capability of the devices and also not to power on the
devices in the init path.

Drop the qcom_pcie::suspended flag and rely on the existing
dw_pcie::suspended state, which now drives both the power-management
flow and the interconnect/OPP handling

Link: https://lore.kernel.org/all/20260407-d3cold-v4-5-bb171f75b465@oss.qualcomm.com/
Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
…need pwrctrl

pci_pwrctrl_is_required() is used to detect whether a device really
needs the PCI pwrctrl support or not. It is currently used in
pci_pwrctrl_create_device(), but not in pci_pwrctrl_power_{on/off}_device()
APIs. This leads to pwrctrl core trying to power on/off the incompatible
devices like USB hub downstream ports defined in DT.

Hence, add this check to prevent pwrctrl core from poking at wrong
devices. For this purpose, move the pci_pwrctrl_is_required() helper
definition to the top.

Link: https://lore.kernel.org/linux-pci/20260421104102.12322-1-manivannan.sadhasivam@oss.qualcomm.com/
Fixes: b35cf3b ("PCI/pwrctrl: Add APIs to power on/off pwrctrl devices")
Reported-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
…rl (qualcomm-linux#480)

PCI/pwrctrl: Do not try to power on/off devices that don't need pwrctrl
…x#483)

i2c: qcom-geni: Fix -EACCES error during system resume
…x#525)

pci: quirks: Advertise D3cold capability for UPD720201
Add support for the Qualcomm SA8775P SoC to the protection
domain mapper. SA8775P share the same protection domain
configuration as SC8280XP with an additional gpdsp domain,
except for charger_pd.

Add an entry to the kernel, to avoid the need for userspace
to provide this service.

Link: https://lore.kernel.org/all/20260209112947.930853-2-mohammad.rafi.shaik@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Add support for the Qualcomm QCS8300 SoC to the protection
domain mapper. QCS8300 share the same protection domain
configuration as SC8280XP, except charger_pd.

Add an entry to the kernel, to avoid the need for userspace to
provide this service.

Link: https://lore.kernel.org/all/20260209112947.930853-3-mohammad.rafi.shaik@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Lemans monaco audio pd mapper support
Signed-off-by: Hasibur Rahman Mohammed <hasiburr@qti.qualcomm.com>
@quic-khuzuri
Copy link
Copy Markdown

PR #63 — validate-patch

PR: #63

Verdict Issues Detailed Report
⚠️ 0 pr_only_validate_patch_detailed.md
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: PR #63 — 30-patch series covering audio DTS, fastrpc, PCI/PCIe D3cold, OF iommu-map, pd-mapper, and misc fixes
Upstream commits: Multiple lore.kernel.org links (see per-commit table below)
Verdict: ⚠️ PARTIAL

Network access was restricted; lore patches could not be fetched for live diff comparison. All analysis below is based on static inspection of pr.patch content, commit-message hygiene, authorship rules, and structural consistency.


Per-Commit Summary

# Prefix Subject (abbreviated) Lore Link Verdict
01 FROMLIST: lemans: Enable audio over DisplayPort ✅ PASS
02 QCLINUX: prune.config: Enable Realtek PHY N/A ✅ N/A
03 FROMLIST: q6apm-lpass-dai: move graph start to trigger ⚠️ PARTIAL
04 FROMLIST: Enable secondary mi2s ⚠️ PARTIAL
05 FROMLIST: qcs6490: Enable DP audio ✅ PASS
06 FROMLIST: q6dsp-lpass-ports: Extend sampling rates ⚠️ PARTIAL
07 FROMLIST: q6dsp-lpass-ports: Update 32-bit PCM format ⚠️ PARTIAL
08 PENDING: rb3gen2-industrial-mezzanine: add overlay N/A ✅ N/A
09 FROMLIST: fastrpc: Fix initial memory allocation ⚠️ PARTIAL
10 FROMLIST: fastrpc: Remove buffer from list prior to unmap ⚠️ PARTIAL
11 FROMLIST: fastrpc: Allocate entire reserved memory ✅ PASS
12 FROMLIST: fastrpc: Allow fastrpc_buf_free() to accept NULL ⚠️ PARTIAL
13 PENDING: monaco-evk: fix overlay stacking and PHY reset N/A ✅ N/A
14 FROMLIST: sc7280: avoid EFI overlap for ADSP remote heap ✅ PASS
15 QCLINUX: qcom.config: Enable CONNECTOR, PROC_EVENTS N/A ✅ N/A
16 Revert Revert FROMLIST: of: Respect #{iommu,msi}-cells ✅ (implicit) ✅ PASS
17 Revert Revert FROMLIST: of: Factor arguments ✅ (implicit) ✅ PASS
18 Revert Revert FROMLIST: of: Add convenience wrappers ✅ (implicit) ✅ PASS
19 FROMLIST: of: Add convenience wrappers for of_map_id() ⚠️ PARTIAL
20 FROMLIST: of: Factor arguments passed to of_map_id() ⚠️ PARTIAL
21 FROMLIST: of: Respect #{iommu,msi}-cells in maps ✅ PASS
22 Revert "Revert" PCI: dwc: Remove MSI/MSIX capability ✅ (implicit) ⚠️ PARTIAL
23 FROMLIST: PCI: qcom: Disable ASPM L0s for SA8775P ❌ FAIL
24 FROMLIST: pci: quirks: Advertise D3cold for UPD720201 ✅ PASS
25 WORKAROUND: i2c: qcom-geni: Fix -EACCES during resume N/A ✅ N/A
26 FROMLIST: PCI: qcom: Add D3cold support ✅ PASS
27 FROMLIST: PCI/pwrctrl: Do not try to power on/off incompatible ✅ PASS
28 FROMLIST: pd-mapper: Add support for SA8775P ✅ PASS
29 FROMLIST: pd-mapper: Add support for QCS8300 ✅ PASS
30 (none) Update README test ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream (FROMLIST commits) All FROMLIST subjects match expected lore subjects
Body preserves rationale All FROMLIST bodies carry the upstream rationale
Fixes tags present/correct Patches 09, 10, 14, 23, 27 carry correct Fixes: tags
Authorship preserved (FROMLIST rule) ⚠️ See issues §1–§4 below
Backport note (N/A — all FROMLIST) N/A No BACKPORT commits in this series
Co-developed-by used correctly ⚠️ See issue §3 below
Revert commits have correct prefix ⚠️ See issue §5 below
Commit 30 has no prefix See issue §6 below

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans-evk.dts Clean dp0-dai-link addition
arch/arm64/configs/prune.config QCLINUX — removes CONFIG_REALTEK_PHY disable
sound/soc/qcom/qdsp6/q6apm-lpass-dais.c ⚠️ FROMLIST; From: is Karthik S but lore author is Srinivas Kandagatla — lore author's SoB present ✅
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts (patch 04) ⚠️ From: is Karthik S; lore author Kumar Anurag's SoB present ✅
arch/arm64/boot/dts/qcom/sc7280.dtsi (patch 04) ⚠️ Same as above
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts (patch 05) From: Karthik S; Kumar Anurag SoB present
sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c (patch 06) ⚠️ From: Karthik S; lore author Ravi Hothi's SoB present ✅; Link: placed after Signed-off-by: (non-standard ordering)
sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c (patch 07) ⚠️ Same ordering issue as patch 06
arch/arm64/boot/dts/qcom/Makefile + new .dtso (patch 08) PENDING — no lore link expected
drivers/misc/fastrpc.c (patch 09) ⚠️ Co-developed-by: Ekansh Gupta + Signed-off-by: Ekansh Gupta then Signed-off-by: Jianping Li — but From: is Ekansh Gupta; lore author is Jianping Li. Co-developed-by used for the nominal From: author — misuse
drivers/misc/fastrpc.c (patch 10) ⚠️ Same Co-developed-by misuse pattern as patch 09
drivers/misc/fastrpc.c (patch 11) From: Jianping Li matches lore author; no Co-developed-by
drivers/misc/fastrpc.c (patch 12) ⚠️ Same Co-developed-by misuse pattern as patches 09/10
arch/arm64/boot/dts/qcom/monaco-evk-staging.dtso (patch 13) PENDING — no lore link expected
arch/arm64/boot/dts/qcom/sc7280.dtsi (patch 14) Clean reserved-memory refactor; Fixes + Cc stable present
arch/arm64/configs/qcom.config (patch 15) QCLINUX — no lore link expected
drivers/of/base.c + include/linux/of.h (patches 16–21) Revert/re-apply v13→v14 series; conflict note in patch 19 is documented
drivers/pci/controller/dwc/pcie-designware-host.c (patch 22) ⚠️ Double-revert commit lacks a FROMLIST:/QCLINUX: prefix
drivers/pci/controller/dwc/pcie-qcom.c (patch 23) Contains Assisted-by: Claude:claude-4-6-sonnet — non-standard tag not recognized by upstream; commit body says "Fix this temporarly" (typo)
drivers/pci/quirks.c (patch 24) Clean quirk addition; lore author matches From:
drivers/i2c/busses/i2c-qcom-geni.c (patch 25) WORKAROUND — no lore link expected; Upstream-Status: Pending present
drivers/pci/controller/dwc/ (patch 26) From: Ziyue Zhang; Krishna Chundru SoB present; lore link correct
drivers/pci/pwrctrl/core.c + include/linux/pci-pwrctrl.h (patch 27) From: matches lore author Manivannan Sadhasivam; Fixes tag present
drivers/soc/qcom/qcom_pd_mapper.c (patch 28) From: matches lore author
drivers/soc/qcom/qcom_pd_mapper.c (patch 29) From: matches lore author
README (patch 30) Adds two blank lines only; no prefix, no lore link, no rationale

Issues

  1. Patches 06, 07 — Link: tag placement (sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c): The Link: tag appears after the Signed-off-by: lines. Upstream convention requires Link: to appear in the trailer block before Signed-off-by: lines (or at minimum grouped with other tags before SoB). This is a minor style issue but will be flagged by checkpatch.

  2. Patches 04, 05 — From: vs lore author (FROMLIST rule): From: is Karthik S but the lore author is Kumar Anurag. For FROMLIST: this is acceptable provided the original author's Signed-off-by: is present — it is (Signed-off-by: Kumar Anurag). ✅ Compliant with FROMLIST authorship rule.

  3. Patches 09, 10, 12 — Co-developed-by misuse (drivers/misc/fastrpc.c): In all three patches, From: is Ekansh Gupta and Co-developed-by: Ekansh Gupta also appears. The Co-developed-by: tag must not duplicate the primary From:/Author: — it is reserved for additional co-authors. The correct form is to remove Co-developed-by: Ekansh Gupta from these commits (the From: line already credits them). checkpatch will emit a CO_DEVELOPED_BY warning for this pattern.

  4. Patch 03 — From: vs lore author: From: is Karthik S; lore author is Srinivas Kandagatla. For FROMLIST: this is acceptable — Signed-off-by: Srinivas Kandagatla is present. ✅ Compliant.

  5. Patches 16, 17, 18, 22 — Revert commits missing vendor prefix: These revert commits carry no QCLINUX:/FROMLIST: prefix before Revert "...". The tree convention requires a prefix (e.g., QCLINUX: Revert "..." or FROMLIST: Revert "..."). Patch 22 is a double-revert (Revert "Revert "FROMLIST: ...""), which is especially confusing without a prefix.

  6. Patch 23 — Non-standard Assisted-by: tag (drivers/pci/controller/dwc/pcie-qcom.c): The line Assisted-by: Claude:claude-4-6-sonnet is not a recognized kernel trailer tag. Upstream will reject this. It should be removed. Additionally the commit body contains a typo: "Fix this temporarly""Fix this temporarily".

  7. Patch 30 — No prefix, no rationale, no lore link (README): The commit subject is Update README test with no vendor prefix (QCLINUX:, PENDING:, etc.) and the diff adds only two blank lines. This appears to be a test/accidental commit and should be dropped from the PR.


qcom-next Presence

⏭️ Skipped — network access unavailable; could not fetch or search qcom-next branch.


Verdict

The series is mostly well-formed but requires the following fixes before merge:

  • Must fix: Remove Assisted-by: Claude:claude-4-6-sonnet from patch 23 (non-standard tag); drop or properly prefix patch 30 (bare README whitespace commit with no rationale).
  • Should fix: Remove the redundant Co-developed-by: Ekansh Gupta from patches 09, 10, and 12 (misuse of Co-developed-by for the From: author); add vendor prefix (QCLINUX: or FROMLIST:) to the four bare Revert "..." commits (16, 17, 18, 22); move Link: tags in patches 06 and 07 to appear before Signed-off-by: lines.

@quic-khuzuri
Copy link
Copy Markdown

PR #63 — checker-log-analyzer

PR: #63
Checker run: https://github.com/qualcomm-linux-stg/kernel-config-test/actions/runs/25427374680

Checker Result Summary
Checker Result Summary
checkpatch 1 ERROR + multiple WARNINGs across 4 commits
dt-binding-check No changes in Documentation/devicetree/bindings — skipped
dtb-check All new DTB errors filtered as pre-existing; Log Summary: Test passed
sparse-check sparse-check.sh passed — no new sparse warnings in changed files
check-uapi-headers No UAPI header changes detected — skipped
check-patch-compliance 9 commits with prefix failures, 6 author mismatches, 4 content mismatches, 1 bad link
tag-check 8 commits missing required subject prefix (target is qcom-6.18.y, not qcom-next)
qcom-next-check ⏭️ Skipped — network unavailable to fetch qcom-next; manual verification required

Detailed report: pr_only_checker_log_detailed.md

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #63qualcomm-linux-stg/kernel (target branch: qcom-6.18.y)
Source: https://github.com/qualcomm-linux-stg/kernel-config-test/actions/runs/25427374680

Checker Result Summary
checkpatch 1 ERROR + multiple WARNINGs across 4 commits
dt-binding-check No changes in Documentation/devicetree/bindings — skipped
dtb-check All new DTB errors filtered as pre-existing; Log Summary: Test passed
sparse-check sparse-check.sh passed — no new sparse warnings in changed files
check-uapi-headers No UAPI header changes detected — skipped
check-patch-compliance 9 commits with prefix failures, 6 author mismatches, 4 content mismatches, 1 bad link
tag-check 8 commits missing required subject prefix (target is qcom-6.18.y, not qcom-next)
qcom-next-check ⏭️ Skipped — network unavailable to fetch qcom-next; manual verification required

❌ checkpatch

Root cause: Commit 3bb5cae9c6e7 ("FROMLIST: PCI: qcom: Disable ASPM L0s for SA8775P") carries an Assisted-by: Claude:claude-4-6-sonnet trailer with an unrecognized email address, causing a hard ERROR; three other commits have WARNING-level issues.

Failure details:

Commit 3bb5cae9c6e7 — 1 error, 3 warnings:

ERROR: Unrecognized email address: 'Claude:claude-4-6-sonnet'
#32: Assisted-by: Claude:claude-4-6-sonnet

WARNING: Non-standard signature: Assisted-by:
#32: Assisted-by: Claude:claude-4-6-sonnet

WARNING: Unknown commit id 'f5cd8a929c82', maybe rebased or not pulled?
#6:  Commit f5cd8a929c82 ("PCI: dwc: Remove MSI/MSIX capability for Root Port
#31: Fixes: f5cd8a929c82 ("PCI: dwc: Remove MSI/MSIX capability for Root Port if iMSI-RX is used as MSI controller")

Commit d549eaff6ecc ("FROMLIST: PCI/pwrctrl: Do not try to power on/off devices that don't need pwrctrl") — 2 warnings:

WARNING: Unknown commit id 'b35cf3b6aa1e', maybe rebased or not pulled?
#18: Fixes: b35cf3b6aa1e ("PCI/pwrctrl: Add APIs to power on/off pwrctrl devices")

WARNING: Reported-by: should be immediately followed by Closes: with a URL to the report
#19: Reported-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>

Commit da661235ba2d (Revert "FROMLIST: of: Add convenience wrappers for of_map_id()") — 3 checks:

CHECK: Alignment should match open parenthesis
#58:  FILE: drivers/iommu/of_iommu.c:52
#141: FILE: drivers/of/irq.c:729
#193: FILE: drivers/xen/grant-dma-ops.c:325

Commit a6304208667a ("Update README test") — 1 warning:

WARNING: Missing commit description - Add an appropriate one

Fix:

  1. 3bb5cae9c6e7 — Remove the Assisted-by: Claude:claude-4-6-sonnet trailer entirely (AI tool attribution is not a recognized kernel trailer). The Fixes: SHA warning is cosmetic (SHA not in the local tree) but the ERROR on the malformed trailer must be resolved.
  2. d549eaff6ecc — Add a Closes: <URL> tag immediately after Reported-by:. The Fixes: SHA warning is cosmetic.
  3. da661235ba2d — The CHECK alignment warnings are style-only; fix indentation to align with the open parenthesis if desired, but these do not block merge.
  4. a6304208667a — Add a commit body description (see also tag-check below — this commit also lacks a required prefix).
git rebase -i 2f43e5abac7c   # mark 3bb5cae9c6e7 and d549eaff6ecc as 'edit'
# For 3bb5cae9c6e7: remove the Assisted-by line
git commit --amend
git rebase --continue
# For d549eaff6ecc: add Closes: <URL> after Reported-by:
git commit --amend
git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --summary-file --ignore FILE_PATH_CHANGES \
  --git 2f43e5abac7c92e736109e693fd376fa033fe1ef..a6304208667a3fb8e0a4ebf0dc898801e812bdfd

❌ check-patch-compliance

Root cause: Multiple commits fail on three distinct sub-checks: (A) missing required prefix, (B) author mismatch between the lore upstream and the git commit, and (C) content difference between the PR commit and the linked lore patch.

Failure details:

(A) Missing required prefix — 9 commits:

QCLINUX: prune.config: Enable Realtek PHY config for Rb3Gen2 Industrial board
  → "Commit summary does not start with a required prefix"

PENDING: arm64: dts: qcom: rb3gen2-industrial-mezzanine: add overlay for QPS615
  → "Commit summary does not start with a required prefix"

PENDING: arm64: dts: qcom: monaco-evk: fix overlay stacking and PHY reset polarity
  → "Commit summary does not start with a required prefix"

QCLINUX: arm64: configs: qcom.config: Enable CONNECTOR, PROC_EVENTS
  → "Commit summary does not start with a required prefix"

Revert "FROMLIST: of: Respect #{iommu,msi}-cells in maps"
  → "Commit summary does not start with a required prefix"

Revert "FROMLIST: of: Factor arguments passed to of_map_id() into a struct"
  → "Commit summary does not start with a required prefix"

Revert "FROMLIST: of: Add convenience wrappers for of_map_id()"
  → "Commit summary does not start with a required prefix"

Revert "Revert "FROMLIST: PCI: dwc: Remove MSI/MSIX capability if iMSI-RX is used as MSI controller""
  → "Commit summary does not start with a required prefix"

WORKAROUND: i2c: qcom-geni: Fix -EACCES error during system resume
  → "Commit summary does not start with a required prefix"

Update README test
  → "Commit summary does not start with a required prefix"

(B) Author mismatch — 6 commits:

FROMLIST: ASoC: qcom: q6apm-lpass-dai: move graph start to trigger
  Original author: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
  Commit author:   Karthik S <karthik.s@oss.qualcomm.com>

FROMLIST: arm64: dts: qcom: Enable secondary mi2s
  Original author: Kumar Anurag <kumar.singh@oss.qualcomm.com>
  Commit author:   Karthik S <karthik.s@oss.qualcomm.com>

FROMLIST: arm64: dts: qcom: qcs6490: Enable DP audio
  Original author: Kumar Anurag <kumar.singh@oss.qualcomm.com>
  Commit author:   Karthik S <karthik.s@oss.qualcomm.com>

FROMLIST: ASoC: qcom: q6dsp-lpass-ports: Extend q6dsp-lpass-ports driver...
  Original author: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
  Commit author:   Karthik S <karthik.s@oss.qualcomm.com>

FROMLIST: ASoC: qcom: q6dsp-lpass-ports: Update constraints to support 32-bit PCM format
  Original author: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
  Commit author:   Karthik S <karthik.s@oss.qualcomm.com>

FROMLIST: PCI: qcom: Add D3cold support
  Original author: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
  Commit author:   Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>

(C) Content mismatch — 4 commits:

FROMLIST: arm64: dts: qcom: Enable secondary mi2s          → "Change is different from the one mentioned in Link"
FROMLIST: misc: fastrpc: Allocate entire reserved memory…  → "Change is different from the one mentioned in Link"
FROMLIST: of: Add convenience wrappers for of_map_id()     → "Change is different from the one mentioned in Link"
FROMLIST: of: Factor arguments passed to of_map_id()…      → "Change is different from the one mentioned in Link"
FROMLIST: PCI: qcom: Add D3cold support                    → "Change is different from the one mentioned in Link"
FROMLIST: PCI/pwrctrl: Do not try to power on/off…         → "Change is different from the one mentioned in Link"

(D) Bad link — 1 commit:

FROMLIST: arm64: dts: qcom: lemans: Enable audio over DisplayPort
  → "Something seems wrong with the provided link. Please verify it"
  Link: https://lore.kernel.org/all/ce8ca265-24df-41e5-a763-f9475de2fa9b@oss.qualcomm.com/

Fix:

(A) Prefix failures:

  • QCLINUX: and PENDING: are not in the allowed list for check-patch-compliance on qcom-6.18.y. If these patches have been posted upstream, change to FROMLIST: + add Link:. If vendor-only, this checker will always flag them — known limitation.
  • Revert "FROMLIST: ..." commits need a prefix before Revert, e.g. UPSTREAM: Revert "FROMLIST: ..." or FROMLIST: Revert "FROMLIST: ...".
  • WORKAROUND: is not in the compliance checker's allowed list — treat same as QCLINUX:.
  • Update README test needs a proper prefix (e.g. QCLINUX:) and a commit body.

(B) Author mismatches:

git rebase -i <base>
# For each affected commit, mark as 'edit', then:
git commit --amend --author="Original Author <original@email>"
git rebase --continue

(C) Content mismatches: Fetch the upstream patch and compare:

b4 am --single-message -C -l -3 <Link-URL> -o /tmp/out
diff <(git format-patch -1 <sha> --stdout | grep -E '^[+-][^+-]') \
     <(awk '/^diff/,/^--$/' /tmp/out/*.mbx | grep -E '^[+-][^+-]')

Determine whether the delta is a legitimate local adaptation (document it in the commit message) or an unintended divergence (align with upstream).

(D) Bad link: Verify the lore URL for lemans: Enable audio over DisplayPort resolves to the correct message. Replace with a working lore permalink.

Reproduce locally:

bash kernel-checkers/check-patch-compliance.sh \
  --kernel-src /path/to/kernel \
  --base 2f43e5abac7c92e736109e693fd376fa033fe1ef \
  --head a6304208667a3fb8e0a4ebf0dc898801e812bdfd

❌ tag-check

Root cause: The PR targets qcom-6.18.y (not qcom-next / qcom-next-staging), so every commit subject must start with a recognized prefix. Eight commits are missing one.

Failure details:

Commit (patch #) Subject Issue
16 Revert "FROMLIST: of: Respect #{iommu,msi}-cells in maps" No prefix before Revert
17 Revert "FROMLIST: of: Factor arguments passed to of_map_id() into a struct" No prefix before Revert
18 Revert "FROMLIST: of: Add convenience wrappers for of_map_id()" No prefix before Revert
22 Revert "Revert "FROMLIST: PCI: dwc: Remove MSI/MSIX capability if iMSI-RX is used as MSI controller"" No prefix before Revert
30 Update README test No prefix at all

Note: QCLINUX:, PENDING:, and WORKAROUND: are valid tag-check prefixes (they appear in the allowed list for tag-check), so patches 02, 08, 13, 15, and 25 pass tag-check. The compliance checker is stricter and rejects them — that is a separate issue tracked under check-patch-compliance above.

Fix:

git rebase -i 2f43e5abac7c
# For Revert commits (16, 17, 18, 22): prepend UPSTREAM: or FROMLIST:
# e.g. "UPSTREAM: Revert "FROMLIST: of: Respect #{iommu,msi}-cells in maps""
# For patch 30: prepend QCLINUX: and add a commit body
git commit --amend -m "UPSTREAM: Revert \"FROMLIST: of: ...\""
git rebase --continue

⚠️ qcom-next-check (SKIPPED — network unavailable)

Network access was unavailable in this analysis environment; qcom-next could not be fetched. The following FROMLIST: commits should be manually verified for presence in qcom-next:

git remote add qcom-linux https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
git fetch qcom-linux qcom-next
git log qcom-linux/qcom-next --oneline --grep="<subject>"

Key FROMLIST: commits to check: of: Add convenience wrappers for of_map_id(), of: Factor arguments passed to of_map_id() into a struct, of: Respect #{iommu,msi}-cells in maps, PCI: qcom: Add D3cold support, PCI/pwrctrl: Do not try to power on/off devices that don't need pwrctrl.


Verdict

3 blockers to fix before merge:

  1. checkpatch ERROR — Remove Assisted-by: Claude:claude-4-6-sonnet from commit 3bb5cae9c6e7; add Closes: after Reported-by: in d549eaff6ecc.
  2. check-patch-compliance — Fix author metadata on 6 commits (use --author= amend), resolve the bad lore link for the lemans audio commit, and investigate content mismatches on 6 FROMLIST: commits. QCLINUX:/PENDING:/WORKAROUND: prefix failures are a known checker limitation for vendor-only commits — confirm with the reviewer whether these are acceptable.
  3. tag-check — Add a valid prefix to the 5 bare Revert "..." commits and to Update README test.

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.