linux-postmarketos-qcom-sdm670: upgrade to v6.10.2 + related changes
Release notes for v6.10.2
Linux 6.10.2 with patches for Snapdragon 670
This is a collection of patches that are useful for devices with the
Qualcomm Snapdragon 670, applied on top of Linux 6.10.2.
Support for the built-in microphone was added. It needed the Q6AFE driver to
pull in existing configuration from the device tree, and SPI support. Patches
were added for those things as well.
There has been a security vulnerability (CVE-2024-41024), where the fix made a
breaking change in non-secure FastRPC domains. To continue making audiopd,
rootpd, and sensorspd available to userspace, the ADSP domain has been marked
as secure.
From Robert Mader and Pablo Correa Gomez at GUADEC, the rotation and
orientation properties on the IMX355 front camera sensor were made accessible
to the V4L2 userspace API. This is a necessary change for libcamera support,
the other being a kernel config change that was sent directly to the SDM845
kernel. Thanks to them for libcamera support!
For call audio, the TDM ports were added to the q6voice driver, allowing the use
of the Pixel 3a's built-in speaker, earpiece, and microphone.
The Last Level Cache Controller was added. This should boost performance, but
no proper measurements have been made.
For the q6voice driver, the CVD 2.3 behavior from this fork was given a flag in
the device tree. This makes it more compatible with other kernel forks.
Regarding upstreaming, device tree patches for charging were submitted by the
SDM660 mainlining community and are in linux-next. Patches for the GPU were
added in anticipation of their 6.11 debut, just pursuant to an unwritten and
loosely followed policy that makes rebasing easier.
Bluetooth, display, USB, I2C, eMMC, modem, video acceleration, WiFi, haptics,
NFC, touchscreen, and thermals should work and be slightly broken like before.
linux-next (11):
1866407831de dt-bindings: arm: qcom,ids: Add SoC ID for SDM670
48e4da7919be soc: qcom: socinfo: Add SDM670 SoC ID table entry
265d9989df50 arm64: dts: qcom: sdm670: add smem region
0354ab18ef5e arm64: dts: qcom: pm660: Add rradc, charger
e53de87ac331 pinctrl: qcom: sdm670: add pdc wakeirq map
35322c39a653 Revert "drm/msm/dpu: drop dpu_encoder_phys_ops.atomic_mode_set"
8ed322f632a9 drm/msm/adreno: Split up giant device table
2e819c420e5b drm/msm/adreno: Split catalog into separate files
85e8cc06f282 drm/msm/adreno: Move hwcg regs to a6xx hw catalog
dff2f69f3e8a drm/msm/adreno: Move hwcg table into a6xx specific info
fccf9dd00893 drm/msm/adreno: Move CP_PROTECT settings to hw catalog
sdm670-staging (8):
Not sent yet (2):
arm64: dts: qcom: sdm670-google-sargo: add touchscreen and display labels
arm64: dts: qcom: sdm670-google: add common device tree include
[PATCH 0/2] iommu/arm-smmu-qcom: Add SDM670 SMMU v2
dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible
iommu/arm-smmu-qcom: add sdm670 adreno iommu compatible
[PATCH 0/4] drm/msm/adreno: Add A615 GPU for SDM670 and Pixel 3a
dt-bindings: display/msm/gmu: Add SDM670 compatible
drm/msm/adreno: add a615 support
arm64: dts: qcom: sdm670: add gpu
arm64: dts: qcom: sdm670-google: enable gpu
msm8916-mainline (8):
0657b041b01d ASoC: qdsp6: Add shared session management for q6voice services
ce271548066b ASoC: qdsp6: Add driver for Q6 Multimode Voice Manager (q6mvm)
54cd4da67fda ASoC: qdsp6: Add driver for Q6 Core Voice Processor (q6cvp)
a48b89fc4700 ASoC: qdsp6: Add driver for Q6 Core Voice Stream (q6cvs)
cf125cf6d114 ASoC: qdsp6: Add voice call functionality in Q6 Voice driver
6e92cab0d653 ASoC: qdsp6: Add Q6 Voice DAI driver (v2.1)
fcccc6de448f ASoC: qdsp6: q6voice: Add getter/setter for rx and tx ports
b14a3a0a40de ASoC: qdsp6: q6voice-dai: Add controls for voice rx and tx ports
sdm670-msm8916-sdm845-fixup (1):
ASoC: qdsp6: q6voice-dai: reserve bit in shift attribute for rx/tx
msm8996-mainline (1):
c444d999d4e7 dt-bindings: power: supply: Add DT schema for qcom,fg
sdm845-mainline (5):
4dd200ff441b arm64: configs: add sdm845 config fragment
74f705c9798c power: supply: Add driver for Qualcomm PMIC fuel gauge
f00215cc4252 ASoC: qdsp6: q6voice-dai: Introduce VoiceMMode1 dai
73ac38f91793 q6voice: use strscpy()
eca0f4c53401 Add back TEXT_OFFSET in the built image...
sdm670-downstream (79):
arm64: configs: add sdm670 config fragment
arm64: dts: qcom: sdm670-google: mask the dtbo
arm64: dts: qcom: pm660: add fuel gauge
arm64: dts: qcom: sdm670-google: enable charging support
Input: add ti drv2624 haptics driver
arm64: dts: qcom: sdm670-google: add haptics node
arm64: dts: qcom: sdm670: add video codec
arm64: dts: qcom: sdm670-google: enable venus video codec
arm64: dts: qcom: drop-in bluetooth support
arm64: dts: qcom: sdm670-google: add nfc support
dt-bindings: soc: qcom: add modemsmem
soc: qcom: add modemsmem
arm64: dts: qcom: sdm670-google: add modemsmem
dt-bindings: mailbox: qcom: Add SDM670 APCS compatible
dt-bindings: soc: qcom: aoss: Add compatible for SDM670
remoteproc: qcom_q6v5_mss: Add modem support for SDM670
arm64: dts: qcom: sdm670: add modem
dt-bindings: net: qcom,ipa: Add SDM670 compatible
net: ipa: add sdm670 compatible
arm64: dts: qcom: sdm670: add ipa
arm64: dts: qcom: sdm670: add wifi
dt-bindings: soc: qcom,smp2p: add sleepstate support
arm64: dts: qcom: sdm670: add and enable adsp
remoteproc: qcom: pas: Add SDM670 ADSP support
wifi: ath10k: make in-order rx amsdu buffers persistent
pinctrl: qcom: lpass-lpi: increase maximum gpio count to 32
pinctrl: qcom: add sdm670 lpi tlmm
ASoC: dt-bindings: qcom: q6dsp: add internal mi2s support
ASoC: qdsp6: q6dsp-lpass-ports: add internal mi2s support
ASoC: qdsp6: q6afe: add internal mi2s support
ASoC: qdsp6: q6afe-dai: add internal mi2s support
ASoC: qdsp6: q6routing: add internal mi2s support
ASoC: qcom: add sdm660 internal sound card support
ASoC: msm8916-wcd-analog: add quirk for cajon 2.0
arm64: dts: qcom: sdm670: add lpi pinctrl
arm64: dts: qcom: sdm670-google: add sound card
arm64: dts: qcom: sdm670-google: add cs35l36 codecs
arm64: dts: qcom: pm660l: add analog audio codec
arm64: dts: qcom: sdm670: add digital audio codec
arm64: dts: qcom: sdm670-google: configure analog and digital codecs
dt-bindings: leds: qcom,spmi-flash-led: add pm660l compatible
arm64: dts: qcom: pm660l: add flash leds
arm64: dts: qcom: sdm670-google: add flash leds
drm/panel: add sofef00 panel for bonito
drm/panel: samsung-sofef00-bonito: move dsi commands to disable function
drm/panel: samsung-sofef00-bonito: move dsi commands to enable function
dt-bindings: arm: qcom: document google,bonito-sdc board
arm64: dts: qcom: sdm670-google: add bonito sdc
dt-bindings: power: supply: qcom,fg: correct compatibles in allOf
dt-bindings: power: supply: qcom,fg: allow interrupt properties
dt-bindings: power: supply: qcom,fg: Document power-supplies property
ASoC: qdsp6: q6voice-dai: get path type from shift param
ASoC: qdsp6: q6voice-dai: add internal mi2s
ASoC: qdsp6: q6voice-dai: add tdm
ASoC: qdsp6: q6cvp: add commands in cvd 2.3
ASoC: qdsp6: q6voice: add cvd 2.3 initialization sequence
arm64: dts: qcom: sdm670: add q6voice apr services
arm64: dts: qcom: sdm670-google: add voicemmode1 dai
dt-bindings: thermal: tsens: add SDM670 compatible
dt-bindings: mfd: qcom,spmi-pmic: Allow PMIC4 thermal monitor on pm660
arm64: dts: qcom: sdm670: add thermal zones
arm64: dts: qcom: pm660: add thermal monitor
arm64: dts: qcom: sdm670-google: add thermal zones
dt-bindings: i2c: qcom-cci: Document SDM670 compatible
media: camss: add support for SDM670 camss
media: i2c: imx355: Support device tree probing and resource management
media: i2c: imx355: Add power management for managed resources
arm64: dts: qcom: sdm670: add camss and cci
arm64: dts: qcom: sdm670-google: add imx355 front camera
ASoC: qdsp6: q6afe: pass tdm ctrl_sync_data_delay from config
ASoC: qdsp6: q6afe-dai: configure tdm data delay from device tree
ASoC: codecs: rt5514: allow codec to be enabled manually
arm64: dts: qcom: sdm670: add support for geni spi
arm64: dts: qcom: sdm670-google: add rt5514 microphone codec
media: i2c: imx355: Parse and register properties
arm64: dts: qcom: sdm670-google: Add front camera rotation/orientation
dt-bindings: cache: qcom,llcc: Add SDM670 compatible
soc: qcom: llcc: Add configuration data for SDM670
arm64: dts: qcom: sdm670: add llcc
sdm670-fixup (1):
arm64: dts: qcom: sdm670: unmark fastrpc on adsp as non-secure
Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
.../devicetree/bindings/cache/qcom,llcc.yaml | 2 +
.../devicetree/bindings/display/msm/gmu.yaml | 1 +
.../devicetree/bindings/i2c/qcom,i2c-cci.yaml | 1 +
.../devicetree/bindings/iommu/arm,smmu.yaml | 1 +
.../bindings/leds/qcom,spmi-flash-led.yaml | 1 +
.../bindings/mailbox/qcom,apcs-kpss-global.yaml | 1 +
.../devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 1 +
.../devicetree/bindings/net/qcom,ipa.yaml | 1 +
.../devicetree/bindings/power/supply/qcom,fg.yaml | 115 ++
.../bindings/soc/qcom/google,modemsmem.yaml | 40 +
.../bindings/soc/qcom/qcom,aoss-qmp.yaml | 1 +
.../devicetree/bindings/soc/qcom/qcom,smp2p.yaml | 2 +-
.../bindings/sound/qcom,q6dsp-lpass-ports.yaml | 5 +-
.../devicetree/bindings/thermal/qcom-tsens.yaml | 1 +
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/pm660.dtsi | 43 +
arch/arm64/boot/dts/qcom/pm660l.dtsi | 48 +
.../boot/dts/qcom/sdm670-google-bonito-sdc.dts | 42 +
.../dts/qcom/sdm670-google-common-dtbo-mask.dtsi | 483 +++++
arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi | 1400 ++++++++++++++
arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts | 590 +-----
arch/arm64/boot/dts/qcom/sdm670.dtsi | 2029 +++++++++++++++++++-
arch/arm64/configs/sdm670.config | 240 +++
arch/arm64/configs/sdm845.config | 1019 ++++++++++
arch/arm64/kernel/head.S | 2 +-
arch/arm64/kernel/image.h | 1 +
drivers/gpu/drm/msm/Makefile | 5 +
drivers/gpu/drm/msm/adreno/a2xx_catalog.c | 52 +
drivers/gpu/drm/msm/adreno/a3xx_catalog.c | 81 +
drivers/gpu/drm/msm/adreno/a4xx_catalog.c | 50 +
drivers/gpu/drm/msm/adreno/a5xx_catalog.c | 148 ++
drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 1266 ++++++++++++
drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 880 +--------
drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 11 +
drivers/gpu/drm/msm/adreno/adreno_device.c | 624 +-----
drivers/gpu/drm/msm/adreno/adreno_gpu.h | 32 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 2 +
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 5 +
.../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 32 +-
.../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 13 +-
.../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c | 11 +-
drivers/gpu/drm/panel/Kconfig | 9 +
drivers/gpu/drm/panel/Makefile | 1 +
.../gpu/drm/panel/panel-samsung-sofef00-bonito.c | 297 +++
drivers/input/misc/Kconfig | 12 +
drivers/input/misc/Makefile | 1 +
drivers/input/misc/drv2624.c | 950 +++++++++
drivers/input/misc/drv2624.h | 290 +++
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 1 +
drivers/media/i2c/imx355.c | 120 +-
drivers/media/platform/qcom/camss/camss.c | 12 +
drivers/net/ipa/ipa_main.c | 4 +
drivers/net/wireless/ath/ath10k/htt.h | 4 +
drivers/net/wireless/ath/ath10k/htt_rx.c | 45 +-
drivers/pinctrl/qcom/Kconfig | 10 +
drivers/pinctrl/qcom/Makefile | 1 +
drivers/pinctrl/qcom/pinctrl-lpass-lpi.c | 2 +-
drivers/pinctrl/qcom/pinctrl-sdm670-lpass-lpi.c | 172 ++
drivers/pinctrl/qcom/pinctrl-sdm670.c | 19 +
drivers/power/supply/Kconfig | 8 +
drivers/power/supply/Makefile | 1 +
drivers/power/supply/qcom_fg.c | 1320 +++++++++++++
drivers/remoteproc/qcom_q6v5_mss.c | 1 +
drivers/remoteproc/qcom_q6v5_pas.c | 1 +
drivers/soc/qcom/Kconfig | 11 +
drivers/soc/qcom/Makefile | 1 +
drivers/soc/qcom/llcc-qcom.c | 28 +
drivers/soc/qcom/modemsmem.c | 107 ++
drivers/soc/qcom/socinfo.c | 1 +
include/dt-bindings/arm/qcom,ids.h | 1 +
include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h | 14 +
include/dt-bindings/sound/qcom,q6voice.h | 8 +
sound/soc/codecs/Kconfig | 9 +-
sound/soc/codecs/msm8916-wcd-analog.c | 63 +-
sound/soc/qcom/Kconfig | 20 +
sound/soc/qcom/Makefile | 2 +
sound/soc/qcom/qdsp6/Makefile | 6 +
sound/soc/qcom/qdsp6/q6afe-dai.c | 46 +
sound/soc/qcom/qdsp6/q6afe.c | 57 +
sound/soc/qcom/qdsp6/q6afe.h | 3 +-
sound/soc/qcom/qdsp6/q6cvp.c | 350 ++++
sound/soc/qcom/qdsp6/q6cvp.h | 18 +
sound/soc/qcom/qdsp6/q6cvs.c | 36 +
sound/soc/qcom/qdsp6/q6cvs.h | 9 +
sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c | 200 ++
sound/soc/qcom/qdsp6/q6mvm.c | 162 ++
sound/soc/qcom/qdsp6/q6mvm.h | 15 +
sound/soc/qcom/qdsp6/q6routing.c | 78 +-
sound/soc/qcom/qdsp6/q6voice-common.c | 272 +++
sound/soc/qcom/qdsp6/q6voice-common.h | 44 +
sound/soc/qcom/qdsp6/q6voice-dai.c | 1245 ++++++++++++
sound/soc/qcom/qdsp6/q6voice.c | 298 +++
sound/soc/qcom/qdsp6/q6voice.h | 34 +
sound/soc/qcom/sdm660-internal.c | 400 ++++
95 files changed, 14003 insertions(+), 2100 deletions(-)
Changes between v6.9.3 and v6.10.2, or just clone the https://gitlab.com/sdm670-mainline/linux-patches repo and compare the tagged revisions.
Edited by Administrator