Commit graph

1,399,042 commits

Author SHA1 Message Date
Yixun Lan
02f27ea7fa dt-bindings: sram: sunxi-sram: Add A523 compatible
The Allwinner A523 family of SoCs have their "system control" registers
compatible to the A64 SoC, so add the new SoC specific compatible string.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Yixun Lan <dlan@gentoo.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250430-01-sun55i-emac0-v3-1-6fc000bbccbd@gentoo.org
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2025-05-03 01:27:33 +08:00
Linus Torvalds
e205ff48fa block-6.15-20250502
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmgU+bEQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgpnTBD/9oY0sWBvz1JZBpMCsJU2PVVfBska/jDnLd
 JuXOdA8dedtdF/7/Cc5Ao7X2ERzMr83AU+BGn9d+FBK3aXm+YGyCMAGNKIM8hHZk
 OXhs0+Reotig4uypKMOGjXoNp2+79NxqKtTagRD488jmuAdSDGokakMwS7Ze6EHo
 0u9tf/isgpszFcpae2dAwfh4I9+dORWqvwprqMIDv8kvCD+qtxnKJHhhxDzfBeTX
 GA85ne4lg4ny4qTsuY3aiiNp4AbiFxYkt+rdlpZAtuhAwCX4ef0F31z3RFvp9JDj
 zMA8gtAlrXt/fmjywF1rbg8pAUokq2odasg/la1LK2S7i/t2GJ3JktEA4DHeEMaq
 K6gsEAwsFF7f2EIE3phGgkxghMqQwMlyG+QeqULvjdyUHOjE8gd6wT6f9R96aFZY
 YTX5E0C7w3nK1uRU62ff33qDtRCF+zFR+SPMuY+ESCCaFV1FuZJVIt8AqftUBUta
 A6l33rfzm7KjUh8lHqtjGZJeRMBvlyV+4KXF2sHRdHpaYKBC1IafQFx3yCauCADV
 JTJ481UbGJ2P6bOHreL+A5jnT6ijI4oXPqWMDwe3VcUc9Gn3No/ypaAF3Sol3jhF
 1A0Qy7KNv4aQK3KqhFjNSrRtfhs5J7UFH9ZMd/TUEWGGSpjYW3IpQS0erGcs8xA5
 krmQZL2jow==
 =nAdL
 -----END PGP SIGNATURE-----

Merge tag 'block-6.15-20250502' of git://git.kernel.dk/linux

Pull block fixes from Jens Axboe:

 - NVMe pull request via Christoph:
     - fix queue unquiesce check on PCI slot_reset (Keith Busch)
     - fix premature queue removal and I/O failover in nvme-tcp (Michael
       Liang)
     - don't restore null sk_state_change (Alistair Francis)
     - select CONFIG_TLS where needed (Alistair Francis)
     - always free derived key data (Hannes Reinecke)
     - more quirks (Wentao Guan)

 - ublk zero copy fix

 - ublk selftest fix for UBLK_F_NEED_GET_DATA

* tag 'block-6.15-20250502' of git://git.kernel.dk/linux:
  nvmet-auth: always free derived key data
  nvmet-tcp: don't restore null sk_state_change
  nvmet-tcp: select CONFIG_TLS from CONFIG_NVME_TARGET_TCP_TLS
  nvme-tcp: select CONFIG_TLS from CONFIG_NVME_TCP_TLS
  nvme-tcp: fix premature queue removal and I/O failover
  nvme-pci: add quirks for WDC Blue SN550 15b7:5009
  nvme-pci: add quirks for device 126f:1001
  nvme-pci: fix queue unquiesce check on slot_reset
  ublk: remove the check of ublk_need_req_ref() from __ublk_check_and_get_req
  ublk: enhance check for register/unregister io buffer command
  ublk: decouple zero copy from user copy
  selftests: ublk: fix UBLK_F_NEED_GET_DATA
2025-05-02 10:24:37 -07:00
Linus Torvalds
731e5e1a5b io_uring-6.15-20250502
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmgU+cYQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgpoFVD/0aEdC9uYnU9aDwBD8qahbo3xIXTVf3ZWsb
 BINHxoA2FOM/NDwf8pohbvkrgbum7pE+wQBl8DFfJaNl4cxvHf/wK+jTOIrg/rMr
 7k6k2J1AlLNzGuQds0IL6CjJTNNzqMwN2/7mLyfBtr5eH3c2Ai1QDSMowcPNBMmW
 M6XMBpG0YXh35mxLKZaSeN91IzUzKDnRGuafiJOWXGc80Al5m9u5XPaarefj9/7g
 YPgEyxuUBS5R5/Q8Q5ZIwaTWmySAJjzD7c8c/HuGLjqaMJEGs+sVhZX77BC71/VY
 QUW3fHY+Vi6qfQMpSV46EqoKBYMWFqePSj0Oe3MTY0Rz3JiQ9j8jY7NXBpPxPR8N
 oOwg9fTWJNUTVL0SyXlUqe6gHLxrg8PKLvCEdfbfno8TikOP8I1YeOpT9LUSvLvQ
 e4mcS/p16lDnt5Hn9jzaWRUy278trSsuw8dcheQkbTZA8ScqnesaJyT/iIWQLKhb
 GE8L1sG0Vk2wk9tU+zJGmTdA+CPoKTUgvznEsKKS+JT17Cypmj98dGKP+WLtFs3S
 Vkpw4hBqSRSPIWw1xsz2jIy0fkTW/wzodlbyPAmEDV3UFma63/cW6KH+pponMVy6
 wk2pAY7LalvmT3Vuu+883rcWBj2ZeWAnvK5FGrpspNXJv6bXRGabonQHg2FmQ2SX
 aTotRb1oqQ==
 =oTOy
 -----END PGP SIGNATURE-----

Merge tag 'io_uring-6.15-20250502' of git://git.kernel.dk/linux

Pull io_uring fix from Jens Axboe:
 "Just a single fix, annotating the fdinfo side SQ/CQ head/tail reads
  with data_race() as they are known racy.

  Only serves to silence syzbot testing, by definition these debug
  outputs are going to be racy as they may change as soon as we've read
  them"

* tag 'io_uring-6.15-20250502' of git://git.kernel.dk/linux:
  io_uring/fdinfo: annotate racy sq/cq head/tail reads
2025-05-02 10:21:34 -07:00
Dimitri Fedrau
2006016ec6 pwm: add support for NXPs high-side switch MC33XS2410
The MC33XS2410 is a four channel high-side switch. Featuring advanced
monitoring and control function, the device is operational from 3.0 V to
60 V. The device is controlled by SPI port for configuration.

Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
Link: https://lore.kernel.org/r/20250407-mc33xs2410-v9-2-57adcb56a6e4@liebherr.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
2025-05-02 18:39:21 +02:00
Dimitri Fedrau
8b872a912a dt-bindings: pwm: add support for MC33XS2410
Adding documentation for NXPs MC33XS2410 high side switch.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
Link: https://lore.kernel.org/r/20250407-mc33xs2410-v9-1-57adcb56a6e4@liebherr.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
2025-05-02 18:39:21 +02:00
Linus Torvalds
2bfcee565c bcachefs fixes for 6.15-rc5
Lots of assorted small fixes...
 
 - Some repair path fixes, a fix for -ENOMEM when reconstructing lots of
   alloc info on large filesystems, upgrade for ancient 0.14 filesystems,
   etc.
 
 - Various assert tweaks; assert -> ERO, ERO -> log the error in the
   superblock and continue
 
 - casefolding now uses d_ops like on other casefolding filesystems
 
 - fix device label create on device add, fix bucket array resize on
   filesystem resize
 
 - fix xattrs with FORTIFY_SOURCE builds with gcc-15/clang
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEKnAFLkS8Qha+jvQrE6szbY3KbnYFAmgUH1EACgkQE6szbY3K
 bnYxhg//ft1LGlIHe7lioMa4AjJJBlGVezqp17WXaSAQfFgAO/0eBqhLmExeE5Rf
 4Bmsb3EN5oY2eTJx7ECr/eYJWvSVChyRCzIyfekqX9ufBSNm5K+oEGbXoKwNyu8/
 YpJnhSch2y9RvlP5C8gxNn2mA3U5mtKi2Lnkwwyavd4HCan9jwu8psWgPNTdBaG2
 +TFBmQ0yPDkZqZGpUffJeLeW2DLAtEpcgqSRXBnE5oHie8gqlm+Tjbve9+qdU65T
 +M9V/WR6OJk/NAPD5obbi5w3fDHp4OXitubWMYI/3smoMt+i9FwXLhmACS2uKFYl
 6cG3fena2lTCixvAs3OJ26xAyXT9XqUpL9z9Hq+P87Z5uFyCnsfFG28QKP7MCgHi
 JaLVP8mw4ruu8ZaO95JV0oX7fYajiv8okOkuCHca9+7CrZJCxKVtwGWxy9l5NEW0
 jGmYjIt4TSoMWmE7QZCYWonYHyxqXkJag4+Tqz2R0RjwnHjqwRDsaDT0j3a1G6R8
 qhUA0FNJVTWd1BQIwCN+JsX00LCZCV9QlyCCCn+U9trfTq2IYpGTFqB7dtAJZAwb
 ucxk40BrbHVW+1jyMRVrau/1NbFlAvX1DmIGK/LWALQAvDQ9UY+TAEXobsAILIYg
 WpUb39qAPKYGdG3D+DnBVfYPi/O2yY1MnQ1NF2XbCZe92m5bNCQ=
 =zAeu
 -----END PGP SIGNATURE-----

Merge tag 'bcachefs-2025-05-01' of git://evilpiepirate.org/bcachefs

Pull bcachefs fixes from Kent Overstreet:
 "Lots of assorted small fixes...

   - Some repair path fixes, a fix for -ENOMEM when reconstructing lots
     of alloc info on large filesystems, upgrade for ancient 0.14
     filesystems, etc.

   - Various assert tweaks; assert -> ERO, ERO -> log the error in the
     superblock and continue

   - casefolding now uses d_ops like on other casefolding filesystems

   - fix device label create on device add, fix bucket array resize on
     filesystem resize

   - fix xattrs with FORTIFY_SOURCE builds with gcc-15/clang"

* tag 'bcachefs-2025-05-01' of git://evilpiepirate.org/bcachefs: (22 commits)
  bcachefs: Remove incorrect __counted_by annotation
  bcachefs: add missing sched_annotate_sleep()
  bcachefs: Fix __bch2_dev_group_set()
  bcachefs: Kill ERO for i_blocks check in truncate
  bcachefs: check for inode.bi_sectors underflow
  bcachefs: Kill ERO in __bch2_i_sectors_acct()
  bcachefs: readdir fixes
  bcachefs: improve missing journal write device error message
  bcachefs: Topology error after insert is now an ERO
  bcachefs: Use bch2_kvmalloc() for journal keys array
  bcachefs: More informative error message when shutting down due to error
  bcachefs: btree_root_unreadable_and_scan_found_nothing autofix for non data btrees
  bcachefs: btree_node_data_missing is now autofix
  bcachefs: Don't generate alloc updates to invalid buckets
  bcachefs: Improve bch2_dev_bucket_missing()
  bcachefs: fix bch2_dev_buckets_resize()
  bcachefs: Add upgrade table entry from 0.14
  bcachefs: Run BCH_RECOVERY_PASS_reconstruct_snapshots on missing subvol -> snapshot
  bcachefs: Add missing utf8_unload()
  bcachefs: Emit unicode version message on startup
  ...
2025-05-02 09:12:29 -07:00
Linus Torvalds
85951e19c4 Pin control fixes for the v6.15 series:
- Fix potential NULL dereference in the i.MX driver.
 
 - Fix the pull up/down resistor values in the Meson driver.
 
 - Fix the mapping of the PHY LED pins in the Airhoa driver.
 
 - Fix EINT interrupts on older controllers and a debounce value
   issue in the Mediatek driver.
 
 - Fix an erronoeus PINGROUP define in the Qualcomm driver.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmgUsegACgkQQRCzN7AZ
 XXOVzhAAmheT7866Vm29LJAGrZWBmJf+c31Nag4wmh7YGeIskYQyxR4egRvI+y59
 nhebwAnwXt5xmNFY0NEz3nzG6ZaZ4+aBc59AOa9MbbM4Gxw2JPKTFY8ae1kZyQoi
 vJ3QztWcqkjlthVYQ3EKzM4QFTwyH5X/HcB9niwf6D5IYHQW6Lkhovpjzpsipa5G
 0q79LS+3171OzyjcTiQ1lv+4WcbHyFKTobN1QvsvwgZPVDIZh7aPU20REcsLZecN
 g1xcg5RN0CQERyUnJcinq2f31ygzfHFRJELiSBlwz/O7QZ87BvjO2oQT4mxNUbei
 8r4PWrf7jQNPKISxPwYTxfSO08aVLISCnB349ujpuhpdcfwv+ZPxmrKfr4Zxzx0D
 fd3Vd/zbeiHqJhWA9F+HScdUs2JM7Xu2x8J+X/RUh6dAKXQAm1Cu/2O8xA7Y75e9
 st4K/ZDRzMGE8CK4uI1NraQawiSI6ay4ZTl1Wt6rLVWSpbppSjG0DxB8u2/GxXB8
 QD+PBhaudIcw8zrAzD5S41IqJOB/ilacQ39y43Vd62IRvUFqOidWqJzKTOYphSgB
 afGoRu+2zPVGWbCcxSdF/HGCwpre9O167pnNF0WXFqalQOlknRMtoz8sXHA8Fqn6
 6/THTt0JMObO9RqX+eTMZlcwDlfPlqakGIoz8xA7izUn+4IUV7k=
 =0abV
 -----END PGP SIGNATURE-----

Merge tag 'pinctrl-v6.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull pin control fixes from Linus Walleij:

 - Fix potential NULL dereference in the i.MX driver

 - Fix the pull up/down resistor values in the Meson driver

 - Fix the mapping of the PHY LED pins in the Airhoa driver

 - Fix EINT interrupts on older controllers and a debounce value issue
   in the Mediatek driver

 - Fix an erronoeus PINGROUP define in the Qualcomm driver

* tag 'pinctrl-v6.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
  pinctrl: qcom: Fix PINGROUP definition for sm8750
  pinctrl: mediatek: common-v1: Fix error checking in mtk_eint_init()
  pinctrl: mediatek: Fix new design debounce issue
  pinctrl: mediatek: common-v1: Fix EINT breakage on older controllers
  pinctrl: airoha: fix wrong PHY LED mapping and PHY2 LED defines
  pinctrl: meson: define the pull up/down resistor value as 60 kOhm
  pinctrl: imx: Return NULL if no group is matched and found
2025-05-02 09:04:25 -07:00
Judith Mendez
f55c9f087c arm64: dts: ti: k3-am65-main: Add missing taps to sdhci0
For am65x, add missing ITAPDLYSEL values for Default Speed and High
Speed SDR modes to sdhci0 node according to the device datasheet [0].

[0] https://www.ti.com/lit/gpn/am6548

Fixes: eac99d38f8 ("arm64: dts: ti: k3-am654-main: Update otap-del-sel values")
Cc: stable@vger.kernel.org
Signed-off-by: Judith Mendez <jm@ti.com>
Reviewed-by: Moteen Shah <m-shah@ti.com>
Link: https://lore.kernel.org/r/20250429173009.33994-1-jm@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 10:58:12 -05:00
Judith Mendez
9c6b73fc72 arm64: dts: ti: k3-am62p-j722s-common-main: Set eMMC clock parent to default
Set eMMC clock parents to the defaults which is MAIN_PLL0_HSDIV5_CLKOUT
for eMMC. This change is necessary since DM is not implementing the
correct procedure to switch PLL clock source for eMMC and MMC CLK mux is
not glich-free. As a preventative action, lets switch back to the defaults.

Fixes: b5080c7c1f ("arm64: dts: ti: k3-am62p: Add nodes for more IPs")
Cc: stable@vger.kernel.org
Signed-off-by: Judith Mendez <jm@ti.com>
Acked-by: Udit Kumar <u-kumar1@ti.com>
Acked-by: Bryan Brattlof <bb@ti.com>
Link: https://lore.kernel.org/r/20250429163337.15634-4-jm@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 10:57:59 -05:00
Judith Mendez
6af731c5de arm64: dts: ti: k3-am62a-main: Set eMMC clock parent to default
Set eMMC clock parents to the defaults which is MAIN_PLL0_HSDIV5_CLKOUT
for eMMC. This change is necessary since DM is not implementing the
correct procedure to switch PLL clock source for eMMC and MMC CLK mux is
not glich-free. As a preventative action, lets switch back to the defaults.

Fixes: d3ae4e8d8b ("arm64: dts: ti: k3-am62a-main: Add sdhci0 instance")
Cc: stable@vger.kernel.org
Signed-off-by: Judith Mendez <jm@ti.com>
Acked-by: Udit Kumar <u-kumar1@ti.com>
Acked-by: Bryan Brattlof <bb@ti.com>
Link: https://lore.kernel.org/r/20250429163337.15634-3-jm@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 10:57:59 -05:00
Judith Mendez
3a71cdfec9 arm64: dts: ti: k3-am62-main: Set eMMC clock parent to default
Set eMMC clock parents to the defaults which is MAIN_PLL0_HSDIV5_CLKOUT
for eMMC. This change is necessary since DM is not implementing the
correct procedure to switch PLL clock source for eMMC and MMC CLK mux is
not glich-free. As a preventative action, lets switch back to the defaults.

Fixes: c37c58fdeb ("arm64: dts: ti: k3-am62: Add more peripheral nodes")
Cc: stable@vger.kernel.org
Signed-off-by: Judith Mendez <jm@ti.com>
Acked-by: Udit Kumar <u-kumar1@ti.com>
Acked-by: Bryan Brattlof <bb@ti.com>
Link: https://lore.kernel.org/r/20250429163337.15634-2-jm@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 10:57:59 -05:00
Linus Torvalds
8164851725 IOMMU Fixes for Linux v6.15-rc4:
Including:
 
 	* ARM-SMMU fixes:
 	  - Fix broken detection of the S2FWB feature
 	  - Ensure page-size bitmap is initialised for SVA domains
 	  - Fix handling of SMMU client devices with duplicate Stream IDs
 	  - Don't fail SMMU probe if Stream IDs are aliased across clients
 
 	* Intel VT-d fixes:
 	  - Add quirk for IGFX device
 	  - Revert an ATS change to fix a boot failure
 
 	* AMD IOMMU:
           - Fix potential buffer overflow
 
 	* Core:
 	  - Fix for iommu_copy_struct_from_user()
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEr9jSbILcajRFYWYyK/BELZcBGuMFAmgUbnIACgkQK/BELZcB
 GuNZYw//c0mNpQw+Psx/IVDL5/G3e+6yF1ZxgvNrpD4Z2d9en99FkvzyOhMy8PNQ
 013z6Do5MYEL+Z+Obkeh3fVZhPh7bNYsXLeZ2KtzP9f39WJzSW8oNJ1gC2knP6uf
 ZZsc90cj7m+F4mXOLXs9HNvsb+koOZZ8gKByrod4hfUJfJW+9KqBXeJYYGR83anK
 ALpTkaBF512GxsmWNvPqYM0PMUkmTX1at9Cd+gcqmHaqyEfkT5Wk1r85MWxBwgBo
 JbfaEASUBhcwRhBkJJvyncB17iRo/nn+tihl2FjxHRAv2qFPy4J0b56lmcXZMAIJ
 bTi9zNW5EUarJUfwAIppdbcx16OCvBhp6AU26esgrfNcPG2tdcgDkVshHKNjWHAW
 tkaA1usbx8zAoxmYNrx1lbrKnwIVyITmKVUGPn6MulDXmgdDEOIhHEzXE6mDYez5
 R66Ge6aw1Of2PQIzEgKSE5Ya6OKWHhxswBfYN3oC5V31SGWvhvbDuOWblwua07US
 6UtwUplSDG88BfKKc9joJN6hSF23IwPnYN8OgCHQVQXi//keRG7/5rNm7cLgRPId
 VJYwbi9OFmZRhFfmRItpBgtropV+nEIaq/fc7c1nQBNBr571iBrCKeoIIcqna0Q0
 ZeGB9KmIksCxoxyZiVD+68sDCeCz8xHrqV8Ya4T5IhqXxL2A4Zc=
 =r0II
 -----END PGP SIGNATURE-----

Merge tag 'iommu-fixes-v6.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux

Pull iommu fixes from Joerg Roedel:
 "ARM-SMMU fixes:
   - Fix broken detection of the S2FWB feature
   - Ensure page-size bitmap is initialised for SVA domains
   - Fix handling of SMMU client devices with duplicate Stream IDs
   - Don't fail SMMU probe if Stream IDs are aliased across clients

  Intel VT-d fixes:
   - Add quirk for IGFX device
   - Revert an ATS change to fix a boot failure

  AMD IOMMU:
   - Fix potential buffer overflow

  Core:
   - Fix for iommu_copy_struct_from_user()"

* tag 'iommu-fixes-v6.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux:
  iommu/vt-d: Apply quirk_iommu_igfx for 8086:0044 (QM57/QS57)
  iommu/vt-d: Revert ATS timing change to fix boot failure
  iommu: Fix two issues in iommu_copy_struct_from_user()
  iommu/amd: Fix potential buffer overflow in parse_ivrs_acpihid
  iommu/arm-smmu-v3: Fail aliasing StreamIDs more gracefully
  iommu/arm-smmu-v3: Fix iommu_device_probe bug due to duplicated stream ids
  iommu/arm-smmu-v3: Fix pgsize_bit for sva domains
  iommu/arm-smmu-v3: Add missing S2FWB feature detection
2025-05-02 08:57:00 -07:00
Linus Torvalds
9910affec3 slab fix for 6.15-rc5
-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEe7vIQRWZI0iWSE3xu+CwddJFiJoFAmgUba8ACgkQu+CwddJF
 iJozDgf/WLyFGYOAIR01wWo29FMvZdYyTqhxwOQn67Q8BMNXo/9nKPlBR7j7vgb3
 A2tbc18Up4e2R6/UHH4VbkLIV5e1ejXXRnyfuFyRfAYPQ6KitY0sCAWmMIRPV1Rv
 kh6nwaxT+gvs3ktBozL+AnXzrKUBURvrCADi2mvNgPIx9UOZBk53rkgPoOIY3y+G
 Qkl8zTt0sMq0YFlGUj55IQQrIjVIFTIJPMfdcL11MRGrsRA+Qz7h5NaIcb84miX5
 oDfwWbAuCIVeT8gDdtkT4bOU0dBJCdEGIL7pu3cySiAoPGnAFb7xg+zXDs9E03fQ
 /NYAH1lLCW9e6AXiNFQxXuHFb3fXhw==
 =MQMk
 -----END PGP SIGNATURE-----

Merge tag 'slab-for-6.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab

Pull slab fix from Vlastimil Babka:

 - Stable fix to avoid bugs due to leftover obj_ext after allocation
   profiling is disabled at runtime (Zhenhua Huang)

* tag 'slab-for-6.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
  mm, slab: clean up slab->obj_exts always
2025-05-02 08:50:10 -07:00
Pavel Begunkov
8a62804248 io_uring/zcrx: split common area map/unmap parts
Extract area type depedent parts of io_zcrx_[un]map_area from the
generic path. It'll be helpful once there are more area memory types
and not only user pages.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/50f6e893e2d20f937e628196cbf528d15f81c289.1746097431.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:24:42 -06:00
Pavel Begunkov
782dfa329a io_uring/zcrx: split out memory holders from area
In the data path users of struct io_zcrx_area don't need to know what
kind of memory it's backed by. Only keep there generic bits in there and
and split out memory type dependent fields into a new structure. It also
logically separates the step that actually imports the memory, e.g.
pinning user pages, from the generic area initialisation.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/b60fc09c76921bf69e77eb17e07eb4decedb3bf4.1746097431.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:24:42 -06:00
Pavel Begunkov
6c9589aa08 io_uring/zcrx: resolve netdev before area creation
Some area types will require a valid struct device to be created, so
resolve netdev and struct device before creating an area.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/ac8c1482be22acfe9ca788d2c3ce31b7451ce488.1746097431.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:24:42 -06:00
Pavel Begunkov
d760d3f59f io_uring/zcrx: improve area validation
dmabuf backed area will be taking an offset instead of addresses, and
io_buffer_validate() is not flexible enough to facilitate it. It also
takes an iovec, which may truncate the u64 length zcrx takes. Add a new
helper function for validation.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/0b3b735391a0a8f8971bf0121c19765131fddd3b.1746097431.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:24:42 -06:00
Christoph Hellwig
00ef5c728e block: use writeback_iter
Use writeback_iter instead of the deprecated write_cache_pages wrapper
in blkdev_writepages.  This removes an indirect call per folio.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Link: https://lore.kernel.org/r/20250424082752.1967679-1-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:23:00 -06:00
Caleb Sander Mateos
64d1dc522b ublk: store request pointer in ublk_io
A ublk_io is converted to a request in several places in the I/O path by
using blk_mq_tag_to_rq() to look up the (qid, tag) on the ublk device's
tagset. This involves a bunch of dereferences and a tag bounds check.

To make this conversion cheaper, store the request pointer in ublk_io.
Overlap this storage with the io_uring_cmd pointer. This is safe because
the io_uring_cmd pointer is only valid if UBLK_IO_FLAG_ACTIVE is set on
the ublk_io, the request pointer is valid if UBLK_IO_FLAG_OWNED_BY_SRV,
and these flags are mutually exclusive.

Suggested-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250430225234.2676781-10-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:22:30 -06:00
Caleb Sander Mateos
8ed95b5470 ublk: check UBLK_IO_FLAG_OWNED_BY_SRV in ublk_abort_queue()
ublk_abort_queue() currently checks whether the UBLK_IO_FLAG_ACTIVE flag
is cleared to tell whether to abort each ublk_io in the queue. But it's
possible for a ublk_io to not be ACTIVE but also not have a request in
flight, such as when no fetch request has yet been submitted for a tag
or when a fetch request is cancelled. So ublk_abort_queue() must
additionally check for an inflight request.

Simplify this code by checking for UBLK_IO_FLAG_OWNED_BY_SRV instead,
which indicates precisely whether a request is currently inflight.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250430225234.2676781-9-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:22:30 -06:00
Caleb Sander Mateos
9810362a57 ublk: don't call ublk_dispatch_req() for NEED_GET_DATA
ublk_dispatch_req() currently handles 3 different cases: incoming ublk
requests that don't need to wait for a data buffer, incoming requests
that do need to wait for a buffer, and resuming those requests once the
buffer is provided. But the call site that provides a data buffer
(UBLK_IO_NEED_GET_DATA) is separate from those for incoming requests.

So simplify the function by splitting the UBLK_IO_NEED_GET_DATA case
into its own function ublk_get_data(). This avoids several redundant
checks in the UBLK_IO_NEED_GET_DATA case, and streamlines the incoming
request cases.

Don't call ublk_fill_io_cmd() for UBLK_IO_NEED_GET_DATA, as it's no
longer necessary to set io->cmd or the UBLK_IO_FLAG_ACTIVE flag for
ublk_dispatch_req().

Since UBLK_IO_NEED_GET_DATA no longer relies on ublk_dispatch_req()
calling io_uring_cmd_done(), return the UBLK_IO_RES_OK status directly
from the ->uring_cmd() handler. If ublk_start_io() fails, don't complete
the UBLK_IO_NEED_GET_DATA command, matching the existing behavior.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250430225234.2676781-8-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:22:30 -06:00
Caleb Sander Mateos
2fcb88bdf2 ublk: factor out ublk_start_io() helper
In preparation for calling it from outside ublk_dispatch_req(), factor
out the code responsible for setting up an incoming ublk I/O request.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250430225234.2676781-7-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:22:30 -06:00
Caleb Sander Mateos
551270690d ublk: don't log uring_cmd cmd_op in ublk_dispatch_req()
cmd_op is either UBLK_U_IO_FETCH_REQ, UBLK_U_IO_COMMIT_AND_FETCH_REQ,
or UBLK_U_IO_NEED_GET_DATA. Which one isn't particularly interesting
and is already recorded by the log line in __ublk_ch_uring_cmd().

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250430225234.2676781-6-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:22:30 -06:00
Caleb Sander Mateos
2a86eec639 ublk: take const ubq pointer in ublk_get_iod()
ublk_get_iod() doesn't modify the struct ublk_queue it is passed.
Clarify that by making the argument a const pointer.

Move the function definition earlier in the file so it doesn't need a
forward declaration.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250430225234.2676781-5-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:22:30 -06:00
Caleb Sander Mateos
5a43d93588 ublk: remove misleading "ubq" in "ubq_complete_io_cmd()"
ubq_complete_io_cmd() doesn't interact with a ublk queue, so "ubq" in
the name is confusing. Most likely "ubq" was meant to be "ublk".

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250430225234.2676781-4-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:22:30 -06:00
Caleb Sander Mateos
80c0789a7d ublk: fix "immepdately" typo in comment
Looks like "immediately" was intended.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250430225234.2676781-3-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:22:30 -06:00
Uday Shankar
0cb39afd2a ublk: factor out ublk_commit_and_fetch
Move the logic for the UBLK_IO_COMMIT_AND_FETCH_REQ opcode into its own
function. This also allows us to mark ublk_queue pointers as const for
that operation, which can help prevent data races since we may allow
concurrent operation on one ublk_queue in the future. Also open code
ublk_commit_completion in ublk_commit_and_fetch to reduce the number of
parameters/avoid a redundant lookup.

[Restore __ublk_ch_uring_cmd() req variable used in commit d6aa0c178b
("ublk: call ublk_dispatch_req() for handling UBLK_U_IO_NEED_GET_DATA")]

Suggested-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Uday Shankar <ushankar@purestorage.com>
Reviewed-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Link: https://lore.kernel.org/r/20250430225234.2676781-2-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:22:30 -06:00
Caleb Sander Mateos
9712c57ec1 block: avoid hctx spinlock for plug with multiple queues
blk_mq_flush_plug_list() has a fast path if all requests in the plug
are destined for the same request_queue. It calls ->queue_rqs() with the
whole batch of requests, falling back on ->queue_rq() for any requests
not handled by ->queue_rqs(). However, if the requests are destined for
multiple queues, blk_mq_flush_plug_list() has a slow path that calls
blk_mq_dispatch_list() repeatedly to filter the requests by ctx/hctx.
Each queue's requests are inserted into the hctx's dispatch list under a
spinlock, then __blk_mq_sched_dispatch_requests() takes them out of the
dispatch list (taking the spinlock again), and finally
blk_mq_dispatch_rq_list() calls ->queue_rq() on each request.

Acquiring the hctx spinlock twice and calling ->queue_rq() instead of
->queue_rqs() makes the slow path significantly more expensive. Thus,
batching more requests into a single plug (e.g. io_uring_enter syscall)
can counterintuitively hurt performance by causing the plug to span
multiple queues. We have observed 2-3% of CPU time spent acquiring the
hctx spinlock alone on workloads issuing requests to multiple NVMe
devices in the same io_uring SQE batches.

Add a medium path in blk_mq_flush_plug_list() for plugs that don't have
elevators or come from a schedule, but do span multiple queues. Filter
the requests by queue and call ->queue_rqs()/->queue_rq() on the list of
requests destined to each request_queue.

With this change, we no longer see any CPU time spent in _raw_spin_lock
from blk_mq_flush_plug_list and throughput increases accordingly.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250426011728.4189119-4-csander@purestorage.com
[axboe: fix whitespace damage]
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:21:36 -06:00
Caleb Sander Mateos
a5728a1d1e block: factor out blk_mq_dispatch_queue_requests() helper
Factor out the logic from blk_mq_flush_plug_list() that calls
->queue_rqs() with a fallback to ->queue_rq() into a helper function
blk_mq_dispatch_queue_requests(). This is in preparation for using this
code with other lists of requests.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250426011728.4189119-3-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:21:08 -06:00
Caleb Sander Mateos
0aeb7ebfc7 block: take rq_list instead of plug in dispatch functions
blk_mq_plug_issue_direct(), __blk_mq_flush_plug_list(), and
blk_mq_dispatch_plug_list() take a struct blk_plug * but only use its
mq_list. Pass the struct rq_list * instead in preparation for calling
them with other lists of requests.

Drop "plug" from the function names as they are no longer plug-specific.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250426011728.4189119-2-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-05-02 09:21:08 -06:00
Dan Carpenter
20d5620e9b i2c: atr: Fix end of loop test in i2c_atr_find_mapping_by_addr()
When the list_for_each_entry_reverse() exits without hitting a break
then the list cursor points to invalid memory.  So this check for
if (c2a->fixed) is checking bogus memory.  Fix it by using a "found"
variable to track if we found what we were looking for or not.

The list head (i2c_atr_chan.alias_pairs) is not a full entry, it's just
a struct list_head. When the for loop runs to completion, c2a doesn't
point to a struct i2c_atr_alias_pair, so you can't access c2a->fixed.

Fixes: c3f5524188 ("i2c: Support dynamic address translation")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Romain Gantois <romain.gantois@bootlin.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
2025-05-02 16:39:54 +02:00
Wolfram Sang
8e17493ea2 i2c-host-fixes for v6.15-rc5
- imx-lpi2c: fix error handling sequence in probe
 -----BEGIN PGP SIGNATURE-----
 
 iIwEABYKADQWIQScDfrjQa34uOld1VLaeAVmJtMtbgUCaBSEZBYcYW5kaS5zaHl0
 aUBrZXJuZWwub3JnAAoJENp4BWYm0y1ubxYA/Anj/53TjBtM0Vm1A1m/2kIC1akl
 /ymiv34QHmLwwLe9AQDzYbpetI2O6scWunPmjl8YAWVwLco9y6XjMcuAlfsBCA==
 =c3G5
 -----END PGP SIGNATURE-----

Merge tag 'i2c-host-fixes-6.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-current

i2c-host-fixes for v6.15-rc5

- imx-lpi2c: fix error handling sequence in probe
2025-05-02 16:31:35 +02:00
Alexander Sverdlin
08e2a660b1 counter: interrupt-cnt: Convert atomic_t -> atomic_long_t
Convert the internal counter type to atomic_long_t, which:
- doesn't change much for existing in-tree users as they are 32-bit anyway
  (stm32/i.MX6)
- doesn't introduce performace penalty on 32-bit platforms
- provides 64-bit resolution on 64-bit platforms with virtually no
  preformance penalty

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Acked-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.kernel.org/r/20250331152222.2263776-1-alexander.sverdlin@siemens.com
Signed-off-by: William Breathitt Gray <wbg@kernel.org>
2025-05-02 22:46:01 +09:00
Feng Jiang
b662b162c3
drm: Fix potential overflow issue in event_string array
When calling scnprintf() to append recovery method to event_string,
the second argument should be `sizeof(event_string) - len`, otherwise
there is a potential overflow problem.

Fixes: b7cf9f4ac1 ("drm: Introduce device wedged event")
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Reviewed-by: André Almeida <andrealmeid@igalia.com>
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
Link: https://lore.kernel.org/r/20250409014633.31303-1-jiangfeng@kylinos.cn
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2025-05-02 09:34:22 -04:00
Francesco Dolcini
441870bb81 arm64: dts: ti: am62p-verdin: Add ivy
Add support for Verdin AM62P mated with Verdin Ivy carrier board.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p
Link: https://www.toradex.com/products/carrier-board/ivy-carrier-board
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20250430102815.149162-7-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:30:50 -05:00
Francesco Dolcini
b0a01514cd arm64: dts: ti: am62p-verdin: Add yavia
Add support for Verdin AM62P mated with Verdin Yavia carrier board.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p
Link: https://www.toradex.com/products/carrier-board/yavia
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20250430102815.149162-6-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:30:24 -05:00
Francesco Dolcini
cfdd38cfeb arm64: dts: ti: am62p-verdin: Add mallow
Add support for Verdin AM62P mated with Verdin Mallow carrier board.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p
Link: https://www.toradex.com/products/carrier-board/mallow-carrier-board
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20250430102815.149162-5-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:30:20 -05:00
Francesco Dolcini
c98ac03937 arm64: dts: ti: am62p-verdin: Add dahlia
Add support for Verdin AM62P mated with Verdin Dahlia carrier board.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p
Link: https://www.toradex.com/products/carrier-board/dahlia-carrier-board-kit
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20250430102815.149162-4-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:30:07 -05:00
Francesco Dolcini
87f95ea316 arm64: dts: ti: Add Toradex Verdin AM62P
Add support for Toradex Verdin AM62P computer on module which can be
used on different carrier boards and for the Toradex Verdin Development
Board carrier board.

The module consists of an TI AM62P family SoC, a TPS65219 PMIC, a
Gigabit Ethernet PHY, up to 8GB of LPDDR4 RAM, an eMMC, a TLA2024 ADC,
an I2C EEPROM, an RX8130 RTC, plus an optional Bluetooth/Wi-Fi module.

Anything that is not self-contained on the module is disabled by
default.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p
Link: https://www.toradex.com/products/carrier-board/verdin-development-board-kit
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20250430102815.149162-3-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:30:04 -05:00
Francesco Dolcini
cd156f8741 dt-bindings: arm: ti: Add Toradex Verdin AM62P
Add toradex,verdin-am62p for Toradex Verdin AM62 SoM, its nonwifi and
wifi variants, and the Toradex carrier board they may be mated in.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20250430102815.149162-2-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:30:01 -05:00
Siddharth Vadapalli
e3dfcf482d arm64: dts: ti: k3-j784s4-j742s2-evm-common: Enable ACSPCIE0 output for PCIe1
The PCIe reference clock required by the PCIe Endpoints connected to the
PCIe connector corresponding to the PCIe1 instance of PCIe on J784S4-EVM
and J742S2-EVM is driven by the ACSPCIE0 module. Add the device-tree
support for enabling the same.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Link: https://lore.kernel.org/r/20250422123218.3788223-3-s-vadapalli@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:29:57 -05:00
Siddharth Vadapalli
9bfebd8750 arm64: dts: ti: k3-j784s4-j742s2-main-common: Add ACSPCIE0 node
The ACSPCIE0 module on TI's J784S4 SoC is capable of driving the
reference clock required by the PCIe Endpoint device. It is an
alternative to on-board and external reference clock generators.
Add the device-tree node for the same.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Link: https://lore.kernel.org/r/20250422123218.3788223-2-s-vadapalli@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:29:53 -05:00
Siddharth Vadapalli
b1f9ec6545 arm64: dts: ti: k3-j784s4-j742s2-main-common: Switch to 64-bit address space for PCIe0 and PCIe1
The PCIe0 and PCIe1 instances of PCIe in J742S2 and J784S4 SoCs support:
1. 128 MB address region in the 32-bit address space
2. 4 GB address region in the 64-bit address space

The default configuration is that of a 128 MB address region in the
32-bit address space. While this might be sufficient for most use-cases,
it is insufficient for supporting use-cases which require larger address
spaces. Therefore, switch to using the 64-bit address space with a 4 GB
address region.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Link: https://lore.kernel.org/r/20250422120042.3746004-8-s-vadapalli@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:29:48 -05:00
Siddharth Vadapalli
0fde00328c arm64: dts: ti: k3-j722s-main: Switch to 64-bit address space for PCIe0
The PCIe0 instance of PCIe in J722S SoC supports:
1. 128 MB address region in the 32-bit address space
2. 4 GB address region in the 64-bit address space

The default configuration is that of a 128 MB address region in the
32-bit address space. While this might be sufficient for most use-cases,
it is insufficient for supporting use-cases which require larger address
spaces. Therefore, switch to using the 64-bit address space with a 4 GB
address region.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Link: https://lore.kernel.org/r/20250422120042.3746004-7-s-vadapalli@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:29:43 -05:00
Siddharth Vadapalli
5a765365c6 arm64: dts: ti: k3-j721s2-main: Switch to 64-bit address space for PCIe1
The PCIe1 instance of PCIe in J721S2 SoC supports:
1. 128 MB address region in the 32-bit address space
2. 4 GB address region in the 64-bit address space

The default configuration is that of a 128 MB address region in the
32-bit address space. While this might be sufficient for most use-cases,
it is insufficient for supporting use-cases which require larger address
spaces. Therefore, switch to using the 64-bit address space with a 4 GB
address region.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Link: https://lore.kernel.org/r/20250422120042.3746004-6-s-vadapalli@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:29:39 -05:00
Siddharth Vadapalli
f0f78192d3 arm64: dts: ti: k3-j721e-main: Switch to 64-bit address space for PCIe0 and PCIe1
The PCIe0 and PCIe1 instances of PCIe in J721E SoC support:
1. 128 MB address region in the 32-bit address space
2. 4 GB address region in the 64-bit address space

The default configuration is that of a 128 MB address region in the
32-bit address space. While this might be sufficient for most use-cases,
it is insufficient for supporting use-cases which require larger address
spaces. Therefore, switch to using the 64-bit address space with a 4 GB
address region.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Link: https://lore.kernel.org/r/20250422120042.3746004-5-s-vadapalli@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:29:34 -05:00
Siddharth Vadapalli
1025003a1e arm64: dts: ti: k3-j721e: Add ranges for PCIe0 DAT1 and PCIe1 DAT1
The PCIe0 DAT1 and PCIe1 DAT1 are 4 GB address regions in the 64-bit
address space of the respective PCIe Controllers. Hence, update the
ranges to include them.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Link: https://lore.kernel.org/r/20250422120042.3746004-4-s-vadapalli@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:29:30 -05:00
Siddharth Vadapalli
46e3d7d704 arm64: dts: ti: k3-j7200-main: Switch to 64-bit address space for PCIe1
The PCIe0 instance of PCIe in J7200 SoC supports:
1. 128 MB address region in the 32-bit address space
2. 4 GB address region in the 64-bit address space

The default configuration is that of a 128 MB address region in the
32-bit address space. While this might be sufficient for most use-cases,
it is insufficient for supporting use-cases which require larger address
spaces. Therefore, switch to using the 64-bit address space with a 4 GB
address region.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Link: https://lore.kernel.org/r/20250422120042.3746004-3-s-vadapalli@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:29:25 -05:00
Siddharth Vadapalli
1159f91143 arm64: dts: ti: k3-am64-main: Switch to 64-bit address space for PCIe0
The PCIe0 instance of PCIe in AM64 SoC supports:
1. 128 MB address region in the 32-bit address space
2. 4 GB address region in the 64-bit address space

The default configuration is that of a 128 MB address region in the
32-bit address space. While this might be sufficient for most use-cases,
it is insufficient for supporting use-cases which require larger address
spaces. Therefore, switch to using the 64-bit address space with a 4 GB
address region.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Link: https://lore.kernel.org/r/20250422120042.3746004-2-s-vadapalli@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:29:18 -05:00
Nishanth Menon
42cfb00c91 arm64: defconfig: Enable TPIC2810 GPIO expander
AM642-SK uses TPIC2810 I2C GPIO expander for LEDs.

Link: https://lore.kernel.org/r/20250421143926.2009535-1-nm@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2025-05-02 08:14:39 -05:00