Commit graph

1,169,205 commits

Author SHA1 Message Date
Linus Torvalds
067c227379 SCSI fixes on 20220701
One simple driver fix for a dma overrun.
 
 Signed-off-by: James E.J. Bottomley <jejb@linux.ibm.com>
 -----BEGIN PGP SIGNATURE-----
 
 iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCYr8QjSYcamFtZXMuYm90
 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pishSqzAP9o0Cc3
 be9kgo7siJeLUgbvuiDNXqfreIMGyLaBPBfV+gD/ZLNLCblOoxkuCIGpeFKrCoSy
 /cVDgIQ8p+2SJRXzoQo=
 =163Q
 -----END PGP SIGNATURE-----

Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fix from James Bottomley:
 "One simple driver fix for a dma overrun"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  scsi: hisi_sas: Limit max hw sectors for v3 HW
2022-07-01 10:38:17 -07:00
Linus Torvalds
690685ffcd ATA fixes for 5.19-rc5
* Fix a compilation warning with some versions of gcc/sparse when
   compiling the pata_cs5535 driver, from John.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQSRPv8tYSvhwAzJdzjdoc3SxdoYdgUCYr5EPwAKCRDdoc3SxdoY
 dsLnAP4jkc8qMw7RkbHCXzZhsNH4cygXLPTo/hX9YB68Lfk72AEAgJvN2uuDhVvv
 Clc9avROq8ll+LJandb/pqW0j3d71A4=
 =5TPe
 -----END PGP SIGNATURE-----

Merge tag 'ata-5.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata

Pull ATA fix from Damien Le Moal:

 - Fix a compilation warning with some versions of gcc/sparse when
   compiling the pata_cs5535 driver, from John.

* tag 'ata-5.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
  ata: pata_cs5535: Fix W=1 warnings
2022-07-01 10:31:44 -07:00
Will Deacon
4109823037 arm64: hugetlb: Restore TLB invalidation for BBM on contiguous ptes
Commit fb396bb459 ("arm64/hugetlb: Drop TLB flush from get_clear_flush()")
removed TLB invalidation from get_clear_flush() [now get_clear_contig()]
on the basis that the core TLB invalidation code is aware of hugetlb
mappings backed by contiguous page-table entries and will cover the
correct virtual address range.

However, this change also resulted in the TLB invalidation being removed
from the "break" step in the break-before-make (BBM) sequence used
internally by huge_ptep_set_{access_flags,wrprotect}(), therefore
making the BBM sequence unsafe irrespective of later invalidation.

Although the architecture is desperately unclear about how exactly
contiguous ptes should be updated in a live page-table, restore TLB
invalidation to our BBM sequence under the assumption that BBM is the
right thing to be doing in the first place.

Fixes: fb396bb459 ("arm64/hugetlb: Drop TLB flush from get_clear_flush()")
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Steve Capper <steve.capper@arm.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Marc Zyngier <maz@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20220629095349.25748-1-will@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2022-07-01 18:29:26 +01:00
Linus Torvalds
9650910d05 Two small fixes
- Initialize a spinlock in the stm32 reset code
  - Add dt bindings to the clk maintainer filepattern
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmK+WBURHHNib3lkQGtl
 cm5lbC5vcmcACgkQrQKIl8bklSXCiRAApgHGBM0PinXUvA9fnlYlLNOeRFMMV+fu
 RWZtFAMXXy2M8Pi4199l3kULmYSSahpYlPdLO7/TGjWk47DkdOofB3EyZRSruxT/
 ttnRC9B4UYnntKCu9UZAXt5KwiaHxqOYnawRiASiWZoeFxQgX+P8MXo+2JOtDtLk
 2bMe7Y4C6815rI5xgZNpcJvMoW/aqodx30kCoaKKE7NUPkUPn0Omy4+4IBOFv9pn
 PDZYicnJF9psw6tL1b64xCyE9PpZiZP2NJwTOjVI2C7PtHmlsnrLjgbIIfRzhOv6
 shNZoLqRrTVACIysBnBaw60DubyHAVNOPE3WTMq4JJ+a6PXUwt1geABAz8FfxHKt
 xe88kAuOHx+uxotD/y0pZhum/d/Hxt0jkVT5J9SfSsLu1bO+xU0m+sR1pOa730OH
 aWBzI/Yudmk7DIZIw0p8qU8ICBTSH/Bcq9/TnnGlXHfCEnMbwPEqx791s/YqpFA3
 5tVMhGtIE5PdMUZGoQLv+szVKuIX0W/MxhHyWl8wNKqB6wiSOTre2uh4okGnF2Oo
 nkrxYUGkTo4Lk1jZvDE0ETtx6KS3TPxTlwMMQI6J4T1LDk2KOXwfI8HtE4kjM4JF
 rv9hPa2xOzDtEsJcrdGlnpb9poQMJVB3TdF6kBy3ZQGD3Dhjoaa2WKPwi+tot83a
 4ZLGiOFRdwM=
 =ZDQr
 -----END PGP SIGNATURE-----

Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux

Pull clk fixes from Stephen Boyd:
 "Two small fixes

   - Initialize a spinlock in the stm32 reset code

   - Add dt bindings to the clk maintainer filepattern"

* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
  MAINTAINERS: add include/dt-bindings/clock to COMMON CLK FRAMEWORK
  clk: stm32: rcc_reset: Fix missing spin_lock_init()
2022-07-01 10:01:32 -07:00
Marcus Folkesson
bca036de0a iio: adc: ad778-1: do not explicity set INDIO_BUFFER_TRIGGERED mode
The core sets INDIO_BUFFER_TRIGGERED as part of
devm_iio_triggered_buffer_setup().

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Link: https://lore.kernel.org/r/20220629203847.4801-1-marcus.folkesson@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2022-07-01 17:52:26 +01:00
Marcus Folkesson
338222d8e1 iio: adc: ti-tsc2046: do not explicity set INDIO_BUFFER_TRIGGERED mode
The core sets INDIO_BUFFER_TRIGGERED as part of
devm_iio_triggered_buffer_setup().

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.kernel.org/r/20220629203910.4836-1-marcus.folkesson@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2022-07-01 17:50:36 +01:00
Colin Ian King
9bef4929fa dmaengine: fsl-edma: remove redundant assignment to pointer last_sg
The pointer last_sg is being assigned a value at the start of a loop
however it is never read and is being re-assigned later on in both
brances of an if-statement. The assignment is redundant and can be
removed.

Cleans up clang scan-build warning:
drivers/dma/fsl-edma-common.c:563:3: warning: Value stored to 'last_sg'
is never read [deadcode.DeadStores]

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Link: https://lore.kernel.org/r/20220614184759.164379-1-colin.i.king@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2022-07-01 22:09:16 +05:30
Sascha Hauer
09f7b80fac dmaengine: imx-sdma: only restart cyclic channel when enabled
An interrupt for a channel might be pending even after struct
dma_device::device_terminate_all has been called. In that case the
recently introduced warning message "restart cyclic channel..." triggers
and the channel will be restarted. This is not desired as the channel
has just been stopped. Only restart the channel when we still have a
descriptor set for it (which will be set to NULL in
sdma_terminate_all()).

Fixes: 5b215c28b9 ("dmaengine: imx-sdma: restart cyclic channel if needed")
Cc: stable@vger.kernel.org
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Link: https://lore.kernel.org/r/20220617115042.4004062-1-s.hauer@pengutronix.de
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2022-07-01 22:07:59 +05:30
Xiang wangx
8d8bbefa6a dmaengine: mediatek: mtk-hsdma: Fix typo in comment
Delete the redundant word 'be'.

Signed-off-by: Xiang wangx <wangxiang@cdjrlc.com>
Link: https://lore.kernel.org/r/20220618130120.9783-1-wangxiang@cdjrlc.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2022-07-01 22:06:55 +05:30
Xiang wangx
ab356484db dmaengine: at_xdmac: Fix typo in comment
Delete the redundant word 'the'.

Signed-off-by: Xiang wangx <wangxiang@cdjrlc.com>
Link: https://lore.kernel.org/r/20220618130349.11507-1-wangxiang@cdjrlc.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2022-07-01 22:06:07 +05:30
Peng Fan
cfa1927f84 dt-bindings: dma: fsl-edma: Convert to DT schema
Convert the eDMA controller binding to DT schema.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20220620020002.3966343-1-peng.fan@oss.nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2022-07-01 22:05:32 +05:30
Jiang Jian
a7a5c1a93d dmaengine: ep93xx: Fix typo in comments
Remove the repeated word 'and' from comments

Signed-off-by: Jiang Jian <jiangjian@cdjrlc.com>
Link: https://lore.kernel.org/r/20220622143158.15091-1-jiangjian@cdjrlc.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2022-07-01 21:50:23 +05:30
Fabio Estevam
0951a90e34 dmaengine: imx-sdma: Improve the SDMA irq name
On SoCs with several SDMA instances, such as i.MX8M for example,
all the SDMA related interrupts appear with the same "sdma" name.

Improve the SDMA irq name by associating it with the SDMA instance
via dev_name(), so that the SDMA irq names can be unique.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Link: https://lore.kernel.org/r/20220623123353.2570410-1-festevam@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2022-07-01 21:49:17 +05:30
Dave Chinner
af1c2146a5 xfs: introduce per-cpu CIL tracking structure
The CIL push lock is highly contended on larger machines, becoming a
hard bottleneck that about 700,000 transaction commits/s on >16p
machines. To address this, start moving the CIL tracking
infrastructure to utilise per-CPU structures.

We need to track the space used, the amount of log reservation space
reserved to write the CIL, the log items in the CIL and the busy
extents that need to be completed by the CIL commit.  This requires
a couple of per-cpu counters, an unordered per-cpu list and a
globally ordered per-cpu list.

Create a per-cpu structure to hold these and all the management
interfaces needed, as well as the hooks to handle hotplug CPUs.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
2022-07-02 02:13:52 +10:00
Dave Chinner
31151cc342 xfs: rework per-iclog header CIL reservation
For every iclog that a CIL push will use up, we need to ensure we
have space reserved for the iclog header in each iclog. It is
extremely difficult to do this accurately with a per-cpu counter
without expensive summing of the counter in every commit. However,
we know what the maximum CIL size is going to be because of the
hard space limit we have, and hence we know exactly how many iclogs
we are going to need to write out the CIL.

We are constrained by the requirement that small transactions only
have reservation space for a single iclog header built into them.
At commit time we don't know how much of the current transaction
reservation is made up of iclog header reservations as calculated by
xfs_log_calc_unit_res() when the ticket was reserved. As larger
reservations have multiple header spaces reserved, we can steal
more than one iclog header reservation at a time, but we only steal
the exact number needed for the given log vector size delta.

As a result, we don't know exactly when we are going to steal iclog
header reservations, nor do we know exactly how many we are going to
need for a given CIL.

To make things simple, start by calculating the worst case number of
iclog headers a full CIL push will require. Record this into an
atomic variable in the CIL. Then add a byte counter to the log
ticket that records exactly how much iclog header space has been
reserved in this ticket by xfs_log_calc_unit_res(). This tells us
exactly how much space we can steal from the ticket at transaction
commit time.

Now, at transaction commit time, we can check if the CIL has a full
iclog header reservation and, if not, steal the entire reservation
the current ticket holds for iclog headers. This minimises the
number of times we need to do atomic operations in the fast path,
but still guarantees we get all the reservations we need.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
2022-07-02 02:12:52 +10:00
Dave Chinner
12380d237b xfs: lift init CIL reservation out of xc_cil_lock
The xc_cil_lock is the most highly contended lock in XFS now. To
start the process of getting rid of it, lift the initial reservation
of the CIL log space out from under the xc_cil_lock.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
2022-07-02 02:11:52 +10:00
Dave Chinner
88591e7f06 xfs: use the CIL space used counter for emptiness checks
In the next patches we are going to make the CIL list itself
per-cpu, and so we cannot use list_empty() to check is the list is
empty. Replace the list_empty() checks with a flag in the CIL to
indicate we have committed at least one transaction to the CIL and
hence the CIL is not empty.

We need this flag to be an atomic so that we can clear it without
holding any locks in the commit fast path, but we also need to be
careful to avoid atomic operations in the fast path. Hence we use
the fact that test_bit() is not an atomic op to first check if the
flag is set and then run the atomic test_and_clear_bit() operation
to clear it and steal the initial unit reservation for the CIL
context checkpoint.

When we are switching to a new context in a push, we place the
setting of the XLOG_CIL_EMPTY flag under the xc_push_lock. THis
allows all the other places that need to check whether the CIL is
empty to use test_bit() and still be serialised correctly with the
CIL context swaps that set the bit.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
2022-07-02 02:10:52 +10:00
Darrick J. Wong
7561cea5db xfs: prevent a UAF when log IO errors race with unmount
KASAN reported the following use after free bug when running
generic/475:

 XFS (dm-0): Mounting V5 Filesystem
 XFS (dm-0): Starting recovery (logdev: internal)
 XFS (dm-0): Ending recovery (logdev: internal)
 Buffer I/O error on dev dm-0, logical block 20639616, async page read
 Buffer I/O error on dev dm-0, logical block 20639617, async page read
 XFS (dm-0): log I/O error -5
 XFS (dm-0): Filesystem has been shut down due to log error (0x2).
 XFS (dm-0): Unmounting Filesystem
 XFS (dm-0): Please unmount the filesystem and rectify the problem(s).
 ==================================================================
 BUG: KASAN: use-after-free in do_raw_spin_lock+0x246/0x270
 Read of size 4 at addr ffff888109dd84c4 by task 3:1H/136

 CPU: 3 PID: 136 Comm: 3:1H Not tainted 5.19.0-rc4-xfsx #rc4 8e53ab5ad0fddeb31cee5e7063ff9c361915a9c4
 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014
 Workqueue: xfs-log/dm-0 xlog_ioend_work [xfs]
 Call Trace:
  <TASK>
  dump_stack_lvl+0x34/0x44
  print_report.cold+0x2b8/0x661
  ? do_raw_spin_lock+0x246/0x270
  kasan_report+0xab/0x120
  ? do_raw_spin_lock+0x246/0x270
  do_raw_spin_lock+0x246/0x270
  ? rwlock_bug.part.0+0x90/0x90
  xlog_force_shutdown+0xf6/0x370 [xfs 4ad76ae0d6add7e8183a553e624c31e9ed567318]
  xlog_ioend_work+0x100/0x190 [xfs 4ad76ae0d6add7e8183a553e624c31e9ed567318]
  process_one_work+0x672/0x1040
  worker_thread+0x59b/0xec0
  ? __kthread_parkme+0xc6/0x1f0
  ? process_one_work+0x1040/0x1040
  ? process_one_work+0x1040/0x1040
  kthread+0x29e/0x340
  ? kthread_complete_and_exit+0x20/0x20
  ret_from_fork+0x1f/0x30
  </TASK>

 Allocated by task 154099:
  kasan_save_stack+0x1e/0x40
  __kasan_kmalloc+0x81/0xa0
  kmem_alloc+0x8d/0x2e0 [xfs]
  xlog_cil_init+0x1f/0x540 [xfs]
  xlog_alloc_log+0xd1e/0x1260 [xfs]
  xfs_log_mount+0xba/0x640 [xfs]
  xfs_mountfs+0xf2b/0x1d00 [xfs]
  xfs_fs_fill_super+0x10af/0x1910 [xfs]
  get_tree_bdev+0x383/0x670
  vfs_get_tree+0x7d/0x240
  path_mount+0xdb7/0x1890
  __x64_sys_mount+0x1fa/0x270
  do_syscall_64+0x2b/0x80
  entry_SYSCALL_64_after_hwframe+0x46/0xb0

 Freed by task 154151:
  kasan_save_stack+0x1e/0x40
  kasan_set_track+0x21/0x30
  kasan_set_free_info+0x20/0x30
  ____kasan_slab_free+0x110/0x190
  slab_free_freelist_hook+0xab/0x180
  kfree+0xbc/0x310
  xlog_dealloc_log+0x1b/0x2b0 [xfs]
  xfs_unmountfs+0x119/0x200 [xfs]
  xfs_fs_put_super+0x6e/0x2e0 [xfs]
  generic_shutdown_super+0x12b/0x3a0
  kill_block_super+0x95/0xd0
  deactivate_locked_super+0x80/0x130
  cleanup_mnt+0x329/0x4d0
  task_work_run+0xc5/0x160
  exit_to_user_mode_prepare+0xd4/0xe0
  syscall_exit_to_user_mode+0x1d/0x40
  entry_SYSCALL_64_after_hwframe+0x46/0xb0

This appears to be a race between the unmount process, which frees the
CIL and waits for in-flight iclog IO; and the iclog IO completion.  When
generic/475 runs, it starts fsstress in the background, waits a few
seconds, and substitutes a dm-error device to simulate a disk falling
out of a machine.  If the fsstress encounters EIO on a pure data write,
it will exit but the filesystem will still be online.

The next thing the test does is unmount the filesystem, which tries to
clean the log, free the CIL, and wait for iclog IO completion.  If an
iclog was being written when the dm-error switch occurred, it can race
with log unmounting as follows:

Thread 1				Thread 2

					xfs_log_unmount
					xfs_log_clean
					xfs_log_quiesce
xlog_ioend_work
<observe error>
xlog_force_shutdown
test_and_set_bit(XLOG_IOERROR)
					xfs_log_force
					<log is shut down, nop>
					xfs_log_umount_write
					<log is shut down, nop>
					xlog_dealloc_log
					xlog_cil_destroy
					<wait for iclogs>
spin_lock(&log->l_cilp->xc_push_lock)
<KABOOM>

Therefore, free the CIL after waiting for the iclogs to complete.  I
/think/ this race has existed for quite a few years now, though I don't
remember the ~2014 era logging code well enough to know if it was a real
threat then or if the actual race was exposed only more recently.

Fixes: ac983517ec ("xfs: don't sleep in xlog_cil_force_lsn on shutdown")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
2022-07-01 09:09:52 -07:00
Gustavo Sousa
3b05c96078 drm/i915/pvc: Implement w/a 16016694945
A new PVC-specific workaround has just been added to the BSpec.

BSpec: 64027

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220630201407.16770-1-gustavo.sousa@intel.com
2022-07-01 08:29:02 -07:00
Marc Zyngier
ee4aae5777 Merge branch irq/plic-edge-fixes into irq/irqchip-next
* irq/plic-edge-fixes:
  : .
  : Work around broken PLIC implementations that deal pretty
  : badly with edge-triggered interrupts. Flag two implementations
  : as affected.
  : .
  irqchip/sifive-plic: Fix T-HEAD PLIC edge trigger handling
  dt-bindings: interrupt-controller: Require trigger type for T-HEAD PLIC
  irqchip/sifive-plic: Add support for Renesas RZ/Five SoC
  dt-bindings: interrupt-controller: sifive,plic: Document Renesas RZ/Five SoC

Signed-off-by: Marc Zyngier <maz@kernel.org>
2022-07-01 15:31:20 +01:00
Samuel Holland
5873ba5591 irqchip/sifive-plic: Fix T-HEAD PLIC edge trigger handling
The T-HEAD PLIC ignores additional edges seen while an edge-triggered
interrupt is being handled. Because of this behavior, the driver needs
to complete edge-triggered interrupts in the .irq_ack callback before
handling them, instead of in the .irq_eoi callback afterward. Otherwise,
it could miss some interrupts.

Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Guo Ren <guoren@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220630100241.35233-5-samuel@sholland.org
2022-07-01 15:27:23 +01:00
Samuel Holland
d60df7fd22 dt-bindings: interrupt-controller: Require trigger type for T-HEAD PLIC
The RISC-V PLIC specification unfortunately allows PLIC implementations
to ignore edges seen while an edge-triggered interrupt is being handled:

  Depending on the design of the device and the interrupt handler,
  in between sending an interrupt request and receiving notice of its
  handler’s completion, the gateway might either ignore additional
  matching edges or increment a counter of pending interrupts.

Like the NCEPLIC100, the T-HEAD C900 PLIC also has this behavior. Thus
it also needs to inform software about each interrupt's trigger type, so
the driver can use the right interrupt flow.

Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220630100241.35233-4-samuel@sholland.org
2022-07-01 15:27:23 +01:00
Lad Prabhakar
dd46337ca6 irqchip/sifive-plic: Add support for Renesas RZ/Five SoC
The Renesas RZ/Five SoC has a RISC-V AX45MP AndesCore with NCEPLIC100. The
NCEPLIC100 supports both edge-triggered and level-triggered interrupts. In
case of edge-triggered interrupts NCEPLIC100 ignores the next interrupt
edge until the previous completion message has been received and
NCEPLIC100 doesn't support pending interrupt counter, hence losing the
interrupts if not acknowledged in time.

So the workaround for edge-triggered interrupts to be handled correctly
and without losing is that it needs to be acknowledged first and then
handler must be run so that we don't miss on the next edge-triggered
interrupt.

This patch adds a new compatible string for NCEPLIC100 (from Andes
Technology) interrupt controller found on Renesas RZ/Five SoC and adds
quirk bits to priv structure and implements PLIC_QUIRK_EDGE_INTERRUPT
quirk to change the interrupt flow.

Suggested-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220630100241.35233-3-samuel@sholland.org
2022-07-01 15:27:23 +01:00
Lad Prabhakar
1267d98311 dt-bindings: interrupt-controller: sifive,plic: Document Renesas RZ/Five SoC
Renesas RZ/Five (R9A07G043) SoC is equipped with NCEPLIC100 RISC-V
platform level interrupt controller from Andes Technology. NCEPLIC100
ignores subsequent EDGE interrupts until the previous EDGE interrupt is
completed, due to this issue we have to follow different interrupt flow
for EDGE and LEVEL interrupts.

This patch documents Renesas RZ/Five (R9A07G043) SoC.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220630100241.35233-2-samuel@sholland.org
2022-07-01 15:27:23 +01:00
Srinivas Kandagatla
68f26639dc
ASoC: codecs: wsa883x: add missing break statement
Add missing break in one of the switch statement.

Reported-by: kernel test robot <lkp@intel.com>
Fixes: cdb09e6231 ("ASoC: codecs: wsa883x: add control, dapm widgets and map")
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220701125515.32332-1-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-01 15:23:33 +01:00
Marc Zyngier
18c9aa4907 arm64: Add an override for ID_AA64SMFR0_EL1.FA64
Add a specific override for ID_AA64SMFR0_EL1.FA64, which
disables the full A64 streaming SVE mode.

Note that no alias is provided for this, as this is already
covered by arm64.nosme, and is only added as a debugging
facility.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220630160500.1536744-10-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-01 15:22:52 +01:00
Marc Zyngier
504ee23611 arm64: Add the arm64.nosve command line option
In order to be able to completely disable SVE even if the HW
seems to support it (most likely because the FW is broken),
move the SVE setup into the EL2 finalisation block, and
use a new idreg override to deal with it.

Note that we also nuke id_aa64zfr0_el1 as a byproduct, and
that SME also gets disabled, due to the dependency between the
two features.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220630160500.1536744-9-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-01 15:22:52 +01:00
Marc Zyngier
b3000e2133 arm64: Add the arm64.nosme command line option
In order to be able to completely disable SME even if the HW
seems to support it (most likely because the FW is broken),
move the SME setup into the EL2 finalisation block, and
use a new idreg override to deal with it.

Note that we also nuke id_aa64smfr0_el1 as a byproduct.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220630160500.1536744-8-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-01 15:22:52 +01:00
Marc Zyngier
6ab7661e1d arm64: Expose a __check_override primitive for oddball features
In order to feal with early override of features that are not
classically encoded in a standard ID register with a 4 bit wide
field, add a primitive that takes a sysreg value as an input
(instead of the usual sysreg name) as well as a bit field
width (usually 4).

No functional change.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220630160500.1536744-7-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-01 15:22:52 +01:00
Marc Zyngier
6b7ec18c09 arm64: Allow the idreg override to deal with variable field width
Currently, the override mechanism can only deal with 4bit fields,
which is the most common case. However, we now have a bunch of
ID registers that have more diverse field widths, such as
ID_AA64SMFR0_EL1, which has fields that are a single bit wide.

Add the support for variable width, and a macro that encodes
a feature width of 4 for all existing override.

No functional change.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220630160500.1536744-6-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-01 15:22:51 +01:00
Marc Zyngier
fa8aa59ae6 arm64: Factor out checking of a feature against the override into a macro
Checking for a feature being supported from assembly code is
a bit tedious if we need to factor in the idreg override.

Since we already have such code written for forcing nVHE, move
the whole thing into a macro. This heavily relies on the override
structure being called foo_override for foo_el1.

No functional change.

Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220630160500.1536744-5-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-01 15:22:51 +01:00
Marc Zyngier
ae4b7e38e9 arm64: Allow sticky E2H when entering EL1
For CPUs that have the unfortunate mis-feature to be stuck in
VHE mode, we perform a funny dance where we completely shortcut
the normal boot process to enable VHE and run the kernel at EL2,
and only then start booting the kernel.

Not only this is pretty ugly, but it means that the EL2 finalisation
occurs before we have processed the sysreg override.

Instead, start executing the kernel as if it was an EL1 guest and
rely on the normal EL2 finalisation to go back to EL2.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220630160500.1536744-4-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-01 15:22:51 +01:00
Marc Zyngier
b65e411d6c arm64: Save state of HCR_EL2.E2H before switch to EL1
As we're about to switch the way E2H-stuck CPUs boot, save
the boot CPU E2H state as a flag tied to the boot mode
that can then be checked by the idreg override code.

This allows us to replace the is_kernel_in_hyp_mode() check
with a simple comparison with this state, even when running
at EL1. Note that this flag isn't saved in __boot_cpu_mode,
and is only kept in a register in the assembly code.

Use with caution.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220630160500.1536744-3-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-01 15:22:51 +01:00
Marc Zyngier
7ddb0c3df7 arm64: Rename the VHE switch to "finalise_el2"
as we are about to perform a lot more in 'mutate_to_vhe' than
we currently do, this function really becomes the point where
we finalise the basic EL2 configuration.

Reflect this into the code by renaming a bunch of things:
- HVC_VHE_RESTART -> HVC_FINALISE_EL2
- switch_to_vhe --> finalise_el2
- mutate_to_vhe -> __finalise_el2

No functional changes.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220630160500.1536744-2-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-01 15:22:51 +01:00
Ard Biesheuvel
0aaa68532e arm64: mm: fix booting with 52-bit address space
Joey reports that booting 52-bit VA capable builds on 52-bit VA capable
CPUs is broken since commit 0d9b1ffefa ("arm64: mm: make vabits_actual
a build time constant if possible"). This is due to the fact that the
primary CPU reads the vabits_actual variable before it has been
assigned.

The reason for deferring the assignment of vabits_actual was that we try
to perform as few stores to memory as we can with the MMU and caches
off, due to the cache coherency issues it creates.

Since __cpu_setup() [which is where the read of vabits_actual occurs] is
also called on the secondary boot path, we cannot just read the CPU ID
registers directly, given that the size of the VA space is decided by
the capabilities of the primary CPU. So let's read vabits_actual only on
the secondary boot path, and read the CPU ID registers directly on the
primary boot path, by making it a function parameter of __cpu_setup().

To ensure that all users of vabits_actual (including kasan_early_init())
observe the correct value, move the assignment of vabits_actual back
into asm code, but still defer it to after the MMU and caches have been
enabled.

Cc: Will Deacon <will@kernel.org>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Fixes: 0d9b1ffefa ("arm64: mm: make vabits_actual a build time constant if possible")
Reported-by: Joey Gouly <joey.gouly@arm.com>
Co-developed-by: Joey Gouly <joey.gouly@arm.com>
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20220701111045.2944309-1-ardb@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-01 15:19:07 +01:00
Arnd Bergmann
a57cbe02c0 Amlogic ARM64 DT changes for v5.20:
- adjust whitespace around '='
 - add reset controller node for Meson-S4 SoC
 - correct gpio-keys properties
 - align gpio-key node names with dtschema
 - add gpio-fan control to GS-King-X
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmK+qnUACgkQd9zb2sjI
 SdFm8hAAy8IT111BKYwvzrSJtwgC7cYrPZAtsG6WFpHtKDY6qCO769dPFEhFzngU
 X29zVL08jrpMfyof/X64/pIrTRVXw9erHYiQg7CDwkPnJxQTcXt6OfQJuOIBHQ+/
 BajM8ZW/SBu2ADb0HEhLBAbisveeIOOc/Rw/N42V+yF4CYwlvNGLRwF6yxotXl/j
 lWrBn0hVque4yODfg0XLTo+7fZ1XDiDDzAMwV0NP5DRAXfZtz3f4DaVu+clF1BvC
 evfuIk7O0zWL5WN9JWsUud9SO6nHPg8X36K0GL+KHLgxKfJcmAvHDhfAowDizIMR
 P+l7GYQ/UBTW1JpaU7bZBXDfR6eTd92pH1oYhHa2qxcUMQ2ftt8NQUbyiVsiHXjK
 HmBo+NIJqMWnW2ItyjxZ79IMMKALb1dmz1oEAxNgf1E+dwuIb7a4ieRsr31N3v6Y
 IkDjk99mNaLU885JX9jiN1FnwY4c56cbHG5osiDvz01pruTW1HWyvaWqTSKMmk6H
 qVUlesVtwCShrcs13RrZNgDwAURmbMW3UIkADxnjvbPjVLRNmFjupGwDZGCxreLk
 e4QC3QcSM3bqL9pQrnDtEYD8/baJ9eTrBFzS5AmZyXMBUqbM9REkKb17gl8bbRJE
 Q0EZWmQOcIYppm6B4Uh0SE2bmaniiLnLQMwrYEbBSUFAHBfq9Gk=
 =bCu3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK/AZoACgkQmmx57+YA
 GNmdDQ//QERUVR/lSLl8gLWOebyaHwjYscd9bpjEN+DTT+Upe1sUB0BQD4Hd7idz
 OZuG8W8H8NQ2LBGU5eGZtH0W3fPi8FkL1A7kR78fMmJlNTWr6lgUX8JG8W9nNbLZ
 QmAXtB8z6TAxKLO4AkS7uwjBzhXvc+ABEckJapvkmJ6JnETX1qSCRnrZyX/xPu6X
 6vCZ5nNxwx/WzGZ4D40jT+DietxF+kv8491/ZqWHnlWznYFslOwyYoCI+avh/swx
 OmgDLuk/iSZ3NJGjZ8+9YKFK3buSMAVUjVtarcJ3fCxn1jOcaP4PoQWyfQOrcfbT
 F4dZOd0JzKv96Zb31QBGYcJ+SuTgdqdBhM4Sy9p0o/Jato8+2gwRH/492qsWaIPh
 zPUTJR42+JvzTDyjzXgUILecGbM/8KyJ551f+V9mXfUUO/BoiPkvWBpXCrCOAL7T
 lViRpC2Uv3Ag+m7ZyWk9GAlai5gjvfdOpo0l/eGg4fV9Eb1Yl9rdOmiraBRy+WnN
 SsvLJhV1/NeXDi4Pin0VHoDJv88Op0OjOuYCkJp+jiyLVZDaJH9evO5ciTDFsjIz
 94tDDClyelNAXBL+N72zmKUPtvqpIKVWk5N2LREt3ZN/G3N4oHaxHmmsAT+Sfikq
 0hwbmVosX6Zt42WHmsKORdTpnKRWs/XLe9V1H1HVb30OrKFQQAI=
 =h4Ud
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-arm64-dt-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into arm/dt

Amlogic ARM64 DT changes for v5.20:
- adjust whitespace around '='
- add reset controller node for Meson-S4 SoC
- correct gpio-keys properties
- align gpio-key node names with dtschema
- add gpio-fan control to GS-King-X

* tag 'amlogic-arm64-dt-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: dts: meson: add gpio-fan control to GS-King-X
  arm64: dts: amlogic: align gpio-key node names with dtschema
  arm64: dts: amlogic: correct gpio-keys properties
  arm64: dts: meson: add reset controller for Meson-S4 SoC
  arm64: dts: amlogic: adjust whitespace around '='

Link: https://lore.kernel.org/r/9c8b8570-f20c-ce9a-8c6c-51fdadf7722c@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 16:15:53 +02:00
Arnd Bergmann
d5444cc4cb Amlogic ARM DT changes for v5.20:
- adjust whitespace around '=' in ARM meson DT
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmK+qh4ACgkQd9zb2sjI
 SdFEvg//WvhjyJ1V4GLaI0LRop9LvHm8bTj2bqB1mH3Qmo410mrjO+pZByF5Pz+K
 14bBU8Dh0McWoisasA69EIJLW9pAuwmxhWKOAdijluLqDFZuLqizip6HhTJN/5wi
 OLvQZLVXgkBBtumIsp1S1AqrdIuQ7/PFPG6nVsVmJm0ah4w+7p7htMNStlNq2rx4
 inD1Gfmv53e9TJo84BYHaVuv2cZtwgoygBtjEB6ShfRSDZDT4bsTB80OHFuT6tHp
 58+qFBTi35QUTttNSWz5SWPDErD7uJVesbBC0SJr9NrD3powg/IoE4NIuAo5Eroi
 ZG3oUnaYFcG68BWolmcMr/BSyLV/e99oNBW6afBZbkQUxTWMOhqCNLiALpZ2uhWb
 aloOIeAcplBzjQPociqWjeef8+MPsLkyhEH1y2+DS1oyqmEgglj5e4vbmPRHfbDJ
 zXnylnXBXYJ2fBK8CS7CwGX3yJYPG0d58gKafIW0kHwNdSrpw94LY2ppZze9yd7I
 lGoLXxtuGwYT2RvnhYv2s/F5//DViyci0W+uZm4MCBkvaChYgjmbtJHpkmNbwJyX
 geGlFnCZLODFkwrNcRFXlTKziHcGG2c6XhjIQe6bOycPHdTWQBUDGAT7DbSGZEcQ
 R4uUbBUnTkqdXQmh9D0Ovjaj9TERwHZA1GDnrSs0CNkaeL9Q2xc=
 =ObfA
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK/AXwACgkQmmx57+YA
 GNlGjg/8DNypVU6Vplpqrz61ffd+BE/ZTMbjD59Mhztdw2LEsEVHrIUBdXZb7BJC
 UGiCsJOpwCdGxlRH71iXOKCyHtKlsOHx2LPkLcynr1yHGccIUUWHMf6quUWeZNwH
 XIACAEggHa4uvS7l72zsSglWvhmmEtFhgxfhaEnE8vQpnM73KfOOKCmuGD7Gk0/m
 kvp3yNaEaTpr/c/1mMm4JwFDFbvzxT7cFuupCIgnnatE+sQzMKxSMz57XJmW8l9a
 is6YE6hdB3LYQgalsKK4fphvmAjAk6X/U9RgqbNqi+oI2I1JGaaMpogu6bNUOf2F
 402Gx83H1VE1OTJ+a/97TH0qV7WZ69ea0ThqTMJ18M4LluByq9NcnCprG62+w/t5
 ZKIswo4XxEYD+TDEUDE11bBM11W4nJq0BUsXd2GrKZB1O8A9zNmXcSHhk47so4Kd
 2rrAkTsyIakRvUkHvQfFtyuzJgzIBwuZ4v8Ha6YcU2meeSaxEwWecpesEJCoDg+6
 7Wq4lBOvm8Ps0OXPX6H6pGlku9ID2R1XyfOyKB/HB6dBg+97AJaCd4l27BWF6dHo
 PnyvWLsUbEmMPSPNkk2GZzVMWX5+fB+TzBBZFkBIb7utPlUvpn6d7U3U8dUTKwhX
 5Vj304JEFFOEvewRUgsdLtIpqgMz7WztA/e7UWiaYlE+ptYvMHU=
 =Tpo2
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-arm-dt-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into arm/dt

Amlogic ARM DT changes for v5.20:
- adjust whitespace around '=' in ARM meson DT

* tag 'amlogic-arm-dt-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  ARM: dts: meson: adjust whitespace around '='

Link: https://lore.kernel.org/r/51034acd-13db-5c25-7b9f-ff87537406bd@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 16:15:24 +02:00
Arnd Bergmann
7ccd1f6dce Cleanup of ARM DTS for v5.20
Series of cleanups for ARM DTS:
 1. White-spaces, gpio-key subnode names, USB DWC3/EHCI node names,
 2. Add board-level compatibles to Aspeed evaluation boards.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmK5aOwQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD13r3D/9X+LS7ue/aNBDliUOqdZyACPHh9r9qg44w
 Hqea+v2+aIrN8bzZHi5SzTkyiHfZ9efz1iOAMTeC28UdG59s207DML/UsLVOXolT
 /YEtma97suv/G0exie1Ktz49MpBCkh7GVzNbCh+HPeSPweG2NGW/hnGRdxI8tEhI
 MVz3WhTrJEpIby2ko5gizLIaqYN/ELJm6aBGCm6IHlDwpotzaT3wHnZYOSHYenQl
 wYl5U+j/1+V568bHytbylE1uUyRbSilY+T2V41+CUtYPvlIWgrc8TEl8JOZzNs7Z
 OYygAZiBMD973B7FJ8stJK/jzttbcgG6RvYgI+P8pqPAFA3ybU/xlaZN0/06456p
 WL63EfwSJ2VlIu/aFb8MThJ0Ddso6doJ/QHf4znPJ8nB5sAxQYru5QltOEHLp7oG
 z6ZTeoMfwUJZKqWb7vhNRYTX5rGj/dbLO6A6f9gkIMt7BUYpwZeRmln6xbXjDxvb
 DMs6Q2FN5aMvz8XdzoDpbzCtR7ewdrlHh1jV1MAc/B5SAsYWyvOEiXZDRsoaSIyd
 10gHRuHiMLDOPEAcPYyu7rnKDM8RWfTJwnqPrkuJ99/P0npG+v3M2pnQtau3emWy
 stuai03TSl8pjTzqkkY4vQme4oAmLx9FWD8xMw3zM9l7PyyKO95U94NeqcVeTyUd
 TfgkA9ZTCQ==
 =g012
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK/ATkACgkQmmx57+YA
 GNn7rQ//bhVLzUbPgiWXdQFeWKFUuWdyQGKTji5mM1SnyhMDTEfukIOmY51f0cdK
 aQnU0YJlrozrc3S+twPN+OulAKxQgI5RBO+90Wp5UbnaU/O9M0eFPuQLfuvGpWBP
 WIWfXHjwBYZyQGjlgBizQ3bcIYF8sr0co2kXfX5jIpY64H4Wb9RniSguPIFNtgpp
 uzzZC7tFq/ClkjEGzlPjSN4wSyqJnDsRu+woIEPTv2Veiw0WxrUrIWHjPLlzo4r1
 lTtxrSYt0Mkvrnp4NG177a6wQFTEX8G4gsz6mcjhiAlyTOxybCAtpMTUlYS+N294
 Gsy7m+lGjV6yeb6/FSAK37toBprrA3a6SdE9gIynwfB8dCYr4C+4x/sZplpRhjcd
 YRig/sHiRTFBJDlK8oRqe5NcmaZkFvAoDDZDqSHz3vx8vgso16HJIY5g/tUkxXQY
 GmqQIBcLfgjzgBQ8APtokh/1JMrNoqspKe51XoYQI4EID9GK8IMLXdwGHQ7seCMB
 UGGz+2qpQywH8GA7GQLkg9CYvrQ4WJFEj1PjwRleJeoeWuDu5eMiSJrgeU5gj8x2
 Du6Hgedm+P4mafe8mONXSEcougCj3mFiD9DeQGFrOlmKcgy5NfPzzihLvtbDF94Q
 Xc0S3JZSUL2+MnzFU9gwKQq8iwnmYOZLc0vGSkBeCdr5ojb2FOo=
 =8c7k
 -----END PGP SIGNATURE-----

Merge tag 'dt-cleanup-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt

Cleanup of ARM DTS for v5.20

Series of cleanups for ARM DTS:
1. White-spaces, gpio-key subnode names, USB DWC3/EHCI node names,
2. Add board-level compatibles to Aspeed evaluation boards.

* tag 'dt-cleanup-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: stih407-family: Harmonize DWC USB3 DT nodes name
  ARM: dts: lpc18xx: Harmonize EHCI/OHCI DT nodes name
  ARM: dts: ast2600-evb-a1: fix board compatible
  ARM: dts: ast2600-evb: fix board compatible
  ARM: dts: ast2500-evb: fix board compatible
  ARM: dts: animeo: correct gpio-keys properties
  ARM: dts: animeo: align gpio-key node names with dtschema
  ARM: dts: sd: adjust whitespace around '='
  ARM: dts: sti: adjust whitespace around '='
  ARM: dts: ste: adjust whitespace around '='
  ARM: dts: nuvoton: adjust whitespace around '='
  ARM: dts: lpc: adjust whitespace around '='
  ARM: dts: ecx: adjust whitespace around '='
  ARM: dts: alpine: adjust whitespace around '='
  ARM: dts: spear: adjust whitespace around '='
  ARM: dts: axm: adjust whitespace around '='
  ARM: dts: at91: adjust whitespace around '='
  ARM: dts: aspeed: adjust whitespace around '='
  ARM: dts: pxa: adjust whitespace around '='

Link: https://lore.kernel.org/r/20220627082842.50508-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 16:14:17 +02:00
Arnd Bergmann
5d16aa7458 Cleanup of ARM64 DTS for v5.20
Series of cleanups for ARM64 DTS: White-spaces, gpio-key subnode names,
 USB DWC3/EHCI node names.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmK5aTsQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1+zlD/wPdG6LXzOJ4QWqaUVplsqH/la4BtmCX5Yu
 h24RaSmxYULrt67iAmGN2uBXcjorAvSfbBRgEIDM/8S+exWNZdrTUZCPcAE14MI6
 F/zO2y8bBh7/ZFfJZNEdmaNWuqjR7Bg7p/06hd+s11FnQjsXpR7CV63v/Y0j1A3/
 6gHc25NIdk7/GElbKBOBGwGNdUB6RJxpN2JZwV8ItGPm9sc1R26IGPjWZ6mTf1Hm
 klj/DOmxXqwlifV15GOjK2Hp0ifY3Nq4RwtjCxnSxUE3FoqNm2h+P74IpYhWm86B
 aMC2lZ2UqonaV4Lx6P/2HVirQEVEsEILinT3FGHnDVUYtuosVazbjIks3PscHAjt
 W3YGvRp1Sf8Frp96tns/BmMciU2EAd3Nrcj/LygS+E/wZgVn3hFjT/ZhAkkNMcmL
 8X9XLnTqmwqhbMSqft0Z8CAGKHJyRV29rKnuUyWqJf3C59v1O5Vm1UM7nu1297hV
 ZCdTCV5UTp1UUsZKZ+DxB35wLVIz7S9fAJ7WtnO70ZJClVVB33iyRBQjfu092bma
 9jzo47FJ9A33+oAnNfZM4mjgtHJwJamReDygmb7tRIed8LDHGVRVIPd1nOrucAiU
 r5/kGqe31gxjgObIVfKK3n2rg3IuCXJgu407mLGzD+pYkU2T6CsLyoZDsqPDs9cM
 VVg3oUi/lA==
 =0DSi
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK/AQgACgkQmmx57+YA
 GNl2CQ//XkRSW32oonY4UrZo9ATbLZddVpmKoZwGT/lw/9v7mdBs00OCqD/L3TwO
 tl6tI4Lfg+Cn7Li/LqVW9o3tkhxrqDLYgiLKRp2Vd/cfosbf2jTmPCCRIiYkY55y
 ohtVqFX0nJGi5wZMt8Xbom1spPzVrpBiBnoQDkQmXVcKKH52wAsRKCn+T1f8cbR8
 4X1MyBoja9fBy3poN4DMMFXmFyGvvm5LDh6BS0+fS8BknXJc5Lvotc+49VB9iYKJ
 wAyOqEBs3sCHqaRA7UI2WcSO0Cm8LhcfkOcMlYwtHymcy+DrvFpT/lFqvrxe3sqm
 iAeRcu71MECAxVcpP6mEOWoHD2MIv3+dSE60JHkvvIQjDveEWgcOXb3xn46op/3A
 BlRsVgFbEqz6OMPYd6V+OKD29lNQVfDT228t5HSSMDWuvOFrhn7r3oR1VWitb2Bi
 mj6SNnc7FBG9/RtcxJ5u/6HYI0mXA4DK54DzBes/jBPz0THU6xTtwEYiX3YQndGC
 TQnWKPAKcruF3sBiXly9ja3jCndwvwfv7mZE2NRkKwP+fPpWH55pAU88ZMKDFmDp
 RUe5NAhOKXmxdM9DLsFgdDIZLIDfYSg1A+pkNlUZ8fd5XIKcP36mA3lw0QStiiGi
 QQX4UJeND8by7qOWytJjdmEdHt9Qmd4ACNEWFUXrUxwxELfHJ/0=
 =6G08
 -----END PGP SIGNATURE-----

Merge tag 'dt64-cleanup-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt

Cleanup of ARM64 DTS for v5.20

Series of cleanups for ARM64 DTS: White-spaces, gpio-key subnode names,
USB DWC3/EHCI node names.

* tag 'dt64-cleanup-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: apm: Harmonize DWC USB3 DT nodes name
  arm64: dts: hisilicon: correct gpio-keys properties
  arm64: dts: hisilicon: align gpio-key node names with dtschema
  arm64: dts: broadcom: align gpio-key node names with dtschema
  arm64: dts: apm: correct gpio-keys properties
  arm64: dts: microchip: adjust whitespace around '='
  arm64: dts: sprd: adjust whitespace around '='
  arm64: dts: hisilicon: adjust whitespace around '='
  arm64: dts: marvell: adjust whitespace around '='
  arm64: dts: lg: adjust whitespace around '='
  arm64: dts: apm: adjust whitespace around '='
  arm64: dts: amd: adjust whitespace around '='

Link: https://lore.kernel.org/r/20220627082842.50508-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 16:13:28 +02:00
Arnd Bergmann
3966af4055 SoCFPGA dts updates for v5.20
- Clean up the Mercury++ AA1 dts
 - Add support the Google Chameleon v3 board
 - Add defined GIC interrupt type for Agilex ECC
 - Fix coding style around Stratix10 QSPI dts entry
 - Add support for Stratix10 SW Virtual platform
 - Move clocks entry out of the Stratix10 soc node
 -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmK3qyYUHGRpbmd1eWVu
 QGtlcm5lbC5vcmcACgkQGZQEC4GjKPRY+hAApcExJfEExYbid8oTsj8RabB5ZHBN
 m/HKYPM8vhXNR3Oe9pzFSjsWgDc1UxrBjHrYa8IKxSKnFN/5Px+yDZEEG+PCLuD8
 c1a4NNCLzz3a50OyLDx7rBNTu5bai5kPyvJTXmv04lio/KXr0Kd9WNJ6R2ILTtFt
 coCzfw97TORK7cE0wNRzABrBjIF1qaHScL/KunzOYkDvs+40eo9/A+2LFXsQ86i3
 3nR+30M7QW09dHep8CKlpmhmX2MwHmd7EP39EA7JSbbGVMM08lZ9qPTiIcTAcNnC
 O836KBSN8yewlI6ONejK7YFlWJYFkReKs9ABv7Oo15EkeS+YddAdEFNhldd9poim
 Yx0DfVTQg5W5+/52aTLUPh2ReXqOKS4fC4xvGqWf4ph0I1WvDwyeeq6mbd5SZShI
 e16rxXYnMKqCOc7JbetXU+ZO4TYP1hSsLv+q7vpFZxnsVwDCBk7j2KPOVNuwJXVO
 9yy6AzXY9m3esUBHKp540sNczm0rAY/HVFAHISgdS7U+oF5nUMC8tex45XWkKuL8
 iUnEOVM4sIZBvCcOMGcqGFMYWcgtOvOtVIJGlAO9eCdLej4OWTqQBLJjn5+B8bmG
 BuiUUAS/PjKaMJ6m8H6B8QPDMRDRxGywUXc2PccpmQlS4H5sKp4CswJ3QvVfSrrz
 91urWgfVtbiTrSc=
 =Cqoq
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK/AK8ACgkQmmx57+YA
 GNl0KRAAkE0w3PTGB9vNIKsXFT8nDi+XlW4mq54svynY6IhlQlgzBSwtbtAFX3Zx
 NqGUJ1zbGlMSTHyBoBjQ4B3rdoK4Wc6ViDRo33169lGPdZo1BVRUPBma6/G0JycM
 KwlWuSsKbllX3yeGPIZ20lUW1mMmwMOyNTZGPallsAgv7ZKLukN25+oBXJXaRxVB
 q+27J4PWv+2Mx8HtJpoRvhXGTbpyNv17Ec41ozh4G7RpuCc3PqpaCRjGuS9F4xmH
 gm+CkLD2Axck0/btH1qQjSED0PD2fnDVV+xs8aTG0ynxcGo+DAf1cBl1N450cIxA
 eZrml4kVi8ZhDHBlXU23GsHYx0Suj9VKmT4ZScy9KVN/seSbEHZ0ePISCx67o0+l
 ZWNgHkDN7ROJGnaVIkjg/NWrJJzitlRktlXjlzjCKpWWDewLvNugF15nhr0qActf
 JnLsx/OtJZtkn7oz0usVUBn0K/T/PQ2my6CXk+43/CDKPbekvMMVvLvsWzaS5QzA
 hEFCnw52ubJ3ECvhqsOWACaisASbzNlWY84HqvgnM0hwd4vEFTbGyufnDzcFVeHD
 cJbWezV5KwVHySMerSXdVzYFWYR9Bpp4sqFiX1Bf+tAivNKAEBo8UEF8NkXuxAri
 VmEa6l1MuOhHK1RDSwBCbBIDqjeLx5jaNnIPC89+tDIG5sDjQMY=
 =oQAx
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_updates_for_v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/dt

SoCFPGA dts updates for v5.20
- Clean up the Mercury++ AA1 dts
- Add support the Google Chameleon v3 board
- Add defined GIC interrupt type for Agilex ECC
- Fix coding style around Stratix10 QSPI dts entry
- Add support for Stratix10 SW Virtual platform
- Move clocks entry out of the Stratix10 soc node

* tag 'socfpga_dts_updates_for_v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: dts: altera: socfpga_stratix10: move clocks out of soc node
  arm64: dts: Add support for Stratix 10 Software Virtual Platform
  dt-bindings: altera: document Stratix 10 SWVP compatibles
  arm64: dts: altera: adjust whitespace around '='
  arm64: dts: intel: socfpga_agilex: use defined GIC interrupt type for ECC
  dt-bindings: altera: Add Chameleon v3 board
  ARM: dts: socfpga: Add Google Chameleon v3 devicetree
  ARM: dts: socfpga: Add atsha204a node to Mercury+ AA1 dts
  ARM: dts: socfpga: Move sdmmc-ecc node to Arria 10 dts
  ARM: dts: socfpga: Change Mercury+ AA1 dts to dtsi

Link: https://lore.kernel.org/r/20220626004437.1224820-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 16:11:59 +02:00
Arnd Bergmann
6c0534397d Renesas DT binding updates for v5.20
- Reorganize the renesas,prr DT binding document.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYrVv4wAKCRCKwlD9ZEnx
 cJbuAQDEewDg4fus5sTP6TtT24WgRanFnbBmrzBwMs2YOvfb2wD/YSkVh17Rd0v7
 t+QN8VHwB0tx/tEzP9UQFL2qo3UcWAA=
 =Nwqq
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK+//cACgkQmmx57+YA
 GNlgPg/8DcFqd/fwjL+WsTFu0QHVnzXpGHR/d9ZQ4hwWQghkMKja/LTkaSyDSyye
 VfBEQ/uhaeuXLF9fVNzZ29zmZIxxyfMaOfNIrf2NwrYVztqqLI7+8MgQUj1DEdsF
 ckatR85k8SuvqHTxSQLWoMf6NNvJQCbcKSHaBLQ5ZN8mcoxFDpRp70KnOUqAeb8B
 GW0yiEkUuZ3W70SvNONts5oe8yRRY0+7Z/j7J6mrh2SEc7HX9c1MiwKkixbrJzkA
 ardspwtmzNSu4nx33DWB56gbdOyrgR0JAty1Cp1Xd3dFUqKRQw+krbpRq26qSnz6
 cv029LPHkavcHjPmIcQdaMrEXQMi465fdxqmWzmbGrt+lsjn2koznhCVI1ihj1IB
 jTTOWHjpTi6fpRmGeATeEZZJzvYQRhttRxwFOumT4QOmNG7ldDjFxIkzhgIfmT79
 rSpsorMdYwCS3r0nNEidr6d6QG5ymTJcF6/L76QF3tLjF00zp4wx4S5BCa19zj6l
 4v/lx4DnLx7pNO16B6TQ3Rg9AU10r2fR0yeP2xFDdv7EAy1BdvlAtNBa3NQ9viaW
 AO1fkReyD9u3R6wPcQcXrPEkT5hlhALot6plmjmL9HpJXMVIj1nTDRqHSy3WsnMP
 ECBMCWRDLeW6K/M7LcYmaZwpK1OE5Bwp1MbQ95fCLCp91NRYLqk=
 =FHtR
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt-bindings-for-v5.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt

Renesas DT binding updates for v5.20

  - Reorganize the renesas,prr DT binding document.

* tag 'renesas-dt-bindings-for-v5.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: soc: renesas: Move renesas,prr from arm to soc

Link: https://lore.kernel.org/r/cover.1656069640.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 16:08:55 +02:00
Arnd Bergmann
4505bb959a Renesas ARM DT updates for v5.20
- ADC and SPI support for the RZ/G2UL Soc and the RZ/G2UL SMARC EVK
     development board,
   - Ethernet support for the RZ/V2M SoC and the RZV2MEVK2 development
     board,
   - Thermal, IOMMU, Universal Flash Storage, octal Cortex-A55, and full
     serial support for the R-Car S4-8 SoC on the Spider development
     board,
   - RTC support for the RZN1D-DB board,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYrVvPAAKCRCKwlD9ZEnx
 cItXAQCzPwl/XNdNztGdFpNHlHivT0bDZMdgoybU9pZmjaZ3AAD/Yj2wFbIdXc+t
 pYgoUNcMTdiDiEzDLDPG4YUFtjgfnAs=
 =GZcf
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK+/pUACgkQmmx57+YA
 GNnj7g//aueU/a00whZJBLKtw27KmsnIsjp8tmqYmWFfJjMT89GpTE7iWFey6YTP
 c4YgXM0d3/pCeJR4YFb8cUiXPZR/zgmEvJYaFPt7SeO+WJzIECVqq7fgTdKdInyG
 st8/NvDH4CVi82nN+FZP2w5f9eBIc9XJzMIhQC986bweD7wkFEml6CslV7DaO1QH
 POZO4XTlZUhagypGxwLWCe8Jll7gI51ihJV6W8a6bfPPe+edREWcTnzAeWUNpmGa
 2oBBW9/5jn4+F7Tk2J97CgIGM4vR9SYSxvQuq+eB5bMwrTeBTIlARxa0nTwJuDsH
 QcCI3xkzy+SNhrFV108Z687qOtSziYljhn8kmvOQd6boXF6EGvsX3p+PKMEe1OTk
 GznudMcwBkCFkCU7gKqNz3U4sBDB8/YKSGEnATOzOl/3BxZ0/sKnJQL66UIQ51Fe
 rxoSvXw6qfxd25LWCp5hQdW6mK8e/tDa+I1K20YcUSk2/zBg7L8efOhRZRd63h7Y
 hXM3OzaWo02y4IZDxJ/Gy9hEMjhT79PBwNPQ6xvZPUJ6AgARM/xA5Y4JmIS7Nw3J
 ZJ9qRjzj+dTwa31mfAHa/RXgD4rSbeR1xKZLRRdQmLTToObzgECpxRos7SKeDoNx
 pYpEIQyP/6kvtFzlA2sU9J9gqw9NMxYcxuD2Xwe6gZaG/Ew8sH0=
 =VSLS
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-dt-for-v5.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt

Renesas ARM DT updates for v5.20

  - ADC and SPI support for the RZ/G2UL Soc and the RZ/G2UL SMARC EVK
    development board,
  - Ethernet support for the RZ/V2M SoC and the RZV2MEVK2 development
    board,
  - Thermal, IOMMU, Universal Flash Storage, octal Cortex-A55, and full
    serial support for the R-Car S4-8 SoC on the Spider development
    board,
  - RTC support for the RZN1D-DB board,
  - Miscellaneous fixes and improvements.

* tag 'renesas-arm-dt-for-v5.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (27 commits)
  ARM: dts: rza2mevb: Fix LED node names
  arm64: dts: renesas: Fix thermal-sensors on single-zone sensors
  arm64: dts: renesas: spider-cpu: Enable SCIF0 on second connector
  arm64: dts: renesas: r8a779f0: Add SCIF nodes
  arm64: dts: renesas: r8a779f0: Add HSCIF nodes
  arm64: dts: renesas: r8a779f0: Add DMA properties to SCIF3
  arm64: dts: renesas: Add missing space after remote-endpoint
  arm64: dts: renesas: rzg2ul-smarc-som: Enable ADC on SMARC platform
  arm64: dts: renesas: rzg2ul-smarc: Enable RSPI1 on carrier board
  arm64: dts: renesas: r8a779f0: Add CPU core clocks
  arm64: dts: renesas: r8a779f0: Add CPUIdle support
  arm64: dts: renesas: r8a779f0: Add secondary CA55 CPU cores
  arm64: dts: renesas: r8a779f0: Add L3 cache controller
  arm64: dts: renesas: r8a779a0: Add CPU0 core clock
  arm64: dts: renesas: r8a779a0: Update to R-Car Gen4 compatible values
  ARM: dts: r9a06g032-rzn1d400-db: Enable rtc0
  arm64: dts: renesas: rzg2l-smarc: Use proper bool operator
  arm64: dts: renesas: r8a779f0: Add UFS node
  arm64: dts: renesas: r8a779f0: Add iommus to DMAC nodes
  arm64: dts: renesas: r8a779f0: Add IPMMU nodes
  ...

Link: https://lore.kernel.org/r/cover.1656069634.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 16:03:01 +02:00
Arnd Bergmann
813b080890 Samsung DTS ARM64 changes for v5.20
1. Add CPU cache, UFS to Tesla FSD.
 2. Add reboot-mode (boot into specific bootloader mode) to ExynosAutov9.
 3. Add watchdogs to ExynosAutov9.
 4. Add eMMC to Exynos7885 JackpotLTE (Samsung Galaxy A8).
 5. DTS cleanup: white-spaces, node names, LED color/function.
 6. Switch to DTS-local header for pinctrl register values instead of
    bindings header.  The bindings header is being deprecated because it
    does not reflect the purpose of bindings.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmK1bWAQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD17CCEACWlUxpnhuxoLU32DwT2wuZKQ0UyvsFhPBZ
 crbMurYfCG88pdGtzeT9ke3rI1vpEs/6OJsaZqIJQ4+Uyzz0J2VGxqgs/5swt15s
 ptnysblBd3wIQ0Tp9GjC33EnxaCeVgPTq9cfV1ojVfEFJwPXOnJMEPO5nyuoqb6s
 EA4BYUQYcJdXg9ptN9lchB16ykn8EvCyaxZv+L6sxwhBUEiYNjXt1co1BEOWIUjp
 Lie6v/yCS8i4b7MUvmbGrcDGdMWSvKyvuSPYsazYGWdetst4fm2wtMqAYtAQo2Or
 MSs3N2jyjNHgOrjyJk/OB1dTGHjCB7eF4WFByIG9uT6o9FoXs2GAhaR3tS3PeW/2
 6IzEQcBIwfGhYTptuQMvOo8S0QEcNAuKWD0tqSDCE58KeF+qoM0rSRijkRgJeFN0
 ApvSRrOVNEH8zUDsii1TVt5wWNcUNcbXElDzE4hMPdfJmqpzITMIBS20pu8AZKQn
 iYi4DazVhg9Z9eQl4ggjGgRQ5FM3QcrN9R4FyWrDC/x4XADwiOeV5VKGSny00w24
 LlODT+5RXUvxpyr3lVoBSm0B2F3oh/Drm55NocBrkmqyrOioQ5Y4LKhGrbZzJGKW
 XoAbNwguHcVWUMpQblLs11GlKTNYkBflJ3HUFW6q/x6OF+vYnFg+iUeCbgiiOqTb
 PtyVAgyzxQ==
 =lCJe
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK+/lAACgkQmmx57+YA
 GNkNMRAAokRo8VbMNmXb1Qgoq5HLuVnsY6t/qxsGXeX0ZIU7DrcbfwW/5pjdajMI
 7DZMRmrVn3UAI/0DjU2sk16JUc08epZqlcJLNU13Rljgg1arJrNadcRrX5rSFdW1
 DcVSvFug0tQkb6/i94reJm+yRAsBT4gD/OQfP2ZF23p5xFP65Jc82SpBMv2l0q7a
 ds1JIT5+zft31NrniOqvpSO4EGG4MHereNBXh5Ey0XskRdpj7XrF97IbfLsA1th4
 vLrHvdF0MW4Zo8LTVLwk4RTgDw0xnnxYEBwt8ComGOUdgyv07FrCtwkQbZR2nDgb
 0EoXlWq3C7RmXKboVtKlHGBbBJN0ReTFJSWZKsbn+AXPBB1bIo2j2QTl0mr3J5AI
 A3SSeIeVDN5uI3IRBr6pZE68X4Df8nnKfdN4/oAg4C2qe4bwnaM91DN50tz/dOfC
 uIrncrBHZDi3w1BSa54KobWwIKJaQ2h2hmyqmPKbyypzLjvz5MHmjMKBvB1XzrCc
 x847roRt0+YkjHjeql78uinmhQJqkySJFMxmZmxwdXb5FbxYogA1U0JoFD0ts/vY
 ABqZ9VpJOra2UEdbTIHxVPU6gcMZhS1oZPEBMYtNzMonwmQJ4DwxDWCCYYVNaBUF
 Lmmdhoja4UHFeXZPANN88gJNsgKmHKIOnygC1YAfAAQYP7t4oEo=
 =nLDq
 -----END PGP SIGNATURE-----

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

Samsung DTS ARM64 changes for v5.20

1. Add CPU cache, UFS to Tesla FSD.
2. Add reboot-mode (boot into specific bootloader mode) to ExynosAutov9.
3. Add watchdogs to ExynosAutov9.
4. Add eMMC to Exynos7885 JackpotLTE (Samsung Galaxy A8).
5. DTS cleanup: white-spaces, node names, LED color/function.
6. Switch to DTS-local header for pinctrl register values instead of
   bindings header.  The bindings header is being deprecated because it
   does not reflect the purpose of bindings.

* tag 'samsung-dt64-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: Add internal eMMC support to jackpotlte
  dt-bindings: clock: Add indices for Exynos7885 TREX clocks
  dt-bindings: clock: Add bindings for Exynos7885 CMU_FSYS
  arm64: dts: exynos: enable secondary ufs devices ExynosAutov9 SADK
  arm64: dts: exynos: add secondary ufs devices in ExynosAutov9
  arm64: dts: fsd: use local header for pinctrl register values
  arm64: dts: exynos: use local header for pinctrl register values
  arm64: dts: exynos: align MMC node name with dtschema
  arm64: dts: exynos: adjust DT style of ufs nodes in ExynosAutov9
  arm64: dts: exynos: adjust whitespace around '='
  arm64: dts: fsd: add ufs device node
  arm64: dts: exynos: add watchdog in ExynosAutov9
  arm64: dts: exynos: add syscon reboot/reboot_mode support in ExynosAutov9
  dt-bindings: soc: add samsung,boot-mode definitions
  arm64: dts: fsd: Add cpu cache information

Link: https://lore.kernel.org/r/20220624080746.31947-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 16:01:52 +02:00
Arnd Bergmann
7949803d38 Samsung DTS ARM changes for v5.20
1. Add display panel and backlight to P4 Note family (Samsung Galaxy
    Note 10.1).
 2. DTS cleanup: white-spaces, node names, LED color/function.
 3. Switch to DTS-local header for pinctrl register values instead of
    bindings header.  The bindings header is being deprecated because it
    does not reflect the purpose of bindings.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmK1bMcQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD11qQD/9UrGnLsuByPnvzXpzLbmBBfuL4X6uX52sR
 qXUw0uZDm6OqP3iWSHrNm7/V8EjiKIBRc5VTRJGnyL91xYg6HY4kiol+DKqv2tbA
 KPv9GgSKaYe0uzxbskqqbHg1OSE0BBTdqni1f4JCXMZtbrTFCBzZOhpi5NjrnvIM
 c95+V7NaGl2+gwkQQiRRcMBLcXY4+oNJgMz77JZGqJTNe3ftMXFC2QTFX0yK2gF6
 YqkwBG6TvWZKFQfwcw2JSBujBdER0Z+ilPM5uOApWFZDT+cClbKOokePOldByyWT
 B0UmjHoD+lUmBOn9nFSqvIw9GM5cSBfvO3muFbUrdWHI+tap6kdOESvIjw+4CFc0
 jM1ZBJpJPMjlnIORhOqjVRJl5WaRD5i/t45CrXSEXEfNKHdsfDGAObtN5xTxrWY9
 tzYifpGRVDyAlSvvI65UUI5bSFggdKmVe/gVwYb/u9EBu4ltOAvCyUB8cylEabDt
 NBi4+jsTBDUeQNriNMu86TC6IQIM/K3NcBPnND88lJo92nGxHFTwPsel+tJXs6bZ
 i9xeQeHrYuY3KWRyIEHm2dDRBah7bzKASVIAUFzc27Nmo/VjLeAk3hW+lEGCNLbZ
 M2g9mgSzjWdh48rvWxglh7Le4Mk8TDWgrSIIhYeg6OKcoDCEeE98EaB1XdmvEMFP
 4HRTrtJ0AQ==
 =I+fO
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK+/hkACgkQmmx57+YA
 GNmqyRAAi2YISGDg/fT9Ai9qaOjDPG4cUzlrDB/cbF+OKJqXDtvtM52kvgTpHPJ9
 APY+pViDf5xwwa8gCnv+wYvQcX+RZr3YrxJS+1kEHcymfj764f42LPyLpgj8a5po
 1/vlJxWMHfc2PUKkbUcfth+auo8pilqS7yg/uAY+o/xoZyy+A5rMsiJ2vLZzvQ9f
 c9dNasoDQOWbu82J9pdAUzLIbFxRStUgEZivRj56iFmneOETiUxddXwp+x0SxtM/
 0PTSEQDFSFLu+SGmz+hk5AkXDvPE/DxUNDEf65N/qO6BQi7lCoN24aZjHyn6JwVv
 79dR6Oc5O1jhIS2P1YW7wFykW8nmRL3oaUIwVETImQKWmxIYyDaGb/KUN5qcoU/s
 mkldu2Q2e3DLX+w8XbYfCE+88utfl33du/EvwMNs7neukHydbA8L/zc8H/tV4H7C
 Tt1W0OLSs6s+S6ahXrZqwJ/jb4RwisLn5HH38L/f/KfnxSyo0qVjD3OZR3GgL3Oq
 DEC3nEMVngi/tjiHb0vEhlPvA6S86THW7CRIGBFmB2ZTU/Q493DeTpmZjg/67MZ0
 6uOM5Zx1nPoA5pUDGQqGa12z/d1OxmExMihzdQNPNTQFtVT2L3JFw+hBrqL99UEx
 RJdN/7Ir6a4/+LAR7eZFea0tRYhfpDn0E9SZp6EuBDNLDFYjnVg=
 =9Mg+
 -----END PGP SIGNATURE-----

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

Samsung DTS ARM changes for v5.20

1. Add display panel and backlight to P4 Note family (Samsung Galaxy
   Note 10.1).
2. DTS cleanup: white-spaces, node names, LED color/function.
3. Switch to DTS-local header for pinctrl register values instead of
   bindings header.  The bindings header is being deprecated because it
   does not reflect the purpose of bindings.

* tag 'samsung-dt-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: add function and color to LED nodes in Odroid XU/XU3
  ARM: dts: exynos: add function and color to LED node in Odroid XU4
  ARM: dts: exynos: add function and color to LED node in Odroid HC1
  ARM: dts: exynos: add function and color to LED nodes in Odroid X/X2
  ARM: dts: exynos: add function and color to LED node in Odroid U3
  ARM: dts: exynos: add function and color to LED nodes in Itop Elite
  ARM: dts: exynos: add function to LED nodes in Tiny4412
  ARM: dts: exynos: add function to LED node in Origen 4210
  ARM: dts: exynos: add function and color to aat1290 flash LED node in Galaxy S3
  ARM: dts: exynos: align aat1290 flash LED node with bindings in Galaxy S3
  ARM: dts: s5pv210: align gpio-key node names with dtschema
  ARM: dts: exynos: align gpio-key node names with dtschema
  ARM: dts: exynos: use local header for pinctrl register values
  ARM: dts: s5pv210: use local header for pinctrl register values
  ARM: dts: s3c64xx: use local header for pinctrl register values
  ARM: dts: s3c2410: use local header for pinctrl register values
  ARM: dts: exynos: align MMC node name with dtschema
  ARM: dts: exynos: adjust whitespace around '='
  ARM: dts: exynos: add panel and backlight to p4note

Link: https://lore.kernel.org/r/20220624080746.31947-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 16:00:57 +02:00
Wei Yongjun
1357d2a656 irqchip/apple-aic: Make symbol 'use_fast_ipi' static
The sparse tool complains as follows:

drivers/irqchip/irq-apple-aic.c:231:1: warning:
 symbol 'use_fast_ipi' was not declared. Should it be static?

This symbol is not used outside of irq-apple-aic.c, so marks it static.

Fixes: 2cf6821166 ("irqchip/apple-aic: Add Fast IPI support")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Reviewed-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220618072824.562350-1-weiyongjun1@huawei.com
2022-07-01 14:26:13 +01:00
Jamie Iles
fd31000d58 irqchip/xilinx: Add explicit dependency on OF_ADDRESS
Commit b84dc7f0e3 ("irqchip/xilinx: Remove microblaze+zynq
dependency") relaxed the dependencies on the Xilinx interrupt controller
to be OF only, but some OF architectures (s390 for example) do not
support OF_ADDRESS and so a build of the driver will result in undefined
references to of_iomap/iounmap and friends.

Fixes: b84dc7f0e3 ("irqchip/xilinx: Remove microblaze+zynq dependency")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Jamie Iles <jamie@jamieiles.com>
Acked-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220630111008.3838307-1-jamie@jamieiles.com
2022-07-01 14:25:46 +01:00
Jonathan McDowell
b69a2afd5a x86/kexec: Carry forward IMA measurement log on kexec
On kexec file load, the Integrity Measurement Architecture (IMA)
subsystem may verify the IMA signature of the kernel and initramfs, and
measure it. The command line parameters passed to the kernel in the
kexec call may also be measured by IMA.

A remote attestation service can verify a TPM quote based on the TPM
event log, the IMA measurement list and the TPM PCR data. This can
be achieved only if the IMA measurement log is carried over from the
current kernel to the next kernel across the kexec call.

PowerPC and ARM64 both achieve this using device tree with a
"linux,ima-kexec-buffer" node. x86 platforms generally don't make use of
device tree, so use the setup_data mechanism to pass the IMA buffer to
the new kernel.

Signed-off-by: Jonathan McDowell <noodles@fb.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Mimi Zohar <zohar@linux.ibm.com> # IMA function definitions
Link: https://lore.kernel.org/r/YmKyvlF3my1yWTvK@noodles-fedora-PC23Y6EG
2022-07-01 15:22:16 +02:00
Arnd Bergmann
1f66f63c73 i.MX fixes for 5.19, round 2:
- Fix the SDIO description for imx7d-smegw01 board to ensure there is
   no communication made at 1.8V.
 - Fix pgc_ispdwp power-domain clock, which should be
   IMX8MP_CLK_MEDIA_ISP_ROOT.
 - Re-enable framebuffer support in mxs_defconfig to fix a Kconfig
   regression.
 - A series from Peng Fan (and Sherry Sun) fixing various pads on i.MX8MP
   based boards to leave reserved bits untouched.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmK7tGoUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM6gQQgAsaOPV6XCcWJCf+BAJkZvk8ba4Q4C
 F/fZHnqbXFUeQqjMckVv1b9UlGLw2uNeWoW0FfQ/p8WV+uDLIlpp19wpvJHKkTM1
 U1zIBK0RdJiUrngfCrOedZwHmzg11D3aVn0gotEPbW+S+aXXcW5GXH0Tt2Z/v5mF
 hKIxqW1KE+OUpCAoNIehgImFjKjS8fFX4vxMQ81bkdp9iLTNc6kvsHivyXk1wS2F
 E5CmaWPlPGHjaKXWvUnh8rO2QstRNTZpYe1FbCheRGBcfT2U6VFPAMYc9EJNM64d
 UKSHOsT4l+7D7Jk8CMMYftBII21fwX+Qs3PepE/rnND3WYygH09iFOHNDA==
 =6inj
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK+82oACgkQmmx57+YA
 GNl0iQ/6AwGvoVBgs6k+eO7S9NCXif7uIYpMMeo+Qjz0+Za/4xbv9j8MOXETOOZi
 2Rm0bmlEwUHO05Hm35oel2t1AGFm13cWcyvGUyVSl5vuv2z0W/CHwGD9qu3vxaEV
 ui7Oya0pdAKIVlYbK+2LVPKCUbb2lpnxgQfhlrzNLj9sH14EEFlX8iAD1HAgyN9w
 hql8BGtWwESPYM/55hmWIywxrQo+AHKKtgsL8Ba8pOKcc7sO7UC6I/qigQ3g31Ce
 pCDhtHM2dWVdqivRWwvbfu8lswJjB8SFGrTKGDsmpqy/OSJGGcrETJ/6F+RUBpI7
 ADv2tIgPw8LWWWLyCi3KNdRiySdwiBs8cJQiVzpJghfRg2izMn7DyHW0KAkzaUW7
 zUYgvdOe6Rc3DpSSdY6MO2pgxha1xKFoun0xlm16Qt4yi7iNaiFH5lGKs6hOyOoG
 0vTZyESIgYT1V2xXIqaH6MPhZR8jTYY0RHM7p7uhKjbSmT/VVBkaC49bYd+io5Ym
 dkKdGMAff6NlAzwChXuM2j7t2PnTyt/9FocsBZKTcD5iFyVkg1YDZcAKK70iFwxi
 IFXPTN5099jX8vkFjHUdrpI5jshHld+zC6/PHOEztYznWLxqJA5p64/4hrB+teCz
 WDEVCtRSQCFqMaOiYcC/oUNN5koKoGGivT6xipYOo35QTRyzm+k=
 =ZOsU
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 5.19, round 2:

- Fix the SDIO description for imx7d-smegw01 board to ensure there is
  no communication made at 1.8V.
- Fix pgc_ispdwp power-domain clock, which should be
  IMX8MP_CLK_MEDIA_ISP_ROOT.
- Re-enable framebuffer support in mxs_defconfig to fix a Kconfig
  regression.
- A series from Peng Fan (and Sherry Sun) fixing various pads on i.MX8MP
  based boards to leave reserved bits untouched.

* tag 'imx-fixes-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: imx8mp-icore-mx8mp-edim2.2: correct pad settings
  arm64: dts: imx8mp-phyboard-pollux-rdk: correct i2c2 & mmc settings
  arm64: dts: imx8mp-phyboard-pollux-rdk: correct eqos pad settings
  arm64: dts: imx8mp-phyboard-pollux-rdk: correct uart pad settings
  arm64: dts: imx8mp-venice-gw74xx: correct pad settings
  arm64: dts: imx8mp-evk: correct I2C3 pad settings
  arm64: dts: imx8mp-evk: correct I2C1 pad settings
  arm64: dts: imx8mp-evk: correct I2C5 pad settings
  arm64: dts: imx8mp-evk: correct vbus pad settings
  arm64: dts: imx8mp-evk: correct eqos pad settings
  arm64: dts: imx8mp-evk: correct vbus pad settings
  arm64: dts: imx8mp-evk: correct gpio-led pad settings
  arm64: dts: imx8mp-evk: correct the uart2 pinctl value
  arm64: dts: imx8mp-evk: correct mmc pad settings
  ARM: mxs_defconfig: Enable the framebuffer
  arm64: dts: imx8mp: correct clock of pgc_ispdwp
  ARM: dts: imx7d-smegw01: Fix the SDIO description

Link: https://lore.kernel.org/r/20220629021244.GL819983@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 15:15:21 +02:00
Arnd Bergmann
a38dbb4f20 AT91 fixes for 5.19
It contains 3 SoC fixes and 2 DT fixes:
 SoC:
 - fix the wakeup from RTC and RTT for ULP1 mode
 - fix section mismatch warning
 - fix SAM9X60 SiP detection
 
 DT:
 - fixes the EEPROMs compatibles for sama5d2_icp and sam9x60ek and EEPROM
   size for sam9x60ek
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCYrraHQAKCRCejrg/N2X7
 /SttAQDmoJ4WB6+osorxNV+G9CnHZHQJHjI0X2ZTUGj59k6vIAEAu+LGjHyUmxVe
 TfYbnfaAgOICc8HsC2CbdkeR01RqNAM=
 =x+2+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK+81wACgkQmmx57+YA
 GNlQiBAAjEhrj2SQkigFGgGR+YFo+se/gNwOBz3OXZ6VyVFVqAKaaqC0MBM9OyBD
 Yyf6nGTT+VLe+Ekc/y7GtIW2oaCDTansk6E+MXe8QSHzs3T6BmKONAIH1YqUFZ3a
 0YCR9jBlIL16l3X08KnAhOm35iaqO0SgEZ9RDfGfTIWDAFmBis5rst5VreAlEbPp
 9LPsKYFjd7tqP1jFYpgE8UTkDZgS3rQHnsBAKKCLXT0tFTudgGk5B9/3Ni0V1wM2
 3ubf+1CW2vvbfXFtpruRzNlZ+Li3fZ0/b1bXRGXLZLRh2+/LvMVLEb/KN9Ln20hZ
 pYT0IYJhfu8MWgcZUof1Qnc437nDie7YoJ1JrDV13uhDhlBwW/E3KMtXLWvX07n3
 9p6IvbVGX/Wen7j1MWyOztJ55j4XbJebNcm2s/uXygjT3f4zsVk9HbFHpfiElPSZ
 xfqGRz+3ygRRA/itE3SMnmiCKRKip99NH9ohstzPg6xJ882fPQo+3BGFGo1AN4Mw
 Evj4bvDWX6NBgR1LSJFv0JG82wWWKm9byxcpKGXJ6g5dTwmyC/a+HHnmZ+iDWiq/
 BYtyS3iuE/5YFp7tO9AXYBfQyiMZ3VlKt0KqCK2GFxa7KN7CY2fALusVt44WJY7E
 FFwDvQ5kvAdERvVG4ddYGHj7Hjg9euDpht/l3fqIkNaFtWM27fo=
 =CHPb
 -----END PGP SIGNATURE-----

Merge tag 'at91-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/fixes

AT91 fixes for 5.19

It contains 3 SoC fixes and 2 DT fixes:
SoC:
- fix the wakeup from RTC and RTT for ULP1 mode
- fix section mismatch warning
- fix SAM9X60 SiP detection

DT:
- fixes the EEPROMs compatibles for sama5d2_icp and sam9x60ek and EEPROM
  size for sam9x60ek

* tag 'at91-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: at91: pm: Mark at91_pm_secure_init as __init
  ARM: at91: fix soc detection for SAM9X60 SiPs
  ARM: dts: at91: sama5d2_icp: fix eeprom compatibles
  ARM: dts: at91: sam9x60ek: fix eeprom compatible and size
  ARM: at91: pm: use proper compatibles for sama7g5's rtc and rtt
  ARM: at91: pm: use proper compatibles for sam9x60's rtc and rtt
  ARM: at91: pm: use proper compatible for sama5d2's rtc

Link: https://lore.kernel.org/r/20220628135130.3114878-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 15:15:08 +02:00
Linus Walleij
620f83b832
soc: ixp4xx/npe: Fix unused match warning
The kernel test robot found this inconsistency:

  drivers/soc/ixp4xx/ixp4xx-npe.c:737:34: warning:
  'ixp4xx_npe_of_match' defined but not used [-Wunused-const-variable=]
     737 | static const struct of_device_id ixp4xx_npe_of_match[] = {

This is because the match is enclosed in the of_match_ptr()
which compiles into NULL when OF is disabled and this
is unnecessary.

Fix it by dropping of_match_ptr() around the match.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20220626074315.61209-1-linus.walleij@linaro.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 15:14:26 +02:00