Skip to content

linux-postmarketos-qcom-sdm670: upgrade to v6.10.2 + related changes

Administrator requested to merge sargo into master
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

Merge request reports

Loading