Commit Graph

1296460 Commits

Author SHA1 Message Date
Guenter Roeck
8f4fd97df2 hwmon: (amc6821) Make reading and writing fan speed limits consistent
The default value of the maximum fan speed limit register is 0,
essentially translating to an unlimited fan speed. When reading
the limit, a value of 0 is reported in this case. However, writing
a value of 0 results in writing a value of 0xffff into the register,
which is inconsistent.

To solve the problem, permit writing a limit of 0 for the maximim fan
speed, effectively translating to "no limit". Write 0 into the register
if a limit value of 0 is written. Otherwise limit the range to
<1..6000000> and write 1..0xffff into the register. This ensures that
reading and writing from and to a limit register return the same value
while at the same time not changing reported values when reading the
speed or limits.

While at it, restrict fan limit writes to non-negative numbers; writing
a negative limit does not make sense and should be reported instead of
being corrected.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2024-07-08 07:52:36 -07:00
Guenter Roeck
af4d04b8ce hwmon: (amc6821) Stop accepting invalid pwm values
The pwm value range is well defined from 0..255. Don't accept any values
outside this range.

This changes the valid range of pwm1_auto_point2_pwm from 0..254 to 0..255,
meaning it can now be equivalent to not only pwm1_auto_point1_pwm (which is
always 0) but also to pwm1_auto_point3_pwm (which is always 255). While
that may not be practical, there seems to be no technical reason for
preventing a user from doing it.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2024-07-08 07:52:36 -07:00
Arnd Bergmann
2d61b9303c Merge tag 'qcom-arm64-for-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt
Qualcomm Arm64 DeviceTree updates for v6.11

This introduces 11 new boards, namely:
* ASUS Vivobook S 15
* Lenovo Smart Tab M10 DTS
* Motorola Moto E 2015 LTE (surnia)
* Motorola Moto G 2015 (osprey)
* Motorola Moto G4 Play (harpia)
* Qualcomm AIM300 AIoT development board
* Qualcomm SM8650 Hardware Development Kit (HDK)
* SHIFTphone 8
* Samsung Galaxy Z Fold5
* Schneider HMIBSC board DTS
* TP-Link Archer AX55 v1

Of particular interest here is the Asus Vivobook, the first supported X1
Elite consumer laptop.

For IPQ6018 an SDHCI controller is added and on IPQ9574 an MDIO bus is
described.

The improvements to MSM8916-based devices continues, with sound and
mdoem support added to Acer Iconia Talk S and GPLUS FL8005A, the latter
also gaining BMS support. Samsung Galaxy devices gains PMIC and charger
definitions, NFC support and MUIC. Accelerometer and magnetometer
support is added to the Samsung Galaxy Grand Prime devices.

On MSM8976 definitions for IOMMU, the display subsystem, wifi subsystem,
and Adreno GPU are added.

On MSM8996 UFS core clock frequencies are specified, FastRPC nodes are
added for the audio DSP, glink-edges are described where available, the
display subsystem reset is added.

Venus is introduced on MSM8998 and the "No MSA Ready" quirk is added to
allow ath10k to come up.

GPU support is added to QCM2290 and enabled on the RB1 development
board.
The I2C controller used for communicating with the LT9611UXC HDMI
bridge is temporarily replaced with i2c-gpio while issues with the
builtin controller is diagnosed. The same is done for RB2, on the
QRB4210 platform.
On RB2 TCPM max current draw is corrected and the vreg_l9a regulator is
marked as always on to match expectations.

On the QDU1000 platform, USB is added, secure QFPROM is introduced to
allow LLCC to access OTP data. USB is enabled on the two IDP boards.

SA8775p gains PCIe endpoint definitions, LLCCC support, IMEM and PIL
info regions. Nodes are marked as dma-coherent as needed, a dedicated
carveout for shared memory bridge allocations is introduced.
The SA8775P ride device is split in the two versions r2 and r3.

The SC7180 Trogdor clamshell/detachable fragments are refactored for
convenience, and pwmleds are disabled where unused.

On SC7280 the APR nodes for interfacing with the audio services in audio
DSP firmware are introduced. The Qualcomm SMMU TBUs are described, to
enable improved debug support. QoS clocks are added to interconnects, as
needed in order to operate the QoS settings on some buses.
SuperSpeed in park is disabled for the primary DWC3 instance to address
host controller issues under load.

The PM8008 (camera PMIC) is introduced in Fairphone 5, regulators are
named for better output, and firmware name for IPA is adjusted to the
preferred file format.
The HDMI bridge on Rb3gen2 is described, rtc, gpi-dma and qup nodes are
enabled.

The Type-C port manager found in PM7250b is enabled, for targets not
using pmic-glink firmware for Type-C management.

SC8180X gets a number of smaller corrections, and some cleanups -
related to both functional issues and DeviceTree validation.

The PSHOLD node is marked reserved, after reports that this causes
issues during shutdown. Description of the USB signals are updated to
match the signal path. The PM8008 camera PMIC is added to Lenovo
ThinkPad X13s.

The PM660 PMIC is extended with charger and rradc definitions, and the
SDM670 gains a SMEM region definition.

On SDM845 the Qualcomm SMMU TBU nodes are described, to enable improved
debug output during faults etc. The UFS PHY is associated with its GDSC,
and the DisplayPort controller is wired up to the QMP PHY.

The Lenovo Yoga C630 Embedded Controller is introduced, adding battery
and Type-C port management and altmode support. The C630 also gains WiFI
calibration variant information, to cause selection of the right data.
The missing IPA firmware path is corrected.

For the SDX75 platform, AOSS, IPCC, SDHCI, TCSR, modem SMP2P, I2C and
SPI nodes are introduced. SD-card support is added to the IDP board.

CPUfreq support is introduced for the SM4450 platform.

Missing reset is added to the SDHC controller of SM6115. The UFS PHY
is associated with its GDSC, so is the PHY on SM6350.

On Fairphone 4, the camera pmic (PM8008) is introduced, regulators are
named for more informative debug output, and USB role switching is
enabled.

On the Fairphone 3, vibrator support is added and enabled.

On SM8250, the USB signal paths are properly described in the OF graph,
the UFS PHY gains its required power-domains description.
Thanks to the introduction of PCI power sequence support, the QRB5165
RB5 WiFi chip can now be powered up, so this is added.

Touchscreen interrupt flags are corrected accross a number of Sony
Xperia devices, to remove the unexpected traces from downstream.

On SM8450 an OPP-table is introduced for the PCIe controllers, to
specify the bandwidth and performance state requirements for the
different genrations and link widths. For this the PCIe controllers also
gains interconnect path definitions. The LLCC register layout is
corrected, and the UFS PHY is associated with its GDSC.

On the SM8550 development boards speaker port mapping is added. WiFi
support is finally enabled on the QRD board.
The new AIM300 development platform/board is introduced.

For SM8650 video and camera clock controller are introduced. SCM node
gains details necessary to trigger USB ramdump (download mode) upon a
system crash.
WiFi support and speaker port mapping is added to the QRD and the newly
introduced HDK. On the MTP the USB Type-C connector is describe to be
routed to the PHY.
In addition to the base HDK, a Display Card overlay is also introduced.

For X1 Elite bwmon, fastrpc and GPU support, tsens, and the missing PCIe
6a instance are added. Thermal zones are described. Pmic-glink is
introduced for both CRD and QCP devices, and remaining PMICs are
described. Audio support is also added to the QCP.
An explicit, larger, chunk of CMA memory is added to the various
devices, in order to compensate for the lack of IOMMU for PCIe.

Across a wide range of platforms, the thermal zone polling delays are
removed as supplies are interrupt driven anyways. Also thermal related
is the introduction of GPU thermal throttling, across many SoCs.

The old SMSM implementation is finally transitioned to using the
mailbox-based description and implementation for invoking interrupts on
remote processors. As such interrupt-triggering is converted to use this
mechanism on related platforms.

The usb-role-switch property is removed for all USB instances hard coded
to either host or peripheral across a range of boards.

* tag 'qcom-arm64-for-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (279 commits)
  dt-bindings: arm: qcom: Document samsung,ms013g
  arm64: dts: qcom: Add device tree for ASUS Vivobook S 15
  dt-bindings: arm: qcom: Add ASUS Vivobook S 15
  arm64: dts: qcom: qrb4210-rb2: Correct max current draw for VBUS
  arm64: dts: qcom: msm8998: add venus node
  arm64: dts: qcom: sa8775p-ride-r3: add new board file
  arm64: dts: qcom: move common parts for sa8775p-ride variants into a .dtsi
  dt-bindings: arm: qcom: add sa8775p-ride Rev 3
  arm64: dts: qcom: sm8550-qrd: add port mapping to speakers
  arm64: dts: qcom: sm8550-mtp: add port mapping to speakers
  arm64: dts: qcom: sm8550-hdk: add port mapping to speakers
  arm64: dts: qcom: sm8650-qrd: add port mapping to speakers
  arm64: dts: qcom: sm8650-mtp: add port mapping to speakers
  arm64: dts: qcom: sm8650-hdk: add port mapping to speakers
  arm64: dts: qcom: sm7225-fairphone-fp4: Name the regulators
  arm64: dts: qcom: pm8916: correct thermal zone name
  arm64: dts: qcom: x1e80100: Add gpu support
  arm64: dts: qcom: x1e80100: Fix USB HS PHY 0.8V supply
  arm64: dts: qcom: qcs6490-rb3gen2: enable hdmi bridge
  arm64: dts: qcom: sm6115: add resets for sdhc_1
  ...

Link: https://lore.kernel.org/r/20240706173140.18887-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:40:15 +02:00
Ilya Leoshkevich
02480fe8a6 selftests/bpf: Remove exceptions tests from DENYLIST.s390x
Now that the s390x JIT supports exceptions, remove the respective tests
from the denylist.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20240703005047.40915-4-iii@linux.ibm.com
2024-07-08 16:39:35 +02:00
Ilya Leoshkevich
fa7bd4b000 s390/bpf: Implement exceptions
Implement the following three pieces required from the JIT:

- A "top-level" BPF prog (exception_boundary) must save all
  non-volatile registers, and not only the ones that it clobbers.
- A "handler" BPF prog (exception_cb) must switch stack to that of
  exception_boundary, and restore the registers that exception_boundary
  saved.
- arch_bpf_stack_walk() must unwind the stack and provide the results
  in a way that satisfies both bpf_throw() and exception_cb.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20240703005047.40915-3-iii@linux.ibm.com
2024-07-08 16:39:35 +02:00
Ilya Leoshkevich
7ba4f43e16 s390/bpf: Change seen_reg to a mask
Using a mask instead of an array saves a small amount of memory and
allows marking multiple registers as seen with a simple "or". Another
positive side-effect is that it speeds up verification with jitterbug.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20240703005047.40915-2-iii@linux.ibm.com
2024-07-08 16:39:35 +02:00
Arnd Bergmann
462eeb978d Merge tag 'mvebu-dt64-6.11-1' of https://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/dt
mvebu dt64 for 6.11 (part 1)

armada-3720: align GPIO keys and LED node namee with bindings
Add description for solidrun cn9130 som and clearfog boards

* tag 'mvebu-dt64-6.11-1' of https://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: add description for solidrun cn9132 cex7 module and clearfog board
  arm64: dts: add description for solidrun cn9131 solidwan board
  arm64: dts: add description for solidrun cn9130 som and clearfog boards
  dt-bindings: arm64: marvell: add solidrun cn9132 CEX-7 evaluation board
  dt-bindings: arm64: marvell: add solidrun cn9130 som based boards
  arm64: dts: armada-3720: align LED node name with bindings
  arm64: dts: armada-3720: align GPIO keys node name with bindings

Link: https://lore.kernel.org/r/87wmlzixln.fsf@BLaptop.bootlin.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:37:49 +02:00
Arnd Bergmann
f01b3260d9 Merge tag 'mvebu-dt-6.11-1' of https://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/dt
mvebu dt for 6.11 (part 1)

armada-385: Add 7-segment LED display on x530
armada-385: Add Turris Omnia MCU related node
armada-370 irqchip DT changes: Drop #size-cells from mpic node
orion / kirkwood: few cleanups

* tag 'mvebu-dt-6.11-1' of https://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  ARM: dts: turris-omnia: Add GPIO key node for front button
  ARM: dts: turris-omnia: Add MCU system-controller node
  ARM: dts: marvell: orion: align LED node name with bindings
  ARM: dts: marvell: orion5x-lswsgl: use 'gpios' property for LEDs
  ARM: dts: marvell: orion: drop incorrect address/size-cells in GPIO keys
  ARM: dts: marvell: orion: align GPIO keys node name with bindings
  ARM: dts: marvell: kirkwood: align LED node name with bindings
  ARM: dts: marvell: kirkwood: drop incorrect address/size-cells in GPIO keys
  ARM: dts: marvell: kirkwood: align GPIO keys node name with bindings
  ARM: dts: armada-{370-xp,375,38x,39x}: Drop #size-cells from mpic node
  ARM: dts: marvell: Add 7-segment LED display on x530

Link: https://lore.kernel.org/r/87zfqvixn4.fsf@BLaptop.bootlin.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:37:05 +02:00
Arnd Bergmann
b4f8192afb Merge tag 'ti-k3-dt-for-v6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/dt
TI K3 device tree updates for v6.11

Generic Fixups/Cleanups:
- main_pktdma reg ranges fixes
- dtbs_check warning cleanups with addition of cpsw-mac-efuse node and
  dropping "syscon", "simple-mfd" compatibles in favor of simple-bus
- Disable McASP FIFOs across SoCs for better latency
- Add memory node to bootloader stage with bootph-all
- Restructure am62p and j722s dtsi for share nodes across these SoCs
- DT warning fixes around USB type-C connector node (AM62/AM62P)

SoC Specific features and Fixes:
AM62
- GPMC and ELM addition

AM62A
- Enable RTC by default
- Crypto accelerator support

AM64 and AM65
- PRU system event support

AM69/J784S4:
- CPSW2G and CPSW9G addition with QSGMII and UXSGMII board support
- PCIe, USB, McASP, EHRPWM node additions

AM67/J722s
- Fix to update GPIO count
- Add gpio-ranges definition
- McASP support for audio
- PCIe, USB, Serdes support

Board Specific features and fixes:

AM62
- am62x-phyboard-lyra carrier board support
- am625-verdin: nau8822 PLL support
- sk: CMA node addition
- lp-sk: NAND expansion card overlay

AM62A
- New phyboard-lyra-am62ax from phytec
- CMA node addition

AM64:
- phycore-board: PMIC support
- hummingbird-t: RS485 RTS pin polarity update
- am6xx-phycore-som: overlays for variants w/o SPI, RTC, ETH PHY or w/
  QSPI
- EVM: GPMC NAND expansion card overlay
- EVM: ICSSG ethernet MII mode overlay support
- SK: power supply temp sensors support

AM68
- SK: PMIC, OSPI

J721e
- SK: MCAN Support
- Overlay for infotainment expansion board

AM69/J784S4
- EVM: PCIe RC/EP, USB3, MCAN support
- SK: PMIC support

* tag 'ti-k3-dt-for-v6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: (89 commits)
  arm64: dts: ti: k3-am62a7-sk: Reserve 576MiB of global CMA
  arm64: dts: ti: k3-am62x-sk-common: Reserve 128MiB of global CMA
  arm64: dts: ti: k3-am62x-sk-common: Fix graph_child_address warns
  arm64: dts: ti: k3-am62p5-sk: fix graph_child_address warnings
  arm64: dts: ti: k3-j722s: Add gpio-ranges properties
  arm64: dts: ti: k3-am62p: Add gpio-ranges properties
  arm64: dts: ti: k3-pinctrl: Define a generic GPIO MUX Mode
  arm64: dts: ti: k3-am62: Add cpsw-mac-efuse node to wkup_conf
  arm64: dts: ti: k3-am62a: Add cpsw-mac-efuse node to wkup_conf
  arm64: dts: ti: k3-j784s4: Add cpsw-mac-efuse node to mcu_conf
  arm64: dts: ti: k3-j721s2: Add cpsw-mac-efuse node to mcu_conf
  arm64: dts: ti: k3-j721e: Add cpsw-mac-efuse node to mcu_conf
  arm64: dts: ti: k3-j7200: Add cpsw-mac-efuse node to mcu_conf
  arm64: dts: ti: k3-am65: Add cpsw-mac-efuse node to mcu_conf
  arm: dts: k3-am642-evm-nand: Add bootph-all to NAND related nodes
  arm64: dts: ti: Add basic support for phyBOARD-Lyra-AM62Ax
  dt-bindings: arm: ti: Add bindings for PHYTEC AM62Ax based hardware
  arm64: dts: ti: Add am62x-phyboard-lyra carrier board
  arm64: dts: ti: k3-am62a: Enable AUDIO_REFCLKx
  arm64: dts: ti: k3-j784s4-evm: Enable analog audio support
  ...

Link: https://lore.kernel.org/r/37f251a1-f3bd-402f-ab22-cf786c3871d7@ti.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:34:33 +02:00
Arnd Bergmann
03b4edd51f Merge tag 'stm32-dt-for-v6.11-1' of https://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into soc/dt
STM32 DT for v6.11, round 1

Highlights:
----------

-MCU:
  - Add syscfg missing clock on stm32f429.

- MPU:
  - STM32MP13:
    - Add camera support on stm32mp135f-dk bord using DCMIPP and
      GC2145 sensor.
    - Document PWM output for stm32mp135f-dk
    - Add goodix touchscreen support on stm32mp135f-dk board.
    - Add new DH DHCOR / DHSBC board (Som + carrier board) based on
      STM32MP135F SoC.
      SOM part contains: STM32MP135F SoC, 512MB DDR2L RAM and
      eMMC/SDIO wifi module.
      The carrier boards embedds 2 RGMII ETH ports, USB-A,USB-C
      and an extansion connector.
    - Add Ethernet controller support on stm32mp135f-dk.
      It uses LAN8742A PHY based on RMII.

  - STMP32MP15:
    - Rework Octavo OSD32MP1 split for USB phy.
    - Add OP-TEE IRQ for asynchronous notification support.
      It allows OP-TEE to trig Linux.

  - STM32MP25:
    - Add OP-TEE IRQ for asynchronous notification support.
      It allows OP-TEE to trig Linux.
    - Enable firewall for RCC.
    - Add all U(s)ART nodes for stm32mp25.
    - Add 3 power domains for low power modes.
    - Add HPDMA support.
    - Add Ethernet controller (ETH2) support on stm32mp257f-ev1.
      It uses Realtek PHY based on RGMII.
    - Add and enable SCMI regulator support.

* tag 'stm32-dt-for-v6.11-1' of https://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: (31 commits)
  arm64: dts: st: describe power supplies for stm32mp257f-ev1 board
  arm64: dts: st: add scmi regulators on stm32mp25
  regulator: Add STM32MP25 regulator bindings
  ARM: dts: stm32: omit unused pinctrl groups from stm32mp13 dtb files
  arm64: dts: st: enable Ethernet2 on stm32mp257f-ev1 board
  arm64: dts: st: add eth2 pinctrl entries in stm32mp25-pinctrl.dtsi
  arm64: dts: st: add ethernet1 and ethernet2 support on stm32mp25
  arm64: dts: st: add HPDMA nodes on stm32mp251
  ARM: dts: stm32: Add ethernet support for DH STM32MP13xx DHCOR DHSBC board
  ARM: dts: stm32: order stm32mp13-pinctrl nodes
  ARM: dts: stm32: add ethernet1 for STM32MP135F-DK board
  ARM: dts: stm32: add ethernet1/2 RMII pins for STM32MP13F-DK board
  ARM: dts: stm32: add ethernet1 and ethernet2 support on stm32mp13
  ARM: dts: stm32: Document output pins for PWMs on stm32mp135f-dk
  ARM: dts: stm32: OP-TEE async notif interrupt for ST STM32MP15x boards
  ARM: dts: stm32: Missing clocks for stm32f429's syscfg.
  ARM: dts: stm32: Add support for STM32MP13xx DHCOR SoM and DHSBC board
  ARM: dts: stm32: Add pinmux nodes for DH electronics STM32MP13xx DHCOR SoM and DHSBC board
  dt-bindings: arm: stm32: Add compatible string for DH electronics STM32MP13xx DHCOR DHSBC board
  ARM: dts: stm32: osd32: move pwr_regulators to common
  ...

Link: https://lore.kernel.org/r/8f10bd29-d067-4060-89ff-2e1a605f3141@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:33:08 +02:00
Arnd Bergmann
a9fe0720f2 Merge tag 'qcom-arm32-for-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt
Qualcomm Arm32 DeviceTree updates for v6.11

This introduces new support for the Sony Xperia Z3 Compact, HTC One
(M8), Samsung Galaxy Tab 4 8.0 Wi-Fi, Samsung Galaxy Grand 2, and
Samsung Galaxy Note 3 devices.

The Motorola Moto G and Motorola Moto G 4G gains accelerometer and
magnetometer support, with the latter also getting framebuffer supplies
and a temperature sensor wired up.

The SMBB (charger block) is enabled across all MSM8x26 Lumia devices, as
this is used for USB state changes.

The operating mode for SDC regulator is set to HPM on Sony Xperia
"Shinano" family to avoid brownouts on uSD-cards.

The panel on LGE Nexus 5 is connected to the backlight, to make this
turn off on blanking.

MSM8974 is transitioned to use the mailbox-abstraction for invoking
PC interrupts on remote processors.

* tag 'qcom-arm32-for-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (24 commits)
  ARM: dts: qcom: qcom-msm8226-samsung-ms013g: Add initial device tree
  ARM: dts: qcom: apq8064: drop incorrect ranges from QFPROM
  ARM: dts: qcom: msm8926-motorola-peregrine: Add framebuffer supplies
  ARM: dts: qcom: msm8926-motorola-peregrine: Update temperature sensor
  ARM: dts: qcom: msm8926-motorola-peregrine: Add accelerometer, magnetometer, regulator
  ARM: dts: qcom: msm8974: Use mboxes in smsm node
  ARM: dts: qcom: msm8974-sony-shinano: increase load on l21 for sdhc2
  ARM: dts: qcom: Add Sony Xperia Z3 Compact smartphone
  ARM: dts: qcom: use generic node names for Adreno and QFPROM
  ARM: dts: qcom: motorola-falcon: add accelerometer, magnetometer
  ARM: dts: qcom: Add initial support for HTC One (M8)
  ARM: dts: qcom: msm8974: Use mboxes properties for APCS
  ARM: dts: qcom: mdm9615: drop #power-domain-cells property of GCC
  ARM: dts: qcom: ipq8064: drop #power-domain-cells property of GCC
  ARM: dts: qcom: ipq4019: drop #power-domain-cells property of GCC
  ARM: dts: qcom: msm8960: drop #power-domain-cells property of GCC
  ARM: dts: qcom: msm8660: drop #power-domain-cells property of GCC
  ARM: dts: qcom: apq8064: drop #power-domain-cells property of GCC
  ARM: dts: qcom: msm8974: Use proper compatible for APCS syscon
  ARM: dts: qcom: msm8974-hammerhead: Update gpio hog node name
  ...

Link: https://lore.kernel.org/r/20240705032926.13333-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:31:47 +02:00
Linus Walleij
8b5d415c4f ARM: dts: ixp4xx: nslu2: beeper uses PWM
The beeper in the NSLU2 is just a GPIO connected to a
speaker, so we need to use PWM on the GPIO to get any kind
of sound out.

Tested with some random beeps by enabling INPUT_EVDEV and
running beep.c with e.g. beep 400 for a 400 Hz tone.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/20240627-ixp4xx-dts-v1-1-cdbbe1150873@linaro.org
Link: https://lore.kernel.org/r/20240703-ixp4xx-dts-v1-1-e5149da36f6e@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:31:25 +02:00
Arnd Bergmann
9289b97a67 Merge tag 'sunxi-dt-for-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt
Allwinner SoC device tree changes for 6.11

This includes a commit shared with the clk tree. This commit adds clock
and reset indices to the device tree binding, and thus is needed for
both the device tree and driver changes.

ARM64 device tree and binding-only changes
- Add LRADC (low resolution ADC for resistor network based keys) for H616 SoC
- Add cache information for A64, H6, and H616 SoCs
- Correct model names and descriptions for Pine64 boards
- Add GPADC (general purpose ADC) for H616 SoC
- Add ADC joysticks based on GPADC for anbernic-rg35xx-h board
- Add additional CPU OPPs for the H700 on top of existing H616 ones
- Enable DVFS for rg35xx boards
- Add IOMMU for H616 SoC

RISC-V device tree changes
- Add system LDOs to D1s/T113 SoC
- Add ClockworkPi and DevTerm device trees

* tag 'sunxi-dt-for-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  riscv: dts: allwinner: Add ClockworkPi and DevTerm devicetrees
  riscv: dts: allwinner: d1s-t113: Add system LDOs
  arm64: dts: allwinner: h616: add IOMMU node
  arm64: dts: allwinner: rg35xx: Enable DVFS CPU frequency scaling
  arm64: dts: allwinner: h616: add additional CPU OPPs for the H700
  arm64: dts: allwinner: anbernic-rg35xx-h: Add ADC joysticks
  arm64: dts: allwinner: h616: Add GPADC device node
  dt-bindings: clock: sun50i-h616-ccu: Add GPADC clocks
  ARM: dts: sunxi: remove duplicated entries in makefile
  arm64: dts: allwinner: Add cache information to the SoC dtsi for H616
  arm64: dts: allwinner: Add cache information to the SoC dtsi for A64
  arm64: dts: allwinner: Correct the model names for Pine64 boards
  dt-bindings: arm: sunxi: Correct the descriptions for Pine64 boards
  arm64: dts: allwinner: Add cache information to the SoC dtsi for H6
  ARM: dts: sun50i: Add LRADC node
  dt-bindings: input: sun4i-lradc-keys: Add H616 compatible

Link: https://lore.kernel.org/r/ZoQa8r1N8yi7FlPV@wens.tw
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:30:23 +02:00
Arnd Bergmann
b85aad3db1 Merge tag 'imx-dt64-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt
i.MX arm64 device tree change for 6.11:

- New board support: imx8mm-iot-gateway, imx93-9x9-qsb, imx95-19x19-evk,
  imx8mp-tqma8mpql-mba8mp-ras314, etc.
- A series from Adam Ford that improves imx8mp-beacon-kit support by
  fixing dtschema issues and enabling HDMI bridge HPD
- A set of changes from Alexander Stein that adds partitions subnode
  to spi-nor
- A great number of changes from Frank Li that add audio, flexcan, gpmi
  related devices for imx8dxl, imx8qm based boards
- A bunch of layerscape dtschema issue fixes from Frank Li
- A series from Krzysztof Kozlowski to use defines for interrupts
- A number of improvements on i.MX8MP DHCOM devices from Marek Vasut
- A couple of changes from Parthiban Nallathambi that add PCIe PHY and
  RS232/RS485 overlays for phygate-tauri-l board
- A series from Shengjiu Wang that adds bt-sco and XCVR sound card
  support for imx8mp-evk
- A series from Tim Harvey that fixes dt-schema warnings and adds DP83867
  configuration for i.MX8M Venice devices
- Other random feature additions and improvments on various boards

* tag 'imx-dt64-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (91 commits)
  arm64: dts: imx8mp: Remove 'snps,rx-sched-sp'
  arm64: dts: imx8mm-verdin: add TPM device
  arm64: dts: imx8mp-evk: Add audio XCVR sound card
  arm64: dts: imx8mp: Add audio XCVR device node
  arm64: dts: imx8mp: Update Fast ethernet PHY MDIO addresses to match DH i.MX8MP DHCOM rev.200
  arm64: dts: imx8mp: Do not reconfigure Audio PLL2 on DH i.MX8M Plus DHCOM SoM
  arm64: dts: layerscape: rename b(q)man-portals to b(q)man-portals-bus
  arm64: dts: fsl-ls1046a: rename thermal node name
  arm64: dts: fsl-ls1043a: remove unused clk-name at watchdog node
  arm64: dts: layerscape: rename aux_bus to aux-bus
  arm64: dts: layerscape: change pcie interrupt order
  arm64: dts: layerscape: rename node name "wdt" to "watchdog"
  arm64: dts: layerscape: add #dma-cells for qdma
  arm64: dts: layerscape: remove compatible string 'fsl,fman-xmdio' for fman3
  arm64: dts: layerscape: replace node name 'nor' with 'flash'
  arm64: dts: fsl-ls1012a: remove property 'snps,host-vbus-glitches'
  arm64: dts: fsl-lx2160a: fix #address-cells for pinctrl-single
  arm64: dts: layerscape: add platform special compatible string for gpio
  arm64: dts: layerscape: rename node 'timer' as 'rtc'
  arm64: dts: imx8qxp-mek: Pass memory-region to the DSP node
  ...

Link: https://lore.kernel.org/r/20240702142153.413061-4-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:28:41 +02:00
Thomas Huth
cb31c58e8c drm/fbdev-dma: Fix framebuffer mode for big endian devices
The drm_mode_legacy_fb_format() function only generates formats suitable
for little endian devices. switch to drm_driver_legacy_fb_format() here
instead to take the device endianness into consideration, too.

Suggested-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 6ae2ff23aa ("drm/client: Convert drm_client_buffer_addfb() to drm_mode_addfb2()")
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Cc: Hamza Mahfooz <hamza.mahfooz@amd.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: <stable@vger.kernel.org> # v6.7+
Link: https://patchwork.freedesktop.org/patch/msgid/20240702121737.522878-1-thuth@redhat.com
2024-07-08 16:28:00 +02:00
Arnd Bergmann
f01448addc Merge tag 'imx-dt-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt
i.MX ARM device tree change for 6.11:

- A few changes from Krzysztof Kozlowski to fix dtschema issues
- A series from Michael Walle to improve kontron-samx6i SoM support by
  fixing various errors and add kontron-samx6i-ads2 board
- Add LVDS port data mapping for M53 Menlo board
- Convert NVMEM usage to layout syntax on MBA6 boards

* tag 'imx-dt-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: imx6qdl-kontron-samx6i: add actual device trees
  ARM: dts: imx6qdl-kontron-samx6i: remove wake-up-gpio property
  ARM: dts: imx6qdl-kontron-samx6i: fix PCIe reset polarity
  ARM: dts: imx6qdl-kontron-samx6i: fix node names
  ARM: dts: imx6qdl-kontron-samx6i: add SDIO_PWR_EN support
  ARM: dts: imx6qdl-kontron-samx6i: always enable eMMC
  ARM: dts: imx6qdl-kontron-samx6i: fix product name
  ARM: dts: imx6qdl-kontron-samx6i: fix SPI0 chip selects
  ARM: dts: imx6qdl-kontron-samx6i: cleanup the PMIC node
  ARM: dts: imx6qdl-kontron-samx6i: fix board reset
  ARM: dts: imx6qdl-kontron-samx6i: fix PHY reset
  ARM: dts: imx6qdl-kontron-samx6i: fix phy-mode
  ARM: dts: nxp: imx6: convert NVMEM content to layout syntax
  ARM: dts: e60k02: fix aliases for mmc
  ARM: dts: imx: Add LVDS port data mapping on M53 Menlo
  ARM: dts: imx28-tx28: drop redundant 'panel-name' property
  ARM: dts: imx: drop redundant 'u-boot,panel-name' property
  ARM: dts: imx6dl-aristainetos2_4: drop redundant 'power-on-delay' property
  ARM: dts: imx: correct choice of panel native mode
  ARM: dts: imx: align panel timings node name with dtschema

Link: https://lore.kernel.org/r/20240702142153.413061-3-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:27:30 +02:00
Arnd Bergmann
07fd5cc010 Merge tag 'imx-bindings-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt
i.MX DT bindings for 6.11:

- Add compatible string for various new boards
- Drop Li Yang as maintainer for bindings as his email bounces

* tag 'imx-bindings-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  dt-bindings: arm: fsl: document Kontron SMARC-sAMX6i boards
  dt-bindings: arm: add MBa8MP-RAS314 SBC
  dt-bindings: arm: fsl: add i.MX93 9x9 QSB board
  dt-bindings: arm: fsl: add i.MX95 19x19 EVK board
  dt-bindings: arm: fsl: Document Compulab IOT-GATE-iMX8
  dt-bindings: Drop Li Yang as maintainer for all bindings

Link: https://lore.kernel.org/r/20240702142153.413061-2-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:26:50 +02:00
Arnd Bergmann
7120733d1d Merge tag 'dt-cleanup-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt
Minor improvements in ARM DTS for v6.11

Few cleanups and improvements which were missed by their maintainers:

1. Add Krzysztof as odd-fixer for old ARM platforms: Alphascale, AXM
   LSI, Moxa, TI Nspire and VT8500 (with Alexey Charkov).

2. VT8500: align node names with bindings (USB, panel timings).

3. Cirrus: align node names with bindings (panel timings).

4. TI Nspire: correct unit addresses, correct watchdog compatible and
   properties while making it disabled (never tested).

5. Nuvoton, Aspeed: align node names with bindings (I2C).

   IMPORTANT: At least for Aspeed it is known to affect some user-space
   tools, because that user-space looks for specific node path via
   /sys/firmware/devicetree. The /sys/firmware/devicetree is not the ABI
   and any user-space relying on it:
    - Prevents any changes in DTS, e.g. node renaming or moving,
      changing unit addresses (re-arranging child bus addressing).
    - Is using undocumented interface.
    - Is neither reliable nor understandable.

6. TI OMAP and Davinci: align node names with bindings (panel timings),
   drop incorrect property.

7. STI: document in bindings codec child to fix dtbs_checks.

* tag 'dt-cleanup-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  ARM: dts: omap am5729-beagleboneai: drop unneeded ti,enable-id-detection
  dt-bindings: soc: sti: st,sti-syscon: document codec node
  ARM: dts: ti: align panel timings node name with dtschema
  arm: dts: aspeed: Use standard 'i2c' bus node name
  arm: dts: nuvoton: Use standard 'i2c' bus node name
  MAINTAINERS: ARM: alphascale: add Krzysztof Kozlowski as maintainer
  ARM: dts: nspire: Add full compatible for watchdog node
  ARM: dts: nspire: Add unit name addresses to memory nodes
  MAINTAINERS: ARM: nspire: add Krzysztof Kozlowski as maintainer
  MAINTAINERS: ARM: vt8500: add Alexey and Krzysztof as maintainers
  MAINTAINERS: ARM: axm: add Krzysztof Kozlowski as maintainer
  MAINTAINERS: ARM: moxa: add Krzysztof Kozlowski as maintainer
  ARM: dts: cirrus: align panel timings node name with dtschema
  ARM: dts: vt8500: align panel timings node name with dtschema
  ARM: dts: vt8500: replace "uhci" nodename with generic name "usb"

Link: https://lore.kernel.org/r/20240702065359.7378-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:25:58 +02:00
Heiko Stuebner
31390eb8ff arm64: dts: rockchip: add ROCK 5 ITX board
The ROCK 5 ITX as the name suggests is made in the ITX form factor and
actually built in a form to be used in a regular case even providing
connectors for regular front-panel io.

It can be powered either by 12V, ATX power-supply or PoE.

Notable peripherals are the 4 SATA ports, M.2 M-Key slot, M.2 E-key slot,
2*2.5Gb PCIe-connected Ethernet NICs.

As of yet unsupported display options consist of 2*HDMI, DP via USB-c,
eDP + 2*DSI via PCB connectors.

USB ports are 4*USB3 + 2*USB2 on the back panel and 2-port front-panel
connector.

Schematics for the board can be found on
- https://dl.radxa.com/rock5/5itx/radxa_rock_5_itx_X1100_schematic.pdf
- https://dl.radxa.com/rock5/5itx/v1110/radxa_rock_5itx_v1110_schematic.pdf

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20240704153815.837392-3-heiko@sntech.de
2024-07-08 16:25:35 +02:00
Heiko Stuebner
8687469a51 dt-bindings: arm: rockchip: Add ROCK 5 ITX board
Add devicetree binding for the ROCK 5 ITX board, built around the rk3588.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20240704153815.837392-2-heiko@sntech.de
2024-07-08 16:25:35 +02:00
Diederik de Haas
3087576e1c arm64: dts: rockchip: Add dma-names to uart1 on Pine64 rk3566 devices
Similar to bf6f26deb0 ("arm64: dts: rockchip: Add dma-names to uart1
on quartz64-b") also add the dma-names property to the other rk3566
devices from Pine64 with bluetooth functionality.

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
Tested-by: Riley Trautman <asonix.dev@gmail.com>
Link: https://lore.kernel.org/r/20240705163004.29678-4-didi.debian@cknow.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-08 16:25:35 +02:00
Diederik de Haas
dbdadc14b9 arm64: dts: rockchip: Add avdd supplies to hdmi on rock64
Pine64's Rock64 was missing the avdd supply properties on the hdmi node,
causing the following warnings:

  dwhdmi-rockchip ff3c0000.hdmi: supply avdd-0v9 not found, using dummy regulator
  dwhdmi-rockchip ff3c0000.hdmi: supply avdd-1v8 not found, using dummy regulator

In the Rock64 Schematic document version 2.0 those supplies are marked
as DVIDEO_AVDD_1V0 and DVIDEO_AVDD_1V8 respectively, but in version 3.0
those are named HDMI_AVDD_1V0 and HDMI_AVDD_1V8, which is a bit clearer.
In both versions those are connected to LDO3 and LDO1 respectively.

While the DeviceTree property is named 'avdd-0v9-supply' the
'rockchip,dw-hdmi.yaml' binding document notes the following:

  A 0.9V supply that powers up the SoC internal circuitry. The actual
  pin name varies between the different SoCs and is usually
  HDMI_TX_AVDD_0V9 or sometimes HDMI_AVDD_1V0.

So the 'vdd_10' reference is not an error.

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
Link: https://lore.kernel.org/r/20240704191919.38856-1-didi.debian@cknow.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-08 16:25:35 +02:00
Arnd Bergmann
90a4146de8 Merge tag 'dt64-cleanup-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt
Minor improvements in ARM64 DTS for v6.11

Few cleanups and improvements which were missed by their maintainers:
1. Spreadtrum: correct PMU nodes - split per clusters.
2. HiSilicon: add dedicated compatible to syscon node ("syscon" alone is
   not allowed).
3. APM: add dedicated compatible to syscon node (binding applied to MFD
   tree).

* tag 'dt64-cleanup-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  arm64: dts: apm: Add dedicated syscon poweroff compatibles
  arm64: dts: hisilicon: hi3660: add dedicated hi3660-usb3-otg-bc compatible
  dt-bindings: soc: hisilicon: document hi3660-usb3-otg-bc
  arm64: dts: sprd: Split PMU nodes for heterogeneous CPUs

Link: https://lore.kernel.org/r/20240702065359.7378-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:24:55 +02:00
Arnd Bergmann
c36a19ed7e Merge tag 'samsung-dt64-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt
Samsung DTS ARM64 changes for v6.10

1. Google GS101: Minor cleanup and add fake regulators to USB phy, to
   satisfy dtbs_check.  The PMIC providing these regulators is not yet
   implemented.

2. Exynos850: Add True Random Number Generator.

* tag 'samsung-dt64-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos850: Enable TRNG
  arm64: dts: exynos: gs101-oriole: add placeholder regulators for USB phy
  arm64: dts: exynos: gs101: reorder properties as per guidelines

Link: https://lore.kernel.org/r/20240702063514.6215-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:23:59 +02:00
Dan Carpenter
bc239eb271 bpf: Remove unnecessary loop in task_file_seq_get_next()
After commit 0ede61d858 ("file: convert to SLAB_TYPESAFE_BY_RCU") this
loop always iterates exactly one time.  Delete the for statement and pull
the code in a tab.

Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/bpf/ZoWJF51D4zWb6f5t@stanley.mountain
2024-07-08 16:23:19 +02:00
Arnd Bergmann
cdb3f6ba4b Merge tag 'tegra-for-6.11-arm64-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt
arm64: tegra: Device tree changes for v6.11-rc1

This contains one patch that reworks the device tree structure for
Jetson Orin NX and Jetson Orin Nano, which are both within the same
family. This restructuring makes it easier to extend both platforms
in a consistent way in the future.

* tag 'tegra-for-6.11-arm64-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Restructure Orin NX/Nano device tree

Link: https://lore.kernel.org/r/20240628210818.3627404-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:21:54 +02:00
Arnd Bergmann
74de3f227e Merge tag 'sunxi-fixes-for-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/fixes
Allwinner fixes for 6.10

- Fix PMIC interrupt number for Remix Mini PC

* tag 'sunxi-fixes-for-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: Fix PMIC interrupt number

Link: https://lore.kernel.org/r/ZoQY5k21RQLOrBQ3@wens.tw
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:17:22 +02:00
Arnd Bergmann
d8eb522fa3 Merge tag 'qcom-drivers-fixes-for-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes
Qualcomm driver fixes for v6.10

UCSI support is disabled on SC8280XP while being debugged, as it's
causing the system to crash. A recent LLCC QDU1000 binding change is
reverted, to allow expressing the LLCC memory regions.

* tag 'qcom-drivers-fixes-for-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  Revert "dt-bindings: cache: qcom,llcc: correct QDU1000 reg entries"
  soc: qcom: pmic_glink: disable UCSI on sc8280xp

Link: https://lore.kernel.org/r/20240702031157.341031-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:17:09 +02:00
Arnd Bergmann
f8fee978fb Merge tag 'qcom-arm64-defconfig-fixes-for-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes
Qualcomm Arm64 defconfig fixes for v6.10

Enable the Elan I2C HID driver, to enable the touchscreen on devices
such as the Lenovo Thinkpad X13s.

* tag 'qcom-arm64-defconfig-fixes-for-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: defconfig: enable Elan i2c-hid driver

Link: https://lore.kernel.org/r/20240702025740.339563-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:16:53 +02:00
Arnd Bergmann
bcec291967 Merge tag 'qcom-arm64-fixes-for-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes
Qualcomm Arm64 DeviceTree fixes for v6.10

This marks the PSHOLD node on SC8280XP as reserved, to resolve a
regression where a reset is triggered instead of a clean shutdown. Also
on SC8280XP the touchscreen properties are adjusted to make it properly
described on CRD and make it work on the Lenovo Thinkpad X13s.

Corrects the LLCC definitions on SC8180X and QDU1000 to allow these
drivers and their dependencies to probe.

X1 Elite CRD is given more CMA space, to avoid running out during boot,
as PCIe SMMU is not accessible.  Audio configuration is corrected, on
the same.

SM6115 SDHC is given an IOMMU stream, to avoid access issues.

Lastly the EL2 non-secure physical timer interrupt on SA8775P is
corrected from its previous incorrect value.

* tag 'qcom-arm64-fixes-for-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: dts: qcom: qdu1000: Fix LLCC reg property
  arm64: dts: qcom: sm6115: add iommu for sdhc_1
  arm64: dts: qcom: x1e80100-crd: fix DAI used for headset recording
  arm64: dts: qcom: x1e80100-crd: fix WCD audio codec TX port mapping
  arm64: dts: qcom: sc8280xp-crd: use external pull up for touch reset
  arm64: dts: qcom: sc8280xp-x13s: fix touchscreen power on
  arm64: dts: qcom: x1e80100: Fix PCIe 6a reg offsets and add MHI
  arm64: dts: qcom: sa8775p: Correct IRQ number of EL2 non-secure physical timer
  arm64: dts: qcom: sc8280xp: Set status = "reserved" on PSHOLD
  arm64: dts: qcom: x1e80100-*: Allocate some CMA buffers
  arm64: dts: qcom: sc8180x: Fix LLCC reg property again

Link: https://lore.kernel.org/r/20240702030913.340814-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-08 16:15:28 +02:00
Gao Xiang
2080ca1ed3 erofs: tidy up struct z_erofs_bvec
After revisiting the design, I believe `struct z_erofs_bvec` should
be page-based instead of folio-based due to the reasons below:

 - The minimized memory mapping block is a page;

 - Under the certain circumstances, only temporary pages needs to be
   used instead of folios since refcount, mapcount for such pages are
   unnecessary;

 - Decompressors handle all types of pages including temporary pages,
   not only folios.

When handling `struct z_erofs_bvec`, all folio-related information
is now accessed using the page_folio() helper.

The final goal of this round adaptation is to eliminate direct
accesses to `struct page` in the EROFS codebase, except for some
exceptions like `z_erofs_is_shortlived_page()` and
`z_erofs_page_is_invalidated()`, which require a new helper to
determine the memdesc type of an arbitrary page.

Actually large folios of compressed files seem to work now, yet I tend
to conduct more tests before officially enabling this for all scenarios.

Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20240703120051.3653452-4-hsiangkao@linux.alibaba.com
2024-07-08 22:09:42 +08:00
Gao Xiang
5b9654efb6 erofs: teach z_erofs_scan_folios() to handle multi-page folios
Previously, a folio just contains one page.  In order to enable large
folios, z_erofs_scan_folios() needs to handle multi-page folios.

First, this patch eliminates all gotos.  Instead, the new loop deal
with multiple parts in each folio.  It's simple to handle the parts
which belong to unmapped extents or fragment extents; but for encoded
extents, the page boundaries needs to be considered for `tight` and
`split` to keep inplace I/Os work correctly: when a part crosses the
page boundary, they needs to be reseted properly.

Besides, simplify `tight` derivation since Z_EROFS_PCLUSTER_HOOKED
has been removed for quite a while.

Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20240703120051.3653452-3-hsiangkao@linux.alibaba.com
2024-07-08 22:09:42 +08:00
Gao Xiang
90cd33d793 erofs: convert z_erofs_read_fragment() to folios
Just a straight-forward conversion.  No logic changes.

Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20240703120051.3653452-2-hsiangkao@linux.alibaba.com
2024-07-08 22:09:42 +08:00
Gao Xiang
1a4821a0a0 erofs: convert z_erofs_pcluster_readmore() to folios
Unlike `pagecache_get_page()`, `__filemap_get_folio()` returns error
pointers instead of NULL, thus switching to `IS_ERR_OR_NULL`.

Apart from that, it's just a straightforward conversion.

Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20240703120051.3653452-1-hsiangkao@linux.alibaba.com
2024-07-08 22:09:41 +08:00
Puranjay Mohan
a5912c37fa riscv, bpf: Optimize stack usage of trampoline
When BPF_TRAMP_F_CALL_ORIG is not set, stack space for passing arguments
on stack doesn't need to be reserved because the original function is
not called.

Only reserve space for stacked arguments when BPF_TRAMP_F_CALL_ORIG is
set.

Signed-off-by: Puranjay Mohan <puranjay@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Pu Lehui <pulehui@huawei.com>
Link: https://lore.kernel.org/bpf/20240708114758.64414-1-puranjay@kernel.org
2024-07-08 15:44:08 +02:00
Adam Ford
91f9f4a371 drm/bridge: adv7511: Fix Intermittent EDID failures
In the process of adding support for shared IRQ pins, a scenario
was accidentally created where adv7511_irq_process returned
prematurely causing the EDID to fail randomly.

Since the interrupt handler is broken up into two main helper functions,
update both of them to treat the helper functions as IRQ handlers. These
IRQ routines process their respective tasks as before, but if they
determine that actual work was done, mark the respective IRQ status
accordingly, and delay the check until everything has been processed.

This should guarantee the helper functions don't return prematurely
while still returning proper values of either IRQ_HANDLED or IRQ_NONE.

Reported-by: Liu Ying <victor.liu@nxp.com>
Fixes: f3d9683346 ("drm/bridge: adv7511: Allow IRQ to share GPIO pins")
Signed-off-by: Adam Ford <aford173@gmail.com>
Tested-by: Liu Ying <victor.liu@nxp.com> # i.MX8MP EVK ADV7535 EDID retrieval w/o IRQ
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240630221931.1650565-1-aford173@gmail.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

V3:  Remove unnecessary declaration of ret by evaluating the return
     code of regmap_read directly.

V2:  Fix uninitialized cec_status
     Cut back a little on error handling to return either IRQ_NONE or
     IRQ_HANDLED.
2024-07-08 16:03:11 +03:00
Liming Sun
c17aecf858 mmc: dw_mmc-bluefield: Add support for eMMC HW reset
The eMMC RST_N register is implemented as secure register on the BlueField
SoC and controlled by TF-A. This commit sends an SMC call to TF-A for the
eMMC HW reset.

Reviewed-by: David Thompson <davthompson@nvidia.com>
Signed-off-by: Liming Sun <limings@nvidia.com>
Link: https://lore.kernel.org/r/2c459196c6867e325f9386ec0559efea464cfdd6.1718213918.git.limings@nvidia.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-07-08 15:02:46 +02:00
Liming Sun
f21adcb866 mmc: dw_mmc: Add support for platform specific eMMC HW reset
This commit adds a new callback to allow drivers to support platform
specific eMMC HW reset.

Reviewed-by: David Thompson <davthompson@nvidia.com>
Signed-off-by: Liming Sun <limings@nvidia.com>
Link: https://lore.kernel.org/r/3df02ffa8bdaa74f5261c8914d2545b97fb3478a.1718213918.git.limings@nvidia.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-07-08 15:02:33 +02:00
Oleksij Rempel
5483cbfd86 net: dsa: microchip: lan9371/2: update MAC capabilities for port 4
Set proper MAC capabilities for port 4 on LAN9371 and LAN9372 switches with
integrated 100BaseTX PHY. And introduce the is_lan937x_tx_phy() function to
reuse it where applicable.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Acked-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2024-07-08 13:41:56 +01:00
Chris Packham
83c36e7cfd docs: networking: devlink: capitalise length value
Correct the example to match the help text from the devlink utility.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2024-07-08 13:39:07 +01:00
Frank Li
0f17a12787 spi: dt-bindings: fsl-dspi: add compatible string 'fsl,lx2160a-dspi'
Add compatible string 'fsl,lx2160a-dspi' and allow fall back to
'fsl,ls2085a-dspi'.
Fix below CHECK_DTBS warning.

arch/arm64/boot/dts/freescale/fsl-lx2160a-bluebox3.dtb: spi@2100000: compatible: 'oneOf' conditional failed, one must be fixed:
        ['fsl,lx2160a-dspi', 'fsl,ls2085a-dspi'] is too long

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20240703165931.2325807-2-Frank.Li@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-07-08 12:50:30 +01:00
Frank Li
2de9ae2044 spi: dt-bindings: fsl-dspi: add dmas and dma-names properties
Add dmas and dma-names properties because dspi support dma transfer.
Fix below warnings:
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var1.dtb: spi@2120000: Unevaluated properties are not allowed ('dma-names', 'dmas', 'little-endian' were unexpected)
        from schema $id: http://devicetree.org/schemas/spi/fsl,dspi.yaml#

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Link: https://patch.msgid.link/20240703165931.2325807-1-Frank.Li@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-07-08 12:50:29 +01:00
Li zeming
3bca1a3808 spi: spi: Remove unnecessary ‘0’ values from status
status is assigned first, so it does not need to initialize the assignment.

Signed-off-by: Li zeming <zeming@nfschina.com>
Link: https://patch.msgid.link/20240708041411.14424-1-zeming@nfschina.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-07-08 12:50:28 +01:00
Li zeming
0f2ecc3f61 spi: spi: Remove unnecessary ‘0’ values from rc
rc is assigned first, so it does not need to initialize the assignment.

Signed-off-by: Li zeming <zeming@nfschina.com>
Link: https://patch.msgid.link/20240708035320.14241-1-zeming@nfschina.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-07-08 12:50:27 +01:00
Frieder Schrempf
ef0b29e744 regulator: dt-bindings: pca9450: Make interrupt optional
The interrupt is optional in hardware and not connected on
some boards. Make it optional in the binding.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Link: https://patch.msgid.link/20240708084107.38986-3-frieder@fris.de
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-07-08 12:50:21 +01:00
Frieder Schrempf
83808c5406 regulator: pca9450: Make IRQ optional
The IRQ line might not be connected on some boards. Allow the driver
to be probed without it.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Link: https://patch.msgid.link/20240708084107.38986-5-frieder@fris.de
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-07-08 12:50:20 +01:00
Thomas Weißschuh
f21711bbdb regmap-irq: handle const struct regmap_irq_sub_irq_map
The struct instances supplied by the drivers are never modified.
Handle them as const in the regmap core allowing the drivers to put them
into .rodata.

Also add a new entry to const_structs.checkpatch to make sure future
instances of this struct already enter the tree as const.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Link: https://patch.msgid.link/20240706-regmap-const-structs-v1-2-d08c776da787@weissschuh.net
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-07-08 12:50:16 +01:00
Thomas Weißschuh
0f02ba48cd const_structs.checkpatch: add regmap structs
Many structs used by regmap should be const by default.
Add entries to const_structs.checkpatch for them for checkpatch.pl to
warn on new non-const additions.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Link: https://patch.msgid.link/20240706-regmap-const-structs-v1-1-d08c776da787@weissschuh.net
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-07-08 12:50:15 +01:00
Shenghao Ding
1cc509edbe ASoc: TAS2781: replace beXX_to_cpup with get_unaligned_beXX for potentially broken alignment
Use get_unaligned_be16 instead of be16_to_cpup and get_unaligned_be32
instead of be32_to_cpup for potentially broken alignment.

Signed-off-by: Shenghao Ding <shenghao-ding@ti.com>
Link: https://patch.msgid.link/20240707083011.98-1-shenghao-ding@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-07-08 12:50:10 +01:00
Krzysztof Kozlowski
522133d440 ASoC: dapm: Simplify snd_soc_dai_link_event_pre_pmu() with cleanup.h
Allocate the memory with scoped/cleanup.h in
snd_soc_dai_link_event_pre_pmu() to reduce error handling (less error
paths) and make the code a bit simpler.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20240703-asoc-cleanup-h-v1-11-71219dfd0aef@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-07-08 12:50:03 +01:00