Commit graph

1,447,411 commits

Author SHA1 Message Date
Gregory CLEMENT
5dff92a7bd of: reserved_mem: Fix placement of __free() annotation
The __free() annotation was incorrectly placed before the variable
name instead of after it, which resulted in the following checkpatch
errors:

ERROR: need consistent spacing around '*' (ctx:WxV)
+       struct device_node __free(device_node) *target = of_parse_phandle(np, "memory-region", idx);
                                               ^
WARNING: function definition argument 'idx' should also have an identifier name
+       struct device_node __free(device_node) *target = of_parse_phandle(np, "memory-region", idx);

As part of this cleanup, also remove the useless return statement
flagged by checkpatch.

Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Link: https://patch.msgid.link/20260107-mtd-memregion-v3-1-f9fc9107b992@bootlin.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:12 -06:00
Marek Vasut
0365adafdb dt-bindings: display/lvds-codec: Document OnSemi FIN3385
Add compatible string for OnSemi FIN3385, a FlatLink LVDS transmitter.

Signed-off-by: Marek Vasut <marex@nabladev.com>
Link: https://patch.msgid.link/20260121085347.10368-2-marex@nabladev.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:12 -06:00
Marek Vasut
ec2ff23bf5 dt-bindings: eeprom: at25: Document Microchip 25AA010A
The Microchip 25AA010A is a 1 Kbit SPI EEPROM with 16 Byte page.
Product page is at https://www.microchip.com/en-us/product/25AA010A

Signed-off-by: Marek Vasut <marex@nabladev.com>
Link: https://patch.msgid.link/20260121085347.10368-1-marex@nabladev.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:12 -06:00
Geert Uytterhoeven
febfd49a8c dt-bindings: display: bridge: nxp,tda998x: Add missing clocks
Some TDA998x variants (e.g. TDA19988) have an OSC_IN pin, to connect
an external oscillator circuit or clock source.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/2b66577296583a6787f770f0eb13c42a6b50768b.1768233569.git.geert+renesas@glider.be
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:12 -06:00
Andreas Kemnade
9dace5e4e2 dt-bindings: omap: ti,prm-inst: Convert to DT schema
Convert prm-inst binding to DT schema. Use the closest matching standard
node name in the example.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Link: https://patch.msgid.link/20260120-prm-inst-v2-1-a025873cee27@kemnade.info
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:12 -06:00
Nauman Sabir
554fb14165 dt-bindings: display: mediatek: Fix typo 'hardwares' to 'hardware'
Fix incorrect plural form of the uncountable noun 'hardware' in the
MediaTek DP binding description.

Signed-off-by: Nauman Sabir <officialnaumansabir@gmail.com>
Link: https://patch.msgid.link/20260115230058.7704-1-officialnaumansabir@gmail.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:11 -06:00
Rob Herring (Arm)
c0238bbba7 dt-bindings: mfd: Add Realtek RTD1xxx system controllers
The Realtek system controllers are already in use with only generic
'"syscon", "simple-mfd"' compatibles and are missing specific
compatibles as required. Add a schema with specific compatibles. The
labels used in .dts files serve as the basis for the names.

It's doubtful the child nodes upstream are complete and I don't have
documentation, so the specific child nodes aren't documented here. Of
the ones in use, bindings already exist for them.

Link: https://patch.msgid.link/20251215212624.3319681-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:11 -06:00
Krzysztof Kozlowski
dde77e6dc9 dt-bindings: mediatek: Replace Tinghan Shen in maintainers
Emails to Tinghan Shen bounce permanently with "550 Relaying mail to
tinghan.shen@mediatek.com is not allowed (in reply to RCPT TO command)",
so switch to AngeloGioacchino Del Regno - Mediatek SoC platform
maintainer.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Acked-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Link: https://patch.msgid.link/20260116172915.99811-2-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:11 -06:00
Krzysztof Kozlowski
aa13528889 dt-bindings: Fix I2C bus node names in examples
I2C bus node names are expected to be just "i2c", if there is just one
such node in given example.  Replace remaining bad examples with
scripted:

  git grep -l '\si2c[0-9] {' Documentation/devicetree/ | xargs sed -i -e 's/i2c[0-9] {/i2c {/'

Suggested-by: Rob Herring <robh@kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patch.msgid.link/20260114081322.53411-2-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:11 -06:00
Kuan-Wei Chiu
d897a50e0c dt-bindings: display: google,goldfish-fb: Convert to DT schema
Convert the Android Goldfish Framebuffer binding to DT schema format.
Update the example node name to 'display' to comply with generic node
naming standards.

Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
Link: https://patch.msgid.link/20260113092602.3197681-7-visitorckw@gmail.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:11 -06:00
Marek Vasut
d80c9abe02 dt-bindings: display: bridge: tc358867: mark port 0 and 1 configuration as valid
Current binding document enforces presence of either port@0 (DSI in) or
port@1 (DPI IN/OUT), with port@2 (DP out) being optional. This bridge is
capable of DSI->DP, DPI->DP and DPI->DP, it is therefore perfectly valid
to have both port@0 and port@1 described in the DT, because this is fairy
standard DPI->DP configuration of this bridge. Replace oneOf with anyOf
to cover this configuration.

Signed-off-by: Marek Vasut <marex@nabladev.com>
Link: https://patch.msgid.link/20260107213546.505137-1-marex@nabladev.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:11 -06:00
Francesco Valla
04657c4060 of: property: fw_devlink: Add support for "mmc-pwrseq"
Add support for parsing MMC power sequencing (pwrseq) binding so that
fw_devlink can enforce the dependency.

Signed-off-by: Francesco Valla <francesco@valla.it>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://patch.msgid.link/20260110-mmc-pwrseq-v1-1-73de9d6456f4@valla.it
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:11 -06:00
Krzysztof Kozlowski
1638b8a34e docs: dt: submitting-patches: Document prefixes for SCSI and UFS
Devicetree bindings patches going through SCSI/UFS trees also use
reversed subject prefix.

Cc: Martin K. Petersen <martin.petersen@oracle.com>
Cc: linux-scsi@vger.kernel.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260107132248.47877-2-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:11 -06:00
Marek Vasut
8aa2f0ac08 dt-bindings: display: bridge: ldb: Add check for reg and reg-names
Make "reg" property mandatory for all LDB devices and "reg-names"
mandatory for i.MX8MP and i.MX93 which have two "reg" values. The
i.MX6SX has only one "reg" value so the "reg-names" property there
is optional and not needed.

Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Link: https://patch.msgid.link/20260106012236.295834-1-marek.vasut@mailbox.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:11 -06:00
Luka Kovacic
d933808331 dt-bindings: Add IEI vendor prefix and IEI WT61P803 PUZZLE driver bindings
Add the IEI WT61P803 PUZZLE Device Tree bindings for MFD, HWMON and LED
drivers. A new vendor prefix is also added accordingly for
IEI Integration Corp.

Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr>
Signed-off-by: Pavo Banicevic <pavo.banicevic@sartura.hr>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Cc: Robert Marko <robert.marko@sartura.hr>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://patch.msgid.link/20210824124438.14519-2-luka.kovacic@sartura.hr
[robh: fix warnings from current tools]
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:11 -06:00
Rob Herring (Arm)
949c38ad4b dt-bindings: trivial-devices: Add some more undocumented devices
Add a few trivial devices which are already in use in Nuvoton
and ASpeed DTS files.

Link: https://patch.msgid.link/20260105211255.3431856-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:11 -06:00
Rasmus Villemoes
b96b485755 of: property: stop creating callback for each pinctrl-N property
While not a lot in the grand scheme of things, this eliminates 8*2
pointless function calls for almost every property present in the
device tree (the exception are the few properties that were already
matched). It also seems to reduce .text by about 1.5K - why gcc
decides to inline parse_prop_cells() in every instantiation I don't know.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Link: https://patch.msgid.link/20251219121811.390988-1-linux@rasmusvillemoes.dk
[robh: Drop the commit msg comment that >9 doesn't work as it would]
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00
Tuo Li
d289cb7fce of: unittest: fix possible null-pointer dereferences in of_unittest_property_copy()
This function first duplicates p1 and p2 into new, and then checks whether
the duplication succeeds. However, if the duplication fails (e.g.,
kzalloc() returns NULL in __of_prop_dup()), new will be NULL but is still
dereferenced in __of_prop_free(). To ensure that the unit test continues to
run even when duplication fails, add a NULL check before calling
__of_prop_free().

Fixes: 1c5e3d9bf3 ("of: Add a helper to free property struct")
Signed-off-by: Tuo Li <islituo@gmail.com>
Link: https://patch.msgid.link/20260105071438.156186-1-islituo@gmail.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00
Binbin Zhou
5872df37c4 dt-bindings: interrupt-controller: loongson,pch-pic: Document address-cells
The Loongson PCH interrupt controller can be referenced in interrupt-map
properties (e.g. in arch/loongarch/boot/dts/loongson-2k2000.dtsi), thus
the nodes should have address-cells property.

Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Link: https://patch.msgid.link/e531084ee65a695ec08d0f559caec067877fb9a5.1767505859.git.zhoubinbin@loongson.cn
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00
Binbin Zhou
3efe078d9d dt-bindings: interrupt-controller: loongson,eiointc: Document address-cells
The Loongson Extend I/O interrupt controller can be referenced in
interrupt-map properties (e.g. in
arch/loongarch/boot/dts/loongson-2k0500.dtsi), thus the nodes should
have address-cells property.

Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Link: https://patch.msgid.link/3e903541d37432c88c27272094420b03418a607d.1767505859.git.zhoubinbin@loongson.cn
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00
Binbin Zhou
08a953754a dt-bindings: interrupt-controller: loongson,liointc: Document address-cells
The Loongson local I/O interrupt controller can be referenced in
interrupt-map properties (e.g. in
arch/loongarch/boot/dts/loongson-2k1000.dtsi), thus the nodes should
have address-cells property.

Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Link: https://patch.msgid.link/fb3811b6bc387aa23adfc0aaf9a0a31c2d468e79.1767505859.git.zhoubinbin@loongson.cn
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00
Rob Herring (Arm)
ec47eb49a3 dt-bindings: power: syscon-poweroff: Allow "reg" property
Similar to "syscon-reset", allow using the standard "reg" property
rather than "offset".

Link: https://patch.msgid.link/20251216211556.3047726-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00
Rob Herring (Arm)
e03a631628 dt-bindings: reset: syscon-reboot: Allow both 'reg' and 'offset'
For compatibility, it is necessary to support both 'reg' and 'offset' at
the same time.

Link: https://patch.msgid.link/20251215212648.3320333-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00
Krzysztof Kozlowski
16f47ecae1 of/platform: Simplify with scoped for each OF child loop
Use scoped for-each loop when iterating over device nodes to make code a
bit simpler.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20251231120926.66185-2-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00
Krzysztof Kozlowski
4ed31b0c4c dt-bindings: mediatek: Drop inactive MandyJH Liu
There are no emails from MandyJH Liu, no reviews [1] of these bindings, so
clearly no maintenance is happening here.  Switch to Mediatek SoC
maintainers.

Cc: MandyJH Liu <mandyjh.liu@mediatek.com>
Link: https://lore.kernel.org/all/?q=f%3Amandyjh.liu%40mediatek.com [1]
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20251219074035.13001-2-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00
Rob Herring (Arm)
515f85d0e7 dt-bindings: arm: Drop obsolete brcm,vulcan-soc binding
The Cavium ThunderX2 aka Broadcom Vulcan doesn't use DT, but ACPI, so drop
the SoC binding.

Link: https://patch.msgid.link/20251215213022.3325133-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00
Rob Herring (Arm)
91c6a33175 dt-bindings: net: brcm,amac: Allow "dma-coherent" property
The Broadcom AMAC controller is DMA coherent on some platforms, so allow
the dma-coherent property.

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20251215212709.3320889-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00
Rob Herring (Arm)
df7358ab88 dt-bindings: raspberrypi,bcm2835-firmware: Add 'power' and gpio-hog nodes
Add missing child nodes for the RaspberryPi firmware. The firmware
implements a power domain provider in a 'power' node. GPIO hog nodes are
also already in use.

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20251215213513.3331128-2-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:10 -06:00
Rob Herring (Arm)
62fedca4ff dt-bindings: firmware: Convert cznic,turris-mox-rwtm to DT schema
Convert the CZ.NIC Turris Mox rWTM firmware binding to DT schema format.
Add the "marvell,armada-3700-rwtm-firmware" compatible which was not
documented.

Link: https://patch.msgid.link/20251215212545.3318816-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:09 -06:00
Bartosz Golaszewski
d7d41a6bae of: replace strcmp_suffix() with strends()
string.h now provides strends() which fulfills the same role as the
locally implemented strcmp_suffix(). Use it in of/property.c.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://patch.msgid.link/20251217134308.33839-1-bartosz.golaszewski@oss.qualcomm.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:09 -06:00
Rob Herring (Arm)
6c4de79bc4 dt-bindings: trivial-devices: Add socionext,uniphier-smpctrl
The "socionext,uniphier-smpctrl" binding is just a "compatible" and
"reg" entry, so add it to trivial-devices.yaml.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20251215212532.3318546-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:09 -06:00
Ronak Jain
26dfe3a6d9 dt-bindings: firmware: xilinx: Add conditional pinctrl schema
Updates the Device Tree bindings for Xilinx firmware by introducing
conditional schema references for the pinctrl node.

Previously, the pinctrl node directly referenced
xlnx,zynqmp-pinctrl.yaml. However, this patch modifies the schema to
conditionally apply the correct pinctrl schema based on the compatible
property. Specifically:
- If compatible contains "xlnx,zynqmp-pinctrl", reference
  xlnx,zynqmp-pinctrl.yaml.
- If compatible contains "xlnx,versal-pinctrl", reference
  xlnx,versal-pinctrl.yaml.

Additionally, an example entry for "xlnx,versal-pinctrl" has been
added under the examples section.

Signed-off-by: Ronak Jain <ronak.jain@amd.com>
Link: https://patch.msgid.link/20251212100542.2756757-3-ronak.jain@amd.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:09 -06:00
Ronak Jain
93fb82ec34 dt-bindings: firmware: xilinx: Add xlnx,zynqmp-firmware compatible
The absence of a compatible property caused dt_binding_check to skip
the zynqmp_firmware node.

To address this, add "xlnx,zynqmp-firmware" to the compatible property
in the example section for the zynqmp_firmware node.

Signed-off-by: Ronak Jain <ronak.jain@amd.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251212100542.2756757-2-ronak.jain@amd.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:09 -06:00
Rob Herring (Arm)
ff7e082ea4 dt-bindings: Remove unused includes
Remove includes which are not referenced by either DTS files or drivers.

There's a few more which are new, so they are excluded for now.

Reviewed-by: Linus Walleij <linusw@kernel.org>
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20251212231203.727227-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:09 -06:00
Rob Herring (Arm)
180547ebd8 dt-bindings: bus: stm32mp25-rifsc: Allow 2 size cells
There are users already with 2 size cells, and there's no reason to not
support that.

Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Link: https://patch.msgid.link/20251215212700.3320634-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:09 -06:00
Rob Herring (Arm)
533db14fdf dt-bindings: arm: vexpress-config: Update clock and regulator node names
The clock and regulator node names were updated to use standard node names,
but the binding wasn't updated.

Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://patch.msgid.link/20251215212914.3323741-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:09 -06:00
Rob Herring (Arm)
ddd77dd055 dt-bindings: arm,vexpress-juno: Allow interrupt-map properties in bus node
Allow interrupt-map properties which are already used in the bus node.

Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://patch.msgid.link/20251215212932.3324144-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:09 -06:00
Rob Herring (Arm)
417bc40dc1 MAINTAINERS: Add Makefile.dtb* to DT maintainers
Since the DT related parts of kbuild are now split out to separate
makefiles, list them in the DT maintainer section so they don't fall
thru the cracks.

Acked-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Nicolas Schier <nsc@kernel.org>
Link: https://patch.msgid.link/20251215191421.3137362-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-02-03 20:58:09 -06:00
Bart Van Assche
4d0538dd5d scsi: ufs: core: Use a host-wide tagset in SDB mode
In single-doorbell (SDB) mode there is only a single request queue. Hence,
it doesn't matter whether or not the SCSI host tagset is configured as
host-wide. Configure the host tagset as host-wide in SDB mode because this
enables a simplification of the hot path.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Link: https://patch.msgid.link/20260116180800.3085233-1-bvanassche@acm.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2026-02-03 21:56:27 -05:00
Dave Airlie
8302d0afea nouveau/gsp: fix suspend/resume regression on r570 firmware
The r570 firmware with certain GPUs (at least RTX6000) needs this
flag to reflect the suspend vs runtime PM state of the driver.

This uses that info to set the correct flags to the firmware.

This fixes a regression on RTX6000 and other GPUs since r570 firmware
was enabled.

Fixes: 53dac06238 ("drm/nouveau/gsp: add support for 570.144")
Cc: <stable@vger.kernel.org>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Tested-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patch.msgid.link/20260203052431.2219998-4-airlied@gmail.com
2026-02-04 12:17:57 +10:00
Dave Airlie
8f8a4dce64 nouveau: add a third state to the fini handler.
This is just refactoring to allow the lower layers to distinguish
between suspend and runtime suspend.

GSP 570 needs to set a flag with the GPU is going into GCOFF,
this flag taken from the opengpu driver is set whenever runtime
suspend is enterning GCOFF but not for normal suspend paths.

This just refactors the code, a subsequent patch use the information.

Fixes: 53dac06238 ("drm/nouveau/gsp: add support for 570.144")
Cc: <stable@vger.kernel.org>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Tested-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patch.msgid.link/20260203052431.2219998-3-airlied@gmail.com
2026-02-04 12:17:43 +10:00
Dave Airlie
90caca3b72 nouveau/gsp: use rpc sequence numbers properly.
There are two layers of sequence numbers, one at the msg level
and one at the rpc level.

570 firmware started asserting on the sequence numbers being
in the right order, and we would see nocat records with asserts
in them.

Add the rpc level sequence number support.

Fixes: 53dac06238 ("drm/nouveau/gsp: add support for 570.144")
Cc: <stable@vger.kernel.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Tested-by: Lyude Paul <lyude@redhat.com>
Link: https://patch.msgid.link/20260203052431.2219998-2-airlied@gmail.com
2026-02-04 12:17:34 +10:00
Jakub Kicinski
bb23f167f3 Merge branch 'net-stmmac-rk-cleanups-v3-mode-and-speed-for-most'
Russell King says:

====================
net: stmmac: rk: cleanups v3: mode and speed for most

Third installment in the rk cleanups, this converts the interface mode
and speed configuration for most RK SoCs.
====================

Link: https://patch.msgid.link/aYB2cKRu3DQh6yXK@shell.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-02-03 18:01:48 -08:00
Russell King (Oracle)
5031e35f34 net: stmmac: rk: convert px30
Use rk_set_clk_mac_speed() rather than px30 specific function for
configuring RMII clock.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1vmqnR-00000007VDE-2fM1@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-02-03 17:59:10 -08:00
Russell King (Oracle)
3cf4dfa7b0 net: stmmac: rk: remove need for ->set_speed() method
As we can detect whether the SoC provides the parameters necessary for
rk_set_reg_speed(), we don't need to have explicit calls to this.
Instead, we can move the contents of this function to
rk_set_clk_tx_rate().

This remsoves all the .set_speed() implementations that merely go on to
invoke rk_set_reg_speed().

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1vmqnM-00000007VD8-1xWo@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-02-03 17:59:10 -08:00
Russell King (Oracle)
33c5c9473a net: stmmac: rk: use rk_encode_wm16() for RMII clock
The RMII clock is a single bit, which is set for 100M and clear for
10M. Move this out of struct rk_reg_speed_data (which gets rid of
this structure) into the struct rk_clock_fields as the bitmask for
this bit.

This gets rid of the per-SoC variability in the calls to
rk_set_reg_speed().

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1vmqnH-00000007VCz-1WmP@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-02-03 17:59:10 -08:00
Russell King (Oracle)
4dc66f93b4 net: stmmac: rk: use rk_encode_wm16() for RMII speed
The RMII speed configuration is encoded as a single bit, which is set
for 100M and clean for 10M. Provide the bitfield definition in
struct rk_clock_fields, moving it out of struct rk_reg_speed_data's
rmii_10 and rmii_100 initialisers. Update rk_set_reg_speed() to handle
the new definition location of this bit.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1vmqnC-00000007VCt-0oRg@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-02-03 17:59:09 -08:00
Russell King (Oracle)
b9544c128c net: stmmac: rk: use rk_encode_wm16() for RGMII clocks
As all of the RGMII clock selection bitfields (gmii_clk_sel) use the
same encoding, parameterise this by providing the bitfield mask in
the BSP private data.

This is the last user of GRF_FIELD_CONST(), so remove that definition
as well.

One additional change is for RK3328 - as only gmac2io supports RGMII,
only initialise the mask for this instance.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1vmqn7-00000007VCn-0OZA@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-02-03 17:59:09 -08:00
Russell King (Oracle)
0c8107dbe7 net: stmmac: rk: remove rk3528 RMII clock initialisation
There is no need to pre-initialise the rk3528 RMII clock when
selecting RMII mode on gmac0.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1vmqn1-00000007VCh-47Sv@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-02-03 17:59:09 -08:00
Russell King (Oracle)
8e4b4004e8 net: stmmac: rk: convert rk3588 to rk_set_reg_speed()
Update rk_set_reg_speed() to use either the grf or php_grf regmap
depending on the SoC's requirements and convert rk3588, removing
its custom code.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1vmqmw-00000007VCb-3glG@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-02-03 17:59:08 -08:00