Commit graph

1,294,499 commits

Author SHA1 Message Date
Tony Luck
add69475de perf/x86/msr: Switch to new Intel CPU model defines
New CPU #defines encode vendor and family as well as model.

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/all/20240424181503.41614-1-tony.luck%40intel.com
2024-04-29 10:31:04 +02:00
Tony Luck
9828a1cff4 perf/x86/intel/uncore: Switch to new Intel CPU model defines
New CPU #defines encode vendor and family as well as model.

  [ bp: Squash *three* uncore patches into one. ]

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/all/20240424181501.41557-1-tony.luck%40intel.com
2024-04-29 10:30:39 +02:00
Arnd Bergmann
3a2fb1a95c Samsung DTS ARM changes for v6.10
1. Few cleanups of deprecated properties and node names pointed out by
    bindings newly converted to DT schema.
 2. Fix S5PV210 NAND node size-cells, pointed out by DT schema.
 3. Add FIFO depth to each SPI node so we can avoid matching this through
    DTS alias.  Difference SPI instances on given SoC have different FIFO
    depths.
 4. Fix Exynos4212 Galaxy Tab3 usable memory, because stock bootloader is
    not telling us truth.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmYqAvEQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1yLhD/0fNHbZ5MTax3gFG/djUJC9FrlFh3DAw0bt
 JSzxbUdNIJNmhE2/srp1Vx3OLhD8IrGz+moHCYMjdvRt8ZCaKL4Wz1nE1IiX2u9g
 rM4CPV477NvMNtr6C+G1J4AgqAvF3BshoBF3KoXEsDZi1J75bCuN5RaImR/RcS3J
 lMoajU67gouayS12bsDDqwof8hcDBEc4xaZlQ/PDXxR/0hTeyyF4TJwUB/UNHq9c
 o2vfDWNAg57dnfnSe+cxM9xfsvUpsublM49MH4HWqTuwMjN49i5p2LzvpdqmwhBO
 f5ITTI+E/8vYWaPMbFMll+b5M8dgH7EDmOWsNyb1Zd42lwe1ZLKeUAg2RnjlnJ62
 WhK6PPTmlVnVqQcVkq0MEOBQGiTp1rT6g/agTcCrVv3zQO7E+fIxcGmzD0CXbjaJ
 E7D+ik9ZKomKuSBkj2/vOJCR6tzrnXGbwD6nU+tM+pO39p6Y3FCar9AkrpjtbmxG
 T7oYOv2LrtuvMGwLfTx22A8+AppZGmw8IVQbCGc9qBOHAdccT/ZQ6D9fXLQ8p51E
 qdnR2CGf5AyKaUDoQmoKC7z4YYLrJyojcQtFUv/UzQBFIQelDgZWPMDom574PaYv
 OAKgRdUGOACxSBp0yPrIkLlMewbUZ4fFbkeFu5GKuI/0IqhTS5ztb1AgRITzw35X
 3SNx2vfxuQ==
 =qjnl
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYvWqoACgkQYKtH/8kJ
 UieK8Q/6A8elQcSGTleBj87Hv7NvDwHJfA1LwM37K8GCAS3S+Rpcq6Ul5wkqtyh5
 yI6Pfb9zvNTebx4RsNdhuW3tgHbetahyVRZSpL6Jha/CUZtXsjB9bfHCv/s0WLC1
 liRl1A4d/cKF6Agxs89bkGzL+rkT8gzuzHM+3YgALiCazyYg8Wh+THgu2idx5CKB
 eMT3qAY6azJNrDNOzDAeSBdPAuJ182MjK9d/udp667mhvHGALPL31X6tfPlQv9Om
 PuCOzMAk+LbAbWQKt3eehd7uvTX5qKAQ1qWFVorkhinA/g8wp3BQdhP+2KSwhjOz
 bvXC0qNDLNRZXH0ZslKMYhurkDHDOijxXIxb0KNDsfdFol0Q+LjSessuki7GGRm5
 2Bms8lJSJ3AXlBTIyZ0RS93zdYpCBIUTyUpGrV16FYUfHg209PGnbr4IaXbVJ3i8
 /cPHgaYEbYd5DZE71gNouzid8pqAaDqpO4RdfjddTDZE/BVmyOdBWLtyhXayeTen
 07GNYY1RGwCpFCQe+39tK4kscopk40kqHIpU2TgjCv6EhEBBAFt9qEd3wGoNJYoO
 w6JH/NluvpDIu2gc+SuU0hsg9KX6v8QOTDg1lAirgwOFLz/ROfmR8qBn3YW7qv3k
 AQ/343LDHQ169Hi2S79Yf2+2JkKe1dpjwDbQb0pxj3iaqlHImMI=
 =vz6o
 -----END PGP SIGNATURE-----

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

Samsung DTS ARM changes for v6.10

1. Few cleanups of deprecated properties and node names pointed out by
   bindings newly converted to DT schema.
2. Fix S5PV210 NAND node size-cells, pointed out by DT schema.
3. Add FIFO depth to each SPI node so we can avoid matching this through
   DTS alias.  Difference SPI instances on given SoC have different FIFO
   depths.
4. Fix Exynos4212 Galaxy Tab3 usable memory, because stock bootloader is
   not telling us truth.

* tag 'samsung-dt-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos4212-tab3: limit usable memory range
  ARM: dts: samsung: s5pv210: specify the SPI FIFO depth
  ARM: dts: samsung: exynos5420: specify the SPI FIFO depth
  ARM: dts: samsung: exynos5250: specify the SPI FIFO depth
  ARM: dts: samsung: exynos4: specify the SPI FIFO depth
  ARM: dts: samsung: exynos3250: specify the SPI FIFO depth
  ARM: dts: samsung: s5pv210: correct onenand size-cells
  ARM: dts: samsung: s5pv210: align onenand node name with bindings
  ARM: dts: samsung: exynos5800-peach-pi: switch to undeprecated DP HPD GPIOs
  ARM: dts: samsung: smdk4412: align keypad node names with dtschema
  ARM: dts: samsung: smdk4412: fix keypad no-autorepeat
  ARM: dts: samsung: exynos4412-origen: fix keypad no-autorepeat
  ARM: dts: samsung: smdkv310: fix keypad no-autorepeat

Link: https://lore.kernel.org/r/20240425071856.9235-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 10:30:34 +02:00
Arnd Bergmann
e3edc3c8d8 Devicetree changes for omaps for v6.10
Update n900 charge limit, and make use of the clksel binding for dra7
 for the clksel clocks and other dpll output related clocks.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmYp3y0RHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXPjUw/8CEk27NriuwwJ51pnDYL+kVMprTPvTRnn
 BPTXHduIIZjoKpSQxBoSx3vu/YklKPzrzng/OjyqLwINH228Edn4zufweuVRmHwa
 oXwQvnJyFoeKGjsMbUz57DThFosWUecWMpBUU3n/9/gZC64YAy4P5jXXJkAJXac4
 iU4pfdZ3NuNW2Pv+g7DrUatvvqFPx8E2NvonMLVCUuZDxhQXo6XQQMNHrrLySPbq
 K45Z2864rj4Td2/T3X3GUVXbKI5xOZ63M2sVtYP5Z0UVBs+Ay3Rvj1YcELOWfPMi
 17fzPd7sJ+wCPDFohF8UlpNEOns5m1KdTf1gRgPfB8vwQ/KghtOU7s+cTgeTJan3
 nb1PuMcetRhJpAqmWPYhWPLRBNDjZEadp6pjNRRbABzO4uC1W4RhmrQ5lG5CBsHD
 SUF+snnLnQmmH7K3c+gtyyt/+Is0Ga2bq82Z/n4LvGsPk6pZScnMtxZJVEfJiknC
 ZEEA3t1F5HhzQaZaTx401Kwijj1oEg+54axjiL0ze9JLSL7NUMphCz6IJVKPOyNo
 WzH37RmwM/mFNAXbX317sJXERYdjY6wRY7lRPkLF19NP4CQkJ5/ckcYum4J8PmX9
 RRpEhnMWl2Fsb7LmPYLH3/rIAUsa0aQ1jgY/wr4oVdHxs/Lf008Lc5S4zCklPAeV
 PXWGGMTLmxc=
 =+DGK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYvWmwACgkQYKtH/8kJ
 Uic36w/+IKBMt8RR+lKWfY2Pn4QMjx4BgM68FoZ8fnC8BvX8jOaE66RpaxdZm/oC
 UAFsUPr/R232bBn4VzpjlsCUot0DoyEfucFO/Tvav9CukCL9bafMMYQ48fOpdK/h
 wYFBbohCDtdVIpqmXgEPcgyoC2WlyYlF19diM2OeFUidk/Yp/q6XTu8o5wxZ4I6i
 zM81BfN4zmnfogAr9N1Wkf8j3DQN1fXyHKVRHc5wRerMB0Y9jzggjdY0gSePvp2A
 Pc+BhXR17nSt+hnvuqR+ACIx1LPmO72O89RqIzthoEBhZwrboJNOCjR7+JF71kv+
 On3dWm6rIkE9H+qj1fnVKD4H+QI9kIT6pijzBc3myH1LFsG6HL/ZUZjre1gY+XiX
 3bfiwSBV495akdMToJdBy0sRezZJdfbAIpTurCJoDaTg8M7f8nCROVrftHXEPDDn
 RxT5USrW56/MsRoHT4gAxGDch8IWqmddgQ4v9sXa5QzomPPznLK9g3FRfdKrklbS
 OwHzX7nk7TeqHUrAIEcXeq0JcR5/4aTTg824dbg1D1EM8J8zwdMHE1nus6jLOpz9
 XcoX6AqScW6xlBMZMmXpkSE0iE1kyCVuaDSgX4JXIfsAHKUsqOWzUSSOkntoTby+
 rhDa5ofDrwhU/DvOyL/aIRH3+wErF6ZMNe4FmAr0Pcu2YA8JTEM=
 =jNDn
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v6.10/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/dt

Devicetree changes for omaps for v6.10

Update n900 charge limit, and make use of the clksel binding for dra7
for the clksel clocks and other dpll output related clocks.

* tag 'omap-for-v6.10/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: dra7: Use clksel binding for CTRL_CORE_SMA_SW_0
  ARM: dts: dra7: Use clksel binding for CM_CLKSEL_DPLL_USB
  ARM: dts: dra7: Use clksel binding for CM_CLKSEL_DPLL_PER
  ARM: dts: dra7: Use clksel binding for CM_CLKSEL_ABE_PLL_SYS
  ARM: dts: dra7: Use clksel binding for CM_CLKSEL_CORE
  ARM: dts: dra7: Use clksel binding for CM_CLKSEL_DPLL_EVE
  ARM: dts: dra7: Use clksel binding for CM_CLKSEL_DPLL_GMAC
  ARM: dts: dra7: Use clksel binding for CM_CLKSEL_DPLL_DRR
  ARM: dts: dra7: Use clksel binding for CM_CLKSEL_DPLL_GPU
  ARM: dts: dra7: Use clksel binding for CM_CLKSEL_DPLL_IVA
  ARM: dts: dra7: Use clksel binding for CM_CLKSEL_DPLL_DSP
  ARM: dts: dra7: Use clksel binding for CM_CLKSEL_DPLL_CORE
  ARM: dts: n900: set charge current limit to 950mA

Link: https://lore.kernel.org/r/pull-1714020191-304166@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 10:29:32 +02:00
Rob Herring
8b40a46966
arm/arm64: dts: Drop "arm,armv8-pmuv3" compatible usage
The "arm,armv8-pmuv3" compatible is intended only for s/w models. Primarily,
it doesn't provide any detail on uarch specific events.

There's still remaining cases for CPUs without any corresponding PMU
definition and for big.LITTLE systems which only have a single PMU node
(there should be one per core type).

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Dinh Nguyen <dinguyen@kernel.org>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Bjorn Andersson <andersson@kernel.org>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Acked-by: Alim Akhtar <alim.akhtar@samsung.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Link: https://lore.kernel.org/r/20240417203853.3212103-1-robh@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 10:27:52 +02:00
Arnd Bergmann
f45083c343 Renesas DTS updates for v6.10
- Add HDMI capture support for the Function expansion board for the
     Eagle development board,
   - Add PMIC support for the RZ/G2UL SMARC EVK development board,
   - Add thermal, more serial ((H)SCIF), and timer (CMT and TMU) support
     for the R-Car V4M SoC,
   - Add Timer Unit (TMU) support for the R-Mobile APE6, R-Car Gen2, and
     RZ/G1 SoCs,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZhkAtwAKCRCKwlD9ZEnx
 cI/UAQDXti0XEMAK5NpdccmUjvlm4TYxTkoV7RB+bkfR+i4fgwEA3O6jjBa0y8fO
 kH98OKMQpukHOm0Y4NwWPbQXB2rOKgM=
 =eCJv
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYvWKcACgkQYKtH/8kJ
 UiewCg/9FQ3syL/oB0w7LnCJrqUXk5v+BpwSZqEGWmwjcsO27RkDe18kmeROPkK4
 1rJpkx4rjkMbqHQd63bFj5nUF9j5G4Rd8z/BXQKFKlh1O79lZNZmFqOny/u4L4d4
 8vUF4qvbhKel0ffzSspJ4tiaySDkQP41OKCpGDXPiy2vzl0UHY4cohg4Qvdrs4kO
 L/JgtIrr4sBWBq7rFDn4NUG/0QQfx8Uqgt4m6HXZjOc4CaHrh/MjnI7FULQ5EqAv
 d9+sbNjTfvQ5W4pklEL+s/bspe0+KdVetj5dy0GVpwxQA6YKnabpnMNzzOB2k25Q
 lpSKt8dpQJi07YiHoR8q72V5vzwc63kvQQc/uC/feQ/QC94HDFCqe4ZeGPWTcZOj
 ChE2YA4+2zXIQj+1wIRies3EMgWUamcdzVgG9JxZGKAnofoo/kaEkkPo+mgBFkF9
 xaQvtVNbuUlyuCYt/FDisBIAgEJjIwxtG568pZl/sbMuEAb0NLCTprepEMJbH6Dr
 F1o0LHGu8VQJtFWvwkfyp/n9DB14b0kZTmtGlF2bZE31FiVR+scDvUurh3Oh4lWB
 R4UnAQUXGhSoJhtJJ7WFB/nv26JFouvafiM3Vt3bm5VncxbYgku4/9wzeJv1PDG9
 /o9yXIH405jdhd4D72qVGmrCbqr0d7qkJgc7mdQAKsjQVhoe/as=
 =7aeg
 -----END PGP SIGNATURE-----

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

Renesas DTS updates for v6.10

  - Add HDMI capture support for the Function expansion board for the
    Eagle development board,
  - Add PMIC support for the RZ/G2UL SMARC EVK development board,
  - Add thermal, more serial ((H)SCIF), and timer (CMT and TMU) support
    for the R-Car V4M SoC,
  - Add Timer Unit (TMU) support for the R-Mobile APE6, R-Car Gen2, and
    RZ/G1 SoCs,
  - Miscellaneous fixes and improvements.

* tag 'renesas-dts-for-v6.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: rzg3s-smarc-som: Fix Ethernet aliases
  arm64: dts: renesas: r8a779h0: Add TMU nodes
  arm64: dts: renesas: r8a779h0: Add CMT nodes
  arm64: dts: renesas: gray-hawk-single: Enable nfsroot
  ARM: dts: renesas: r9a06g032: Remove duplicate interrupt-parent
  arm64: dts: renesas: gray-hawk-single: Add second debug serial port
  arm64: dts: renesas: r8a779h0: Add SCIF nodes
  arm64: dts: renesas: r8a779h0: Add remaining HSCIF nodes
  ARM: dts: renesas: rcar-gen2: Add TMU nodes
  ARM: dts: renesas: rzg1: Add TMU nodes
  ARM: dts: renesas: r8a73a4: Add TMU nodes
  ARM: dts: renesas: r7s72100: Add interrupt-names to SCIF nodes
  arm64: dts: renesas: r8a779h0: Add thermal nodes
  arm64: dts: renesas: rzg2ul-smarc: Enable PMIC and built-in RTC, GPIO and ONKEY
  arm64: dts: renesas: eagle: Add capture overlay for Function expansion board

Link: https://lore.kernel.org/r/cover.1712915536.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 10:21:59 +02:00
Michael Bunk
0e148a522b media: dw2102: Don't translate i2c read into write
The code ignored the I2C_M_RD flag on I2C messages.  Instead it assumed
an i2c transaction with a single message must be a write operation and a
transaction with two messages would be a read operation.

Though this works for the driver code, it leads to problems once the i2c
device is exposed to code not knowing this convention.  For example,
I did "insmod i2c-dev" and issued read requests from userspace, which
were translated into write requests and destroyed the EEPROM of my
device.

So, just check and respect the I2C_M_READ flag, which indicates a read
when set on a message.  If it is absent, it is a write message.

Incidentally, changing from the case statement to a while loop allows
the code to lift the limitation to two i2c messages per transaction.

There are 4 more *_i2c_transfer functions affected by the same behaviour
and limitation that should be fixed in the same way.

Link: https://lore.kernel.org/linux-media/20220116112238.74171-2-micha@freedict.org
Signed-off-by: Michael Bunk <micha@freedict.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2024-04-29 09:21:50 +01:00
Arnd Bergmann
43719640b8 Renesas DT binding updates for v6.10
- Document support for the Renesas RZ/V2H(P) (R9A09G057) SoC variants.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZhj/MAAKCRCKwlD9ZEnx
 cN9WAQDo1ra+z/lb24aPIKHvwSrZHv74WFBw0WODPFQLhWtTgwEA4oXraZ7C0EfP
 x4WfVUNVWPbewS1H23fDzydaNfX1nAM=
 =W81A
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYvWGkACgkQYKtH/8kJ
 UiegAw//frstzqHcl2NJakqBA18YzgACj7iBDmqtGHmDhpjfriy5CQXsJkl/gTWu
 wJZlYb3cPBvKHIuhZBetgL231KuLoH3eoVdvSF0ZdEU+NL2yPVP7K+iKE0XCOnBF
 4J31SzHB+OcERsC/SWrzw/+kBD43covuHhgpxHg3k62HcFBU2PDZL1KUZZeWvH+5
 YF4tfYH92XrMs1aRCksxMosswgVeox6mSWYFkJn1FElAzAlRQtEtGPQ4N/6kD/ou
 j1XvCWJQLd3HrYZtnVropdassI0TFP07iAC5/1SOJDInFa/dMJDdcpYn0AlCroEt
 Fa5j0UoQgGa3Va9jadOGgTc7xr6em6uXpIIwgC7sQUjGcvLDpZdzjOZ2m5Q+VdLU
 igxWo9ORcS5adow1PAMTYjg49kfkvjN4Tv52rC3tMABqa76wToCimZiQaqtBbms1
 6DTCidmiikS0Mfv6PqihlD+Q8ECaVHTAWzzgrSRsMQXHE9sSvGv76sOS42Z7dV/Z
 H0o5FymZfOHAuJ+HOASdL6m/D2jIuCVFZZihJ/10SJ9uEP9sYbJK7INhQXhnNLmB
 ayxK1QXDq54/+TJogVzSRR1mOz8m8TO3oAi1WHgqU1a1SPj0/MV1/DmG54ruKuMz
 0pXLHLgISQg1pw8kijrvqioEYDMrD9yK9AkmWNVgKdJBq8DjMNg=
 =9gEj
 -----END PGP SIGNATURE-----

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

Renesas DT binding updates for v6.10

  - Document support for the Renesas RZ/V2H(P) (R9A09G057) SoC variants.

* tag 'renesas-dt-bindings-for-v6.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: arm: renesas: Document Renesas RZ/V2H(P) System Controller
  dt-bindings: soc: renesas: Document Renesas RZ/V2H(P) SoC variants

Link: https://lore.kernel.org/r/cover.1712915534.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 10:20:57 +02:00
Michael Bunk
c6ad2b9218 media: m88ds3103: Fix lock led support
The new m88ds3101b demodulator version requires the highest bit of
register 0x11 be cleared after tuning to a new frequency to make the
lock output pin go high when a signal is found.  This pin is normally
connected to an indicator led.

Link: https://lore.kernel.org/linux-media/20220116112238.74171-1-micha@freedict.org
Signed-off-by: Michael Bunk <micha@freedict.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2024-04-29 09:19:55 +01:00
Laurent Pinchart
bebfa3419a media: i2c: max9271: Add header include guards to max9271.h
Protect against multiple inclusions of the max9271.h header with include
guards.

Link: https://lore.kernel.org/linux-media/20220102224803.27463-1-laurent.pinchart+renesas@ideasonboard.com
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2024-04-29 09:17:52 +01:00
Laurent Pinchart
6f76b62654 media: i2c: rdacm20: Fix indentation in comment
Fix a small indentation issue in a comment block.

Link: https://lore.kernel.org/linux-media/20220101173540.9090-1-laurent.pinchart+renesas@ideasonboard.com
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2024-04-29 09:16:01 +01:00
Antony Antony
b6d2e438e1 xfrm: Correct spelling mistake in xfrm.h comment
A spelling error was found in the comment section of
include/uapi/linux/xfrm.h. Since this header file is copied to many
userspace programs and undergoes Debian spellcheck, it's preferable to
fix it in upstream rather than downstream having exceptions.

This commit fixes the spelling mistake.

Fixes: df71837d50 ("[LSM-IPSec]: Security association restriction.")
Signed-off-by: Antony Antony <antony.antony@secunet.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
2024-04-29 07:52:40 +02:00
David S. Miller
bef1e4c8c3 Merge branch 'bcmgenet-protect-contended-accesses'
Doug Berger says:

====================
net: bcmgenet: protect contended accesses

Some registers may be modified by parallel execution contexts and
require protections to prevent corruption.

A review of the driver revealed the need for these additional
protections.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2024-04-29 06:24:22 +01:00
Doug Berger
0d5e2a8223 net: bcmgenet: synchronize UMAC_CMD access
The UMAC_CMD register is written from different execution
contexts and has insufficient synchronization protections to
prevent possible corruption. Of particular concern are the
acceses from the phy_device delayed work context used by the
adjust_link call and the BH context that may be used by the
ndo_set_rx_mode call.

A spinlock is added to the driver to protect contended register
accesses (i.e. reg_lock) and it is used to synchronize accesses
to UMAC_CMD.

Fixes: 1c1008c793 ("net: bcmgenet: add main driver file")
Cc: stable@vger.kernel.org
Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2024-04-29 06:24:22 +01:00
Doug Berger
2dbe5f1936 net: bcmgenet: synchronize use of bcmgenet_set_rx_mode()
The ndo_set_rx_mode function is synchronized with the
netif_addr_lock spinlock and BHs disabled. Since this
function is also invoked directly from the driver the
same synchronization should be applied.

Fixes: 72f9634762 ("net: bcmgenet: set Rx mode before starting netif")
Cc: stable@vger.kernel.org
Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2024-04-29 06:24:22 +01:00
Doug Berger
d85cf67a33 net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access
The EXT_RGMII_OOB_CTRL register can be written from different
contexts. It is predominantly written from the adjust_link
handler which is synchronized by the phydev->lock, but can
also be written from a different context when configuring the
mii in bcmgenet_mii_config().

The chances of contention are quite low, but it is conceivable
that adjust_link could occur during resume when WoL is enabled
so use the phydev->lock synchronizer in bcmgenet_mii_config()
to be sure.

Fixes: afe3f907d2 ("net: bcmgenet: power on MII block for all MII modes")
Cc: stable@vger.kernel.org
Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2024-04-29 06:24:21 +01:00
Tanmay Patil
d63394abc9 net: ethernet: ti: am65-cpsw-qos: Add support to taprio for past base_time
If the base-time for taprio is in the past, start the schedule at the time
of the form "base_time + N*cycle_time" where N is the smallest possible
integer such that the above time is in the future.

Signed-off-by: Tanmay Patil <t-patil@ti.com>
Signed-off-by: Chintan Vankar <c-vankar@ti.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2024-04-29 06:19:16 +01:00
Mika Westerberg
a3dc6d82de thunderbolt: Correct trace output of firmware connection manager packets
These are special packets that the drivers sends directly to the
firmware connection manager (ICM). These do not have route string
because they are always consumed by the firmware connection manager
running on the host router, so hard-code that in the output accordingly.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2024-04-29 07:47:54 +03:00
Barry Song
b7cf2a1d98 xtensa: remove redundant flush_dcache_page and ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE macros
xtensa's flush_dcache_page() can be a no-op sometimes. There is a
generic implementation for this case in include/asm-generic/
cacheflush.h.
 #ifndef ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
 static inline void flush_dcache_page(struct page *page)
 {
 }

 #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
 #endif

So remove the superfluous flush_dcache_page() definition, which also
helps silence potential build warnings complaining the page variable
passed to flush_dcache_page() is not used.

   In file included from crypto/scompress.c:12:
   include/crypto/scatterwalk.h: In function 'scatterwalk_pagedone':
   include/crypto/scatterwalk.h:76:30: warning: variable 'page' set but not used [-Wunused-but-set-variable]
      76 |                 struct page *page;
         |                              ^~~~
   crypto/scompress.c: In function 'scomp_acomp_comp_decomp':
>> crypto/scompress.c:174:38: warning: unused variable 'dst_page' [-Wunused-variable]
     174 |                         struct page *dst_page = sg_page(req->dst);
         |

The issue was originally reported on LoongArch by kernel test
robot (Huacai fixed it on LoongArch), then reported by Guenter
and me on xtensa.

This patch also removes lots of redundant macros which have
been defined by asm-generic/cacheflush.h.

Cc: Huacai Chen <chenhuacai@loongson.cn>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202403091614.NeUw5zcv-lkp@intel.com/
Reported-by: Barry Song <v-songbaohua@oppo.com>
Closes: https://lore.kernel.org/all/CAGsJ_4yDk1+axbte7FKQEwD7X2oxUCFrEc9M5YOS1BobfDFXPA@mail.gmail.com/
Reported-by: Guenter Roeck <linux@roeck-us.net>
Closes: https://lore.kernel.org/all/aaa8b7d7-5abe-47bf-93f6-407942436472@roeck-us.net/
Fixes: 77292bb8ca ("crypto: scomp - remove memcpy if sg_nents is 1 and pages are lowmem")
Signed-off-by: Barry Song <v-songbaohua@oppo.com>
Message-Id: <20240319010920.125192-1-21cnbao@gmail.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2024-04-28 21:18:18 -07:00
Zqiang
1dd1eff161 softirq: Fix suspicious RCU usage in __do_softirq()
Currently, the condition "__this_cpu_read(ksoftirqd) == current" is used to
invoke rcu_softirq_qs() in ksoftirqd tasks context for non-RT kernels.

This works correctly as long as the context is actually task context but
this condition is wrong when:

     - the current task is ksoftirqd
     - the task is interrupted in a RCU read side critical section
     - __do_softirq() is invoked on return from interrupt

Syzkaller triggered the following scenario:

  -> finish_task_switch()
    -> put_task_struct_rcu_user()
      -> call_rcu(&task->rcu, delayed_put_task_struct)
        -> __kasan_record_aux_stack()
          -> pfn_valid()
            -> rcu_read_lock_sched()
              <interrupt>
                __irq_exit_rcu()
                -> __do_softirq)()
                   -> if (!IS_ENABLED(CONFIG_PREEMPT_RT) &&
                     __this_cpu_read(ksoftirqd) == current)
                     -> rcu_softirq_qs()
                       -> RCU_LOCKDEP_WARN(lock_is_held(&rcu_sched_lock_map))

The rcu quiescent state is reported in the rcu-read critical section, so
the lockdep warning is triggered.

Fix this by splitting out the inner working of __do_softirq() into a helper
function which takes an argument to distinguish between ksoftirqd task
context and interrupted context and invoke it from the relevant call sites
with the proper context information and use that for the conditional
invocation of rcu_softirq_qs().

Reported-by: syzbot+dce04ed6d1438ad69656@syzkaller.appspotmail.com
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Zqiang <qiang.zhang1211@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240427102808.29356-1-qiang.zhang1211@gmail.com
Link: https://lore.kernel.org/lkml/8f281a10-b85a-4586-9586-5bbc12dc784f@paulmck-laptop/T/#mea8aba4abfcb97bbf499d169ce7f30c4cff1b0e3
2024-04-29 05:03:51 +02:00
Colin Ian King
ed403e86c8 wifi: rtlwifi: rtl8723be: Make read-only arrays static const
Don't populate the read-only arrays cck_rates, ofdm_rates, ht_rates_1t and
channel_all on the stack at run time, instead make them static const and
clean up the formatting.

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240425155733.114423-1-colin.i.king@gmail.com
2024-04-29 09:48:36 +08:00
Jiapeng Chong
5eb027019f wifi: rtw89: Remove the redundant else branch in the function rtw89_phy_get_kpath
The assignment of the else and if branches is the same in the "case:
MLO_2_PLUS_0_1RF" branch of the function rtw89_phy_get_kpath, so we
remove it and add comments here to make the code easier to understand.

./drivers/net/wireless/realtek/rtw89/phy.c:6406:2-4: WARNING: possible condition with no effect (if == else).

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=8812
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240422072922.50940-1-jiapeng.chong@linux.alibaba.com
2024-04-29 09:38:22 +08:00
Kent Overstreet
c258c08add bcachefs: fix integer conversion bug
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-04-28 21:34:29 -04:00
Kent Overstreet
f7c3dc2646 bcachefs: btree node scan now fills in sectors_written
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-04-28 21:34:29 -04:00
Kent Overstreet
ae92765373 bcachefs: Remove accidental debug assert
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-04-28 21:34:29 -04:00
Ching-Te Ku
416a445ec3 wifi: rtw89: coex: Check and enable reports after run coex
If there is any changes with Wi-Fi/Bluetooth, the mechanism will
trigger run_coex to update information and coexistence mechanism.
Enable/Disable reports here can make sure the action take effect
in time.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240423130502.32682-9-pkshih@realtek.com
2024-04-29 08:54:25 +08:00
Ching-Te Ku
11173c7062 wifi: rtw89: coex: Add Wi-Fi role v8 condition when set BTG control
BTG(A hardware block, which Wi-Fi 2.4Ghz & Bluetooth shared a part
of hardware). Because some information are saved in role info. So the
logic also need to get value from the version 8 role info.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240423130502.32682-8-pkshih@realtek.com
2024-04-29 08:54:13 +08:00
Ching-Te Ku
efb85ded5c wifi: rtw89: coex: Add Wi-Fi role v8 condition when set Bluetooth channel
This function is to let Bluetooth know Wi-Fi is using which channel,
and ask Bluetooth do not hop into the nearby channel. Wi-Fi channel
is saved at role info, this patch make the logic also get the channel
value from version 8 role info.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240423130502.32682-7-pkshih@realtek.com
2024-04-29 08:54:02 +08:00
Ching-Te Ku
947cbc6ead wifi: rtw89: coex: Fix unexpected value in version 7 slot parameter
It will assign wrong value to version 7 slot parameter setting, because
the structure member order has changed. Add a for-loop to assign variables
manually.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240423130502.32682-6-pkshih@realtek.com
2024-04-29 08:53:51 +08:00
Ching-Te Ku
1a5565d812 wifi: rtw89: coex: Add Bluetooth version report version 7
The report is reported from Bluetooth, it shows the current Bluetooth
driver & firmware version code. Wi-Fi & Bluetooth need to use compatible
version. The version 7 report adjust the structure variables order.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240423130502.32682-5-pkshih@realtek.com
2024-04-29 08:52:43 +08:00
Ching-Te Ku
b60b468633 wifi: rtw89: coex: Add Bluetooth frequency hopping map version 7
The report is reported from Bluetooth, it described the usable
Bluetooth channel map. Bluetooth should not hopped into Wi-Fi
using channel. Version 8 report adjust the structure variables
order.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240423130502.32682-4-pkshih@realtek.com
2024-04-29 08:51:34 +08:00
Ching-Te Ku
e5d0305a2b wifi: rtw89: coex: Add Bluetooth scan parameter report version 7
This report is reported from Bluetooth, it described Bluetooth scan
parameters. Version 7 adjust the structure variables order.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240423130502.32682-3-pkshih@realtek.com
2024-04-29 08:50:27 +08:00
Ching-Te Ku
430d80e794 wifi: rtw89: coex: Add Wi-Fi null data status version 7
The mechanism will use Wi-Fi null packet to stop the packets from
access point to avoid the interference to Bluetooth when switch
to Bluetooth slot. The report can check whether the null packet is
working as expected or not.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240423130502.32682-2-pkshih@realtek.com
2024-04-29 08:49:20 +08:00
Ping-Ke Shih
3ef60f4483 wifi: rtw89: 8852b: update hardware parameters for RFE type 5
RFE type 5 of 8852B is a type of hardware module, which can use different
external components, so update register settings accordingly.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240423121247.24714-2-pkshih@realtek.com
2024-04-29 08:40:39 +08:00
Kuan-Chung Chen
7be73dc106 wifi: rtw89: fix CTS transmission issue with center frequency deviation
The CTS cannot be received by the peer due to center frequency
deviation. This issue can be solved by correct settings to
transmit proper CTS.

Signed-off-by: Kuan-Chung Chen <damon.chen@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240423121247.24714-1-pkshih@realtek.com
2024-04-29 08:40:18 +08:00
Namjae Jeon
bc642d7bfd ksmbd: fix uninitialized symbol 'share' in smb2_tree_connect()
Fix uninitialized symbol 'share' in smb2_tree_connect().

Fixes: e9d8c2f95a ("ksmbd: add continuous availability share parameter")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-04-28 19:36:03 -05:00
Clément Léger
63f93a3ca8
riscv: hwprobe: export Zihintpause ISA extension
Export the Zihintpause ISA extension through hwprobe which allows using
"pause" instructions. Some userspace applications (OpenJDK for
instance) uses this to handle some locking back-off.

Signed-off-by: Clément Léger <cleger@rivosinc.com>
Reviewed-by: Atish Patra <atishp@rivosinc.com>
Link: https://lore.kernel.org/r/20240221083108.1235311-1-cleger@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-04-28 14:50:38 -07:00
Clément Léger
441381506b
riscv: misaligned: remove CONFIG_RISCV_M_MODE specific code
While reworking code to fix sparse errors, it appears that the
RISCV_M_MODE specific could actually be removed and use the one for
normal mode. Even though RISCV_M_MODE can do direct user memory access,
using the user uaccess helpers is also going to work. Since there is no
need anymore for specific accessors (load_u8()/store_u8()), we can
directly use memcpy()/copy_{to/from}_user() and get rid of the copy
loop entirely. __read_insn() is also fixed to use an unsigned long
instead of a pointer which was cast in __user address space. The
insn_addr parameter is now cast from unsigned lnog to the correct
address space directly.

Signed-off-by: Clément Léger <cleger@rivosinc.com>
Reviewed-by: Charlie Jenkins <charlie@rivosinc.com>
Link: https://lore.kernel.org/r/20240206154104.896809-1-cleger@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-04-28 14:50:37 -07:00
Samuel Holland
fa7d733901
riscv: Do not save the scratch CSR during suspend
While the processor is executing kernel code, the value of the scratch
CSR is always zero, so there is no need to save the value. Continue to
write the CSR during the resume flow, so we do not rely on firmware to
initialize it.

Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Link: https://lore.kernel.org/r/20240312195641.1830521-1-samuel.holland@sifive.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-04-28 14:50:36 -07:00
Palmer Dabbelt
d4b500cceb
Merge patch series "riscv: 64-bit NOMMU fixes and enhancements"
Samuel Holland <samuel.holland@sifive.com> says:

This series aims to improve support for NOMMU, specifically by making it
easier to test NOMMU kernels in QEMU and on various widely-available
hardware (errata permitting). After all, everything supports Svbare...

After applying this series, a NOMMU kernel based on defconfig (changing
only the three options below*) boots to userspace on QEMU when passed as
-kernel.

  # CONFIG_RISCV_M_MODE is not set
  # CONFIG_MMU is not set
  CONFIG_NONPORTABLE=y

*if you are using LLD, you must also disable BPF_SYSCALL and KALLSYMS,
because LLD bails on out-of-range references to undefined weak symbols.

* b4-shazam-merge:
  riscv: Allow NOMMU kernels to run in S-mode
  riscv: Remove MMU dependency from Zbb and Zicboz
  riscv: Fix loading 64-bit NOMMU kernels past the start of RAM
  riscv: Fix TASK_SIZE on 64-bit NOMMU

Link: https://lore.kernel.org/r/20240227003630.3634533-1-samuel.holland@sifive.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-04-28 14:50:35 -07:00
Miguel Ojeda
70a57b2472
RISC-V: enable building 64-bit kernels with rust support
The rust modules work on 64-bit RISC-V, with no twiddling required.
Select HAVE_RUST and provide the required flags to kbuild so that the
modules can be used. The Makefile and Kconfig changes are lifted from
work done by Miguel in the Rust-for-Linux tree, hence his authorship.
Following the rabbit hole, the Makefile changes originated in a script,
created based on config files originally added by Gary, hence his
co-authorship.

32-bit is broken in core rust code, so support is limited to 64-bit:
ld.lld: error: undefined symbol: __udivdi3

As 64-bit RISC-V is now supported, add it to the arch support table.

Co-developed-by: Gary Guo <gary@garyguo.net>
Signed-off-by: Gary Guo <gary@garyguo.net>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Co-developed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20240409-silencer-book-ce1320f06aab@spud
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-04-28 14:50:34 -07:00
Palmer Dabbelt
300ce44cbe
Merge patch series "Rework & improve riscv cmpxchg.h and atomic.h"
Leonardo Bras <leobras@redhat.com> says:

While studying riscv's cmpxchg.h file, I got really interested in
understanding how RISCV asm implemented the different versions of
{cmp,}xchg.

When I understood the pattern, it made sense for me to remove the
duplications and create macros to make it easier to understand what exactly
changes between the versions: Instruction sufixes & barriers.

Also, did the same kind of work on atomic.c.

After that, I noted both cmpxchg and xchg only accept variables of
size 4 and 8, compared to x86 and arm64 which do 1,2,4,8.

Now that deduplication is done, it is quite direct to implement them
for variable sizes 1 and 2, so I did it. Then Guo Ren already presented
me some possible users :)

I did compare the generated asm on a test.c that contained usage for every
changed function, and could not detect any change on patches 1 + 2 + 3
compared with upstream.

Pathes 4 & 5 were compiled-tested, merged with guoren/qspinlock_v11 and
booted just fine with qemu -machine virt -append "qspinlock".

(tree: https://gitlab.com/LeoBras/linux/-/commits/guo_qspinlock_v11)

Latest tests happened based on this tree:
https://github.com/guoren83/linux/tree/qspinlock_v12

* b4-shazam-lts:
  riscv/cmpxchg: Implement xchg for variables of size 1 and 2
  riscv/cmpxchg: Implement cmpxchg for variables of size 1 and 2
  riscv/atomic.h : Deduplicate arch_atomic.*
  riscv/cmpxchg: Deduplicate cmpxchg() asm and macros
  riscv/cmpxchg: Deduplicate xchg() asm functions

Link: https://lore.kernel.org/r/20240103163203.72768-2-leobras@redhat.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-04-28 14:50:33 -07:00
Linus Torvalds
e67572cd22 Linux 6.9-rc6 v6.9-rc6 2024-04-28 13:47:24 -07:00
Linus Torvalds
245c8e8174 Misc fixes:
- Fix EEVDF corner cases
 
  - Fix two nohz_full= related bugs that can cause boot crashes
    and warnings.
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmYuBxcRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1im6A/+JfNAwxPghp9zM43ERLadl3MUbH0hsdV9
 54xhQm58Fi8wzXhxhRiOcLqrhFDNsy91mRWHxt9/PjvdFXhp9GiNpehMsHCmTsS8
 7ywJKcAeKTM1+7nq4RFbDFSSpr1J5aUYKXfuhWwr0QVF3mNoRkmZaLdlnVjxebbA
 sKXXtEKbn0yCeIsdPwmZlLxzNyOV2j0p8Xck8DKrLjW57pbebiBHyt2N59PsARb4
 Yt9wNbyb48DqGNy2FaRCWlm/8OL0BLMB0tMnXkIDtW89uVuP4V6fQF0vau3re+vy
 A8+OMD8gpeYjNV5WKrT5r3+EQyFJGI7nr6PbWTY8KLIGCjSSu9iGojn0hdVMGTj7
 rQe6LJNSMe6xW53ZrecMh6OGZ3esgkaZKafXrMcczcSq/CCX0wSVSAbANCkhyANx
 VFZsCgxX/zdRSwSRZiyiHLnP/3/lw0sOxoBS/m0hDSJulJF7fbQGLAfLx+Zccnoe
 2KBra2DXk/49OH+jehrj2C1m2ozWp2+4Kb7mwYISrTJVp0ylgjNiznAKkmB5R8XN
 UOfio5nr09KJWpRKW3UoR2CpaPu/BXUB249DDm36zK1I9V/ljYzrCHKjw+TTWgdS
 nPEVVYR9aj4t/De8wPm0gk/Orv9KaQkpdsOCgezRB0hJGuLpABcA9FGlTJntQ+n9
 UPLMOgN36Q4=
 =Zhc/
 -----END PGP SIGNATURE-----

Merge tag 'sched-urgent-2024-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fixes from Ingo Molnar:

 - Fix EEVDF corner cases

 - Fix two nohz_full= related bugs that can cause boot crashes
   and warnings

* tag 'sched-urgent-2024-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched/isolation: Fix boot crash when maxcpus < first housekeeping CPU
  sched/isolation: Prevent boot crash when the boot CPU is nohz_full
  sched/eevdf: Prevent vlag from going out of bounds in reweight_eevdf()
  sched/eevdf: Fix miscalculation in reweight_entity() when se is not curr
  sched/eevdf: Always update V if se->on_rq when reweighting
2024-04-28 12:11:26 -07:00
Linus Torvalds
aec147c188 Misc fixes:
- Make the CPU_MITIGATIONS=n interaction with conflicting
    mitigation-enabling boot parameters a bit saner.
 
  - Re-enable CPU mitigations by default on non-x86
 
  - Fix TDX shared bit propagation on mprotect()
 
  - Fix potential show_regs() system hang when PKE
    initialization is not fully finished yet.
 
  - Add the 0x10-0x1f model IDs to the Zen5 range
 
  - Harden #VC instruction emulation some more
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmYuCVMRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1h0Hw/1HVlmRGTrQQBvVMlzt6Y3GlUk2uHSiSh0
 pO57sh9tMu/3kWdcrUi4xkEVHmfBjMxXY5sw/7VXQ9mG7wv+SVgF3gAaAl+5q73K
 JKPPAhkPqUmXP3Sm1rqTt8iZtTViY3ilP6QEZaOIfL2Pwa7X3QP8TJRBKAJCrXEM
 hOEMXSd1W1Escs/uPlhCXHx8TRVTr9f4bv8TdHBXZGHTida5vejj+yhMSdaM94qw
 ywZ4an1NOnLGcNEMMYhOQ6Kbh9Ckj46JRjpodTfmjodLd/jOhVU5C7nTZfHRXSRU
 3UQBZtTZIYYCs8Urg2l/W5IhywWV3P9Jg+D+vl/bdEKJ+yINLAnOgVhVPqeG2GWt
 Ww3FelgRz0AkQKTegRCK2jQWnHActSrYmkr4M24wa/cVkMrcpXT3LHj8PgRnllx5
 q5JqQ37G3QYHMzslbBqyUHzJv8KzgdZdgyFTN3dX1q9n5FPy7Ul9Ue1Zp2SoId8i
 K6u+IjCkftWwIbv8AhXiEVo0ynfBkmV4UNVGJks1xIPA3lmNv3ax5nQMJLvZzJ48
 n+Id8ALEWxyOrKR6bdWdPtJqd0Nw/q4e6AOTzVYE94X8+uVuug4m4X7QPo+Ctbz1
 IkhTxmBbHzgKylbddK6LkdnXnHCGidOmXsF3VS6TRfz7ALaMUgpaHw34reEhiOlT
 xsIw+XVOKg==
 =AfRR
 -----END PGP SIGNATURE-----

Merge tag 'x86-urgent-2024-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Ingo Molnar:

 - Make the CPU_MITIGATIONS=n interaction with conflicting
   mitigation-enabling boot parameters a bit saner.

 - Re-enable CPU mitigations by default on non-x86

 - Fix TDX shared bit propagation on mprotect()

 - Fix potential show_regs() system hang when PKE initialization
   is not fully finished yet.

 - Add the 0x10-0x1f model IDs to the Zen5 range

 - Harden #VC instruction emulation some more

* tag 'x86-urgent-2024-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  cpu: Ignore "mitigations" kernel parameter if CPU_MITIGATIONS=n
  cpu: Re-enable CPU mitigations by default for !X86 architectures
  x86/tdx: Preserve shared bit on mprotect()
  x86/cpu: Fix check for RDPKRU in __show_regs()
  x86/CPU/AMD: Add models 0x10-0x1f to the Zen5 range
  x86/sev: Check for MWAITX and MONITORX opcodes in the #VC handler
2024-04-28 11:58:16 -07:00
Linus Torvalds
8d62e9bf28 Fix a double free bug in the init error path of the
GICv3 irqchip driver.
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmYuAokRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1guNQ//cdzOUFtiYazvKblbnhm3TG4Um+dpEoiA
 4HjQTR2+71Wxafh5plrr9KGazk18oK/3AP0008t1JnmjPhfo8yto+qqYPKgeCI8a
 BCq1xv+oFiwyQWMLl+mKes1uLLYTzFh3qUy5P842lwPejMbYYhzQtQHhPozapdDC
 f+Hm3TwTSrbWbQcwuJ8E5TAxk8Qlwb5aVVTUTDAVlWQ6GqjiyRrMYiFsaPT5w4Ji
 J2Oj44URd0uH8ltJSH+R9hC1C87gIdCIGeddDxqnI7gGMHHx6C+OG0pjJNgwysmg
 CIRGRiRm2OyAYAxdy2p1OZgsMPziQtnTS1J9IlrldZfEtafsZkTN7VNMGilO9TYD
 W5FJNPZx24xZ3FJiR+FGV04clgxW0KNiKe5Mvc0GlZ/ux5ZO0rY2UqvA9yBYWwXX
 9RVXjxvkad/Eu1UJvASA6AabbwSWjGAU0mdhUUR5cJxetyfXwNVfGs8W3AvJ9ZyL
 nMnl1fU1Byj5eg69Gily9CyNvyJpgenP82VLCNGdZ4uF+2ol8FrK2ZR1yMrNzk4e
 jg85+VxCM3iIe1hJUDr5UT3gsbldAwJNfGUxrt1zy+RVb5RBbXuKtqvXlE6temfN
 jZ4Xo77b/PHwX5P2+6Kb+1C/cVgD/sOL/bYZ75QpiYVSPgnhBv3wAaVRFwFdQE+k
 pTpswSQ0wgE=
 =IuoV
 -----END PGP SIGNATURE-----

Merge tag 'irq-urgent-2024-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fix from Ingo Molnar:
 "Fix a double free bug in the init error path of the GICv3 irqchip
  driver"

* tag 'irq-urgent-2024-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip/gic-v3-its: Prevent double free on error
2024-04-28 11:51:13 -07:00
Jose Ramon San Buenaventura
9163009027 hwmon: (pmbus/adm1275) add adm1281 support
Add support for adm1281 which is similar to adm1275 and other chips
of the series.

Signed-off-by: Jose Ramon San Buenaventura <jose.sanbuenaventura@analog.com>
Link: https://lore.kernel.org/r/20240425070948.25788-3-jose.sanbuenaventura@analog.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2024-04-28 10:08:43 -07:00
Jose Ramon San Buenaventura
379bb1f4d5 dt-bindings: hwmon: adm1275: add adm1281
Add support for the adm1281 Hot-Swap Controller and Digital Power
and Energy Monitor

Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Jose Ramon San Buenaventura <jose.sanbuenaventura@analog.com>
Link: https://lore.kernel.org/r/20240425070948.25788-2-jose.sanbuenaventura@analog.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2024-04-28 10:08:43 -07:00
Ricardo Neri
f0c344c000 hwmon: (coretemp) Extend the bitmask to read temperature to 0xff
The Intel Software Development manual defines the temperature digital
readout as the bits [22:16] of the IA32_[PACKAGE]_THERM_STATUS registers.
Bit 23 is specified as reserved.

In recent processors, however, the temperature digital readout uses bits
[23:16]. In those processors, using the bitmask 0x7f would lead to
incorrect readings if the temperature deviates from TjMax by more than
127 degrees Celsius.

Although not guaranteed, bit 23 is likely to be 0 in processors from a few
generations ago. The temperature reading would still be correct in those
processors when using a 0xff bitmask.

Model-specific provisions can be made for older processors in which bit 23
is not 0 should the need arise.

Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Link: https://lore.kernel.org/r/20240425171311.19519-4-ricardo.neri-calderon@linux.intel.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2024-04-28 10:08:43 -07:00
Heiner Kallweit
f4a86616d1 hwmon: (jc42) Remove I2C_CLASS_SPD support
Last host driver supporting I2C_CLASS_SPD was i801. Now that I2C_CLASS_SPD
support has been removed there, we can remove it here too.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/3c4a1715-bfbb-4ae2-b35f-2f20f95e4932@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2024-04-28 10:08:33 -07:00