Commit graph

1,089,026 commits

Author SHA1 Message Date
Jason A. Donenfeld
64276a9939 random: cleanup UUID handling
Rather than hard coding various lengths, we can use the right constants.
Strings should be `char *` while buffers should be `u8 *`. Rather than
have a nonsensical and unused maxlength, just remove it. Finally, use
snprintf instead of sprintf, just out of good hygiene.

As well, remove the old comment about returning a binary UUID via the
binary sysctl syscall. That syscall was removed from the kernel in 5.5,
and actually, the "uuid_strategy" function and related infrastructure
for even serving it via the binary sysctl syscall was removed with
894d249115 ("sysctl drivers: Remove dead binary sysctl support") back
in 2.6.33.

Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-02-28 16:05:25 +01:00
Magnus Karlsson
18b1ab7aa7 xsk: Fix race at socket teardown
Fix a race in the xsk socket teardown code that can lead to a NULL pointer
dereference splat. The current xsk unbind code in xsk_unbind_dev() starts by
setting xs->state to XSK_UNBOUND, sets xs->dev to NULL and then waits for any
NAPI processing to terminate using synchronize_net(). After that, the release
code starts to tear down the socket state and free allocated memory.

  BUG: kernel NULL pointer dereference, address: 00000000000000c0
  PGD 8000000932469067 P4D 8000000932469067 PUD 0
  Oops: 0000 [#1] PREEMPT SMP PTI
  CPU: 25 PID: 69132 Comm: grpcpp_sync_ser Tainted: G          I       5.16.0+ #2
  Hardware name: Dell Inc. PowerEdge R730/0599V5, BIOS 1.2.10 03/09/2015
  RIP: 0010:__xsk_sendmsg+0x2c/0x690
  [...]
  RSP: 0018:ffffa2348bd13d50 EFLAGS: 00010246
  RAX: 0000000000000000 RBX: 0000000000000040 RCX: ffff8d5fc632d258
  RDX: 0000000000400000 RSI: ffffa2348bd13e10 RDI: ffff8d5fc5489800
  RBP: ffffa2348bd13db0 R08: 0000000000000000 R09: 00007ffffffff000
  R10: 0000000000000000 R11: 0000000000000000 R12: ffff8d5fc5489800
  R13: ffff8d5fcb0f5140 R14: ffff8d5fcb0f5140 R15: 0000000000000000
  FS:  00007f991cff9400(0000) GS:ffff8d6f1f700000(0000) knlGS:0000000000000000
  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  CR2: 00000000000000c0 CR3: 0000000114888005 CR4: 00000000001706e0
  Call Trace:
  <TASK>
  ? aa_sk_perm+0x43/0x1b0
  xsk_sendmsg+0xf0/0x110
  sock_sendmsg+0x65/0x70
  __sys_sendto+0x113/0x190
  ? debug_smp_processor_id+0x17/0x20
  ? fpregs_assert_state_consistent+0x23/0x50
  ? exit_to_user_mode_prepare+0xa5/0x1d0
  __x64_sys_sendto+0x29/0x30
  do_syscall_64+0x3b/0xc0
  entry_SYSCALL_64_after_hwframe+0x44/0xae

There are two problems with the current code. First, setting xs->dev to NULL
before waiting for all users to stop using the socket is not correct. The
entry to the data plane functions xsk_poll(), xsk_sendmsg(), and xsk_recvmsg()
are all guarded by a test that xs->state is in the state XSK_BOUND and if not,
it returns right away. But one process might have passed this test but still
have not gotten to the point in which it uses xs->dev in the code. In this
interim, a second process executing xsk_unbind_dev() might have set xs->dev to
NULL which will lead to a crash for the first process. The solution here is
just to get rid of this NULL assignment since it is not used anymore. Before
commit 42fddcc7c6 ("xsk: use state member for socket synchronization"),
xs->dev was the gatekeeper to admit processes into the data plane functions,
but it was replaced with the state variable xs->state in the aforementioned
commit.

The second problem is that synchronize_net() does not wait for any process in
xsk_poll(), xsk_sendmsg(), or xsk_recvmsg() to complete, which means that the
state they rely on might be cleaned up prematurely. This can happen when the
notifier gets called (at driver unload for example) as it uses xsk_unbind_dev().
Solve this by extending the RCU critical region from just the ndo_xsk_wakeup
to the whole functions mentioned above, so that both the test of xs->state ==
XSK_BOUND and the last use of any member of xs is covered by the RCU critical
section. This will guarantee that when synchronize_net() completes, there will
be no processes left executing xsk_poll(), xsk_sendmsg(), or xsk_recvmsg() and
state can be cleaned up safely. Note that we need to drop the RCU lock for the
skb xmit path as it uses functions that might sleep. Due to this, we have to
retest the xs->state after we grab the mutex that protects the skb xmit code
from, among a number of things, an xsk_unbind_dev() being executed from the
notifier at the same time.

Fixes: 42fddcc7c6 ("xsk: use state member for socket synchronization")
Reported-by: Elza Mathew <elza.mathew@intel.com>
Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Björn Töpel <bjorn@kernel.org>
Link: https://lore.kernel.org/bpf/20220228094552.10134-1-magnus.karlsson@gmail.com
2022-02-28 15:39:53 +01:00
Arnd Bergmann
d271758452 TI K3 device tree updates for v5.18
Since (ti-k3-dt-fixes-for-v5.17):
 Fixes:
 * Cleanups for flash nodes across K3.
 * gic-v3 backward compatible registers
 * j721s2 interrupt parent fixup for wakeup GPIO
 
 New:
 * AM62 SoC and AM62-SK board
 * wdt support for am64
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmIct6oACgkQ3bWEnRc2
 JJ0IphAAlXcsR2Eu7QrVn3yD+kQmVGuiiwpSZ4byQ1ZqfzmqCLsmTEAnQuNcEv00
 wRiQf//JrdKb81Uho0Ag0a5V9Hwm66aFx80wxhCdZ1oYGq/MbdKOm76GYwJCqQqZ
 n3TSnRmXYSIdV0T3TfmdmOie+OHosQ+DpICXKC5g5ZMkrQK7t6oS7M/8FJx+UfsE
 2FgNzepdPrY241x02CnAPirdL2ptAiCO7qIeLyxCk1yQjXyCsmSLyGDScHnM+6PA
 E9kO0XA0AeTlrp3U7SzqHAL2rmxXnFP92f1gLC2z3aQ5pwg5kglL/Ll3VwTRBUx9
 FfX3sRE1SHLfTTVascgLr8oab/xJ8KR6228Gu/FAOR74i4s0h3kgHppvU3h3HgAe
 PFm6oWLjQREosb7vmkhMursd3kqkrlg8Kq6dqxAKzcB36QbpkAWlXfpts8g58U2R
 M3EiYTK81mOVP1V1eUAXu5LdGsTpOFcS7FlYk6l1PbzJPQAkbmSwIgd911kAQsUy
 Qjj000H3Rv7tH1LluyBR/vm8B3MVrl2PMTAHhi9wV8zaNiqTJWsQO3NgmaPHzYb1
 VFGxf+75pdDnq2+DdbyGmvgQSZ1n3fRa/QFvqO62in13R7uwdUpLzWCouLXkdHPu
 hs2vVo1bzJMVMkihjRKrlkLBjsO6HTKUL2AC9Du8BgAkRwh+aPY=
 =mVxU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2nEACgkQmmx57+YA
 GNlIvA/9HiZZ4C42kZ4MgmwysvF1Dx+j5nwhDyFBFmLdlesiy/0LcdanyZhY1vAp
 kwAmMC4xOnq5o5QAH0F5GuMXYptYk3grJ7rMb4LpQaSeog/74VhRBAzmYafobAqu
 uongkSBk+ZUXDFwYQ80JZthOKTJcgBKDA0uYj1NQ8GVDKTwFsBoN29XWo5fkVbi7
 NBu9vyAjcvhZXW7lUFz9qeoZ1shuQlUBjTfPfL2Fgt8ravNsBttqk382Kg3fd/vN
 EMsjWfL06iBXayzNfoShrZ2y3ngbxIl9t8QiV8y1Mwzz0KoFZimWjnHvUCR3H55b
 GVj4Xy6qXAFUZchzd1JeypnT+jHMeJhCSkZkYvDUePFvJxd7i21sdOIjAA8fLERL
 cR32Nx24Z+4I2Mjq1FGV6RaybUd/zsKITfRoGJj2+iymw7tDnmZnkO8XlQAcvxgq
 ByBang7hwHYf/5XWm6t+SypBv3Oc7mrj8w34LUVOHz92UXWS0B0LVoVB6j28L5yf
 NaC3pV0VmH1LT6zobkJP7Ykz0EggjQEmUrWogsEN35B7SNZeAlehGis0qdx+di00
 S/Q9eb4a9Wu7dS8q16DaxEf/JNAL0nbpMiRQdwAhyENaN3nAIRaJcLEWOpr6/d7a
 MxW6wZ578XFqnUppVCm6fbtXUOYBK4A2Y4/2WqX2Zvk8rqRraCQ=
 =uMlU
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-dt-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into arm/dt

TI K3 device tree updates for v5.18

Since (ti-k3-dt-fixes-for-v5.17):
Fixes:
* Cleanups for flash nodes across K3.
* gic-v3 backward compatible registers
* j721s2 interrupt parent fixup for wakeup GPIO

New:
* AM62 SoC and AM62-SK board
* wdt support for am64

* tag 'ti-k3-dt-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  arm64: dts: ti: Add support for AM62-SK
  arm64: dts: ti: Introduce base support for AM62x SoC
  dt-bindings: pinctrl: k3: Introduce pinmux definitions for AM62
  dt-bindings: arm: ti: Add bindings for AM625 SoC
  arm64: dts: ti: k3-*: Drop address and size cells from flash nodes
  arm64: dts: ti: k3-*: Fix whitespace around flash@0 nodes
  arm64: dts: ti: k3-j721s2: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-am64: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-j721s2-mcu-wakeup: Fix the interrupt-parent for wkup_gpioX instances
  arm64: dts: ti: k3-am64: Add ESM0 to device memory map
  arm64: dts: ti: k3-am65*: Remove #address-cells/#size-cells from flash nodes
  arm64: dts: ti: k3-am64-main: Add RTI watchdog nodes
  arm64: dts: ti: k3-j721s2-common-proc-board: Alias console uart to serial2
  arm64: dts: ti: k3-j721s2: Move aliases to board dts

Link: https://lore.kernel.org/r/20220228120711.xdburehxs5gnwxko@capacity
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:21:37 +01:00
Arnd Bergmann
bb67752b50 - Add Ethernet node for OX810SE base board
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmIcjqsACgkQd9zb2sjI
 SdGfDRAAoQMW3R2xZQ6GZuguktjyrRQaJRBe1EuoCjX+FraDt3G0NNDPIKWm06GW
 1QZiw0DM7QNGrIOBhXN0uwWyARJxP2aBUAm7s6a6N/8z0HSn8KBC/WFMjrXqqJfw
 IHN/WalykArGSp9K4Ea/FoF6u+rVB2Kti7IR0cNQfBOwniiWq9UGYAXNU+moGbZY
 4g0h8HUVEHsIVQaRJESMbzExUKi6Jbogj7kW8Dsv3iafMXah+cizTPKbalbfqngN
 I2SpI5aHf0/5uvKO6MA8WzdSrL8sujYjEqKFkgNGbMGgeUSfUIcfMXaGHR9oEsGu
 Stku0kL6briigjHLp3WQMFwAOnwt1DvaNnymWaCunSYj4ymA94KhzvhRXH6dXzf4
 0Lw25dqVh8R1R13J7RXX4b9EFVo12bUnN6IsLnqs0lBxb+mbckJTe/+WGLEGgHYh
 o/BlvrZICkkjN5LkrrjjicaUCvCgU76+o911ghf2W6VXRAEnrJmops6d/Kel0zVt
 c3yqdPqUc3qf4C2ipOwfpneMaDigkcAsd4e7LOvm2vmZwM3zUWnNGjNCHSS3urkC
 /nfLrO2PWhUXbNcCkTq2b/lk/kTucAp8NDwskbpGWjDzrcZwllF1d9ENQPYY8AlS
 Jwk58vVbJudLSiThHAV9sZBbXXxPUMJFqLkHcwbyNSqcowoFBsA=
 =9iGN
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2kIACgkQmmx57+YA
 GNllpA/9Hv1vOx8foRITQKBSgq2pDVln5DSg0n6R/hONF2COk/+1OYcMNHl+jjTf
 ND5l3YEN3m1JrT13YtXTpCKwvp2pMYdLyzEHHUX0tcClSqwMsu0DliKs6zMS95CS
 p5vQLG4zu9mpilub7lnGyax/CGAwEd7332RGDT44n1rrozL6y8aad353kjDg6rMI
 qp7ptP3eabJSU7H+QZQi+ESk8YcdrJPU/f8ufQQLKB2FFv8m/1PJsSQ3MwGyddyf
 zsnYgFkpsTQx9uBqTCrKFxxvLOHBeFcTUBFFvNrSkLV1cCLXUfqGqVBif6qv5sgv
 EvGhBA42+EU9d4BhRDsjztW7BeDtWrzjIpJy25Zth9a0jFCpB42jhNhROFKXtKhS
 9dPgLZ/OmK6jjB9sIy1oU7VvVKf6124+zTpiASrevALmGPQkfeEAeRLviwySbrqr
 HOO5gilTbVGgCl796yiv+qYBXb7kzuGSNo/LAETKWQPvakfb4+c2lCZgXUMQaGBl
 PD+r9IDzYtnAQdWKCsYRAPL1oRYX8f5azHx1DrkiP8UpgtE7UDoM+S98c3wYcS4j
 cp2B58HmfRwxaB3ZABiF2ZdI9d06ZoeQA4ZTSpanWTrxknuttKyRHGwqM8EcXKy6
 DLf6Ik93ZxUECRjA99AJY9iqeePod9ACLdxKuHGzRFAMGYmIpGU=
 =EYxx
 -----END PGP SIGNATURE-----

Merge tag 'oxnas-arm-soc-dt-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/narmstrong/linux-oxnas into arm/dt

- Add Ethernet node for OX810SE base board

* tag 'oxnas-arm-soc-dt-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/narmstrong/linux-oxnas:
  ARM: dts: ox810se: Add Ethernet support

Link: https://lore.kernel.org/r/530fd72c-e28a-4d5e-cb8d-8b3fbc1df89a@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:20:50 +01:00
Arnd Bergmann
2d9f1dd1f2 ASPEED device tree updates for 5.18
- New machines
 
   * Quanta S6Q AST2600 BMC
   * ASRock ROMED8HM3 AST2500 BMC, a half-width, single-socket Epyc
     server board
 
  - Facebook's Bletchley has a large update for production hardware
 
  - Ampere's Mt Jade has a number of updates
 
  - Small clenaups and additions for Everest, Rainier and Tacoma, and the
    flash layout
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+nHMAt9PCBDH63wBa3ZZB4FHcJ4FAmIcYboACgkQa3ZZB4FH
 cJ7d6hAAheMqTkP70chFz3wTE49vLG9ZDNEL7skKC+lPlfhDc5tH/ScfhmUvpSQ0
 JEHbPLKBaVnSh0L6CL/BeyQv+qDWdIlFRfyk78n1126vdZANHKaOZ9+I47nbVQV9
 ulzK4wzWec5wUb/3kmFHYO+OOmYF+mk6jH28R43BM6GlgVsnamyvxUFGeub6WhZk
 qFvGtpwA9tGleO3oLcE4ly4AavPIiWRsbnhX3Ni+S0qRKBXXJjLmx7kDSdwII6DA
 bqwzUUBENsUYD3qw5UJ8mx5zj1jKVa61je1jGi8HFPktwCU2t4Ly4zKjlYuOsvKU
 xG22y/PqgxNStWhJeDY4xrSNQF9ilRpwKH16Up+je+LYEC0Q3SmpaAvos2a56ldN
 YNUs7S4iOqcx2BYV+4Xjoq9JlQXkoSLOiip5dmiFw1CwZ19e0uE/bUE43F/jnFGW
 AQV3nJV/oOrDYYjjqq/sx1YXR+auXuSKzPbeyu0bqFw9u0bzIUuJaQPYDLhXuUyQ
 gtb884mphyWfpTEKvQY7PNli+J6tSZXDLpfUWHsf4/G2QLz6/ga7YO+5qPjQy7vk
 LYWIzN7kFlfbqLy+UiOueSjQYWo5pW/ZBzVunTrE2ziv+enCG/RShM+YzdepwjEj
 eqZd0OF22QAlT5rC1BsieJzu8aYmnWiMO9o2Ji1fNrXB1GYHk78=
 =4JxD
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2gsACgkQmmx57+YA
 GNlI6A//XO/O3luVRepwCuEI7drw7dv/uUclHM3xj6HWi1QL1c6W6lqDpY5yu4IS
 BA47ApC3JjZbF4iSsPATCcCAZf1iOYbkYfut9Te/sguNgeUitWhrrg7aJgASChJs
 SGrX0rZAyPMJT3+9uTCwYVThiFJMi8MxxLW1sPHRT9nN2eVDksqhNUVxaX5Xz1S6
 jqnuom4RANPUfQGMducmrDKaDByJg8QEK5NTJ8ckMRbWFQ50EO66YAwSxwb92C3g
 u3rMOKdvdT4e+o1oMf0N1O57b8/dL0lyOUcfjsj7ZtdU+rUMKNz2gBCZx4b1/3Tr
 rnFbUM+9S52kR3qqFfMBlMDKEtTh9IIOFexJ0eZlQDQ9IUpeM0ncvt6DvRnkogEL
 rL9SK4G0GtnRRiC4Me8oOU36HxS/WqsWZ7zdcgL3vDa8PcJoJTlsuXlT0yQS5XCn
 o1a3gjhYO9GdNjPGW8wSqe2gNntly10sVcbLj0Hamb+Q0SDX2Q9X3vxgrXl3X1OU
 PdtlZtPabovZWNNlaQ42Mcl/6p87hj3d/sn9qsH2GcmNNPSbBMMHPvoLR2uOpntv
 0tWNykTHZlKQyPGxmr3OwtCJ45JMZ6vM6YxbJfr7Tg82Id0Enn4/YKC+WFRSK5RU
 QZ/Y8NZbgpK+ObJxZe8ztZuzGxqYvG7UgQdTzE6AeBhYoNGxT3A=
 =OVwh
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-5.18-devicetree-2' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc into arm/dt

ASPEED device tree updates for 5.18

 - New machines

  * Quanta S6Q AST2600 BMC
  * ASRock ROMED8HM3 AST2500 BMC, a half-width, single-socket Epyc
    server board

 - Facebook's Bletchley has a large update for production hardware

 - Ampere's Mt Jade has a number of updates

 - Small clenaups and additions for Everest, Rainier and Tacoma, and the
   flash layout

* tag 'aspeed-5.18-devicetree-2' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc: (27 commits)
  ARM: dts: aspeed: p10bmc: Enable ftrace in ramoops buffer
  ARM: dts: aspeed: everest: Add RTC battery gpio name
  ARM: dts: aspeed: rainer: Add RTC battery gpio name
  ARM: dts: aspeed: Add ASRock ROMED8HM3 BMC
  ARM: dts: aspeed: rainier: Remove SPI NOR controllers
  ARM: dts: aspeed: mtjade: Move all adc sensors into iio-hwmon node
  ARM: dts: aspeed: mtjade: Rename GPIO hog nodes to match schema.
  ARM: dts: aspeed: mtjade: Update host0-ready pin
  ARM: dts: aspeed: mtjade: Update rtc-battery-voltage-read-enable pin
  ARM: dts: aspeed: mtjade: Enable secondary flash
  ARM: dts: aspeed: tacoma: Remove CFAM reset GPIO
  ARM: dts: aspeed: rainier: Label reset-cause-pinhole GPIO
  ARM: dts: aspeed: everest: Label reset-cause-pinhole GPIO
  ARM: dts: aspeed: tacoma: Clean up KCS nodes
  ARM: dts: aspeed: Add device tree for Quanta S6Q BMC
  ARM: dts: aspeed: bletchley: Cleanup redundant nodes
  ARM: dts: aspeed: bletchley: Enable mdio3 bus
  ARM: dts: aspeed: bletchley: Add INA230 sensor on each sled
  ARM: dts: aspeed: bletchley: Add shunt-resistor for ADM1278
  ARM: dts: aspeed: bletchley: Add interrupt support for sled io expander
  ...

Link: https://lore.kernel.org/r/CACPK8XdUXy5cnEDKmNirtByNMBGCjXwZpdKqJ0ytc0f34vzbBA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:19:55 +01:00
Arnd Bergmann
2cd76c2aba Samsung DTS ARM64 changes for v5.18, part two
1. Minor fixes and cleanups in newly introduced support for Exynos850.
 2. Add basic support for Exynos7885 and  Samsung Galaxy A8 (2018):
    SM-A530F.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmIaoIgQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD16CtD/wIWks7DuJBI4l3CGqWe+30xjIuTbcClWn9
 cykB6hONIz1Gpw+l2i/RFaYIDYD+HA9FyCC+dRvL+SuGp+awFqcgIOtTs3YzBVti
 Tu3XKX2q9xodGeMx/1vDkAfg9dpKgIs9ua4DMYeTW0B7/WTaX7YUayEDHIV4E5Z4
 FUSjD1S+JHyFQXpJrU+vlGTyLx2IbUW7ybvh0wcEdCeqVdmpg10tgjaZiKBGbNGe
 m56Wnq2v0hMVN7Ol60WUuvbKS5+l1UJtbOQQEiHU/t7qHji2zO1mMrdXiAcqp4CE
 9SPPS5uOQCVkNrNdpICQwDx+A4Fb96I1oiOoZ30EX/5VWLU2tCrWdYltRqqeYtIF
 vq9Zha4WCj80OFYfcXzHYyZf4E+OqqORZYE8plXoO7kphqRQrX0GV6MT+Sh2hmks
 zZosZUmuKj0bKZx41gDmilS5Q5a4eg0hoRFxl7DqBBulAgACJalfiLxlJXyOymwg
 a1hYrdWbUKhtyZ272Scsd3PG1kDqboanVp0ziIXgB4OWHefTeYGo84x4rDGU8Ttf
 nB2sSxalTjSWHvmywLG0iHWdaGkXKqvXS1pomvHDCNnabBCXKxgpXFuUNbrE+Nre
 5FTwveJ4CrSZbKdXcLDtXwx9Z8f+7PmROm+1E0XT7ohZXSezrxTCfYyVFyOlv3Zm
 315FnazzXw==
 =+2r/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2b0ACgkQmmx57+YA
 GNkFnBAAtnETyanWN205FGTIYpP0Up8Vj+4q1fultPqzcZ3bK0uo2PNl7iS3FyUW
 ix75d8onM/dakkjIRAUTsnv6oK+9LrmsPUBg4zac9AbEUo8w3sGlTeQwAHQ5kuDS
 WlZHHzkB2GFeZzwlKCYMuCgWFyOzizl9kTQmRxRcJYYd5/VzpdlcCJwwdlN5Rcvn
 4v3Mtr0Mz4YyS8Ij9EKX/xJ18S6VRU6tbHhlU5EVW4QpUbqAd3kUh2IbUO+PuFjk
 rs2kicGOP3BcmIPDa8ABscf//50NLIAHBFvl55MzL6Z+NPWdfg7EhlUGIXIs786p
 XDEUMNzwPGmba4gyDYLp5/bYe94+x0dnmFk7+i3kymHLh6xCfEE8HA8f5qAGIz1W
 GKuNUeKsh0nQNBEHW8Y4KbJIjz5/Q09wWF8iA2WliL40iktos6CcpDU+mjE57Z2T
 GCO/4dh3gYDz/+jLhBrrQrBIvt4i3xTnlnQ0yboyb20urXbHoJ6nqma+NKVvtkID
 5YhZHMFEPhJ5J6NBEJJ1OHXkJV1hR+EjP5kW3zvla5pkSfdYzTkZ6FmwovG13Nk/
 D9MG6r0NQMUfw+8OxoD4Qo5Mv2bNZemya3JjhAYvA9MJLgKDvY4DONaVVlW4ym0A
 /VdR7vN40aNHb8Ahr+3AKYLc4j4ldSGNAhTRJZMd6Hlxe8za14U=
 =efOO
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt64-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt

Samsung DTS ARM64 changes for v5.18, part two

1. Minor fixes and cleanups in newly introduced support for Exynos850.
2. Add basic support for Exynos7885 and  Samsung Galaxy A8 (2018):
   SM-A530F.

* tag 'samsung-dt64-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: Add initial device tree support for Exynos7885 SoC
  arm64: dts: exynos: use dedicated wake-up pinctrl compatible in Exynos850
  arm64: dts: exynos: align pinctrl with dtschema in Exynos850
  arm64: dts: exynos: drop incorrectly placed wakeup interrupts in Exynos850

Link: https://lore.kernel.org/r/20220226220116.13452-2-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:18:37 +01:00
Arnd Bergmann
4216cd957b Samsung DTS ARM changes for v5.18, part two
Various cleanups after introducing DT schema: adding missing HDMI
 supplies and aligning PPMU event node names with DT schema.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmIaoOAQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD16u3D/0fz0m5KzfZjjnnAXXtLDisFjNniNReGdab
 FQffDRE5QKOnUuo4dZHNJmmMPtTQpO8iD7kckP9QNyA4eZE8c+friaxQGreRQH7V
 9sca1nexzWBSQfkF1F6bxyH6FkGh7lN081xZQdyzTLaaG/TDdhriqIAOV5v5RMId
 QPbCQhVZ2WMaUfhf4OTyFzuV2d40LTXtmj05WY4Z9W0BX19N+cAFTBts2DuRU+7C
 OF15vtL/Izi3LuvirLquagokeV+oq+BvZ71gUkDdkV0JQxYu9ziHRZm/FE5ZqM0a
 Vwfrag7zFFg/HyNkdRbrUCsSHKwu9nFXrdjlFJ76hUhbuJCMAp4tVP+nHMKSqYvO
 zKKT9dJzTQTz9ZdroXW+qeRVsyfOY29gwVhTZ1PO2gkAEEyVrInXCCC0XajFcQaY
 oJg95FTQrKA9ZqmO3ddIg9vvC97xAds8/x5ohELKDgIZZYd2ngwde+zCh4/eniQK
 k4zax/1uV/rxlfRDiqFBfgiI0wA4iADM/fuv2/V50O/DwXuseE72QfyihP3hlKWe
 a8Q4k6zI5y5cwizhzp8/PGZD5coubG8F/i7u5Pq6vubxd6zZpX0c+AJ9QkcOZTaz
 6ooUmzoWj3bkLnZqBeoJ5TuBYYCCxetahyLblJsfl+6cUD5eOnEpkU49GfAhnVQm
 e1+p/gOjfA==
 =3uY2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2ZYACgkQmmx57+YA
 GNk8pA/+L7DkSB7A1CuAK5CJwQKBh7a8wxhc4YknlmVdf1GuEBD9AeF/q8OZQsdy
 eK+cST2/wqAdQr6fQoz3nFmgDNpaL+cOv7SVr3V3NO96jc6qfRPn/mgYm9dK0fTl
 ZTRbAdxnqSVIQw9r1U76DPAsO28/kwsnBtKJDszLa8+NEGtcwYGbnDNHNb6sqm1F
 dstBJzEdCMfCAkJULyCr0A/7JnEJ3xDRfQ+TI1UHUCyA713NEH49WzbGxYVGuOW2
 B9ktG1eiN1IJeVUn6CZCilKruQGxljRi/wkJCPv8B+QAsCd6DEdBX5C7cgi/K9tv
 hkmk+Xk0jrdu1/kpuzEKRiVPPnFojNUSrHRO6wckIySOj19BaTEJtgyh9pRxDLzA
 l50QoG+4ESyuoM3SLSp2JrB9lKygY0snpqyTWW0BY1aDEaOCiZL5YHmBHcnUpQuv
 uHuvstftglOoOkGrCD5Llx5g8ZAIwiWVhXyeKB3XJQo+qb9df5SPTYuCIP5Zjb/a
 07uKol/WWYrt29ipnkyBTKHauys09rs9owYWYGbgnr3q/RuqdI/3C0t/KzYkziKj
 TwO19PYJHiqemd803OSequHP4yUfdTn+QZWui1GMJt7Zog8F25c+skr/N6Mk6Ydz
 Tj7AZwqmL51VhGX5/79votYCiUfeZ50tjVx2T3LHWePq5arDBl0=
 =oZrO
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt

Samsung DTS ARM changes for v5.18, part two

Various cleanups after introducing DT schema: adding missing HDMI
supplies and aligning PPMU event node names with DT schema.

* tag 'samsung-dt-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: align PPMU event node names with dtschema
  ARM: dts: exynos: add missing HDMI supplies on SMDK5420
  ARM: dts: exynos: add missing HDMI supplies on SMDK5250

Link: https://lore.kernel.org/r/20220226220116.13452-1-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:17:58 +01:00
Arnd Bergmann
664abe8866 arm64: tegra: Device tree changes for v5.18-rc1
Based on the for-5.18/dt-bindings changes, this adds various new
 features on Tegra234 such as IOMMU, audio, gpio-keys, I2C and PWM
 support.
 
 Device trees for 64-bit Tegra boards are now also built with overlay
 support enabled, which allows firmware to apply overlays and customize
 the DTB that is passed to the kernel.
 
 There are also a couple of cleanups and additions for older devices,
 such as USB device mode support on Jetson Xavier NX.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmIZBv4THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoQCxD/91Rrrx6YerbjauJbX8on8yFhRGQUuf
 MNvOkfyzI3fSZjJyfZxR13gcJp0gh8oaFBEoBnIaSUEN+lLtlWZl4oQOU+Y1ZE1x
 vXiResOWGJaugKcRsR1CiGPnsWUDBiJtnRqoRdZSWUDHKno2ekqMS9lhMp+PmMY0
 8U/m3VV4C6JvNe9gO5kwo0egYRe9jFuncwtepi/YFUpMkGQ6P5WC1PjrLH3xJm3i
 609zobLbbOreV/ZN3W3x3uUgh49bm9FORwRSHrlmv79rlnBLMEXDEbWP4GHuDSUR
 jVFu9tghxv6PGy6JxkNomdv9EYOjrLa8NgmXKkfbLEIZf4jT1cNXrtSufhyj4GXC
 5KKkPB19fMtv/t53EzDjkDLfVAuCb/yBO62rtj28DLsR30ubhlVBK4GcHIsAcmot
 wz0mE7+NkBsr3X2qCUr0JBC6thFv6X8E5bXTc/zsGDfVNnKl8k+zXejiZDh68aVN
 EHYgQLneAWIQ2Af1nK6gQjs3pMdiqtAUZlCVFL0vM6VgT9hGi1N8l1DeHZa7elJw
 WHUrSFr/56WBdC0eKT2nxDzhygEGxkjkI2HKI/7hVrsRaOOC4rY4PDat0VwWyUIN
 JYPjTKqVcvYa+rNuAr7P4/EMl4kglB6dBTQFyeT446ff9R5Umxpvv+CaPD0aDz0o
 8TzA9Gc89MiH2Q==
 =ZfCL
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2QUACgkQmmx57+YA
 GNm8RxAAn4b8uK0TQ/AMvgdFabENBfsNGm6cYVIUp28SW1PBwacSzXRJYLypVXqv
 HWb6GmWoDqgvCHPFYtUF68IvC1SY3pgT517UFSXucnfqXw17Ew9rY45lNkW4rEI3
 jEmaTGNdqon33KTNQyH6r8m4qL8lKOAdU7TO4UjvcAK41eHL2r4uTLe2hNW+etqR
 /3Vbc5aVY6gq89hQh00KNjd6RSaLC/axJCBd2fMEwGFYHajk8IEldKe2bTPU/hWZ
 egNEmWjRPy3SvJ+zKl8irbaEIvgGv59gE9mTiqDfgTHXI3FPe8I3DwqYo0a9Wmjb
 6ACU9NfO6pyXgfaPtiqtQRN/QHhJngc/pZLX7x0GdszSDGff44Z/GY6Sowi3Y56i
 h8H+bYXZouCqH8Sb850fO+Bxlrl5TuwCQ8CwVzwlKgkbnmfVMPk6pmdSuLRJGcpr
 d+Tor0jbZWF4OO1vNcJ9YmA+/CVWmOuDDJU40IwuQldHwAZsVcAt2J88FkteYn28
 seVQOkfbXIhR8r80aUU+E9yTgYAr7k9wJU+B4qB2HLZM6CxEkfRk82BpJODTakD8
 42CvZIZXBCQ+ulTUTxz0nmHCjipJPOIxJ83eYEwuCZkgM79b0APiSVjw0htPmCzD
 znh6zecOBtxr1ftNnZPi+aVfyuJDpmnkpuw+netaDms3gRqFpxE=
 =l0Ys
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.18-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt

arm64: tegra: Device tree changes for v5.18-rc1

Based on the for-5.18/dt-bindings changes, this adds various new
features on Tegra234 such as IOMMU, audio, gpio-keys, I2C and PWM
support.

Device trees for 64-bit Tegra boards are now also built with overlay
support enabled, which allows firmware to apply overlays and customize
the DTB that is passed to the kernel.

There are also a couple of cleanups and additions for older devices,
such as USB device mode support on Jetson Xavier NX.

* tag 'tegra-for-5.18-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Drop arm,armv8-pmuv3 compatible string
  arm64: tegra: Enable Jetson Xavier NX USB device mode
  arm64: tegra: Enable UART instance on 40-pin header
  arm64: tegra: Add HDA device tree node for Tegra234
  arm64: tegra: Enable device-tree overlay support
  arm64: tegra: APE sound card for Jetson AGX Orin
  arm64: tegra: Add audio devices on Tegra234
  arm64: tegra: Move audio IOMMU properties to ADMAIF node
  arm64: tegra: Add Tegra234 IOMMUs
  arm64: tegra: Enable gpio-keys on Jetson AGX Orin Developer Kit
  arm64: tegra: Add GPCDMA node for tegra186 and tegra194
  arm64: tegra: Add Tegra234 PWM devicetree nodes
  arm64: tegra: Add Tegra234 I2C devicetree nodes

Link: https://lore.kernel.org/r/20220225164741.1064416-4-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:15:33 +01:00
Arnd Bergmann
f08a71d29d ARM: tegra: Device tree changes for v5.18-rc1
The changes in this set are cleanups and fixes for 32-bit Tegra device
 tree files. With these, some json-schema validation errors are fixed.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmIZBiMTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zob10D/4jYR8VDIRk08ikMvSrbsDfeMLckZ5s
 4pZtapp1zYflJru8y3EqhxvrMTvhK17rFDbaZRJQawCi0q2gUCFmeDUq3axfeY8x
 Z4RA8LJVFQ9innUgO//adDEfwTBYDpQeOSXYZkOGQyLiarele3XqUyenrfB+fRbV
 Bk3XW/Gii6FFm50c/RhFKLhBeWgh9ryPvC8ZnlInfUlmvZe/4+s+U8Q8oglwC2SN
 DbeB4o5ev72GO8kccg52AZaqkU0GyL3XETEriBGvPpasbOo5gGUr0A5ZZl0boUk3
 1VbZOvy79Ez8wj9m3zaVmxNCa8U7lXvxoj8jkdjRS9TwwDXZHUyE+KVfnaExiksQ
 C2VC57P3dL1NapjgpkHFhwQi+qG8Aqbp21sTQddiddRtpLtyWDmjEOVPbYmFBOML
 enzfpW3hZsW2lHhn2OKPEweUE1IXZ/8uW+htCwT/3yuvGISolARh4EUi8rEQWNju
 fjYsU0hTx86U4s1PizzrJ7/ghlrU31un/huATEFcr6aKbKNeSJq6vZ5+b6f5REnv
 zntfDIGFt57gQusVIBsribGW7nc5LAr0+27VguMFK8Xw82KkVkmpzlZVWXG8d518
 fkOpVRUWi38BOoKCfIMZZTAgT/xt4lJO7pEtTA+lmUq0C/oSSTjjvIMTp/cUIw9c
 TJ8o6/GTtn93YQ==
 =gwvR
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2GwACgkQmmx57+YA
 GNmmfA//bz3I7mN09E0TtkQwJ0Z6RYDkqh4sTuaxKuGX+rB+YGWPs2ZhiLmf08bq
 rG27e8N//hzcYKRmkm+m3qL69nREiV+Mgw/amEWj3sM1tYPok+mIjUyXs/5ML7Dx
 jh4aWSPDIy2Ex6xGXGMhvIPbwnazivn35Uug2CguEllTxj2hMJiZiNgrGJ9XuGP0
 K3Crx2txGrRjeUzz4wrBr0wbvQXqNEN1fDD6D7glp7w37IWyNrMCAF7/6wqflEHA
 ONneb4T9kyytJ+QGvFOsvKqKjwtDC56onkKYnc6wlugzNwbW3/pFNf5eUoFZ9gCf
 b0pw1NMUigZ7MBmcnhDzQfTsByWZmqWCnU1dPRY6kGa7Cl+WeDQ908YX9YVWYG7J
 CkP8tOQ+LulMeG1G5jAads6t0EXCMNvfFrdlsYC1e5Zs2jipZ3B6K3US+upI4Q8D
 6Mz33XgZdcPbvgBSIDLgAx5t8T5Pc13PQYoM3WESgPcup8OQ1DXK+59NpN/7rinv
 W/3ti0kZvxVVrJnFQvJa8ZaGBET+VxeFDzO2aKygkpH1X08nQtadQkjz4mzK15QM
 YLBgAHRuiMMvAjapg6gRKBXmG9Pki+NSRWudP/JYvAtVCpd3eqvvIH4jjcvpN9zm
 wj0MSdWtObImSDrItNeUBTXnU/bXtVWQUUIlLKpSJ/wudSWp5jM=
 =OP6Z
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.18-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt

ARM: tegra: Device tree changes for v5.18-rc1

The changes in this set are cleanups and fixes for 32-bit Tegra device
tree files. With these, some json-schema validation errors are fixed.

* tag 'tegra-for-5.18-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: tamonten: Fix I2C3 pad setting
  ARM: tegra: Fix ethernet node names
  ARM: tegra: paz00: Add MMC aliases
  ARM: tegra: tf700t: Rename DSI node
  ARM: tegra: transformer: Drop reg-shift for Tegra HS UART
  ARM: tegra: asus-tf101: Enable S/PDIF and HDMI audio
  ARM: tegra: Update jedec,lpddr2 revision-id binding

Link: https://lore.kernel.org/r/20220225164741.1064416-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:13:00 +01:00
Arnd Bergmann
cba4cdeb35 dt-bindings: Changes for v5.18-rc1
This contains additions to various DT bindings includes (such as clocks,
 resets, power domains, memory controller clients and SMMU stream IDs)
 for Tegra234.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmIZBZETHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoUclEACDN9W0ehB9rPOAGcgMQHrG6Eglf/sE
 l6faEST5sP5IWhFHCdm97NeIQAVOO7alQv2UurjT7MIdabH4fBk2ck6xdnP5eztW
 wDjvVy6YQc7vuQKJOdqbox1AvYRXwAYckIc3y6A9j9pR3K0AUCWMR5JeIMC7m0Um
 Iz67d0Bx4WTqaSNuw0zaCqbJEdeKA8pcCpkedAeWW2DL4NpctcJCzJL0QFXKOypy
 NuL13euaIxET//tu3Jec6acVEQrzr0ymrRPuQV4v6+rnaZy8AO/PbMUJb0XOtpwp
 C0j5YUkvdhq26NY52M1Z7duHADF7UHgxDuSnU9mbq71IhFtEEukhWvcJ+fLEbwSP
 ijsPuTJxc7pYYTdrOC+gzj+NNtqq4abiDJfowQPe/0DPqGrVbCn6GjAGzi8tf7SY
 6ScI9pRQGDvrTW021/Z6y7hlH4hq38Ypir7FdmppVnFbTnjN9r35vqR3LGDTiJq3
 Q3hGXeAuIg7rQowry/a+1+iy8KUOpStRAxtx9TpgYiW/4ru/ubzp8thKx1l6X9su
 DKoOe/Atq2QAqjO+4D+7s8LPUGYSu2OLYgAjQ6e9ZnlVDTdOHirr2OwxI5k6zOLR
 +m65qmRdccyUqcNvvh576l7mTf3SbGFd4C3L5RAIaFP3ltAzYrqphBtgZjT27lqj
 uv47eQBlPdyH9g==
 =IFUM
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc19wACgkQmmx57+YA
 GNlrHQ//Wiax3wrw0kxbD7DnYakfbHrZLnMb6C5ffQVn3ANBt4A1xaEgpzjxikCt
 T5HqQrk1lP1Bo0wFIOdo2gDNR+CmtaJLv3YXn8H9CuYTdqLiSwiR0Dx3JdawWoh+
 +vpBWJyIf/hqKH9Uq98iPAJQAOUSOgs5n4whw6aUMDU4GlqYK8QfXICad9KG8ug5
 YY/oKXUh9czATUnnknY8eKtsna1zSbutgegVv1F4J57nYZ19NB/5+svyjMddm6IQ
 q45GXoxJ8Y1Sk6oO2AMcOXjoUbjdWq9ToC1NV2bVM9az28d0RHlHJRSyI5o9XkXy
 ImrNVCU5Lpjkchrcod6YkhAoDz6xn5jLIuH0ni0wNSKKW5aWO7IC0t1dXloj4Of5
 9ibeofOoXnIbP5VC3iotQQFhLMBdn2kpbW2A/nfnyTXm/USrXwkWcMkA/xPaA1A/
 wXG3qNyJDtP+0cStRy7V9b2SCFxuCnIHYqhxFEtuULnqNrlA6j1aPIeo5kIZ93Gy
 /ifJ9NTFId3BwSXW7vl0tLrjzlFHmo0MsN4feC/kgHc+X8URjBqWrYSqse/Yv1Zw
 x26Dj6bRIJj91VeKpH6DIBI9TNOgEqIY489wscyjMgkTgUWBTzKbGYxU2/X2OtGs
 IcGOonWuJ+3BHpmK9ImjQ2K0YUMARRm5kYf9reYhRFFi+L4icEw=
 =1fay
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.18-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt

dt-bindings: Changes for v5.18-rc1

This contains additions to various DT bindings includes (such as clocks,
resets, power domains, memory controller clients and SMMU stream IDs)
for Tegra234.

* tag 'tegra-for-5.18-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  dt-bindings: memory: Add Tegra234 PCIe memory
  dt-bindings: power: Add Tegra234 PCIe power domains
  dt-bindings: Add Tegra234 PCIe clocks and resets
  dt-bindings: Document Tegra234 HDA support
  dt-bindings: Add HDA support for Tegra234
  dt-bindings: Add Tegra234 APE support
  dt-bindings: Add headers for Tegra234 PWM
  dt-bindings: Add headers for Tegra234 I2C

Link: https://lore.kernel.org/r/20220225164741.1064416-2-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:10:36 +01:00
Arnd Bergmann
2788839450 Samsung mach/soc changes for v5.18
1. Fix hang of secondary CPU bring-up on some of Exynos5420-based
    devices (Secure Monitor Call SMC_CMD_CPU1BOOT should be skipped for
    all Exynos5 devices).
 2. Extend Universal Serial Interface DT schema to precisely describe
    children nodes.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmIaonIQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1xCoD/sFNF8/ACC5Ku45ggkzLMS3yXbTjISDBdM5
 JjwwYtlsKjkR1+qSmcqw1DiVKIx4ScmBrYfC/i8zMHfOMtFPwTFPxtytVZA3IRwf
 JiX5dKMIp5sJ5d8FnVXS2ILibE5pwqRmup5TswQ9Hthhq7ptokxjg6QVWGq9XNaN
 xIoZdLxrG9XjyUJy6j14F+ZlCcS3xxS+XnHK+gcnKkBdUlbcQ9aSO41oprRzMhbo
 N/5CRk5/PrigwhP25HG4BnpygsFeJRKhJHKuPwNEyRqPK2eo3EPkEGo7SE77l/U3
 Xhf4ULLcOixUmFgZNOptmmtsCjRKGE4J1swe958cTOMkrchXfH+G3APOFItovGk9
 4B4mlEg/jCndFFOU58P8kEs6OYuqYeWFwjiC/kaNK6VeTtwMuMVPR5+d08mVzwdw
 wkPQ40vI5bAEP/7pBzY8cnYKMb6fzj6kdcjkQGNmM7gXiiB4oxf/CnB2MP/iRF07
 vzj2Bis2/RaGTA/25Q/TmCmizF1UsyIBx64JsZOM5VsgPGkRCJS6vVtnswRY0agx
 4LiYgGZaddo29N4JTX+obSvvomI8YE9UOfGHpsAEg2WLdBHbY0P+n0/Yx9Tl4VWb
 sc6QGaY5UQoqYLAf7GBGOHINxUpXoWK8GBakhmPxPAike6x+KpMLJv05/ObB7Rod
 /NNFXF2i/Q==
 =sFDL
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc12wACgkQmmx57+YA
 GNn0FQ//SD2dn8o2w9T14bQauN51aDsBcqJLUa1Zw9iJ8HCmIFJJ3SspSeIAUM5n
 J4lAUEgErTUoMnDnqabI6KWO/boOwC8TwjfR3VOZMd4LJl4lJyQFejoBQL9H2l3V
 IP60WFA+ZrqGip5jukraNlIWXiFQEqWhOhmzJbGCIVkZ4h+3eqVzAmgqM73IE7XH
 zeeAYTkL15RQ3lkhL4WskAYFkmtR2hojmsI5gEmfWU9wJOnJKLnuK73Wj22jmrkq
 uGpioFsKbEPHUuCMwDRp2FsOFrr9+7/vse9nk+rKDECdKqoXzxE04oe96DXzWwUL
 AmvZqzJ27Rs+58jyqmakVi0nUMiTMbU+XlcLZv+t43m/VfoS7EZJ7mNTVthPWK8k
 ORPxwq9OW+khgvLi9IFg8Q/Uj5ZgUn9rtHI9XmjH/54oI5B8VV+F6rikvfle8FdK
 VO+7Y8hq1P2hoEhj5U2jv90+qROSuAs9R8rrg0gUgbkUv3R/NgLf52Vkm6oh7OY6
 VzgTYmA1rHVh9sEZujMLiWmJ6vUhQRkWKd2mK9aHkawKnIU28l2zao9EBwxjxUo9
 sHrjZiAvoffVATLA/7L41f1tQ/gvh1yHu7i7N1+vynSju+TqQEMR6jPI5Oa4Gwm8
 5Qdd4zjRzkDctUue8Nj2WbSM2deuKUGJLZzJSGMKbaN7IsT2luk=
 =ss+h
 -----END PGP SIGNATURE-----

Merge tag 'samsung-soc-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/soc

Samsung mach/soc changes for v5.18

1. Fix hang of secondary CPU bring-up on some of Exynos5420-based
   devices (Secure Monitor Call SMC_CMD_CPU1BOOT should be skipped for
   all Exynos5 devices).
2. Extend Universal Serial Interface DT schema to precisely describe
   children nodes.

* tag 'samsung-soc-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  dt-bindings: soc: samsung: usi: refer to dtschema for children
  ARM: exynos: only do SMC_CMD_CPU1BOOT call on Exynos4

Link: https://lore.kernel.org/r/20220226220116.13452-3-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:08:44 +01:00
Jonathan Cameron
28f74201e3
ARM: pxa: remove Intel Imote2 and Stargate 2 boards
I have no reason to believe these boards have any more users and I
haven't tested them for several years.  Removing them may simplify
other changes to the various PXA boards people still care about.
The recent conversion of pxa2xx_spi to GPIO descriptors for example
had to update this board despite no one caring or testing.

Great boards that got me started in kernel development, RIP!

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Daniel Mack <daniel@zonque.org>
Cc: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: soc@kernel.org
Link: https://lore.kernel.org/r/20220227134431.908998-1-jic23@kernel.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:08:14 +01:00
Thomas Hellström
c03d982670 drm/i915: Clarify vma lifetime
It's unclear what reference the initial vma kref reference refers to.
A vma can have multiple weak references, the object vma list,
the vm's bound list and the GT's closed_list, and the initial vma
reference can be put from lookups of all these lists.

With the current implementation this means
that any holder of yet another vma refcount (currently only
i915_gem_object_unbind()) needs to be holding two of either
*) An object refcount,
*) A vm open count
*) A vma open count

in order for us to not risk leaking a reference by having the
initial vma reference being put twice.

Address this by re-introducing i915_vma_destroy() which removes all
weak references of the vma and *then* puts the initial vma refcount.
This makes a strong vma reference hold on to the vma unconditionally.

Perhaps a better name would be i915_vma_revoke() or i915_vma_zombify(),
since other callers may still hold a refcount, but with the prospect of
being able to replace the vma refcount with the object lock in the near
future, let's stick with i915_vma_destroy().

Finally this commit fixes a race in that previously i915_vma_release() and
now i915_vma_destroy() could destroy a vma without taking the vm->mutex
after an advisory check that the vma mm_node was not allocated.
This would race with the ungrab_vma() function creating a trace similar
to the below one. This was fixed in one of the __i915_vma_put() callsites
in
commit bc1922e5d3 ("drm/i915: Fix a race between vma / object destruction and unbinding")
but although not seemingly triggered by CI, that
is not sufficient. This patch is needed to fix that properly.

[823.012188] Console: switching to colour dummy device 80x25
[823.012422] [IGT] gem_ppgtt: executing
[823.016667] [IGT] gem_ppgtt: starting subtest blt-vs-render-ctx0
[852.436465] stack segment: 0000 [#1] PREEMPT SMP NOPTI
[852.436480] CPU: 0 PID: 3200 Comm: gem_ppgtt Not tainted 5.16.0-CI-CI_DRM_11115+ #1
[852.436489] Hardware name: Intel Corporation Alder Lake Client Platform/AlderLake-P DDR5 RVP, BIOS ADLPFWI1.R00.2422.A00.2110131104 10/13/2021
[852.436499] RIP: 0010:ungrab_vma+0x9/0x80 [i915]
[852.436711] Code: ef e8 4b 85 cf e0 e8 36 a3 d6 e0 8b 83 f8 9c 00 00 85 c0 75 e1 5b 5d 41 5c 41 5d c3 e9 d6 fd 14 00 55 53 48 8b af c0 00 00 00 <8b> 45 00 85 c0 75 03 5b 5d c3 48 8b 85 a0 02 00 00 48 89 fb 48 8b
[852.436727] RSP: 0018:ffffc90006db7880 EFLAGS: 00010246
[852.436734] RAX: 0000000000000000 RBX: ffffc90006db7598 RCX: 0000000000000000
[852.436742] RDX: ffff88815349e898 RSI: ffff88815349e858 RDI: ffff88810a284140
[852.436748] RBP: 6b6b6b6b6b6b6b6b R08: ffff88815349e898 R09: ffff88815349e8e8
[852.436754] R10: 0000000000000001 R11: 0000000051ef1141 R12: ffff88810a284140
[852.436762] R13: 0000000000000000 R14: ffff88815349e868 R15: ffff88810a284458
[852.436770] FS:  00007f5c04b04e40(0000) GS:ffff88849f000000(0000) knlGS:0000000000000000
[852.436781] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[852.436788] CR2: 00007f5c04b38fe0 CR3: 000000010a6e8001 CR4: 0000000000770ef0
[852.436797] PKRU: 55555554
[852.436801] Call Trace:
[852.436806]  <TASK>
[852.436811]  i915_gem_evict_for_node+0x33c/0x3c0 [i915]
[852.437014]  i915_gem_gtt_reserve+0x106/0x130 [i915]
[852.437211]  i915_vma_pin_ww+0x8f4/0xb60 [i915]
[852.437412]  eb_validate_vmas+0x688/0x860 [i915]
[852.437596]  i915_gem_do_execbuffer+0xc0e/0x25b0 [i915]
[852.437770]  ? deactivate_slab+0x5f2/0x7d0
[852.437778]  ? _raw_spin_unlock_irqrestore+0x50/0x60
[852.437789]  ? i915_gem_execbuffer2_ioctl+0xc6/0x2c0 [i915]
[852.437944]  ? init_object+0x49/0x80
[852.437950]  ? __lock_acquire+0x5e6/0x2580
[852.437963]  i915_gem_execbuffer2_ioctl+0x116/0x2c0 [i915]
[852.438129]  ? i915_gem_do_execbuffer+0x25b0/0x25b0 [i915]
[852.438300]  drm_ioctl_kernel+0xac/0x140
[852.438310]  drm_ioctl+0x201/0x3d0
[852.438316]  ? i915_gem_do_execbuffer+0x25b0/0x25b0 [i915]
[852.438490]  __x64_sys_ioctl+0x6a/0xa0
[852.438498]  do_syscall_64+0x37/0xb0
[852.438507]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[852.438515] RIP: 0033:0x7f5c0415b317
[852.438523] Code: b3 66 90 48 8b 05 71 4b 2d 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 41 4b 2d 00 f7 d8 64 89 01 48
[852.438542] RSP: 002b:00007ffd765039a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[852.438553] RAX: ffffffffffffffda RBX: 000055e4d7829dd0 RCX: 00007f5c0415b317
[852.438562] RDX: 00007ffd76503a00 RSI: 00000000c0406469 RDI: 0000000000000017
[852.438571] RBP: 00007ffd76503a00 R08: 0000000000000000 R09: 0000000000000081
[852.438579] R10: 00000000ffffff7f R11: 0000000000000246 R12: 00000000c0406469
[852.438587] R13: 0000000000000017 R14: 00007ffd76503a00 R15: 0000000000000000
[852.438598]  </TASK>
[852.438602] Modules linked in: snd_hda_codec_hdmi i915 mei_hdcp x86_pkg_temp_thermal snd_hda_intel snd_intel_dspcfg drm_buddy coretemp crct10dif_pclmul crc32_pclmul snd_hda_codec ttm ghash_clmulni_intel snd_hwdep snd_hda_core e1000e drm_dp_helper ptp snd_pcm mei_me drm_kms_helper pps_core mei syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_lpss_pci smsc75xx usbnet mii
[852.440310] ---[ end trace e52cdd2fe4fd911c ]---

v2: Fix typos in the commit message.

Fixes: 7e00897be8 ("drm/i915: Add object locking to i915_gem_evict_for_node and i915_gem_evict_something, v2.")
Fixes: bc1922e5d3 ("drm/i915: Fix a race between vma / object destruction and unbinding")
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220222133209.587978-1-thomas.hellstrom@linux.intel.com
2022-02-28 15:04:53 +01:00
Masahiro Yamada
9bc19d4730 ARM: 9181/1: vdso: remove -nostdlib compiler flag
The -nostdlib option requests the compiler to not use the standard
system startup files or libraries when linking. It is effective only
when $(CC) is used as a linker driver.

Since commit fe00e50b2d ("ARM: 8858/1: vdso: use $(LD) instead of
$(CC) to link VDSO"), $(LD) is directly used, hence -nostdlib is
unneeded.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2022-02-28 13:59:45 +00:00
Wang Kefeng
e46e45f00d ARM: 9175/1: Convert to reserve_initrd_mem()
Covert to the generic reserve_initrd_mem() function.

Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2022-02-28 13:59:25 +00:00
Wang Kefeng
a2e7ae86a6 ARM: 9174/1: amba: Move EXPORT_SYMBOL() closer to definition
Some EXPORT_SYMBOL() is at the end of the function, but some is
at the end of file. For reader sanity and be consistent, move all
EXPORT_SYMBOL() declarations just after the end of the function.

Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2022-02-28 13:59:18 +00:00
Wang Kefeng
dacf3ca134 ARM: 9173/1: amba: kill amba_find_match()
There is no one use amba_find_match(), kill it.

Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2022-02-28 13:59:17 +00:00
Wang Kefeng
25d490eb46 ARM: 9172/1: amba: Cleanup amba pclk operation
There is no user about amba_pclk_[un]prepare() besides pl330.c,
directly use clk_[un]prepare(). After this, all the function about
amba pclk operation, enable, disable, [un]prepare could be killed.

Acked-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2022-02-28 13:59:15 +00:00
Randy Dunlap
7b83299e5b ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions
early_param() handlers should return 0 on success.
__setup() handlers should return 1 on success, i.e., the parameter
has been handled. A return of 0 would cause the "option=value" string
to be added to init's environment strings, polluting it.

../arch/arm/mm/mmu.c: In function 'test_early_cachepolicy':
../arch/arm/mm/mmu.c:215:1: error: no return statement in function returning non-void [-Werror=return-type]
../arch/arm/mm/mmu.c: In function 'test_noalign_setup':
../arch/arm/mm/mmu.c:221:1: error: no return statement in function returning non-void [-Werror=return-type]

Fixes: b849a60e09 ("ARM: make cr_alignment read-only #ifndef CONFIG_CPU_CP15")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: Igor Zhbanov <i.zhbanov@omprussia.ru>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: patches@armlinux.org.uk
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2022-02-28 13:57:32 +00:00
Russell King (Oracle)
74aaaa1e9b ARM: ftrace fixes and cleanups
Make all flavors of ftrace available on all builds, regardless of ISA
 choice, unwinder choice or compiler:
 - use ADD not POP where possible
 - fix a couple of Thumb2 related issues
 - enable HAVE_FUNCTION_GRAPH_FP_TEST for robustness
 - enable the graph tracer with the EABI unwinder
 - avoid clobbering frame pointer registers to make Clang happy
 
 Link: https://lore.kernel.org/linux-arm-kernel/20220203082204.1176734-1-ardb@kernel.org/
 -----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEE+9lifEBpyUIVN1cpw08iOZLZjyQFAmIE0u8ACgkQw08iOZLZ
 jyRvZgv/S08Iqxw1AbwKwvvEj+YbivaBK7smZW/cS3RzppchaQR5LvF/oCFv1a1J
 Nb150uwwIHQoYrbCBGsfw4uIP0SzLj4PqPDAXdLt6putgXUGG7TFzNdeS1iH3gRk
 P3OMjOAGUNVU8EkCGqkOarDNA1YCvVwAVNB3f1FzoLD/4KBpGzegXqAtM8HOjKjQ
 4M7IRALKWwIg38rxCeeOLtjTPInJQSA8BIzg7IMuKZMCH0udsW6AWzVYyTOtVeXK
 +j95v3+ep3T6uyzyFTQDoqXYJcC1rBXj8IRk6lj8RC38OnziOGSPqSnJN9scq8hP
 A2TJz7VN2G6/71kjKyJOGTcOIGNT/cC04JjDGl4wiV5CO6WnAkDM2U6Spf24D/by
 ISF6Y0cOdo9mVjzvY7eP8bQ2gOh+6IjT0hZkdRfbFGF9iGseJNN1J2yflhqGOBB8
 PIsowEmI47LmElqyUcPsZNVsdn0IOXb8giJImiwZ8DrrcpJ3Z5I5StxSUkgc2PVW
 C3ElzZx6
 =Muye
 -----END PGP SIGNATURE-----

Merge tag 'arm-ftrace-for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into devel-stable

ARM: ftrace fixes and cleanups

Make all flavors of ftrace available on all builds, regardless of ISA
choice, unwinder choice or compiler:
- use ADD not POP where possible
- fix a couple of Thumb2 related issues
- enable HAVE_FUNCTION_GRAPH_FP_TEST for robustness
- enable the graph tracer with the EABI unwinder
- avoid clobbering frame pointer registers to make Clang happy

Link: https://lore.kernel.org/linux-arm-kernel/20220203082204.1176734-1-ardb@kernel.org/
2022-02-28 13:53:48 +00:00
Arnd Bergmann
53238ebcfa arm64: tegra: Default configuration updates for v5.18-rc1
Enables the GPCDMA driver that was recently introduced for Tegra186 and
 later generation Tegra SoCs.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmIZBycTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoWeZD/0WaAn6ia8Jp9nBM8eMpAXHb8iN7V6N
 2h2024QUQ7kdbPTy5lN9kWL4JWtfN0d6wAqPcyLnV6F8ZG/nEj4TcOhNDdNxas1w
 ydy2r2D+7h6SykqNQldHWyCFG9jjMkSSo+77lkYr+6eZfY9VfIGEraIqMM/ED4P+
 gXctcR0x1JcRvhagV9qzPlXfRRt78jsHNa4fw9KBOSvJuWIC/NethKCt32/EEn3T
 tECMIO1V+CnBtJxmoQ4JVmiVSFR0upyc73IwnQAOZ5T/SPLpIj9tssxmP4vI3wBa
 VvZANLa6UhL6fs2VLYOANHG6TQVjA370g4co4QuPcwQX63ryX/zosD/2pWTb3ZQc
 XNQkruVvYWKDQDWkcaxesncqJ6aHusyPtpfJyb1vqsD1MRrmPCy0l4u7HlKkkAPI
 GXldJU1u/dQarHpxMA0XtyGFM2RVxRxgW+Vc3EzZcO00adJlCohExo/3SF5IjXK3
 i7iMryLI6PCoK7wG3TFitedmPal5k/jUEkthONCLkcgp9vAI6XsQ+V6G9dRlLDRa
 8QOUPSgCxX1J94TaIc6PAxlSgg3n4QCo8Lwq6kJNsRFwdi4It1nOhMXNXMDXcglh
 UWbKNxK+V4mkx1s9mitNozd44Pg+GhtQ4Q2yPC1m3nc6FenMgqRgPTNPDIVo5kje
 bRL/rHx7Tj0XGg==
 =CvHk
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc034ACgkQmmx57+YA
 GNmiQBAApXt5E9PmPzNKIPzH53uk+OsEAhi+CAPDYsW1ZnGOiYckDx1mf3/Bnv9D
 KTl68UWdWPHIt/+tP5pyYjcOO+77QpTITP5JaYeibRILvMfGdIpUArqtnMHxcIJs
 9h5exW2HLtR6P6k7aMYyzX3E4g58+JcvmLCBuZTbPeeVC5wDtxZISsOvi6cvriWZ
 mDj1QiroGxvmqfoRvHlEm+sn97mpUDXZ7l9OXn7CLhn7lJZFx7X/wpCXBf8z7mzo
 lUrdNkIXRTd+a41D8b5FwXcqWHb+Hgvrh/np5Q5WRE+L1qfxxZgP4EiWOJG0MllI
 kWxGIs7OR2tHZV5uXbZ+LmTZFwodBvx4SFmSPi9JNUV1ftWVzKr0C5VPfx06m/YQ
 1zuhN7l5jLnwbWLotvpmLWED4RDRFKIq5IGQHhAUIb04USx/Y0tFxdF68NFcJ1Ic
 zet6OQdRu2wNq5JWAHdQcJIeMPApr9Q9n4MDOyJQowX63QEMSiejFMeO876GPola
 qP2SO0hvhQxjbPzE6BIOsmFyRsFdkpIc/W8hl/XQ+9VcgHlNbVtYRsgt6UcTsUPj
 6JY9ZyW4uj24GtmVG3cOVSHNO7oKDkxS6nNNu8IZosXG/fnf5avPT/AZrL8LvIW0
 Hirsi5+HUSyJX5l6uAcEMP3izA6SMaJXEw/Pu9a607ff+c/lK9c=
 =gBN0
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.18-arm64-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/defconfig

arm64: tegra: Default configuration updates for v5.18-rc1

Enables the GPCDMA driver that was recently introduced for Tegra186 and
later generation Tegra SoCs.

* tag 'tegra-for-5.18-arm64-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: defconfig: tegra: Enable GPCDMA

Link: https://lore.kernel.org/r/20220225164741.1064416-5-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 14:51:58 +01:00
Eric Biggers
20f01f1632 blk-crypto: show crypto capabilities in sysfs
Add sysfs files that expose the inline encryption capabilities of
request queues:

	/sys/block/$disk/queue/crypto/max_dun_bits
	/sys/block/$disk/queue/crypto/modes/$mode
	/sys/block/$disk/queue/crypto/num_keyslots

Userspace can use these new files to decide what encryption settings to
use, or whether to use inline encryption at all.  This also brings the
crypto capabilities in line with the other queue properties, which are
already discoverable via the queue directory in sysfs.

Design notes:

  - Place the new files in a new subdirectory "crypto" to group them
    together and to avoid complicating the main "queue" directory.  This
    also makes it possible to replace "crypto" with a symlink later if
    we ever make the blk_crypto_profiles into real kobjects (see below).

  - It was necessary to define a new kobject that corresponds to the
    crypto subdirectory.  For now, this kobject just contains a pointer
    to the blk_crypto_profile.  Note that multiple queues (and hence
    multiple such kobjects) may refer to the same blk_crypto_profile.

    An alternative design would more closely match the current kernel
    data structures: the blk_crypto_profile could be a kobject itself,
    located directly under the host controller device's kobject, while
    /sys/block/$disk/queue/crypto would be a symlink to it.

    I decided not to do that for now because it would require a lot more
    changes, such as no longer embedding blk_crypto_profile in other
    structures, and also because I'm not sure we can rule out moving the
    crypto capabilities into 'struct queue_limits' in the future.  (Even
    if multiple queues share the same crypto engine, maybe the supported
    data unit sizes could differ due to other queue properties.)  It
    would also still be possible to switch to that design later without
    breaking userspace, by replacing the directory with a symlink.

  - Use "max_dun_bits" instead of "max_dun_bytes".  Currently, the
    kernel internally stores this value in bytes, but that's an
    implementation detail.  It probably makes more sense to talk about
    this value in bits, and choosing bits is more future-proof.

  - "modes" is a sub-subdirectory, since there may be multiple supported
    crypto modes, sysfs is supposed to have one value per file, and it
    makes sense to group all the mode files together.

  - Each mode had to be named.  The crypto API names like "xts(aes)" are
    not appropriate because they don't specify the key size.  Therefore,
    I assigned new names.  The exact names chosen are arbitrary, but
    they happen to match the names used in log messages in fs/crypto/.

  - The "num_keyslots" file is a bit different from the others in that
    it is only useful to know for performance reasons.  However, it's
    included as it can still be useful.  For example, a user might not
    want to use inline encryption if there aren't very many keyslots.

Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Link: https://lore.kernel.org/r/20220124215938.2769-4-ebiggers@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-02-28 06:40:23 -07:00
Eric Biggers
0f69288253 block: don't delete queue kobject before its children
kobjects aren't supposed to be deleted before their child kobjects are
deleted.  Apparently this is usually benign; however, a WARN will be
triggered if one of the child kobjects has a named attribute group:

    sysfs group 'modes' not found for kobject 'crypto'
    WARNING: CPU: 0 PID: 1 at fs/sysfs/group.c:278 sysfs_remove_group+0x72/0x80
    ...
    Call Trace:
      sysfs_remove_groups+0x29/0x40 fs/sysfs/group.c:312
      __kobject_del+0x20/0x80 lib/kobject.c:611
      kobject_cleanup+0xa4/0x140 lib/kobject.c:696
      kobject_release lib/kobject.c:736 [inline]
      kref_put include/linux/kref.h:65 [inline]
      kobject_put+0x53/0x70 lib/kobject.c:753
      blk_crypto_sysfs_unregister+0x10/0x20 block/blk-crypto-sysfs.c:159
      blk_unregister_queue+0xb0/0x110 block/blk-sysfs.c:962
      del_gendisk+0x117/0x250 block/genhd.c:610

Fix this by moving the kobject_del() and the corresponding
kobject_uevent() to the correct place.

Fixes: 2c2086afc2 ("block: Protect less code with sysfs_lock in blk_{un,}register_queue()")
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20220124215938.2769-3-ebiggers@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-02-28 06:40:23 -07:00
Eric Biggers
f5ec592dd3 block: simplify calling convention of elv_unregister_queue()
Make elv_unregister_queue() a no-op if q->elevator is NULL or is not
registered.

This simplifies the existing callers, as well as the future caller in
the error path of blk_register_queue().

Also don't bother checking whether q is NULL, since it never is.

Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20220124215938.2769-2-ebiggers@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-02-28 06:40:23 -07:00
Yu Kuai
3093929326 blktrace: fix use after free for struct blk_trace
When tracing the whole disk, 'dropped' and 'msg' will be created
under 'q->debugfs_dir' and 'bt->dir' is NULL, thus blk_trace_free()
won't remove those files. What's worse, the following UAF can be
triggered because of accessing stale 'dropped' and 'msg':

==================================================================
BUG: KASAN: use-after-free in blk_dropped_read+0x89/0x100
Read of size 4 at addr ffff88816912f3d8 by task blktrace/1188

CPU: 27 PID: 1188 Comm: blktrace Not tainted 5.17.0-rc4-next-20220217+ #469
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-4
Call Trace:
 <TASK>
 dump_stack_lvl+0x34/0x44
 print_address_description.constprop.0.cold+0xab/0x381
 ? blk_dropped_read+0x89/0x100
 ? blk_dropped_read+0x89/0x100
 kasan_report.cold+0x83/0xdf
 ? blk_dropped_read+0x89/0x100
 kasan_check_range+0x140/0x1b0
 blk_dropped_read+0x89/0x100
 ? blk_create_buf_file_callback+0x20/0x20
 ? kmem_cache_free+0xa1/0x500
 ? do_sys_openat2+0x258/0x460
 full_proxy_read+0x8f/0xc0
 vfs_read+0xc6/0x260
 ksys_read+0xb9/0x150
 ? vfs_write+0x3d0/0x3d0
 ? fpregs_assert_state_consistent+0x55/0x60
 ? exit_to_user_mode_prepare+0x39/0x1e0
 do_syscall_64+0x35/0x80
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7fbc080d92fd
Code: ce 20 00 00 75 10 b8 00 00 00 00 0f 05 48 3d 01 f0 ff ff 73 31 c3 48 83 1
RSP: 002b:00007fbb95ff9cb0 EFLAGS: 00000293 ORIG_RAX: 0000000000000000
RAX: ffffffffffffffda RBX: 00007fbb95ff9dc0 RCX: 00007fbc080d92fd
RDX: 0000000000000100 RSI: 00007fbb95ff9cc0 RDI: 0000000000000045
RBP: 0000000000000045 R08: 0000000000406299 R09: 00000000fffffffd
R10: 000000000153afa0 R11: 0000000000000293 R12: 00007fbb780008c0
R13: 00007fbb78000938 R14: 0000000000608b30 R15: 00007fbb780029c8
 </TASK>

Allocated by task 1050:
 kasan_save_stack+0x1e/0x40
 __kasan_kmalloc+0x81/0xa0
 do_blk_trace_setup+0xcb/0x410
 __blk_trace_setup+0xac/0x130
 blk_trace_ioctl+0xe9/0x1c0
 blkdev_ioctl+0xf1/0x390
 __x64_sys_ioctl+0xa5/0xe0
 do_syscall_64+0x35/0x80
 entry_SYSCALL_64_after_hwframe+0x44/0xae

Freed by task 1050:
 kasan_save_stack+0x1e/0x40
 kasan_set_track+0x21/0x30
 kasan_set_free_info+0x20/0x30
 __kasan_slab_free+0x103/0x180
 kfree+0x9a/0x4c0
 __blk_trace_remove+0x53/0x70
 blk_trace_ioctl+0x199/0x1c0
 blkdev_common_ioctl+0x5e9/0xb30
 blkdev_ioctl+0x1a5/0x390
 __x64_sys_ioctl+0xa5/0xe0
 do_syscall_64+0x35/0x80
 entry_SYSCALL_64_after_hwframe+0x44/0xae

The buggy address belongs to the object at ffff88816912f380
 which belongs to the cache kmalloc-96 of size 96
The buggy address is located 88 bytes inside of
 96-byte region [ffff88816912f380, ffff88816912f3e0)
The buggy address belongs to the page:
page:000000009a1b4e7c refcount:1 mapcount:0 mapping:0000000000000000 index:0x0f
flags: 0x17ffffc0000200(slab|node=0|zone=2|lastcpupid=0x1fffff)
raw: 0017ffffc0000200 ffffea00044f1100 dead000000000002 ffff88810004c780
raw: 0000000000000000 0000000000200020 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff88816912f280: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc
 ffff88816912f300: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc
>ffff88816912f380: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc
                                                    ^
 ffff88816912f400: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc
 ffff88816912f480: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc
==================================================================

Fixes: c0ea57608b ("blktrace: remove debugfs file dentries from struct blk_trace")
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20220228034354.4047385-1-yukuai3@huawei.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-02-28 06:36:33 -07:00
Yun Zhou
6bb477df04
spi: use specific last_cs instead of last_cs_enable
Commit d40f0b6f2e instroduced last_cs_enable to avoid setting
chipselect if it's not necessary, but it also introduces a bug. The
chipselect may not be set correctly on multi-device SPI busses. The
reason is that we can't judge the chipselect by bool last_cs_enable,
since chipselect may be modified after other devices were accessed.

So we should record the specific state of chipselect in case of
confusion.

Signed-off-by: Yun Zhou <yun.zhou@windriver.com>
Link: https://lore.kernel.org/r/20220217141234.72737-1-yun.zhou@windriver.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:36:16 +00:00
Mark Brown
316cd94126
ASoC: es7241: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the es7241 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222223300.3120298-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:16 +00:00
Mark Brown
677c90bac3
ASoC: max98927: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98927 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-10-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:15 +00:00
Mark Brown
502e1c8d07
ASoC: max98926: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98926 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-9-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:14 +00:00
Mark Brown
02dd4e6ba2
ASoC: max98925: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98925 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-8-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:13 +00:00
Mark Brown
2594d0aaed
ASoC: max9867: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max9867 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-7-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:11 +00:00
Mark Brown
d14c87d8ef
ASoC: max9860: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max9860 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-6-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:10 +00:00
Mark Brown
9dcef176c4
ASoC: max9850: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max9850 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-5-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:09 +00:00
Mark Brown
c536d745ad
ASoC: max98390: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98390 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-4-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:08 +00:00
Mark Brown
012df28f5e
ASoC: max98371: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98371 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-3-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:07 +00:00
Mark Brown
2232314b7d
ASoC: max98095: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98095 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-2-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:06 +00:00
Mark Brown
14688a14da
ASoC: max98088: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98088 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:05 +00:00
Mark Brown
6370c4436b
ASoC: uda134x: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the uda134x driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223003409.1820405-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:04 +00:00
Mark Brown
ca7176f695
ASoC: ml26124: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the ml26124 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223001636.1321505-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:03 +00:00
Mark Brown
e0dab08973
ASoC: pcm512x: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the pcm512x driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014846.2765382-4-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:02 +00:00
Mark Brown
9231bb1b25
ASoC: pcm3168a: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the pcm3168a driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014846.2765382-3-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:01 +00:00
Mark Brown
765e30ac66
ASoC: pcm186x: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the pcm186x driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014846.2765382-2-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:34:00 +00:00
Mark Brown
1900cb5375
ASoC: pcm1681: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the pcm1681 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014846.2765382-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:33:59 +00:00
Mark Brown
3c7d8a3517
ASoC: pcm3060: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the pcm3060 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014731.2765283-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:33:58 +00:00
Sascha Hauer
9b3ff6378d
ASoC: fsl: Drop unused argument from imx_pcm_dma_init()
Since 70d435ba1c ("ASoC: imx-pcm-dma: simplify pcm_config") the size
argument to imx_pcm_dma_init() is unused, so drop it. Also remove the
now unused defines that the users of imx_pcm_dma_init() used to pass the
size argument

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Link: https://lore.kernel.org/r/20220223130625.3430589-1-s.hauer@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:33:57 +00:00
Yang Li
7d642c9c14
ASoC: mediatek: mt8195: Remove unnecessary print function dev_err()
The print function dev_err() is redundant because platform_get_irq()
already prints an error.

Eliminate the follow coccicheck warning:
./sound/soc/mediatek/mt8195/mt8195-afe-pcm.c:3126:2-9: line 3126 is
redundant because platform_get_irq() already prints an error

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
Link: https://lore.kernel.org/r/20220224011046.76904-1-yang.lee@linux.alibaba.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:33:55 +00:00
Jiasheng Jiang
ed7c9fef11
ASoC: ti: davinci-i2s: Add check for clk_enable()
As the potential failure of the clk_enable(),
it should be better to check it and return error
if fails.

Fixes: 5f9a50c3e5 ("ASoC: Davinci: McBSP: add device tree support for McBSP")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/20220228031540.3571959-1-jiasheng@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:33:54 +00:00
Mark Brown
f948202284
ASoC: mc13783: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the mc13783 driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223001416.1235951-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:33:53 +00:00
Mark Brown
addeb10c95
ASoC: isabelle: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the isabelle driver to use more modern terminology for clocking.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222225014.3691208-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:33:52 +00:00
Lad Prabhakar
032959d880
ASoC: dt-bindings: renesas,rz-ssi: Document RZ/V2L SoC
Document RZ/V2L SSI bindings. RZ/V2L SSI is identical to one found
on the RZ/G2L SoC. No driver changes are required as generic compatible
string "renesas,rz-ssi" will be used as a fallback.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20220227225633.28829-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 13:33:51 +00:00