Commit graph

3632 commits

Author SHA1 Message Date
Arnd Bergmann
41ab5e1625 RISC-V cache drivers for v6.8
The SiFive composable cache driver moves to the cache driver
 subdirectory from the drivers/soc and grows support for non-coherent
 cache operations. The immediate user for these is the jh7100 SoC, that
 a rake of people have on VisionFive v1 or Beagle-V Starlight boards.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZYQ0tQAKCRB4tDGHoIJi
 0nzbAQDzjEtbv8Obne0lbg01XXNJDjch6O3uAZc7aUrdiG1lHAD/TkE14QQIYniI
 BJaNKXEiQsre7mm37+yJVxjf06SMogc=
 =cYnv
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWFcgwACgkQYKtH/8kJ
 UifrZRAAzt4eDE8Ld+vstn+0xwWlJJWh6nzEvkHeYFSePCBXhteS/NnEKvG1lW3O
 g7xkTVrCbbk6G2lMpXfcfhi4qYUCf0zNKp3sAH/5elQ25f/rIHie6OaC7uvlgQTY
 WcLEgNJdCV1cWXXGB4nn3ad6MGzrtKiUC2q2Wi+MkHx6f6M6qXv403V0FCvaotj/
 G3KP1kiwylL60cd+lX4lmMnbIKCJwLTLWaMslVeN10CfJg9qfyNDEqtGcuH6PAoL
 ur9gWnosFKhtWzqwxYVCQH/LxaxmjZtc7v4EKOOE8RKUt/oiNBOQY0FRV4j4rJU3
 TT1d9uthg+Okqj6VQF4U0Xe1t00S9WG5XB1TLWThWEiofguXRs1nERUxo7oGJIZ5
 hrjes42+cm3LPxszNcjrepPkYGPJqmss5EiMoN8J/0pPB33x6kpleG0gU4vuALFo
 HcyHy3/lIhVF2Do2j/x3h82XFhzpX7H3s6lmbxNizmrHk6vVJ+Ala+uTjWsdNmHD
 1Tic73ZltLv0MKXhhmrKvc4iZrHjJfBTyC3bw414jZY4XR/geX2aodbjJhLyFBKs
 Q+/W4Zx/tBhviXgRQQYkztA8n4ibCzxioBZQztF9R/5T8GVWXlT9WnqXxvCF3Gl+
 HZ2jp9qQD4dZ3uuYWVslCeAN4CQ6IudlWfFNNYeZxZ11BxddTAo=
 =OZqT
 -----END PGP SIGNATURE-----

Merge tag 'riscv-cache-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/drivers

RISC-V cache drivers for v6.8

The SiFive composable cache driver moves to the cache driver
subdirectory from the drivers/soc and grows support for non-coherent
cache operations. The immediate user for these is the jh7100 SoC, that
a rake of people have on VisionFive v1 or Beagle-V Starlight boards.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-cache-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  riscv: errata: Make ERRATA_STARFIVE_JH7100 depend on !DMA_DIRECT_REMAP
  riscv: errata: Add StarFive JH7100 errata
  soc: sifive: ccache: Add StarFive JH7100 support
  dt-bindings: cache: sifive,ccache0: Add StarFive JH7100 compatible
  soc: sifive: shunt ccache driver to drivers/cache

Link: https://lore.kernel.org/r/20231221-catatonic-monday-d4c61283b136@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-22 11:25:00 +00:00
Arnd Bergmann
cd845dfd46 RISC-V SoC drivers for v6.8
There's only one set of changes here, the addition of "Auto Update"
 support for PolarFire SoC. Auto Update is one of the ways that the FPGA
 bitstream can be updated, and the only one suitable for use from Linux
 as it does not immediately initiate a reboot when started.
 The driver was not accepted in the FPGA manager subsystem as the update
 only occurs after a reboot and makes no use of the FPGA manager
 framework.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZYQwXQAKCRB4tDGHoIJi
 0lieAQC6en0Y0TRDRF18NX0SqnmrxMaiwJxV0tGp+WGgykpmEwEA9vZliqRRG+zJ
 ZTMkk+zHVTtYgIXt2WFelDLKj5abHAE=
 =4VMq
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWFcWgACgkQYKtH/8kJ
 UifdChAAjnUWNXC7jCfVqj5ALE/dGz8vPpXnY8FpNr90hZpbgAldMOvIkIGD1MlC
 eAglMXDDYnvuM5WUa6Pui/EHSSTbG4J8R6w36EUmG9mjzyCSsZ8fx4/hss6UI/hB
 pAHhpR3Er9v8eIg2Td0LE/hN+vVwJJiOgGkQgEYcr9ipmGDv+tXjUqDbtA7z933S
 lQO2zYZKcDA+WqfUnCKmN79MsZ/qo5Ve+VrJNyBhhQD1whRG/G0cFHvzA4oa2n5q
 UJ6KAAjLDDdG0zWd/Ig+KIXusDHHFyv65jaPMb0e9VLcMHhBl4uPZigVC64Q/SUA
 jrRT82PN2QA4hcDFwTmQ1xVzjXfsRfTCUvCVleYm/nU5tE7HAkIfwTDVTn3i7usd
 enoQmk08EDI6sM8fqq+vm0JuX8Lu/XzInQtegZswi4S8qR3dwwAxIVwabHc7CVse
 S2YIW+tWGaID2G1bFhHs5LnhqvlPsQD64o5Dft2orLkPGx0Rp7e2hfiBB3ghuloM
 Kk9lxtUa+Hw/gpQMuuk/X3jaBFQXEBa62P2vqqUicUH/Hj5y80MHbxtH/uQKrSVY
 FxnJY+D0PZ2ggnDXAkDv6+GGIO9WXVQ+KTGKoQHYJ6tCLUWN+1JiK61WyQ9ewdC1
 jE2Tig88hGRdEmTCAKZjUmLVuoNqnU7knKHaslg7+2lSAj1jpCE=
 =yAyj
 -----END PGP SIGNATURE-----

Merge tag 'riscv-soc-drivers-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/drivers

RISC-V SoC drivers for v6.8

There's only one set of changes here, the addition of "Auto Update"
support for PolarFire SoC. Auto Update is one of the ways that the FPGA
bitstream can be updated, and the only one suitable for use from Linux
as it does not immediately initiate a reboot when started.
The driver was not accepted in the FPGA manager subsystem as the update
only occurs after a reboot and makes no use of the FPGA manager
framework.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-soc-drivers-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  MAINTAINERS: add auto-update driver to mpfs entry
  firmware: microchip: Replace of_device.h with explicit include
  firmware: microchip: add PolarFire SoC Auto Update support
  soc: microchip: mpfs: add auto-update subdev to system controller
  soc: microchip: mpfs: print service status in warning message
  soc: microchip: mpfs: enable access to the system controller's flash
  dt-bindings: soc: microchip: add a property for system controller flash
  firmware_loader: Expand Firmware upload error codes with firmware invalid error

Link: https://lore.kernel.org/r/20231221-droop-unblock-81e4fe14acee@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-22 11:22:16 +00:00
Arnd Bergmann
ec5b7be617 Samsung SoC driver changes for v6.8
1. Add support for Google GS101 SoC to different drivers: clock
    controller, serial and watchdog.
 
    The clock driver changes depend on few bindings headers, which I put
    in a topic branch with the bindings refactoring and GS101 support,
    therefore this this pull request includes that bindings topic branch.
 
    The rest of the bindings topic branch is not necessary here, however
    keeping everything together makes it easier to share between
    branches.  The bindings topic branch is mostly refactoring all the
    compatibles to add SoC-specific compatible followed by fallback.
 
 2. Exynos ChipID: recognize ExynosAutov920.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmWCp0MQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD13d5D/9jRfyTX36FvmGsRaHZieXFT2TzhLKtnpsP
 7xdP34HLWjY5ig4Gd4gWwaS3skLxlMa1Ilc8177vHaDSbWGnqFmWJgO600Yr66BR
 zBc0RKiujMTpBIEseOAltzAkKfp2TJ4LGFEokqB/LAU1SqE7tiPR9PzeKMi0yqLg
 7bio5yRSSp0PpoX60vYHR5whcJV6uJUMC8IGdT9arslW/9UNndi+KtFcbdxqiuWS
 VOXHHpPjcedY1TliaeHxKVUhQe+J1Vsfr5QCYYgkJY5KuH4cGx9DVPdAJ6zSn6Ti
 qBMu4x6xKI+317i2bY6vFy2+kzAQCsYG0L3RV94zrWlkuDx04CHbsHKkchhQbfOV
 23Kge0qcIgO09r+EEj2MyUtXfYAJl4RDVGMOALdGAn2Kd4iSprfAJ9icxcmrOufe
 0x4RWjoo9xlLG5cszgSbqOE55o8GfDS6XZOI0X+aBURpj9wg8EEJpUiSVz9JBR4M
 smsBU/nLGenhuPx62L30YZZRc081Ut59Gpd3u4/VQjHgsvVowsgEai7D/a4cNBr5
 aYpKBQE4qJyqFLOCvIVnhIaEKOvDAMqLi3+nh9b6Fn5cIkZxAIgObaXy8fmcmYJu
 VmVNGwLyYoDVEBvPIBLL4asRC6l7xmqiO8uDhvF+wFVKtJyGv0eD7fAgEvIh/M6x
 UokSkwMH+A==
 =65h3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWFcLgACgkQYKtH/8kJ
 Uid6RQ/6A+RY+lxqaPAs8g4q/yDWvJpuAgeGEFhO9ZYtCZx1NCPKuQQ77KHmZP0Q
 +p95CNmuyPYWEPdr0c+qS6Mvd6UlotarXl0T+TyH7DjQwnNf42sjHvB0bS3/llck
 SZn0azWo1ms2G1SdvGY9A/l8Efj5NzdYLx8IomlDtorxaAibXZk62i0+RxJVpni5
 0e6C4f/tUee8INk6teNg74aUmZNesHthj8lmuVO8pJoExwBG4HLxBaDi/gDFqhn1
 qnILr3a3J2I7y2xYD9TllbfYaZl4bufmiWyQpD2Mis92us6BiSGjJ2HuBfQf10IC
 0ywd1mjPxQxYBN3Lvpg2htW5+6U31V7cLXneLeH75uE+G4uQkd5asegKPIx1E15m
 eHn0psifzNejRy0e9E/136Gh4PY0xBXD5YpS0xdVq+8Dd9gjiawq0Sg4/C3TOqV6
 Fc2eArnesXqWs8AqWaY948MZyqnEAR2FFJtpAaRBs3vw8zkW8NnlXesBoC7f0sO3
 maLNA7druharcCSF1PPOPOMMgqtXNxXuczgD5NqLr2BB/Jp+Y63y/Yh6iaeBmDWQ
 ocs9PDFvITknXDYYDHzBYjUd3q7kR35XHNHMNb0U1/de9q9mNR5AuPmLj9xEjqpC
 VGtBl+aZ37PCV1TTF+GhqPs0b461mTMRgP6ypDbG3SxOnokio5w=
 =UEZb
 -----END PGP SIGNATURE-----

Merge tag 'samsung-drivers-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/drivers

Samsung SoC driver changes for v6.8

1. Add support for Google GS101 SoC to different drivers: clock
   controller, serial and watchdog.

   The clock driver changes depend on few bindings headers, which I put
   in a topic branch with the bindings refactoring and GS101 support,
   therefore this this pull request includes that bindings topic branch.

   The rest of the bindings topic branch is not necessary here, however
   keeping everything together makes it easier to share between
   branches.  The bindings topic branch is mostly refactoring all the
   compatibles to add SoC-specific compatible followed by fallback.

2. Exynos ChipID: recognize ExynosAutov920.

* tag 'samsung-drivers-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (40 commits)
  dt-bindings: clock: google,gs101: rename CMU_TOP gate defines
  watchdog: s3c2410_wdt: Add support for Google gs101 SoC
  watchdog: s3c2410_wdt: Update QUIRK macros to use BIT macro
  watchdog: s3c2410_wdt: Add support for WTCON register DBGACK_MASK bit
  tty: serial: samsung: Add gs101 compatible and common fifoszdt_serial_drv_data
  clk: samsung: clk-gs101: Add cmu_top, cmu_misc and cmu_apm support
  clk: samsung: clk-pll: Add support for pll_{0516,0517,518}
  dt-bindings: clock: google,gs101: fix incorrect numbering and DGB suffix
  dt-bindings: soc: samsung: usi: add google,gs101-usi compatible
  dt-bindings: serial: samsung: Make samsung,uart-fifosize a required property
  dt-bindings: serial: samsung: Add google-gs101-uart compatible
  dt-bindings: watchdog: Document Google gs101 watchdog bindings
  dt-bindings: samsung: exynos-sysreg: combine exynosautov920 with other enum
  dt-bindings: soc: google: exynos-sysreg: add dedicated SYSREG compatibles to GS101
  dt-bindings: clock: Add Google gs101 clock management unit bindings
  dt-bindings: soc: samsung: exynos-pmu: Add gs101 compatible
  dt-bindings: watchdog: samsung: add specific compatible for Tesla FSD
  dt-bindings: samsung: exynos-pmu: add specific compatible for Tesla FSD
  dt-bindings: serial: samsung: add specific compatible for Tesla FSD
  dt-bindings: pwm: samsung: add specific compatible for Tesla FSD
  ...

Link: https://lore.kernel.org/r/20231220084722.22149-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-22 11:19:20 +00:00
Arnd Bergmann
8eb0b1ed65 Qualcomm driver updates for v6.8
Support for SM8650 and X1E is added to the LLCC driver, the
 LLCC_TRP_ATTR2_CFGn register stride is corrected, and a bug where for
 each iteration looping over slices previous settings for dis_cap_alloc
 and retain_on_pc are overwritten.
 
 A quirk is introduced in UCSI, for implementations that does not handle
 UCSI_GET_PDOS for non-PD partners. With this, USCI support is enabled by
 default in pmic_glink. It is later reverted for SC8280XP due reported
 errors.
 
 A few memory leaks in error paths of qseecom are taken care of.
 
 A small driver to expose the ADSP PDCharger ULOG debug log is
 introduced, to aid debugging issues with pmic_glink.
 
 The identiy of SM8650, PM8937 and a few DSPs are added to the Qualcomm
 socinfo driver.
 
 The Qualcomm sleep stats driver is extended to allow getting detailed
 statistics about usage of various DDR states. Unfortunately this ABI
 does not seem to be stable across platforms, so this addition is dropped
 again while the reported problems are investigated further.
 
 Andy is moved from MAINTAINERS to CREDITS. Thank you, Andy.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmWBGFwVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FXh8QAJm4g1qmMkkcclQ2GGwa8nbimTHW
 tHvbFmTmpJ3z2Rkl+Dg/+b0D1HavsBwiaQ/VbkBnOjp8AqYX9rYyMSLSdLfPqO53
 n4SjutYGdIfgxCUlduNLLT1/AjEV+MrSqv1356jjKLAwiFTy3Z14MEE4n82zq3ih
 He5yvRIOrXJpOpM8XOsxp0b73CT9XAbZVbMncO8qpbZ1hZQbU0h4J0qBNaiWNyaw
 /AXXNiAHoqsarH45opgYzifrAkGvZFd+EDvvPwaSao57cQWC8Ql3vLxZQa0K3g6u
 V1nY0ZAiD0oCPKD0Y+/ISnW2IxbXeArvDWI6NTyxfQcbEzxsyW1vtKLdQ5ARKelr
 RFZfgCTXxvs2xfYkZ7X5xJRWGWwWUYpM5MDD3yRih6HfLk8XqYw8g9/Kw59Asxq/
 ryyfszAYlnUnkwjEUiCYZujOURCTyabOl00tRkSGVz0D/qHy4KF2KffUpk3K2IjC
 NodUamKFqR8s9SmNf5Nlr+IPft7OZmP2f1dR0+Z3wA833mLrFYCCvw3voCKzLgs0
 C13CIDxwyitN3hJNg2RHYNrHfRhPVnPGSZowbAUNZTtbGm/43s22TZQiHpmCEsOA
 96LyHfXv/aoUIrTsdD8n+SiiSCD84etluGwUdwTrmeKqwKt2q8Rgmm61DPfGo6qY
 CkW/5AsEfkysjWrT
 =ijVE
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWFcDQACgkQYKtH/8kJ
 Uic19xAAvTQ88D5t5h6Nf58NuHbYWql5Tb8Y/CIRN21WBP1xWBL7ApMs4PQE5nIN
 LvgzQXrPDmw08KZw3BboBqlXnLzH6sWBLqwO6FmCuu88lJAtd1//JduUPhbUJLnS
 cBegXZEJeM5oE/iHd4GzkNVcHU/8ubqr2AWW0kHsfp11WvZg53t9YxAmHH9VN9gn
 auETDqNgKDeBrSSkhjJ5zGJ2P8NNBJbfKe8IC+H1w6sNuogfyrzX9zSZIMmK3x3K
 G8fHp0+yPVb9UXMcPbgeRjD7FqkU8Mk4LTqO5Fr6Ava+okghsIYu3VBgUb7vZvSN
 uTIttcoCe4Djsas7ytyVGO1SiqyxjNVhrqo2XtMNJlgBiBcAtfxwSbbrl30QASqE
 cLFXM6bTBnKZxlDSlTO6RRLil3JDvczEvO0YjZyIgjeXMBzrTov6xaMgsMw0oj29
 cGdhKG79dQKNICveVXRzjs1UJWwOvuhmA7dlwgEBMzU+kIneff5n0auJ2xubkIB3
 /d45QpWh4XjaKD4227DBN2qOBHiXbR9AkKRc7Mmr9O+UON3+cGXc0/yE02MLhqsP
 PHmPS8qg1wGw8RgFLcGuqBIuPEvHjmzQFDZQkoMMmSdI8LDyxyRDut0gdKqSVctx
 14jENakNNMIz6wB9v2vp8UZYHr6O6Oul9UQNk6d4g5Kgl7Gv1jg=
 =Dr5+
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-for-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers

Qualcomm driver updates for v6.8

Support for SM8650 and X1E is added to the LLCC driver, the
LLCC_TRP_ATTR2_CFGn register stride is corrected, and a bug where for
each iteration looping over slices previous settings for dis_cap_alloc
and retain_on_pc are overwritten.

A quirk is introduced in UCSI, for implementations that does not handle
UCSI_GET_PDOS for non-PD partners. With this, USCI support is enabled by
default in pmic_glink. It is later reverted for SC8280XP due reported
errors.

A few memory leaks in error paths of qseecom are taken care of.

A small driver to expose the ADSP PDCharger ULOG debug log is
introduced, to aid debugging issues with pmic_glink.

The identiy of SM8650, PM8937 and a few DSPs are added to the Qualcomm
socinfo driver.

The Qualcomm sleep stats driver is extended to allow getting detailed
statistics about usage of various DDR states. Unfortunately this ABI
does not seem to be stable across platforms, so this addition is dropped
again while the reported problems are investigated further.

Andy is moved from MAINTAINERS to CREDITS. Thank you, Andy.

* tag 'qcom-drivers-for-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (34 commits)
  soc: qcom: llcc: Fix LLCC_TRP_ATTR2_CFGn offset
  firmware: qcom: qseecom: fix memory leaks in error paths
  soc: qcom: llcc: Fix typo in kernel-doc
  dt-bindings: soc: qcom,aoss-qmp: document the X1E80100 Always-On Subsystem side channel
  MAINTAINERS: qcom: move Andy Gross to credits
  soc: qcom: pmic_glink: drop stray semicolons
  soc: qcom: pmic_glink: disable UCSI on sc8280xp
  soc: qcom: llcc: Fix dis_cap_alloc and retain_on_pc configuration
  soc: qcom: pmic_pdcharger_ulog: Fix hypothetical ulog request message endianess
  soc: qcom: pmic_pdcharger_ulog: Move TRACE_SYSTEM out of #if protection
  soc: qcom: pmic_pdcharger_ulog: Search current directory for headers
  soc: qcom: socinfo: Add few DSPs to get their image details
  soc: qcom: llcc: Add missing description for members in slice config
  Revert "soc: qcom: stats: Add DDR sleep stats"
  dt-bindings: firmware: qcom,scm: Allow interconnect for everyone
  dt-bindings: firmware: qcom,scm: document SCM on X1E80100 SoCs
  soc: qcom: socinfo: Add PM8937 Power IC
  soc: qcom: llcc: Add configuration data for X1E80100
  dt-bindings: cache: qcom,llcc: Add X1E80100 compatible
  soc: qcom: pmic_glink_altmode: fix port sanity check
  ...

Link: https://lore.kernel.org/r/20231219041855.732578-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-22 11:17:08 +00:00
Arnd Bergmann
1b31719291 TI SoC driver updates for v6.8
- ti_sci: Minor fixup for off by one error in debugfs_create
 - k3-socinfo: Refactoring and add j721e detection, j722s
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmWAXdUACgkQ3bWEnRc2
 JJ193BAAqjPOiorEELXiBZt1ViN+WGveImwdp0UIS7kkTZtBeGCGv57QlpJy2mYP
 CnjYaT/zXuEzWV4lJBYKtLAkG5Mo6dOTZO8P2SiqiFJRXyXyy1XCrab0S0W2noDc
 YxUGuqk+HbRBXR96/jYP+STzl2BZvVlUyrH9JOYZxnmrMMSFwzWvZC4Kec2PyQif
 6SrD4MBDWnnwwbHJdTOEtqwElsCzUga+jaaHFprn9e0BfQ4/SRhkfqv9axILeaIZ
 BVr06uXt2VyyBAPfslbODPLqr2bOAbLo2IzpRaW04d1ytcFzKunElNtN5l6tzfmv
 S3YcrNJ13tessi432BQfy4Rco3vXg6v/pZ8B6qgXM3zCol1L01LVWqNbZ2Oz+mV0
 Ipq0mcGrkGJC4v5d0E8qmM/Wo/+9k17mIX1ju8Htmixkbh0mWl6b3zzkDFoficuO
 ThNm21HHNaIL1coBJrFVf3pPwfSdvEwEoCR5xkwH6WoU1aUtJ4LsO7WWbGJz9KGy
 vamXPmWe1iO12aqtsLWx8m7G30EvLCvc2T+uaYn/jU8t4Fh9lPOfF4ySC0mXK6w3
 rwqmqPxkwpBXU7gz6/gSfj5YUbXIlSLLoSmVoYhzfQr0cKOns1af03hcbAhJ2p8D
 v+3OdjAurr0xYBlDvPrlM5MPJZuN1EnMNpeanse+dlMGeDqd3QQ=
 =HGxa
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWFb/sACgkQYKtH/8kJ
 UieuDw//VI8zWs16/aO2S7vKoURXeS1vQJKD09WhJa2YExHEtlguyi+SbxP/aavK
 TcSHXV4CrZ54GsLCOkY3hSnx+HoOboveZ/STIArLV+k9oQFQOSRXjroChJY62OIM
 2RX8r4llSe9r0xCVHDAqHiCMOxYohG9a701gIlo0d/9L1TOnhTsA1GYie9/69soG
 Ofh7hMd7mh2QUKDbJUzEuY4GNPhzw5gZe2AL0xldKQDpD2pv42hMbWi/HgOcpkby
 bGjCd1PnZ3KdtY6JXgx2WX0ZxD+0T9l6oqbEcyJox3lFVgcaa/FC8gO+MkeDLdTK
 UdYixuR56nlOsPeYwDmXfqGuOmF5kt27ZAjYdrsRdmURGXNpQ/n/1LKA9pzzv0nZ
 EVIBst0J2f4a1Okb65j45hjTFlc6rLN27jsF7euFUZ9eNwodIKdZwAaRz+q/bXi3
 77Fct1+gTPWozUU2xs0mLziYkRt18oQS+sYzXNYUj1fv/GulgLsPhgcn5dkBr5Gk
 nxR8yLcTS6FQVAohNk+GeVG7qeXCdi6AaG/APGFgUwMsf+2xO6nPDV3ndv0RA7hm
 UFPR6WmTKWRJE3M+cLee5o9GWvBZ8lDJpv4KZUcZtEJl6Tm9Rl1xrRcoawn1oIB4
 Um3rbzuuxMNlAfX4oh2/vkr2KMyT7lF/hea7fdNT9u5BVA2yb6w=
 =wpWw
 -----END PGP SIGNATURE-----

Merge tag 'ti-driver-soc-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/drivers

TI SoC driver updates for v6.8

- ti_sci: Minor fixup for off by one error in debugfs_create
- k3-socinfo: Refactoring and add j721e detection, j722s

* tag 'ti-driver-soc-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: k3-socinfo: Add JTAG ID for J722S
  soc: ti: k3-socinfo: Revamp driver to accommodate different rev structs
  firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create()

Link: https://lore.kernel.org/r/20231218153043.r5psxbjjpccusjg4@september
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-22 11:16:11 +00:00
Arnd Bergmann
c55a4983e9 arm64: ZynqMP SoC changes for 6.8
power driver:
 - Move to remove_new hook
 - Report error around unsupported callback
 - Fix long messages
 
 event driver:
 - Fix cpu_id handling
 - Fix warning message
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCZXxdiQAKCRDKSWXLKUoM
 If3IAJ9g+Mq50jHn8WspHcjm0/YGwwRxXwCfVJG83UPA/8Er26wRzSi54iPDfZw=
 =ZPj5
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWFb9EACgkQYKtH/8kJ
 UicYBhAA1UDp5t3lmvNwHrxKn0pQY/Wbtp5k1A51cnRqujfON1YCCOEbKWABim4w
 uHK7x85l1KZ+Jmfvj9n5IP71de5JnuekEfwI3jjtmRX5uJip/4j7pQLht8hphk1z
 xvj8IdiJVr2nMnRTZgwnsfjsI828emazldaujkXjD4xk22XTPpfgrcT16ajY5Mu3
 BcOMD5pzS9zq/jkGlOFJR6Aa2s4/vDfq11F2JFcqWC7W9t64dfgCUykB7Y8IF3EC
 df+R4lL5nLzOha2L1fGxqIhlar4sNzE9+vkH2D9aig+bPxBNsY+pSMItpcdqeB+4
 njbHeViZ5lsgeT6hVRdGCbHeY6RE3ajzFK1Cfd94ijBvn4y0FlyRqAO3a/ZHGPi9
 oKdIMRrIYPqOAveChBncXxbh2wQ9OKqiB4lK7l9zCqlfDWW6rAIk2djLe3CiG/xy
 Xh+g8xMslh5SdmVRkjOOKwhnPUMTi7qsJnMmrVphLgR8fCiKq4dU825/0xqYIQzq
 2KY5F9PCVLPT3h1UQUi9dZq+nhXMSii8Cc/7XDACmENZWpUb3D1xV/alLEiwx48/
 oC1oMMI0asfA48nW416+Nyvz1r3Lwr+afhXX60jhlSUSmltNH8Bk8b3Rh/UuV2Id
 DqUpKin6Zff3tvbw3ViOppVDj1HlCzycqEEdMp4XPtAR8DVYBFg=
 =Jhef
 -----END PGP SIGNATURE-----

Merge tag 'zynqmp-soc-for-6.8' of https://github.com/Xilinx/linux-xlnx into soc/drivers

arm64: ZynqMP SoC changes for 6.8

power driver:
- Move to remove_new hook
- Report error around unsupported callback
- Fix long messages

event driver:
- Fix cpu_id handling
- Fix warning message

* tag 'zynqmp-soc-for-6.8' of https://github.com/Xilinx/linux-xlnx:
  soc: xilinx: Add error message for invalid payload received from IPI callback.
  soc: xilinx: fix unhandled SGI warning message
  soc: xilinx: fix quoted string split across lines
  soc: xilinx: Fix for call trace due to the usage of smp_processor_id()
  soc/xilinx: zynqmp_power: Convert to platform remove callback returning void

Link: https://lore.kernel.org/r/CAHTX3dJ=6y=vEgmH7Qqe=6TJZT=D-egKDmLLER4fS0=OHJRGZA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-22 11:15:29 +00:00
Arnd Bergmann
827601c40c Renesas driver updates for v6.8
- Remove duplicate setup of soc_device_attribute.family,
   - Make RZ/Five depend on !DMA_DIRECT_REMAP.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZXwvsAAKCRCKwlD9ZEnx
 cDWuAQDWRMDKoc+WT/uZCp4tJyLjrdUUZOO3xLlJFtDdtC3cqAEAlrDOngrz/iAP
 MY/j11sNrSxOQokMSlLPBvS1HBWEZA0=
 =2VDI
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWFb4gACgkQYKtH/8kJ
 UiekGw//a8XxwykqqXUnqr2bLg/b7ZPf+LZrdED+/TRGkxItIDIjXkcAB/Utk/QO
 35b8WkwbAzQkGI1F8YIwX+V8pUSgNOuELTD5jPJqQeNxHkowdOVYjgApLLaP3Z5C
 LxDrnKGLgwfVvF+vgHpjB3PHAyuf+YFIz5Bu8I1Jug3vMyuqdIt4AlyWqpBWnx1O
 mWu20+5fIgBqUf/njPqJaFyQQh6ht2h1iJax8m3K4nm363cEDViwOmIH6d8FOi61
 TgxbilMEL1cWnOFH463VJqTWUt27ypZ6I4eVI0lgv+Rn2lEgfHXwoSGTbhsVFAGj
 jUgh+rwoxXuCdwE7tNJROWt1uji5NgsLDMO1B+XXcH0IL32cR0FEWkkDfXXUBnhH
 HJY/uwdBNIOk2By9BRbqvgakodgj/Y8eWXKqfCPA8qlWyhNEmBUr8UHqUwadXDW8
 hokPUfBhWcwvvfuXtug3nplOBsBGB4aXKgTGPdL67/bqeI35JqcyFUuc7m4J/NBF
 cfl0MVxF0Hi1J8kZTznyfI2UmDbWqlJ9nFHzq3afqs462s0JbUB3vVySqYEX+L7N
 LeA8aFJucgElT+1159wTYHFPXPBrs0Wk57LT9Y2xw5glBAKKHkypT/mif88V7woK
 hjjuOk00FeL4D/XccUjzS8FQPAHywUisfNjVhFqL73rkH0YTGeY=
 =ZiXg
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v6.8-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers

Renesas driver updates for v6.8

  - Remove duplicate setup of soc_device_attribute.family,
  - Make RZ/Five depend on !DMA_DIRECT_REMAP.

* tag 'renesas-drivers-for-v6.8-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Make RZ/Five depend on !DMA_DIRECT_REMAP
  soc: renesas: Remove duplicate setup of soc_device_attribute.family

Link: https://lore.kernel.org/r/cover.1702642340.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-22 11:14:16 +00:00
Arnd Bergmann
e92c0b8b15 MediaTek soc driver updates for v6.8
This adds a refactoring of the MediaTek Smart Voltage Scaling (SVS)
 driver and the addition of support for MT8186 and MT8195 in it, and
 adds support for the MT8188 VDOSYS and resets in the MMSYS driver.
 -----BEGIN PGP SIGNATURE-----
 
 iJ4EABYKAEYWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCZXhDfCgcYW5nZWxvZ2lv
 YWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tAAoJEJo2BM+tl4R4OrMA/1mb
 WUMKzPfmPNQ6aARR1laOJYPC3RaXPJMnt5OloSD7AQDkQV2XqqleSvKrhl6JcoYa
 3UfhW/oGLx+dPQ+2+pKsDw==
 =rGbq
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWFbzcACgkQYKtH/8kJ
 Uie7hg//ZrPvNdvSNbqJLEuteK/U72HnJpPE5vfNif+JMVYc7qxRX/JPy+M1n2aA
 xcmWrlTo6SiR4ML9Fh7EFCMzPYDNweIaVOQTxSGhLkrLEgj7kZtSkB+hvpdkqnxB
 GbFEZW/g68S/z0nTI80iBxTr0p0v8AlADWEUYtBkyZ2JIex6cw3GsQ7WZiBRRCgj
 Y89BOT+/ct3cg8CLzQ45ooEDSk8alh/Bd4lj1i+utomyA6M+GckVHKcUsLt5Mg+T
 JwLf70g6Wb/HyX6Hsgq8obbRXdk7oGVqaCzbRwpYU++DPiFuG0YGJ9FZLBOdm9E9
 Hb0vLLGmQhQvmxbOqzvQj2HozQQvEARRzhWO/2QeARDfNVnBRPsMfTM4G48B9tz6
 Lz+3qn/j5034YEDfai5eSNWRYinP4/fPwK49L5mkVuHEomz7KrP9t8AdHHCxxgfd
 7GPMntCRPFDQxKBYKk59wCmPYttteNmevtiorn/KJejdwDWmiO3X/x1Vl+KkxY3F
 VnPXjlrtcFqiVBrlyggviCGaEfSOzzgLRiNSHNDrHHFwQZJ2SHLuWxtPasY4MiZ9
 TZz741J7UncrtTDT9HEPq3BJTg1n/inJ01JdHjLD1QtmEpMBL6bn8WzlwCOafr3Q
 9K0NmdMXZNvVlkesHadP9zep19tb8WpAfRiqYVOWiMQElqF/rg4=
 =Q6Fw
 -----END PGP SIGNATURE-----

Merge tag 'mtk-soc-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/drivers

MediaTek soc driver updates for v6.8

This adds a refactoring of the MediaTek Smart Voltage Scaling (SVS)
driver and the addition of support for MT8186 and MT8195 in it, and
adds support for the MT8188 VDOSYS and resets in the MMSYS driver.

* tag 'mtk-soc-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (24 commits)
  soc: mediatek: mtk-svs: Constify runtime-immutable members of svs_bank
  soc: mediatek: mtk-svs: Use ULONG_MAX to compare floor frequency
  soc: mediatek: mtk-svs: Check if SVS mode is available in the beginning
  soc: mediatek: mtk-svs: Cleanup of svs_probe() function
  soc: mediatek: mtk-svs: Compress of_device_id entries
  soc: mediatek: mtk-svs: Remove redundant print in svs_get_efuse_data
  soc: mediatek: mtk-svs: Commonize MT8192 probe function for MT8186
  soc: mediatek: mtk-svs: Drop supplementary svs per-bank pointer
  soc: mediatek: mtk-svs: Commonize efuse parse function for most SoCs
  soc: mediatek: mtk-svs: Move t-calibration-data retrieval to svs_probe()
  soc: mediatek: mtk-svs: Add SVS-Thermal coefficient to SoC platform data
  soc: mediatek: mtk-svs: Add a map to retrieve fused values
  soc: mediatek: mtk-svs: Change the thermal sensor device name
  soc: mediatek: mtk-svs: Reduce memory footprint of struct svs_bank
  soc: mediatek: mtk-svs: Build bank name string dynamically
  soc: mediatek: mtk-svs: Convert sw_id and type to enumerations
  soc: mediatek: mtk-svs: Subtract offset from regs_v2 to avoid conflict
  soc: mediatek: Add MT8188 VDOSYS reset bit map
  soc: mediatek: Support reset bit mapping in mmsys driver
  soc: mediatek: Support MT8188 VDOSYS1 Padding in mtk-mmsys
  ...

Link: https://lore.kernel.org/r/20231212114515.121695-2-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-22 11:12:55 +00:00
Arnd Bergmann
125b02edde PowerQUICC QMC and TSA drivers updates for v6.8
This pull request contains updates to prepare the support for the QMC
 HDLC driver.
         - Perform some fixes
         - Add support for child devices
         - Add QMC dynamic timeslot support
 
 Signed-off-by: Herve Codina <herve.codina@bootlin.com>
 -----BEGIN PGP SIGNATURE-----
 
 iQFNBAABCAA3FiEEBHbCIl6+iJcbAxNBaqTG8aY4pMAFAmV4KCYZHGhlcnZlLmNv
 ZGluYUBib290bGluLmNvbQAKCRBqpMbxpjikwAYOCAC9kUX8FFiWc0YzpY+ddv72
 8xYAiCiKKZvS0PyDlQB+KF/iKMhdTKNAzBgTA4eNTNIwsOlk0xHNMULeFQqtia2+
 dwuIDqWTitdkaz/JY+0+lsFQR6qzhaxbTErQWur++c53ojARc8HAJhW3d+xMfMuO
 qreq2KFkXbrhf87PvSvMkYquxO97Gen06mQHO7PCMnV6LXYAc8yViFHrQrOHUpXe
 a8vrMkPTWccgFSC4DyE8xiVVhTS5X4EjS9qQKOCbMdSe2h16yKmvPqnzR8HWh3HF
 daKnGbB85h1P3QODU/m+FDg0oZ6Pa1EJ5jvvTxn/S54rMbWr2LLAiWM9PthAu9t0
 =RSbU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWFaaEACgkQYKtH/8kJ
 UieyARAA4znDL0VVNHbSCiPgxnXQ7ALFh4RSDiHxhBk588PR2bG84WktWGET+QJZ
 Wbu7cC8dkyHT8MZpwOQOmmXKTH99CcTnJtbcmZUciKyoa7bj2SQNPqkXDRzAMUrU
 8USBT8+taVq1J4cuG7bwKNq9QrKyQrNR5rxPnhlmXxLq/Xo/BnxfKR6WORkD2zJ/
 diHjdi6PoKcYLElwhQOJtqMRjRT39CCOKoSEbznX5nhm/xkXYSHuz1WfT3XeumGO
 RF1wytXxvSOQeeBGbD4eJCZAWj5Pab71/ni6Nve8B4lMM9vowdg4MxYhr/73BPof
 tqy1XEhGM6KyKyp6eBxxyvZz1dIXySyCbXi7i+XOGbqXRii4WJWhlj5FP0SeCCOn
 Pgxru+QCGqnArC6Qi9+bre9ZaRl+Hl5HXPobjN44zZoI7Iz1RL9JxoSHidUAen8S
 ps7oKPFXXzNbetdJZyWMA3MYkrQaIdol3qTw/adfSoDycIWqJ/Wt1qt6PST3WQkY
 ZrHeHK8ksAArhUM4oehRY7iup4nhGS/ZvU3OMuZ3KdZ8fMVM7PooGUxD1TQ0yuea
 g0pTHEszl1c2gu3pkAKegO0g9CDfUDcElIxrIWk/OrELnH11cZG9nfHcpKMDgVtD
 5n07Umcnd82XF+3WHgp2Ff38UmwALZVL5VQfY7fOfcgdg3rSLgQ=
 =4c7C
 -----END PGP SIGNATURE-----

Merge tag 'fsl_qmc_tsa_v6.8' of https://github.com//hcodina/linux into soc/drivers

PowerQUICC QMC and TSA drivers updates for v6.8

This pull request contains updates to prepare the support for the QMC
HDLC driver.
        - Perform some fixes
        - Add support for child devices
        - Add QMC dynamic timeslot support

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-22 10:49:04 +00:00
Arnd Bergmann
60cc77704e HiSilicon driver updates for v6.8
- Add support for the platform with PCC type3 and interrupt ack
 - Few cleanups and improvements: correct the format of some strings and domain typo,
 add failure log
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEQeMYD8qOQTc1R/snC8hXbtmJZlwFAmVxdIEVHHh1d2VpNUBo
 aXNpbGljb24uY29tAAoJEAvIV27ZiWZczqoQALBHanmpdkiXcI6ylgaJ6F88Lq7P
 p8mGYQojwWBU7X68bQax98CN8dHYD/v2xA1+3cCZrtW5+ZoasTlmF3WS8H8CrauQ
 8Kz5Tgvltd1dLRmEX7/vtWoktnMbDZ6CotC4GDsOicyC0l8R03z01CLZHXbqK0Hl
 d98n5h+GeoUiryzgzRfomqrpCDj7+zeOhSCcQxnLi7U9WGSjJk7hPciVqZ/dTeG8
 ++gieImv0CVEhi9PIl4el2468YuMtoP0HNItLmlsOdtH84Vs7SwUNhg89O3pPHVH
 uQX7IfJHovRR1iK1PscX8h8ZQGIIcrxTq57S7mknJonOQYgwCoaEIBSWORpoQo5H
 QddRZ4bv5XXUYl4cOum+eCj2ZUB58eawqL1q+t5d7Nf0awiZver8lrdgSPA51n5j
 Iu/V0oU6il3us+ZXSO9RA5Zzlu6sblB1G+/NKragQnjtn0CcIQAb/gf0AXhg04ug
 /JCZv19UEKBQ6yLS+1qtMQmLm7G5NqzbhPVhX0YtX/WySYn47f0AEvKeZFGnckia
 Yn/bcdJ6PJqSxU0lFLrluBESb35NCXpzQDkfxbjAyfIlhDyp/0JStED/TTtd3c8Q
 eBVo1aDb+CNjvl+17xZ6udD5j/0Y+kf2z8h9+x0tvmHOuz/4zFY7/0jip34u/v/1
 M+bxo3wE3Z/91QXc
 =hJz1
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWFZ+AACgkQYKtH/8kJ
 UicjMhAAqNSLRbXjQ1z9b0IpZYrQ5+VBUgoSLKYSA7u0ae20sh7B1fdW7xlejDK+
 lrwg1/EICLxSPbJU1oLC8ExuIWpCcgQB//4Bjd24sVb6NIw9QwktPwcJPt2RX0be
 /nIgImEfbiwRJF+xJRaCeuNf7lauaMZTfj6kShT3OEY5osC4Jq+SM1k3VUQ67jsP
 h1HoOArbx9tHzsunvVtiucyXLS26l53cMjOIUvpTJi3+rbbJ7Tuvwi51sJMbGUAg
 vl0b5Zf+rlhlLOcEX53PkheYeXiFDlACc1FTyeaN8f2t3XFHhzV05TIUcUFbYnGb
 NrQw3eKvnMvZu2wOp4i0E0SJ5gb4inSMVgkDPfqmkXIpX9c3p8rQDxdtOotvOYkD
 aooe38cv4BiwFL2DK2qLGF7yh1jVvZ+P6ASWZ6Ub7SNZhvuOxqno97+2qpMiBrhw
 EGEW26vAgxixXhIsWS8YgGLAUNG3VCdzUQO9SK+jMUJodV4H6XP0CD4phBn9/2wx
 lSO29aA6hi0R52O2lJjq1Y/wqh8/FGoluMWAVsLa2f+o9UeABxeu9T5lblatuwJ/
 FDQo01F/HcDAiJfudKsNEb5xHglCRi4I3xCsLogbVEoIJOT7jaYpZ26h0xIX9lhc
 wVVjjVggfjiPJVkipotNg6zoRbQrz3o+i41GJIyI0NBzXO+AzwI=
 =cjVE
 -----END PGP SIGNATURE-----

Merge tag 'hisi-drivers-for-6.8' of https://github.com/hisilicon/linux-hisi into soc/drivers

HiSilicon driver updates for v6.8

- Add support for the platform with PCC type3 and interrupt ack
- Few cleanups and improvements: correct the format of some strings and domain typo,
add failure log

* tag 'hisi-drivers-for-6.8' of https://github.com/hisilicon/linux-hisi:
  soc: hisilicon: kunpeng_hccs: Support the platform with PCC type3 and interrupt ack
  doc: kunpeng_hccs: Fix incorrect email domain name
  soc: hisilicon: kunpeng_hccs: Remove an unused blank line
  soc: hisilicon: kunpeng_hccs: Add failure log for no _CRS method
  soc: hisilicon: kunpeng_hccs: Fix some incorrect format strings

Link: https://lore.kernel.org/r/6572C41B.6050703@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-22 10:41:36 +00:00
Abel Vesa
110cb8d861 soc: qcom: llcc: Fix LLCC_TRP_ATTR2_CFGn offset
According to documentation, it has increments of 4, not 8.

Fixes: c72ca343f9 ("soc: qcom: llcc: Add v4.1 HW version support")
Reported-by: Unnathi Chalicheemala <quic_uchalich@quicinc.com>
Reviewed-by: Satya Durga Srinivasu Prabhala <quic_satyap@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Link: https://lore.kernel.org/r/20231012160509.184891-1-abel.vesa@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-12-18 21:29:23 -06:00
Ghanshyam Agrawal
ff5fed86be soc: qcom: llcc: Fix typo in kernel-doc
Fixed spelling of "descriptor".

Signed-off-by: Ghanshyam Agrawal <ghanshyam1898@gmail.com>
Link: https://lore.kernel.org/r/20231215070707.560350-1-ghanshyam1898@gmail.com
[bjorn: Rewrote commit message]
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-12-17 11:14:16 -06:00
Johan Hovold
27117558bb soc: qcom: pmic_glink: drop stray semicolons
Drop stray semicolons after function definitions to avoid having this be
reproduced elsewhere.

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20231208125827.10363-1-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-12-15 23:29:26 -06:00
Johan Hovold
3581cb9154 soc: qcom: pmic_glink: disable UCSI on sc8280xp
Enabling UCSI on sc8280xp and the Lenovo ThinkPad X13s in particular
results in a number of errors and timeouts during boot:

[    9.012421] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-95)
[   14.047379] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: timeout waiting for UCSI sync write response
[   14.050708] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-110)
[   20.192382] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: timeout waiting for UCSI sync write response
[   20.192542] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: GET_CONNECTOR_STATUS failed (-110)

Disable UCSI on sc8280xp until this has been resolved.

Fixes: 4db09e7b96 ("soc: qcom: pmic_glink: enable UCSI by default)
Link: https://lore.kernel.org/r/ZXL5jvDHr-MuxMoz@hovoldconsulting.com
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20231208125730.10323-1-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-12-15 23:29:16 -06:00
Atul Dhudase
eed6e57e9f soc: qcom: llcc: Fix dis_cap_alloc and retain_on_pc configuration
Commit c14e64b469 ("soc: qcom: llcc: Support chipsets that can
 write to llcc") add the support for chipset where capacity based
allocation and retention through power collapse can be programmed
based on content of SCT table mentioned in the llcc driver where
the target like sdm845 where the entire programming related to it
is controlled in firmware. However, the commit introduces a bug
where capacity/retention register get overwritten each time it
gets programmed for each slice and that results in misconfiguration
of the register based on SCT table and that is not expected
behaviour instead it should be read modify write to retain the
configuration of other slices.

This issue is totally caught from code review and programming test
and not through any power/perf numbers so, it is not known what
impact this could make if we don't have this change however,
this feature are for these targets and they should have been
programmed accordingly as per their configuration mentioned in
SCT table like others bits information.

This change brings one difference where it keeps capacity/retention
bits of the slices that are not mentioned in SCT table in unknown
state where as earlier it was initialized to zero.

Fixes: c14e64b469 ("soc: qcom: llcc: Support chipsets that can write to llcc")
Signed-off-by: Atul Dhudase <quic_adhudase@quicinc.com>
Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/1701876771-10695-1-git-send-email-quic_mojha@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-12-15 23:20:08 -06:00
Andrew Halaney
fbfd1f55ad soc: qcom: pmic_pdcharger_ulog: Fix hypothetical ulog request message endianess
Sparse reports the following:

    % ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make C=2 W=1 drivers/soc/qcom/pmic_pdcharger_ulog.o
    ...
      CC      drivers/soc/qcom/pmic_pdcharger_ulog.o
      CHECK   drivers/soc/qcom/pmic_pdcharger_ulog.c
    drivers/soc/qcom/pmic_pdcharger_ulog.c:57:34: warning: incorrect type in initializer (different base types)
    drivers/soc/qcom/pmic_pdcharger_ulog.c:57:34:    expected restricted __le32 [usertype] owner
    drivers/soc/qcom/pmic_pdcharger_ulog.c:57:34:    got int
    drivers/soc/qcom/pmic_pdcharger_ulog.c:58:33: warning: incorrect type in initializer (different base types)
    drivers/soc/qcom/pmic_pdcharger_ulog.c:58:33:    expected restricted __le32 [usertype] type
    drivers/soc/qcom/pmic_pdcharger_ulog.c:58:33:    got int
    drivers/soc/qcom/pmic_pdcharger_ulog.c:59:35: warning: incorrect type in initializer (different base types)
    drivers/soc/qcom/pmic_pdcharger_ulog.c:59:35:    expected restricted __le32 [usertype] opcode
    drivers/soc/qcom/pmic_pdcharger_ulog.c:59:35:    got int

Let's deal with endianness conversion in the rare case this ever runs
on a big-endian machine (and to quiet down sparse for this file).

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202312060355.M0eJtq4X-lkp@intel.com/
Fixes: 086fdb48bc ("soc: qcom: add ADSP PDCharger ULOG driver")
Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20231205-pmicpdcharger-ulog-fixups-v1-3-71c95162cb84@redhat.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-12-15 23:17:27 -06:00
Andrew Halaney
a74ebfcd60 soc: qcom: pmic_pdcharger_ulog: Move TRACE_SYSTEM out of #if protection
As specified in samples/trace_events/trace-events-sample.h:

    * Notice that TRACE_SYSTEM should be defined outside of #if
    * protection, just like TRACE_INCLUDE_FILE.

Fixes: 086fdb48bc ("soc: qcom: add ADSP PDCharger ULOG driver")
Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20231205-pmicpdcharger-ulog-fixups-v1-2-71c95162cb84@redhat.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-12-15 23:17:27 -06:00
Andrew Halaney
4d2b810f44 soc: qcom: pmic_pdcharger_ulog: Search current directory for headers
As specified in samples/trace_events/Makefile:

    If you include a trace header outside of include/trace/events
    then the file that does the #define CREATE_TRACE_POINTS must
    have that tracer file in its main search path. This is because
    define_trace.h will include it, and must be able to find it from
    the include/trace directory.

Without this the following compilation error is seen:

      CC      drivers/soc/qcom/pmic_pdcharger_ulog.o
    In file included from drivers/soc/qcom/pmic_pdcharger_ulog.h:36,
                     from drivers/soc/qcom/pmic_pdcharger_ulog.c:15:
    ./include/trace/define_trace.h:95:42: fatal error: ./pmic_pdcharger_ulog.h: No such file or directory
       95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
          |                                          ^
    compilation terminated.

Fixes: 086fdb48bc ("soc: qcom: add ADSP PDCharger ULOG driver")
Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20231205-pmicpdcharger-ulog-fixups-v1-1-71c95162cb84@redhat.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-12-15 23:17:27 -06:00
Naman Jain
cea0585caf soc: qcom: socinfo: Add few DSPs to get their image details
Add support to get image details from SMEM for DSPs like
DSPS (Sensors DSP), CDSP (Compute DSP), GPDSP (General purpose DSP)
while also supporting this for more than one DSP of certain types.

Signed-off-by: Naman Jain <quic_namajain@quicinc.com>
Link: https://lore.kernel.org/r/20231205101018.6079-1-quic_namajain@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-12-15 23:14:19 -06:00
Abel Vesa
fd4b634f9b soc: qcom: llcc: Add missing description for members in slice config
Fix all warnings thrown due to missing description for some of the
members in llcc_slice_config.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202312050519.mup4Q8mD-lkp@intel.com/
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Link: https://lore.kernel.org/r/20231205-llcc-fix-slice-config-warnings-v1-1-d6331d601dd3@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-12-15 23:14:05 -06:00
Konrad Dybcio
a7dc634351 Revert "soc: qcom: stats: Add DDR sleep stats"
After recent reports ([1], [2]) of older platforms (particularly 8150 and
7180) breaking after DDR sleep stats introduction, revert the following:

Commit 73380e2573 ("soc: qcom: stats: fix 64-bit division")
Commit e84e61bdb9 ("soc: qcom: stats: Add DDR sleep stats")

The feature itself is rather useful for debugging DRAM power management,
however it looks like the shared RPMh stats data structures differ on
previous SoCs.

Revert its addition for now to un-break booting on these earlier SoCs,
while I try to come up with a better way to enable it conditionally.

[1] https://lore.kernel.org/linux-arm-msm/20231209215601.3543895-2-dmitry.baryshkov@linaro.org/
[2] https://lore.kernel.org/linux-arm-msm/CAD=FV=XX4wLg1NNVL15RK4D4tLvuSzZyUv=k_tS4bSb3=7QJzQ@mail.gmail.com/

Reported-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reported-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20231214-topic-undo_ddr_stats-v1-1-1fe32c258e56@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-12-15 22:22:36 -06:00
Conor Dooley
31b2daea07 soc: renesas: Make RZ/Five depend on !DMA_DIRECT_REMAP
Randy reported yet another build issue with randconfigs on rv32:
WARNING: unmet direct dependencies detected for DMA_GLOBAL_POOL
  Depends on [n]: !ARCH_HAS_DMA_SET_UNCACHED [=n] && !DMA_DIRECT_REMAP [=y]
  Selected by [y]:
  - ARCH_R9A07G043 [=y] && SOC_RENESAS [=y] && RISCV [=y] && NONPORTABLE [=y] && RISCV_ALTERNATIVE [=y] && !RISCV_ISA_ZICBOM [=n] && RISCV_SBI [=y]

This happens when DMA_DIRECT_REMAP is selected by the T-Head CMO erratum
option and DMA_GLOBAL_POOL is selected by the Andes CMO erratum. Block
selecting the RZ/Five config option, and by extension DMA_GLOBAL_POOL,
if DMA_DIRECT_REMAP has already been enabled.

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Closes: https://lore.kernel.org/all/24942b4d-d16a-463f-b39a-f9dfcb89d742@infradead.org/
Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20231211-primate-arbitrate-fbcd307a0b00@spud
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2023-12-13 17:23:28 +01:00
Geert Uytterhoeven
a6921e6f41 soc: renesas: Remove duplicate setup of soc_device_attribute.family
As of commit 3f84aa5ec0 ("base: soc: populate machine name in
soc_device_register if empty") in v6.4, soc_device_register() fills in
soc_device_attribute.family when it is still empty.  Hence the identical
code in renesas_soc_init() doing the same can be removed.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/4c5e4d0d1819028466748ed684254fec41aae816.1701696627.git.geert+renesas@glider.be
2023-12-13 17:22:43 +01:00
Naman Trivedi Manojbhai
87fda1acfc soc: xilinx: Add error message for invalid payload received from IPI callback.
payload[0] of response buffer of zynqmp_pm_get_callback_data()
contains valid payload or error code in case of error.

Added error message to inform user about the error code received in
payload[0].

Signed-off-by: Naman Trivedi Manojbhai <naman.trivedimanojbhai@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/85749bde3e71148533d31ea2092f4514ec347768.1701962639.git.michal.simek@amd.com
2023-12-13 16:55:15 +01:00
Vaishnav Achath
2c2235292b soc: ti: k3-socinfo: Add JTAG ID for J722S
Add JTAG ID info for the J722S SoC family to enable SoC detection.

More details about this SoC can be found in the TRM:
	https://www.ti.com/lit/zip/sprujb3

Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20231211132600.25289-1-vaishnav.a@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-12-13 07:52:32 -06:00
Herve Codina
7a2ee1576d soc: fsl: cpm1: qmc: Introduce functions to change timeslots at runtime
Introduce qmc_chan_{get,set}_ts_info() function to allow timeslots
modification at runtime.

The modification is provided using qmc_chan_set_ts_info() and will be
applied on next qmc_chan_start().
qmc_chan_set_ts_info() must be called with the channel rx and/or tx
stopped.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-18-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
0d75119d08 soc: fsl: cpm1: qmc: Remove timeslots handling from setup_chan()
Timeslots setting is done at channel start() and stop().
There is no more need to do that during setup_chan().

Simply remove timeslot setting from setup_chan().

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-17-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
7cc9bda9c1 soc: fsl: cpm1: qmc: Handle timeslot entries at channel start() and stop()
In order to support runtime timeslot route changes, enable the
channel timeslot entries at channel start() and disable them at
channel stop().

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-16-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
0e85feacc8 soc: fsl: cpm1: qmc: Introduce is_tsa_64rxtx flag
In order to support runtime timeslot route changes, some operations will
be different according the routing table used (common Rx and Tx table or
one table for Rx and one for Tx).

The is_tsa_64rxtx flag is introduced to avoid extra computation to
determine the table format each time we need it.
It is set once at initialization.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-15-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
32881b253c soc: fsl: cpm1: qmc: Split Tx and Rx TSA entries setup
The Tx and Rx entries for a given channel are set in one function.

In order to modify Rx entries and Tx entries independently of one other,
split this function in one for the Rx part and one for the Tx part.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-14-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
9217161115 soc: fsl: cpm1: qmc: Add support for disabling channel TSA entries
In order to allow runtime timeslot route changes, disabling channel TSA
entries needs to be supported.

Add support for this new feature.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-13-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
f2deea16bf soc: fsl: cpm1: qmc: Check available timeslots in qmc_check_chans()
The timeslots checked in qmc_check_chans() are the timeslots used.
With the introduction of the available timeslots, the used timeslots
are a subset of the available timeslots. The timeslots checked during
the qmc_check_chans() call should be the available ones.

Simply update and check the available timeslots instead of the used
timeslots in qmc_check_chans().

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-12-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
b1891c1364 soc: fsl: cpm1: qmc: Remove no more needed checks from qmc_check_chans()
The newly introduced qmc_chan_setup_tsa* functions check that the
channel entries are not already used.
These checks are also performed by qmc_check_chans() and are no more
needed.

Remove them from qmc_check_chans().

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-11-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
6f9b814d37 soc: fsl: cpm1: qmc: Introduce qmc_chan_setup_tsa*
Introduce the qmc_chan_setup_tsa* functions to setup entries related
to the given channel.
Use them during QMC channels setup.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-10-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
2d965e25fa soc: fsl: cpm1: qmc: Rename qmc_setup_tsa* to qmc_init_tsa*
qmc_setup_tsa* are called once at initialisation.
They initialize the QMC TSA table.
In order to introduce setup function later on for dynamic timeslots
management, rename the function to avoid later confusion.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-9-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
9b7a69d0bd soc: fsl: cpm1: qmc: Introduce available timeslots masks
Available timeslots masks define timeslots available for the related
channel. These timeslots are defined by the QMC binding.

Timeslots used are initialized to available timeslots but can be a
subset of available timeslots.
This prepares the dynamic timeslots management (ie. changing timeslots
at runtime).

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-8-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
ba3b7e4753 soc: fsl: cpm1: qmc: Add support for child devices
QMC child devices support is needed to avoid orphan DT nodes that use a
simple DT phandle to reference a QMC channel.

Allow to instantiate child devices and also extend the API to get the
qmc_chan using a child device.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Link: https://lore.kernel.org/r/20231205152116.122512-7-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
48490dc367 soc: fsl: cpm1: qmc: Remove inline function specifiers
The inline function specifier is present on some functions but it is
better to let the compiler decide inlining or not these functions.

Remove inline specifiers.

Fixes: 3178d58e0b ("soc: fsl: cpm1: Add support for QMC")
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Suggested-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-6-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
0e034aec5b soc: fsl: cpm1: qmc: Extend the API to provide Rx status
In HDLC mode, some status flags related to the data read transfer can be
set by the hardware and need to be known by a QMC consumer for further
analysis.

Extend the API in order to provide these transfer status flags at the
read complete() call.

In TRANSPARENT mode, these flags have no meaning. Keep only one read
complete() API and update the consumers working in transparent mode.
In this case, the newly introduced flags parameter is simply unused.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-5-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
dfe66d012a soc: fsl: cpm1: qmc: Fix rx channel reset
The qmc_chan_reset_rx() set the is_rx_stopped flag. This leads to an
inconsistent state in the following sequence.
    qmc_chan_stop()
    qmc_chan_reset()
Indeed, after the qmc_chan_reset() call, the channel must still be
stopped. Only a qmc_chan_start() call can move the channel from stopped
state to started state.

Fix the issue removing the is_rx_stopped flag setting from
qmc_chan_reset()

Fixes: 3178d58e0b ("soc: fsl: cpm1: Add support for QMC")
Cc: stable@vger.kernel.org
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-4-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
a5ec3a2122 soc: fsl: cpm1: qmc: Fix __iomem addresses declaration
Running sparse (make C=1) on qmc.c raises a lot of warning such as:
  ...
  warning: incorrect type in assignment (different address spaces)
     expected struct cpm_buf_desc [usertype] *[noderef] __iomem bd
     got struct cpm_buf_desc [noderef] [usertype] __iomem *txbd_free
  ...

Indeed, some variable were declared 'type *__iomem var' instead of
'type __iomem *var'.

Use the correct declaration to remove these warnings.

Fixes: 3178d58e0b ("soc: fsl: cpm1: Add support for QMC")
Cc: stable@vger.kernel.org
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-3-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
Herve Codina
fc0c64154e soc: fsl: cpm1: tsa: Fix __iomem addresses declaration
Running sparse (make C=1) on tsa.c raises a lot of warning such as:
  --- 8< ---
  warning: incorrect type in assignment (different address spaces)
     expected void *[noderef] si_regs
     got void [noderef] __iomem *
  --- 8< ---

Indeed, some variable were declared 'type *__iomem var' instead of
'type __iomem *var'.

Use the correct declaration to remove these warnings.

Fixes: 1d4ba0b81c ("soc: fsl: cpm1: Add support for TSA")
Cc: stable@vger.kernel.org
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202312051959.9YdRIYbg-lkp@intel.com/
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-2-herve.codina@bootlin.com
2023-12-12 10:29:20 +01:00
AngeloGioacchino Del Regno
2bfbf82956
soc: mediatek: mtk-svs: Constify runtime-immutable members of svs_bank
Some members of struct svs_bank are not changed during runtime, so those
are not variables but constants: move all of those to a new structure
called svs_bank_pdata and refactor the code to make use of that and
reorder members by size where possible.
This effectively moves at least 50 bytes to the text segment.
While at it, also uniform the thermal zone names across the banks.

Link: https://lore.kernel.org/r/20231121125044.78642-19-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2023-12-11 11:36:15 +01:00
AngeloGioacchino Del Regno
f6c5f285e3
soc: mediatek: mtk-svs: Use ULONG_MAX to compare floor frequency
The `freq` variable is of type unsigned long and, even though it does
currently work with u32 because no frequency is higher than U32_MAX,
it is not guaranteed that in the future we will see one.
Initialize the freq variable with ULONG_MAX instead of U32_MAX.

Link: https://lore.kernel.org/r/20231121125044.78642-18-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2023-12-11 11:36:15 +01:00
AngeloGioacchino Del Regno
b74cac09c0
soc: mediatek: mtk-svs: Check if SVS mode is available in the beginning
The svs_init01() and svs_init02() functions are already checking if the
INIT01 and INIT02 modes are available - but that's done in for loops and
for each SVS bank.

Give those a shortcut to get out early if no SVS bank features the
desired init mode: this is especially done to avoid some locking in
the svs_init01(), but also to avoid multiple for loops to check the
same, when no bank supports a specific mode.

Link: https://lore.kernel.org/r/20231121125044.78642-17-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2023-12-11 11:36:15 +01:00
AngeloGioacchino Del Regno
b77f0c305a
soc: mediatek: mtk-svs: Cleanup of svs_probe() function
Cleanup the svs_probe() function: use dev_err_probe() where possible,
change some efuse read failure gotos and then remove now impossible
IS_ERR_OR_NULL() checks (as they will never return true) for nvmem
(efuse read) failures.
Also remove some unnecessary blank lines.

Link: https://lore.kernel.org/r/20231121125044.78642-16-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2023-12-11 11:36:14 +01:00
AngeloGioacchino Del Regno
69d2bf2efd
soc: mediatek: mtk-svs: Compress of_device_id entries
Compress each entry to one line, as they fit in 84 columns, which
is acceptable.
While at it, also change the capital 'S' to 's' in 'sentinel'.

Link: https://lore.kernel.org/r/20231121125044.78642-15-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2023-12-11 11:36:14 +01:00
AngeloGioacchino Del Regno
a60641b0dd
soc: mediatek: mtk-svs: Remove redundant print in svs_get_efuse_data
Callers of svs_get_efuse_data() are already printing an error in case
anything goes wrong, and the error print for nvmem_cell_read() failure
is redundant: remove it.

Link: https://lore.kernel.org/r/20231121125044.78642-14-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2023-12-11 11:36:14 +01:00
AngeloGioacchino Del Regno
947f4252e2
soc: mediatek: mtk-svs: Commonize MT8192 probe function for MT8186
Include the additions of svs_mt8186_platform_probe() in the common
svs_mt8192_platform_probe() function, remove the former, and use the
latter as .probe() callback for MT8186.

Link: https://lore.kernel.org/r/20231121125044.78642-13-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2023-12-11 11:36:14 +01:00
AngeloGioacchino Del Regno
63077f99b1
soc: mediatek: mtk-svs: Drop supplementary svs per-bank pointer
Drop the "pbank" pointer from struct svs_bank: this was used to simply
pass a pointer to the SVS bank that the flow was working on.
That for instance needs more locking, and it's avoidable by adding one
more parameter to functions working on specific banks, either a bank
index number, or passing the svs_bank pointer directly from the caller.

Even if the locking can now be reduced, for now, it was still left in
place for the sake of making sure to not introduce any stability and/or
reliability regression.

Link: https://lore.kernel.org/r/20231121125044.78642-12-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2023-12-11 11:36:14 +01:00