Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
e04dddf
FROMLIST: arm64: dts: qcom: lemans: Enable audio over DisplayPort
kumarsingh-art Apr 14, 2026
3412472
QCLINUX: prune.config: Enable Realtek PHY config for Rb3Gen2 Industri…
ayaan-anwar Apr 15, 2026
80c7d74
FROMLIST: ASoC: qcom: q6apm-lpass-dai: move graph start to trigger
ks5-dev Apr 16, 2026
a66dbfa
FROMLIST: arm64: dts: qcom: Enable secondary mi2s
ks5-dev Apr 16, 2026
03c1eb9
FROMLIST: arm64: dts: qcom: qcs6490: Enable DP audio
ks5-dev Apr 16, 2026
a2c83eb
FROMLIST: ASoC: qcom: q6dsp-lpass-ports: Extend q6dsp-lpass-ports dri…
ks5-dev Apr 16, 2026
d14d317
FROMLIST: ASoC: qcom: q6dsp-lpass-ports: Update constraints to suppor…
ks5-dev Apr 16, 2026
498870f
PENDING: arm64: dts: qcom: rb3gen2-industrial-mezzanine: add overlay …
ayaan-anwar Apr 19, 2026
d782578
FROMLIST: misc: fastrpc: Fix initial memory allocation for Audio PD m…
ekanshibu May 13, 2025
3ca00e4
FROMLIST: misc: fastrpc: Remove buffer from list prior to unmap opera…
ekanshibu May 13, 2025
ba1bd9d
FROMLIST: misc: fastrpc: Allocate entire reserved memory for Audio PD…
Jianping-Li Dec 23, 2025
0aef3f9
FROMLIST: misc: fastrpc: Allow fastrpc_buf_free() to accept NULL
ekanshibu May 13, 2025
43b75d7
PENDING: arm64: dts: qcom: monaco-evk: fix overlay stacking and PHY r…
ayaan-anwar Apr 21, 2026
ceaa570
FROMLIST: arm64: dts: qcom: sc7280: avoid EFI overlap for ADSP remote…
Jianping-Li Apr 21, 2026
ac9e386
QCLINUX: arm64: configs: qcom.config: Enable CONNECTOR, PROC_EVENTS
jpagadal Apr 23, 2026
66385b7
FROMLIST: misc: fastrpc: Add missing bug fixes (#498)
sgaud-quic Apr 24, 2026
79ab61f
arm64: dts: qcom: sc7280: avoid EFI overlap for ADSP remote heap (#499)
sgaud-quic Apr 24, 2026
fbedeef
Revert "FROMLIST: of: Respect #{iommu,msi}-cells in maps"
vijayanandjitta-oss Apr 24, 2026
2417ba3
Revert "FROMLIST: of: Factor arguments passed to of_map_id() into a s…
vijayanandjitta-oss Apr 24, 2026
da66123
Revert "FROMLIST: of: Add convenience wrappers for of_map_id()"
vijayanandjitta-oss Apr 24, 2026
d47bb88
FROMLIST: of: Add convenience wrappers for of_map_id()
rmurphy-arm Oct 14, 2025
1e6e503
FROMLIST: of: Factor arguments passed to of_map_id() into a struct
charan-kalla-oss Nov 29, 2025
00e90ec
FROMLIST: of: Respect #{iommu,msi}-cells in maps
rmurphy-arm Mar 25, 2026
45cb306
Revert "Revert "FROMLIST: PCI: dwc: Remove MSI/MSIX capability if iMS…
krishnachaitanya-linux Apr 23, 2026
3bb5cae
FROMLIST: PCI: qcom: Disable ASPM L0s for SA8775P
Apr 19, 2026
20735d5
linux-qcom: Enable audio over HDMI and DP for kodiak (#477)
sgaud-quic Apr 29, 2026
d76085e
ASoC: qcom: q6apm-lpass-dai: move graph start to trigger (#474)
sgaud-quic Apr 29, 2026
b50a0ac
arm64: dts: qcom: lemans: Enable audio over DisplayPort (#462)
sgaud-quic Apr 29, 2026
84c2e83
arm64: dts: qcom: monaco-evk: fix overlay stacking and PHY reset pola…
sgaud-quic Apr 29, 2026
4d876d3
Disable L0s to fix wlan functionality (#506)
sgaud-quic Apr 29, 2026
f09c337
of/irq: Fix MSI map walk regression and NULL deref in of_msi (#507)
sgaud-quic Apr 29, 2026
11d6354
arm64: configs: qcom.config: Enable CONNECTOR, PROC_EVENTS (#511)
sgaud-quic Apr 29, 2026
5b15778
arm64: dts: qcom: rb3gen2-industrial-mezzanine: add overlay for QPS61…
sgaud-quic Apr 29, 2026
cdf31ed
prune.config: Enable Realtek PHY config for Rb3Gen2 Industrial board …
sgaud-quic Apr 29, 2026
424ee7b
FROMLIST: pci: quirks: Advertise D3cold capability for UPD720201
sushrut-trivedi Apr 30, 2026
a3950d4
WORKAROUND: i2c: qcom-geni: Fix -EACCES error during system resume
vdadhani Mar 31, 2026
6b2f39d
FROMLIST: PCI: qcom: Add D3cold support
Apr 14, 2026
d549eaf
FROMLIST: PCI/pwrctrl: Do not try to power on/off devices that don't …
Mani-Sadhasivam Apr 21, 2026
796722c
PCI: qcom: Add D3cold support (#461)
sgaud-quic May 4, 2026
a47ccc7
PCI/pwrctrl: Do not try to power on/off devices that don't need pwrct…
sgaud-quic May 4, 2026
b688287
i2c: qcom-geni: Fix -EACCES error during system resume (#483)
sgaud-quic May 4, 2026
e0099e1
pci: quirks: Advertise D3cold capability for UPD720201 (#525)
sgaud-quic May 4, 2026
6cb29a7
FROMLIST: soc: qcom: pd-mapper: Add support for SA8775P
mohsRafi Feb 9, 2026
83c37b4
FROMLIST: soc: qcom: pd-mapper: Add support for QCS8300
mohsRafi Feb 9, 2026
7368c42
Lemans monaco audio pd mapper support (#539)
sgaud-quic May 5, 2026
a630420
Update README test
hasiburr-qti May 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ several of them using the reStructuredText markup notation.
Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.


2 changes: 2 additions & 0 deletions arch/arm64/boot/dts/qcom/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -474,6 +474,8 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-vision-mezzanine-camx.dtb

dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-staging.dtbo

dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-industrial-mezzanine-staging.dtbo

qcs8300-ride-camx-dtbs:= qcs8300-ride.dtb qcs8300-ride-camx.dtbo

dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride-camx.dtb
Expand Down
16 changes: 16 additions & 0 deletions arch/arm64/boot/dts/qcom/lemans-evk.dts
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,22 @@
sound-dai = <&q6apm>;
};
};

dp0-dai-link {
link-name = "DisplayPort0 Playback";

cpu {
sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>;
};

codec {
sound-dai = <&mdss0_dp0>;
};

platform {
sound-dai = <&q6apm>;
};
};
};

vbus_supply_regulator_0: regulator-vbus-supply-0 {
Expand Down
18 changes: 10 additions & 8 deletions arch/arm64/boot/dts/qcom/monaco-evk-staging.dtso
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,16 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>

&eeprom1 {
nvmem-layout {
mac_addr1: mac-addr@0 {
reg = <0x0 0x6>;
};
&i2c15 {
eeprom1: eeprom@52 {
nvmem-layout {
mac_addr1: mac-addr@0 {
reg = <0x0 0x6>;
};

mac_addr2: mac-addr@6 {
reg = <0x6 0x6>;
mac_addr2: mac-addr@6 {
reg = <0x6 0x6>;
};
};
};
};
Expand All @@ -42,7 +44,7 @@
nvmem-cell-names = "mac-address";
pinctrl-names = "default";
pinctrl-0 = <&napa_intn_wol_sig>;
phy-reset-gpios = <&expander5 0 GPIO_ACTIVE_HIGH>;
phy-reset-gpios = <&expander5 0 GPIO_ACTIVE_LOW>;
reset-deassert-us = <20000>;
};
};
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>

&{/} {
qep_vreg: qep_vreg {
compatible = "regulator-fixed";
regulator-name = "qep_vreg";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&pm7325_gpios 8 0>;
enable-active-high;
};

aqr_vreg: aqr_vreg {
compatible = "regulator-fixed";
regulator-name = "aqr_vreg";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&pm7250b_gpios 4 0>;
enable-active-high;
};
};

&pcie1_port0 {
pcie@0,0 {
pcie@3,0 {
qps615: pci@0,0 {
compatible = "pci1179,0220";
interrupts-extended = <&tlmm 141 IRQ_TYPE_EDGE_FALLING>;
interrupt-names = "wol_irq";
pinctrl-names = "default";
pinctrl-0 = <&aqr_intn_wol_sig>;
phy-reset-gpios = <&qps615 0 GPIO_ACTIVE_LOW>;
phy-supply = <&aqr_vreg>;
reset-deassert-us = <221000>;

gpio-controller;
#gpio-cells = <2>;
};

pci@0,1 {
compatible = "pci1179,0220";
interrupts-extended = <&tlmm 101 IRQ_TYPE_EDGE_FALLING>;
interrupt-names = "wol_irq";
pinctrl-names = "default";
pinctrl-0 = <&napa_intn_wol_sig>;
phy-reset-gpios = <&qps615 1 GPIO_ACTIVE_LOW>;
phy-supply = <&qep_vreg>;
reset-deassert-us = <20000>;
};
};
};
};

&pcie0_port {
pcie@0,0 {
pcie@3,0 {
pci@0,0 {
interrupts-extended = <&tlmm 136 IRQ_TYPE_EDGE_FALLING>;
interrupt-names = "wol_irq";
pinctrl-names = "default";
pinctrl-0 = <&rtl_rc0_intn_wol_sig>;
phy-mode = "sgmii";
phy-reset-gpios = <&tlmm 90 GPIO_ACTIVE_LOW>;
reset-deassert-us = <75000>;
};

pci@0,1 {
interrupts-extended = <&tlmm 142 IRQ_TYPE_EDGE_FALLING>;
interrupt-names = "wol_irq";
pinctrl-names = "default";
pinctrl-0 = <&napa_rc0_intn_wol_sig>;
phy-reset-gpios = <&tlmm 25 GPIO_ACTIVE_LOW>;
phy-supply = <&qep_vreg>;
reset-deassert-us = <20000>;
};
};
};
};

&tlmm {
qps615_intn_wol {
aqr_intn_wol_sig: aqr_intn_wol_sig {
pins = "gpio141";
function = "gpio";
input-enable;
bias-disable;
};

napa_intn_wol_sig: napa_intn_wol_sig {
pins = "gpio101";
function = "gpio";
input-enable;
bias-disable;
};

rtl_rc0_intn_wol_sig: rtl_rc0_intn_wol_sig {
pins = "gpio136";
function = "gpio";
input-enable;
bias-disable;
};

napa_rc0_intn_wol_sig: napa_rc0_intn_wol_sig {
pins = "gpio142";
function = "gpio";
input-enable;
bias-disable;
};
};
};
59 changes: 59 additions & 0 deletions arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
Original file line number Diff line number Diff line change
Expand Up @@ -775,6 +775,7 @@
lt9611_codec: hdmi-bridge@2b {
compatible = "lontium,lt9611uxc";
reg = <0x2b>;
#sound-dai-cells = <1>;

interrupts-extended = <&tlmm 24 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&pm7250b_gpios 2 GPIO_ACTIVE_HIGH>;
Expand Down Expand Up @@ -1331,6 +1332,9 @@
compatible = "qcom,qcs6490-rb3gen2-sndcard";
model = "QCS6490-RB3Gen2";

pinctrl-0 = <&mi2s1_data0>, <&mi2s1_mclk>, <&mi2s1_sclk>, <&mi2s1_ws>;
pinctrl-names = "default";

audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
"SpkrRight IN", "WSA_SPK2 OUT",
"VA DMIC0", "vdd-micb",
Expand Down Expand Up @@ -1370,6 +1374,38 @@
sound-dai = <&q6apm>;
};
};

mi2s1-playback-dai-link {
link-name = "Secondary MI2S Playback";

codec {
sound-dai = <&lt9611_codec 0>;
};

cpu {
sound-dai = <&q6apmbedai SECONDARY_MI2S_RX>;
};

platform {
sound-dai = <&q6apm>;
};
};

dp-dai-link {
link-name = "DisplayPort0 Playback";

codec {
sound-dai = <&mdss_dp>;
};

cpu {
sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>;
};

platform {
sound-dai = <&q6apm>;
};
};
};

&spi3 {
Expand Down Expand Up @@ -1747,3 +1783,26 @@
compatible = "qcom,qcm6490-lpassaudiocc";
/delete-property/ power-domains;
};

&mi2s1_data0 {
drive-strength = <8>;
bias-disable;
};

&mi2s1_mclk {
drive-strength = <8>;
bias-disable;
output-high;
};

&mi2s1_sclk {
drive-strength = <8>;
bias-disable;
output-high;
};

&mi2s1_ws {
drive-strength = <8>;
bias-disable;
output-high;
};
14 changes: 11 additions & 3 deletions arch/arm64/boot/dts/qcom/sc7280.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -191,9 +191,12 @@
qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
};

adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@9cb80000 {
reg = <0x0 0x9cb80000 0x0 0x800000>;
no-map;
adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap {
compatible = "shared-dma-pool";
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
reusable;
alignment = <0x0 0x400000>;
size = <0x0 0x800000>;
};
};

Expand Down Expand Up @@ -5880,6 +5883,11 @@
function = "mi2s1_ws";
};

mi2s1_mclk: mi2s1-mclk-state {
pins = "gpio105";
function = "sec_mi2s";
};

pcie0_clkreq_n: pcie0-clkreq-n-state {
pins = "gpio88";
function = "pcie0_clkreqn";
Expand Down
1 change: 0 additions & 1 deletion arch/arm64/configs/prune.config
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BCM54140_PHY is not set
# CONFIG_MICROSEMI_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
# CONFIG_DP83867_PHY is not set
# CONFIG_DP83TD510_PHY is not set
Expand Down
2 changes: 2 additions & 0 deletions arch/arm64/configs/qcom.config
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_CFG80211_CERTIFICATION_ONUS=y
CONFIG_CONNECTOR=y
CONFIG_CORESIGHT_CORESIGHT_TNOC=m
CONFIG_CORESIGHT_CTCU=m
CONFIG_CORESIGHT_DUMMY=m
Expand Down Expand Up @@ -42,6 +43,7 @@ CONFIG_PM_WAKELOCKS_LIMIT=0
# CONFIG_PM_WAKELOCKS_GC is not set
CONFIG_PM=y
CONFIG_POWERCAP=y
CONFIG_PROC_EVENTS=y
CONFIG_QCA808X_PHY=m
CONFIG_QCOM_QMI_COOLING=y
CONFIG_REMOTEPROC_THERMAL=y
Expand Down
24 changes: 22 additions & 2 deletions drivers/i2c/busses/i2c-qcom-geni.c
Original file line number Diff line number Diff line change
Expand Up @@ -831,8 +831,14 @@ static int geni_i2c_probe(struct platform_device *pdev)
spin_lock_init(&gi2c->lock);
platform_set_drvdata(pdev, gi2c);

/* Keep interrupts disabled initially to allow for low-power modes */
ret = devm_request_irq(dev, gi2c->irq, geni_i2c_irq, IRQF_NO_AUTOEN,
/*
* Keep interrupts disabled initially to allow for low-power modes.
* IRQF_NO_SUSPEND: Keep IRQ enabled during suspend to handle I2C transfers
* in noirq phase (e.g., from PCIe driver's noirq_resume).
* IRQF_EARLY_RESUME: Enable IRQ early during resume sequence.
*/
ret = devm_request_irq(dev, gi2c->irq, geni_i2c_irq,
IRQF_NO_AUTOEN | IRQF_NO_SUSPEND | IRQF_EARLY_RESUME,
dev_name(dev), gi2c);
if (ret)
return dev_err_probe(dev, ret,
Expand Down Expand Up @@ -1044,6 +1050,20 @@ static int __maybe_unused geni_i2c_suspend_noirq(struct device *dev)
static int __maybe_unused geni_i2c_resume_noirq(struct device *dev)
{
struct geni_i2c_dev *gi2c = dev_get_drvdata(dev);
int ret = 0;

/*
* Resume hardware to handle I2C transfers from other drivers'
* noirq_resume callbacks (e.g., PCIe driver).
* pm_runtime_force_resume() properly handles PM state and usage_count.
*/
if (gi2c->suspended) {
ret = pm_runtime_force_resume(dev);
if (ret) {
dev_err(dev, "Failed to resume I2C during noirq: %d\n", ret);
return ret;
}
}

i2c_mark_adapter_resumed(&gi2c->adap);
return 0;
Expand Down
Loading