Commit graph

1,169,205 commits

Author SHA1 Message Date
Shmulik Ladkani
44c51472be bpf: Support getting tunnel flags
Existing 'bpf_skb_get_tunnel_key' extracts various tunnel parameters
(id, ttl, tos, local and remote) but does not expose ip_tunnel_info's
tun_flags to the BPF program.

It makes sense to expose tun_flags to the BPF program.

Assume for example multiple GRE tunnels maintained on a single GRE
interface in collect_md mode. The program expects origins to initiate
over GRE, however different origins use different GRE characteristics
(e.g. some prefer to use GRE checksum, some do not; some pass a GRE key,
some do not, etc..).

A BPF program getting tun_flags can therefore remember the relevant
flags (e.g. TUNNEL_CSUM, TUNNEL_SEQ...) for each initiating remote. In
the reply path, the program can use 'bpf_skb_set_tunnel_key' in order
to correctly reply to the remote, using similar characteristics, based
on the stored tunnel flags.

Introduce BPF_F_TUNINFO_FLAGS flag for bpf_skb_get_tunnel_key. If
specified, 'bpf_tunnel_key->tunnel_flags' is set with the tun_flags.

Decided to use the existing unused 'tunnel_ext' as the storage for the
'tunnel_flags' in order to avoid changing bpf_tunnel_key's layout.

Also, the following has been considered during the design:

  1. Convert the "interesting" internal TUNNEL_xxx flags back to BPF_F_yyy
     and place into the new 'tunnel_flags' field. This has 2 drawbacks:

     - The BPF_F_yyy flags are from *set_tunnel_key* enumeration space,
       e.g. BPF_F_ZERO_CSUM_TX. It is awkward that it is "returned" into
       tunnel_flags from a *get_tunnel_key* call.
     - Not all "interesting" TUNNEL_xxx flags can be mapped to existing
       BPF_F_yyy flags, and it doesn't make sense to create new BPF_F_yyy
       flags just for purposes of the returned tunnel_flags.

  2. Place key.tun_flags into 'tunnel_flags' but mask them, keeping only
     "interesting" flags. That's ok, but the drawback is that what's
     "interesting" for my usecase might be limiting for other usecases.

Therefore I decided to expose what's in key.tun_flags *as is*, which seems
most flexible. The BPF user can just choose to ignore bits he's not
interested in. The TUNNEL_xxx are also UAPI, so no harm exposing them
back in the get_tunnel_key call.

Signed-off-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20220831144010.174110-1-shmulik.ladkani@gmail.com
2022-09-02 15:20:55 +02:00
Kumaravel Thiagarajan
4ec7ac90ff misc: microchip: pci1xxxx: Add power management functions - suspend & resume handlers.
Power event handlers suspend and resume are invoked by the operating
system to notify the driver about the power events. Wakeup is enabled
before entering suspend and disabled after resuming.

Signed-off-by: Kumaravel Thiagarajan <kumaravel.thiagarajan@microchip.com>
Link: https://lore.kernel.org/r/20220824200047.150308-6-kumaravel.thiagarajan@microchip.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-02 14:49:08 +02:00
Kumaravel Thiagarajan
1f4d8ae231 misc: microchip: pci1xxxx: Add gpio irq handler and irq helper functions irq_ack, irq_mask, irq_unmask and irq_set_type of irq_chip.
The helper functions irq_set_type, irq_mask, irq_unmask and
irq_ack configure the interrupt type, mask, unmask and
acknowledge the interrupts.

Signed-off-by: Kumaravel Thiagarajan <kumaravel.thiagarajan@microchip.com>
Link: https://lore.kernel.org/r/20220824200047.150308-5-kumaravel.thiagarajan@microchip.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-02 14:49:08 +02:00
Kumaravel Thiagarajan
9b91a368a4 misc: microchip: pci1xxxx: Add functions to configure gpio pins as input / output, get status, handle I/O for gpio pins.
direction_input and direction_output functions configures a gpio pin as
input and output respectively. get_direction function returns if a gpio
pin is output or input. get function returns the value of a gpio pin
whereas set function assigns output value for a gpio pin.

Signed-off-by: Kumaravel Thiagarajan <kumaravel.thiagarajan@microchip.com>
Link: https://lore.kernel.org/r/20220824200047.150308-4-kumaravel.thiagarajan@microchip.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-02 14:49:08 +02:00
Kumaravel Thiagarajan
7d3e4d807d misc: microchip: pci1xxxx: load gpio driver for the gpio controller auxiliary device enumerated by the auxiliary bus driver.
PIO function's auxiliary bus driver enumerates separate child devices for
GPIO controller and OTP/EEPROM interface. This gpio driver implemented
based on the gpio framework is loaded for the gpio auxiliary device.

Signed-off-by: Kumaravel Thiagarajan <kumaravel.thiagarajan@microchip.com>
Link: https://lore.kernel.org/r/20220824200047.150308-3-kumaravel.thiagarajan@microchip.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-02 14:49:08 +02:00
Kumaravel Thiagarajan
393fc2f594 misc: microchip: pci1xxxx: load auxiliary bus driver for the PIO function in the multi-function endpoint of pci1xxxx device.
pci1xxxx is a PCIe switch with a multi-function endpoint on one of its
downstream ports. PIO function is one of the functions in the
multi-function endpoint. PIO function combines a GPIO controller and also
an interface to program pci1xxxx's OTP & EEPROM. This auxiliary bus driver
is loaded for the PIO function and separate child devices are enumerated
for GPIO controller and OTP/EEPROM interface.

Signed-off-by: Kumaravel Thiagarajan <kumaravel.thiagarajan@microchip.com>
Link: https://lore.kernel.org/r/20220824200047.150308-2-kumaravel.thiagarajan@microchip.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-02 14:49:05 +02:00
Shung-Hsi Yu
dc84dbbcc9 bpf, tnums: Warn against the usage of tnum_in(tnum_range(), ...)
Commit a657182a5c ("bpf: Don't use tnum_range on array range checking
for poke descriptors") has shown that using tnum_range() as argument to
tnum_in() can lead to misleading code that looks like tight bound check
when in fact the actual allowed range is much wider.

Document such behavior to warn against its usage in general, and suggest
some scenario where result can be trusted.

Signed-off-by: Shung-Hsi Yu <shung-hsi.yu@suse.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/984b37f9fdf7ac36831d2137415a4a915744c1b6.1661462653.git.daniel@iogearbox.net
Link: https://www.openwall.com/lists/oss-security/2022/08/26/1
Link: https://lore.kernel.org/bpf/20220831031907.16133-3-shung-hsi.yu@suse.com
Link: https://lore.kernel.org/bpf/20220831031907.16133-2-shung-hsi.yu@suse.com
2022-09-02 14:44:54 +02:00
Manikanta Pubbisetty
7d992bd461 wifi: ath11k: Add support to connect to non-transmit MBSSID profiles
Add support to connect to a non-transmit MBSSID AP profile.

Non-transmit MBSSID profile parameters are passed to the firmware
via WMI VDEV UP command and this helps firmware to track MBSSID
profile within the multi-BSS beacon and report beacon loss if
any.

WCN6750, QCA6390 & WCN6855 firmwares have the support and hence
enable the support on these hardwares.

Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1

Signed-off-by: Manikanta Pubbisetty <quic_mpubbise@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20220901080616.29414-1-quic_mpubbise@quicinc.com
2022-09-02 15:28:22 +03:00
David Jander
9c9c9da7aa
spi: spi: Fix queue hang if previous transfer failed
The queue worker always needs to be kicked one final time after a transfer
is done in order to transition to idle (ctlr->busy = false).

Commit 69fa95905d ("spi: Ensure the io_mutex is held until
spi_finalize_current_message()") moved this code into
__spi_pump_messages(), but it was executed only if the transfer was
successful. This condition check causes ctlr-busy to stay true in case of
a failed transfer.
This in turn causes that no new work is ever scheduled to the work queue.

Fixes: 69fa95905d ("spi: Ensure the io_mutex is held until spi_finalize_current_message()")
Reported-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Signed-off-by: David Jander <david@protonic.nl>
Link: https://lore.kernel.org/r/20220901123630.1098433-1-david@protonic.nl
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-09-02 13:27:48 +01:00
Jiasheng Jiang
376be51caf
ASoC: rsnd: Add check for rsnd_mod_power_on
As rsnd_mod_power_on() can return negative numbers,
it should be better to check the return value and
deal with the exception.

Fixes: e7d850dd10 ("ASoC: rsnd: use mod base common method on SSI-parent")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/20220902013030.3691266-1-jiasheng@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-09-02 13:27:16 +01:00
Mark Brown
b30f7c8eb0
spi: mux: Fix mux interaction with fast path optimisations
The spi-mux driver is rather too clever and attempts to resubmit any
message that is submitted to it to the parent controller with some
adjusted callbacks.  This does not play at all nicely with the fast
path which now sets flags on the message indicating that it's being
handled through the fast path, we see async messages flagged as being on
the fast path.  Ideally the spi-mux code would duplicate the message but
that's rather invasive and a bit fragile in that it relies on the mux
knowing which fields in the message to copy.  Instead teach the core
that there are controllers which can't cope with the fast path and have
the mux flag itself as being such a controller, ensuring that messages
going via the mux don't get partially handled via the fast path.

This will reduce the performance of any spi-mux connected device since
we'll now always use the thread for both the actual controller and the
mux controller instead of just the actual controller but given that we
were always hitting the slow path anyway it's hopefully not too much of
an additional cost and it allows us to keep the fast path.

Fixes: ae7d2346dc ("spi: Don't use the message queue if possible in spi_sync")
Reported-by: Casper Andersson <casper.casan@gmail.com>
Tested-by: Casper Andersson <casper.casan@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220901120732.49245-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-09-02 13:27:13 +01:00
Manikanta Pubbisetty
607c467eac wifi: ath11k: Fix hardware restart failure due to twt debugfs failure
Currently, creation of debugfs entries for TWT is failing during
hardware restart because of the residual TWT files which were
created during add_interface(). Since, struct arvif{} is memset
to zero upon add_interface() invocation, when the hardware restart
is triggered, arvif is memset to 0 and TWT files are attempted to
create again which will fail because of the residual TWT files
already in place, this leads to hardware restart failure.

Also, it is not a good idea to return error from add_interface()
because of debugfs file creation failures. Moreover, debugfs
framework can very well handle the errors in it's create file &
remove file APIs and the errors returned by these APIs are not
checked in most usecases.

Fix the HW restart failure by ignoring the errors returned from
the debugfs APIs.

Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1

Fixes: fe98a6137d ("ath11k: add debugfs for TWT debug calls")
Signed-off-by: Manikanta Pubbisetty <quic_mpubbise@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20220720135150.22193-3-quic_mpubbise@quicinc.com
2022-09-02 15:27:11 +03:00
Manikanta Pubbisetty
9e2747c31e wifi: ath11k: Add TWT debugfs support for STA interface
Currently TWT debugfs files required for manually testing the
TWT feature are created only for the AP interfaces; these debugfs
hooks are also required for the station interfaces in order to
test the TWT feature manually, therefore create these debugfs
hooks for station iftype as well.

In the case of station interfaces, TWT is entirely handled in the
firmware based on input parameters passed to it during association
via TWT enable WMI command. In order to manually test this feature,
firmware expects to first disable the TWT feature and then send the
enable command with sta_cong_timer_ms parameter set to 0.
This is true for WCN6750, QCA6390 & WCN6855 hardwares.

Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1

Signed-off-by: Manikanta Pubbisetty <quic_mpubbise@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20220720135150.22193-2-quic_mpubbise@quicinc.com
2022-09-02 15:27:11 +03:00
David S. Miller
e7506d344b rxrpc fixes
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEqG5UsNXhtOCrfGQP+7dXa6fLC2sFAmMQjRQACgkQ+7dXa6fL
 C2uGMBAAmb6+9iaxeAj6kE+/P4LCzUgfiIi0mH5QdK5JmCWDkhOvH1XCqHJwPIVb
 w/z5OGQm8CpaVb0nRC3pXMxdrG2OAmE6q6vYnJly30XRYdmv4tQ40SVwsq+OUmZ/
 dTdSgoFUYEb7WPwfGIdwpCQS0hmrXXDz5yRwq7DPmrcMEj374AKdADeJEQhvjd86
 NkhAp9bANNCwxIEouUntHtfZM+x3zFhzPh+giV+54WOKPLbqUYiG/AKo729oIgNf
 dGApdKjvfxbK/dx0fqfYXk19RpbJgyacrGrl5GQ+tZ1qkdL0PB1B1Q/nh/4COoTi
 Q7bTrZ6HyXGpQCMIwEY43dkdnnEdfaWLeXw4EqU0oHABckpCrzkv+HsV2kAPrEUS
 wsLPXEuNY4Lszbidc4+NKGIg82RQWrPjtxmslys6YdyO12cmOiyH51RePkeUvkKY
 C4erE+Kj7tNM58BHGN1TYsGhgHdAta5DWn+008Uc5KQh1WFJW+Wfk+VHtmNwSj4f
 PiPcO1TM9Sp42jRizlPQE8DF2KGSs13pwxtomvYpeufZKjZL29OnfMySH+bXfRU0
 JDzyUbeY1jMayADV3ovXQsP4KIIbKzL/m1LxBCtZ+R/zcxdij87pRIzFV8ZnnsZ1
 QBfWobozK1NNFofMES6LjocoHF0ZT3H8khpaYTOlZA0MjSwXM5o=
 =GW48
 -----END PGP SIGNATURE-----

Merge tag 'rxrpc-fixes-20220901' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs

David Howells says:

====================
rxrpc fixes
Here are some fixes for AF_RXRPC:

 (1) Fix the handling of ICMP/ICMP6 packets.  This is a problem due to
     rxrpc being switched to acting as a UDP tunnel, thereby allowing it to
     steal the packets before they go through the UDP Rx queue.  UDP
     tunnels can't get ICMP/ICMP6 packets, however.  This patch adds an
     additional encap hook so that they can.

 (2) Fix the encryption routines in rxkad to handle packets that have more
     than three parts correctly.  The problem is that ->nr_frags doesn't
     count the initial fragment, so the sglist ends up too short.

 (3) Fix a problem with destruction of the local endpoint potentially
     getting repeated.

 (4) Fix the calculation of the time at which to resend.
     jiffies_to_usecs() gives microseconds, not nanoseconds.

 (5) Fix AFS to work out when callback promises and locks expire based on
     the time an op was issued rather than the time the first reply packet
     arrives.  We don't know how long the server took between calculating
     the expiry interval and transmitting the reply.

 (6) Given (5), rxrpc_get_reply_time() is no longer used, so remove it.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:45:32 +01:00
Jakub Kicinski
c3f760ef12 net: remove netif_tx_napi_add()
All callers are now gone.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:41:43 +01:00
Eric Dumazet
3261400639 tcp: TX zerocopy should not sense pfmemalloc status
We got a recent syzbot report [1] showing a possible misuse
of pfmemalloc page status in TCP zerocopy paths.

Indeed, for pages coming from user space or other layers,
using page_is_pfmemalloc() is moot, and possibly could give
false positives.

There has been attempts to make page_is_pfmemalloc() more robust,
but not using it in the first place in this context is probably better,
removing cpu cycles.

Note to stable teams :

You need to backport 84ce071e38 ("net: introduce
__skb_fill_page_desc_noacc") as a prereq.

Race is more probable after commit c07aea3ef4
("mm: add a signature in struct page") because page_is_pfmemalloc()
is now using low order bit from page->lru.next, which can change
more often than page->index.

Low order bit should never be set for lru.next (when used as an anchor
in LRU list), so KCSAN report is mostly a false positive.

Backporting to older kernel versions seems not necessary.

[1]
BUG: KCSAN: data-race in lru_add_fn / tcp_build_frag

write to 0xffffea0004a1d2c8 of 8 bytes by task 18600 on cpu 0:
__list_add include/linux/list.h:73 [inline]
list_add include/linux/list.h:88 [inline]
lruvec_add_folio include/linux/mm_inline.h:105 [inline]
lru_add_fn+0x440/0x520 mm/swap.c:228
folio_batch_move_lru+0x1e1/0x2a0 mm/swap.c:246
folio_batch_add_and_move mm/swap.c:263 [inline]
folio_add_lru+0xf1/0x140 mm/swap.c:490
filemap_add_folio+0xf8/0x150 mm/filemap.c:948
__filemap_get_folio+0x510/0x6d0 mm/filemap.c:1981
pagecache_get_page+0x26/0x190 mm/folio-compat.c:104
grab_cache_page_write_begin+0x2a/0x30 mm/folio-compat.c:116
ext4_da_write_begin+0x2dd/0x5f0 fs/ext4/inode.c:2988
generic_perform_write+0x1d4/0x3f0 mm/filemap.c:3738
ext4_buffered_write_iter+0x235/0x3e0 fs/ext4/file.c:270
ext4_file_write_iter+0x2e3/0x1210
call_write_iter include/linux/fs.h:2187 [inline]
new_sync_write fs/read_write.c:491 [inline]
vfs_write+0x468/0x760 fs/read_write.c:578
ksys_write+0xe8/0x1a0 fs/read_write.c:631
__do_sys_write fs/read_write.c:643 [inline]
__se_sys_write fs/read_write.c:640 [inline]
__x64_sys_write+0x3e/0x50 fs/read_write.c:640
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x63/0xcd

read to 0xffffea0004a1d2c8 of 8 bytes by task 18611 on cpu 1:
page_is_pfmemalloc include/linux/mm.h:1740 [inline]
__skb_fill_page_desc include/linux/skbuff.h:2422 [inline]
skb_fill_page_desc include/linux/skbuff.h:2443 [inline]
tcp_build_frag+0x613/0xb20 net/ipv4/tcp.c:1018
do_tcp_sendpages+0x3e8/0xaf0 net/ipv4/tcp.c:1075
tcp_sendpage_locked net/ipv4/tcp.c:1140 [inline]
tcp_sendpage+0x89/0xb0 net/ipv4/tcp.c:1150
inet_sendpage+0x7f/0xc0 net/ipv4/af_inet.c:833
kernel_sendpage+0x184/0x300 net/socket.c:3561
sock_sendpage+0x5a/0x70 net/socket.c:1054
pipe_to_sendpage+0x128/0x160 fs/splice.c:361
splice_from_pipe_feed fs/splice.c:415 [inline]
__splice_from_pipe+0x222/0x4d0 fs/splice.c:559
splice_from_pipe fs/splice.c:594 [inline]
generic_splice_sendpage+0x89/0xc0 fs/splice.c:743
do_splice_from fs/splice.c:764 [inline]
direct_splice_actor+0x80/0xa0 fs/splice.c:931
splice_direct_to_actor+0x305/0x620 fs/splice.c:886
do_splice_direct+0xfb/0x180 fs/splice.c:974
do_sendfile+0x3bf/0x910 fs/read_write.c:1249
__do_sys_sendfile64 fs/read_write.c:1317 [inline]
__se_sys_sendfile64 fs/read_write.c:1303 [inline]
__x64_sys_sendfile64+0x10c/0x150 fs/read_write.c:1303
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x63/0xcd

value changed: 0x0000000000000000 -> 0xffffea0004a1d288

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 18611 Comm: syz-executor.4 Not tainted 6.0.0-rc2-syzkaller-00248-ge022620b5d05-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022

Fixes: c07aea3ef4 ("mm: add a signature in struct page")
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Shakeel Butt <shakeelb@google.com>
Reviewed-by: Shakeel Butt <shakeelb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:29:02 +01:00
Eric Dumazet
977f1aa5e4 net: bql: add more documentation
Add some documentation for netdev_tx_sent_queue() and
netdev_tx_completed_queue()

Stating that netdev_tx_completed_queue() must be called once
per TX completion round is apparently not obvious for everybody.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:27:46 +01:00
Dan Carpenter
e2b224abd9 tipc: fix shift wrapping bug in map_get()
There is a shift wrapping bug in this code so anything thing above
31 will return false.

Fixes: 35c55c9877 ("tipc: add neighbor monitoring framework")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:26:29 +01:00
Toke Høiland-Jørgensen
9efd23297c sch_sfb: Don't assume the skb is still around after enqueueing to child
The sch_sfb enqueue() routine assumes the skb is still alive after it has
been enqueued into a child qdisc, using the data in the skb cb field in the
increment_qlen() routine after enqueue. However, the skb may in fact have
been freed, causing a use-after-free in this case. In particular, this
happens if sch_cake is used as a child of sfb, and the GSO splitting mode
of CAKE is enabled (in which case the skb will be split into segments and
the original skb freed).

Fix this by copying the sfb cb data to the stack before enqueueing the skb,
and using this stack copy in increment_qlen() instead of the skb pointer
itself.

Reported-by: zdi-disclosures@trendmicro.com # ZDI-CAN-18231
Fixes: e13e02a3c6 ("net_sched: SFB flow scheduler")
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:23:26 +01:00
David S. Miller
25de4a0b7b Merge branch 'net-ipa-transaction-state-IDs'
Alex Elder says:

====================
net: ipa: use IDs to track transaction state

This series is the first of three groups of changes that simplify
the way the IPA driver tracks the state of its transactions.

Each GSI channel has a fixed number of transactions allocated at
initialization time.  The number allocated matches the number of
TREs in the transfer ring associated with the channel.  This is
because the transfer ring limits the number of transfers that can
ever be underway, and in the worst case, each transaction represents
a single TRE.

Transactions go through various states during their lifetime.
Currently a set of lists keeps track of which transactions are in
each state.  Initially, all transactions are free.  An allocated
transaction is placed on the allocated list.  Once an allocated
transaction is committed, it is moved from the allocated to the
committed list.  When a committed transaction is sent to hardware
(via a doorbell) it is moved to the pending list.  When hardware
signals that some work has completed, transactions are moved to the
completed list.  Finally, when a completed transaction is polled
it's moved to the polled list before being removed when it becomes
free.

Changing a transaction's state thus normally involves manipulating
two lists, and to prevent corruption a spinlock is held while the
lists are updated.

Transactions move through their states in a well-defined sequence
though, and they do so strictly in order.  So transaction 0 is
always allocated before transaction 1; transaction 0 is always
committed before transaction 1; and so on, through completion,
polling, and becoming free.  Because of this, it's sufficient to
just keep track of which transaction is the first in each state.
The rest of the transactions in a given state can be derived from
the first transaction in an "adjacent" state.  As a result, we can
track the state of all transactions with a set of indexes, and can
update these without the need for a spinlock.

This first group of patches just defines the set of indexes that
will be used for this new way of tracking transaction state.  Two
more groups of patches will follow.  I've broken the 17 patches into
these three groups to facilitate review.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:08:44 +01:00
Alex Elder
fd3bd0398a net: ipa: track polled transactions with an ID
Add a transaction ID to track the first element in the transaction
array that has been polled.  Advance the ID when we are releasing a
transaction.

Temporarily add warnings that verify that the first polled
transaction tracked by the ID matches the first element on the
polled list, both when polling and freeing.

Remove the temporary warnings added by the previous commit.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:08:44 +01:00
Alex Elder
949cd0b5c2 net: ipa: track completed transactions with an ID
Add a transaction ID field to track the first element in the
transaction array that has completed but has not yet been polled.

Advance the ID when we are processing a transaction in the NAPI
polling loop (where completed transactions become polled).

Temporarily add warnings that verify that the first completed
transaction tracked by the ID matches the first element on the
completed list, both when pending and completing.

Remove the temporary warnings added by the previous commit.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:08:44 +01:00
Alex Elder
eeff7c14e0 net: ipa: track pending transactions with an ID
Add a transaction ID field to track the first element in the
transaction array that is pending (sent to hardware) but not yet
complete.  Advance the ID when a completion event for a channel
indicates that transactions have completed.

Temporarily add warnings that verify that the first pending
transaction tracked by the ID matches the first element on the
pending list, both when pending and completing, as well as when
resetting the channel.

Remove the temporary warnings added by the previous commit.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:08:44 +01:00
Alex Elder
fc95d958e2 net: ipa: track committed transactions with an ID
Add a transaction ID field to track the first element in a channel's
transaction array that has been committed, but not yet passed to the
hardware.  Advance the ID when the hardware is notified via doorbell
that TREs from a transaction are ready for consumption.

Temporarily add warnings that verify that the first committed
transaction tracked by the ID matches the first element on the
committed list, both when committing and pending (at doorbell).

Remove the temporary warnings added by the previous commit.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:08:44 +01:00
Alex Elder
41e2a2c054 net: ipa: track allocated transactions with an ID
Transactions for a channel are now managed in an array, with a free
transaction ID indicating which is the next one free.

Add another transaction ID field to track the first element in the
array that has been allocated.  Advance it when a transaction is
committed (because that is when that transaction leaves allocated
state).

Temporarily add warnings that verify that the first allocated
transaction tracked by the ID matches the first element on the
allocated list, both when allocating and committing a transaction.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:08:44 +01:00
Alex Elder
12382d1167 net: ipa: use an array for transactions
Transactions are always allocated one at a time.  The maximum number
of them we could ever need occurs if each TRE is assigned to a
transaction.  So a channel requires no more transactions than the
number of TREs in its transfer ring.  That number is known to be a
power-of-2 less than 65536.

The transaction pool abstraction is used for other things, but for
transactions we can use a simple array of transaction structures,
and use a free index to indicate which entry in the array is the
next one free for allocation.

By having the number of elements in the array be a power-of-2, we
can use an ever-incrementing 16-bit free index, and use it modulo
the array size.  Distinguish a "trans_id" (whose value can exceed
the number of entries in the transaction array) from a "trans_index"
(which is less than the number of entries).

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 12:08:44 +01:00
Florian Fainelli
566e373fe0
arm64: Kconfig.platforms: Group NXP platforms together
Group the three NXP platforms under an ARCH_NXP menuconfig symbol to
make make selection of similar vendor SoCs visually nicer.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20220829173830.3567047-3-f.fainelli@gmail.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 12:50:58 +02:00
Florian Fainelli
96796c914b
arm64: Kconfig.platforms: Re-organized Broadcom menu
There are now multiple Broadcom SoCs supported so group them under their
own menu such that the selection is visually more appealing and we can
easily add new platforms there in the future. This allows us to move
ARCH_BRCMSTB back to its siblings.

No functional changes introduced.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20220829173830.3567047-2-f.fainelli@gmail.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 12:50:58 +02:00
Arnd Bergmann
c9a2577d41 Renesas driver updates for v6.1
- Auto-enable the RZ/G2L external and GPIO interrupt controller driver
     when needed,
   - Identify the R-Car H3Ne-1.7G and RZ/Five SoCs.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYxHInwAKCRCKwlD9ZEnx
 cL77AP9fLZnOMMkhDly4J1vWwJXwOPLU8c0rcBfIQq8hFB6eswD/VbsrbVlHMSAr
 BG++RtKDYNgkLpsDxF06doeJ87GnTQM=
 =Zk4n
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMR34QACgkQmmx57+YA
 GNk3tQ//YklJh8f7e69Mr2mgF+Gb/IvpVEFxxf+ofCEggTDv2IlRysg71K3qtxkA
 0qnyvzOWo2XEIsz0Ine+018xME1Ylob/k2+JhAXoetGuSioKt2KCsO9CUiDQj1ev
 jGjJ9RZbAbqOXtJ8CuM6kA8tZUv3gzKbonqN4iidYqGLKn48b86LYW8B4A6Zpe4J
 hYwI/NW20OXKvZwp7dzHnYsz+VsmCKJOCstqd2L0TU9sb3GT8RHqKGElPImtzFSB
 6enWYUBTc2wbDStdEV4IG3uaZQIRzhXtlBVdXThTwUzGKPHY5lt3rY1nFmyED0AX
 7cR/4llCEngm7mehnga0dHUK1dhl/INbdFQIdmkY5me17KIxrvwhxjir0G6rW0I8
 Sj7Wo4qmtnLO25o0sIvrdryx/30LG8SsXa41fR9jRqLlJ1gcgqO+j4BRBN5nlstQ
 I1oIL4RqSCLshJtd+5vFW+Pxrn+8zmmPnJI+TAFEvlB1k1KopFHMkLlUCRUgOQ9u
 9Y7goKPLf0JG7/CrFwhoZPwa81zVmx4GciwLTGMLqL+mBR4bRRFCUhIWPsnMKIEX
 CkvMkPuNlUn1pjcz3AUn32o6EA1tr3VSQ3Uv0hCZa8o8Pn7xh1q2Xl1Asm+riTov
 uFsfytnJ473BSPBG/OPXPfDUpumJoWCH0P97vfdp/cK3PgPL8EM=
 =mtyn
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v6.1-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/drivers

Renesas driver updates for v6.1

  - Auto-enable the RZ/G2L external and GPIO interrupt controller driver
    when needed,
  - Identify the R-Car H3Ne-1.7G and RZ/Five SoCs.

* tag 'renesas-drivers-for-v6.1-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Identify RZ/Five SoC
  soc: renesas: Identify R-Car H3Ne-1.7G
  soc: renesas: Kconfig: Enable IRQC driver for RZ/G2L SoC

Link: https://lore.kernel.org/r/cover.1662111135.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 12:48:36 +02:00
Arnd Bergmann
71772aa7dd Renesas DT binding updates for v6.1
- Document support for the R-Car H3Ne-1.7G SoC on the Salvator-XS and
     ULCB development boards,
   - Document system controller support for the RZ/Five SoC,
   - Document support for the R-Car V3H2 SoC and the Condor-I development
     board.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYxHJkQAKCRCKwlD9ZEnx
 cOYOAQDpsBwqnTBnDizDB4pDTUGwXFIexIQ4A/yRR7oP6BtBDwEA4x4/ZS2q6W6q
 LJp2qmQIpUzpQrL5qu5VDJgkO0nL2Aw=
 =altv
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMR3dEACgkQmmx57+YA
 GNkd3Q/8C+NAz2WwTcXpbVPmMAjo+AcjFLUtBwwheomU9ChA2gKC3hPDNSxEhaA+
 mOWgVoKRn2GxLcVDwV28ZH7ulkCmljBdI5actBTmdOT+vv7DHq8aQF1uk3ZjgEpl
 eye4g0DNb+nEBaHBrGl+zneTZkcH6DT1bh+kWUwn7fOhgSdvfHtZDcFIivYlfLZ0
 eJE17xTfbFAFEfhoz6BZG/LPPJm90f8X5v5RnI1LpysIU16HKjuP37O+Fhq5Mz9q
 jQck9VoFw2FLOHSch+U96tbPMjbououo6XX7tr5QsgvB2bujmnMcv7nwfc19F5nJ
 L82j7jNvbxGSDWS9NkM793GIkHZA5uoLFjIpPLQxclcOH81m/dJi7kQl0knLFiJl
 O/oqmd1E6IIJpvv3AbhHxB1iX7QF4Os6XejTIDVM+0rWGuoTiW0jAb781f8ZjJLz
 ZHnxmlgJBEI0q+Jza4VMxdFUAjLJfeCqwj9fjH3v+26b0OtlUa2EDzeppRuAqrPO
 1xOsiSGuCJ5VeDgqzou4XXC15+wUpSpOLCMOoE0FFMqELIkiSkQDnk1GzRrRi4o+
 0iEdEcTk6K2sXNzIMGh17xlXolaZ6J1qqlPJdwKEX/B02h9aKGNISVtOxDzYH78J
 Z0w0qBitQ6nVl89XpdXzCX2US7UDi5J4QWoOJGp1BF49vmHFOBQ=
 =lZ25
 -----END PGP SIGNATURE-----

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

Renesas DT binding updates for v6.1

  - Document support for the R-Car H3Ne-1.7G SoC on the Salvator-XS and
    ULCB development boards,
  - Document system controller support for the RZ/Five SoC,
  - Document support for the R-Car V3H2 SoC and the Condor-I development
    board.

* tag 'renesas-dt-bindings-for-v6.1-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: arm: renesas: Document Renesas R-Car V3H2 SoC and board
  dt-bindings: soc: renesas: renesas,rzg2l-sysc: Document RZ/Five SoC
  dt-bindings: arm: renesas: Document R-Car H3Ne-1.7G SoC and boards

Link: https://lore.kernel.org/r/cover.1662111137.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 12:41:21 +02:00
Weili Qian
fa2bf6e350 crypto: hisilicon/qm - return failure if vfs_num exceeds total VFs
The accelerator drivers supports users to enable VFs through the
module parameter 'vfs_num'. If the number of VFs to be enabled
exceeds the total VFs, all VFs are enabled. Change it to the same
as enabling VF through the 'sriov_numvfs' file. Returns -ERANGE
if the number of VFs to be enabled exceeds total VFs.

Signed-off-by: Weili Qian <qianweili@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-09-02 18:38:07 +08:00
Weili Qian
5afc904f44 crypto: hisilicon/qm - fix missing put dfx access
In function qm_cmd_write(), if function returns from
branch 'atomic_read(&qm->status.flags) == QM_STOP',
the got dfx access is forgotten to put.

Fixes: 607c191b37 ("crypto: hisilicon - support runtime PM for accelerator device")
Signed-off-by: Weili Qian <qianweili@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-09-02 18:38:06 +08:00
Weili Qian
95b66bc4e7 crypto: hisilicon/qm - check mailbox operation result
After the mailbox operation is complete, the result may be unsuccessful.
It needs to check the status bits of the mailbox register,
if it fails, -EIO is returned.

Signed-off-by: Weili Qian <qianweili@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-09-02 18:38:06 +08:00
Herbert Xu
31b39755e3 crypto: aspeed - Enable compile testing
This driver compile tests just fine.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Reviewed-by: Neal Liu <neal_liu@aspeedtech.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-09-02 18:38:06 +08:00
Lucas Segarra Fernandez
cc40b04c08 crypto: qat - fix default value of WDT timer
The QAT HW supports an hardware mechanism to detect an accelerator hang.
The reporting of a hang occurs after a watchdog timer (WDT) expires.

The value of the WDT set previously was too small and was causing false
positives.
Change the default value of the WDT to 0x7000000ULL to avoid this.

Fixes: 1c4d9d5bbb ("crypto: qat - enable detection of accelerators hang")
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Lucas Segarra Fernandez <lucas.segarra.fernandez@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-09-02 18:38:06 +08:00
Lucas Segarra Fernandez
442f06067f crypto: testmgr - fix indentation for test_acomp() args
Set right indentation for test_acomp().

Signed-off-by: Lucas Segarra Fernandez <lucas.segarra.fernandez@intel.com>
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-09-02 18:38:06 +08:00
wangjianli
0e831f3d2f crypto: bcm - fix repeated words in comments
Delete the redundant word 'in'.

Signed-off-by: wangjianli <wangjianli@cdjrlc.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-09-02 18:38:06 +08:00
David S. Miller
a01105f174 Merge branch 'lan966x-make-reset-optional'
Michael Walle says:

====================
net: lan966x: make reset optional

This is the remaining part of the reset rework on the LAN966x targetting
the netdev tree.

The former series can be found at:
https://lore.kernel.org/lkml/20220826115607.1148489-1-michael@walle.cc/
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 11:37:27 +01:00
Michael Walle
f4c1f51cea net: lan966x: make reset optional
There is no dedicated reset for just the switch core. The reset which
is used up until now, is more of a global reset, resetting almost the
whole SoC and cause spurious errors by doing so. Make it possible to
handle the reset elsewhere and make the reset optional.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 11:37:27 +01:00
Michael Walle
baa6a9b590 dt-bindings: net: sparx5: don't require a reset line
Make the reset line optional. It turns out, there is no dedicated reset
for the switch. Instead, the reset which was used up until now, was kind
of a global reset. This is now handled elsewhere, thus don't require a
reset.

Signed-off-by: Michael Walle <michael@walle.cc>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-02 11:37:27 +01:00
wangjianli
8e971e06b0 crypto: marvell/octeontx - fix repeated words in comments
Delete the redundant word 'is'.

Signed-off-by: wangjianli <wangjianli@cdjrlc.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-09-02 18:37:24 +08:00
wangjianli
8c8e5b6ae4 crypto: n2 - fix repeated words in comments
Delete the redundant word 'to'.

Signed-off-by: wangjianli <wangjianli@cdjrlc.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-09-02 18:37:23 +08:00
Kshitiz Varshney
10a2199caf hwrng: imx-rngc - Moving IRQ handler registering after imx_rngc_irq_mask_clear()
Issue:
While servicing interrupt, if the IRQ happens to be because of a SEED_DONE
due to a previous boot stage, you end up completing the completion
prematurely, hence causing kernel to crash while booting.

Fix:
Moving IRQ handler registering after imx_rngc_irq_mask_clear()

Fixes: 1d5449445b (hwrng: mx-rngc - add a driver for Freescale RNGC)
Signed-off-by: Kshitiz Varshney <kshitiz.varshney@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-09-02 18:37:23 +08:00
Arnd Bergmann
73bf60ba7c Renesas ARM DT updates for v6.1
- SDHI and eMMC support for the R-Car S4-8 SoC and the Spider
     development board,
   - Timer (CMT and TMU) and SPI (MSIOF) support for the R-Car S4-8 SoC,
   - External and GPIO interrupt support for the RZ/G2L and RZ/V2L SoCs,
   - Initial support for the R-Car H3Ne-1.7G (R8A779MB) SoC,
   - SPI DMA support for the RZ/G2UL, RZ/G2L, and RZ/V2L SoCs,
   - Pin control and I2C support for the RZ/V2M SoC and the RZ/V2M
     Evaluation Kit,
   - initial support for the R-Car V3H2 (R8A77980A) SoC and the Condor-I
     development board,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYxHH5AAKCRCKwlD9ZEnx
 cPL2AP9nyergZjUfqFUBVP8C9jsL7GXepGt6D6SdPf9YGZNCMgEA+z9HUguK2RdM
 urlB4NnQgaYyM5g8w9JoNtOzAC4AKA0=
 =WZou
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMR2XoACgkQmmx57+YA
 GNksBg/+IH53jll/GKWt1bDbVc6YTzQi55SNNNRdO8mgwG9+mEdDZVon0A7jy52a
 d5quHe+Kks8n5CX6rVINyp9+uWK/ifx7EyXrpaMFFhsZqn0ViRibjsFxXbuVNOgk
 x8KLnZU67ebcLP1FT83C835Nt166CiLKt7oU9PohSiYeDZ1zxqZ4pnJVd+s6V1rK
 8bCCkV76dXRJCE2kmmiKvJuZFj/vBwxWhNS6wxJtwS9jAc7ep15nqWXdkg6BPX+d
 x6qtFseGGZDQhr/PRb19wNIeQfU+zzwsuHY/jyKyzSkQ/IglgsIIRdBnegMs3Gw9
 bz5pp+8xWjH7QijfKcghUlZs6yQmu2YZLbi699caffqqZpq6DnxcOu/+7z9FN9Yj
 /Z03TMaeovSTkpC/MeC+PuohogViYLh1yjf3NJUcvjS29HwdHb75vDZ6DC1mxDhq
 k6RpnxF9qfoun+jpVv+LNmxfQVvykyQVlEdrcUps8z/MJ4YE5zg1p4pR5noIGcGK
 labz4f1NJe4JbfMFABFhcwJ3Gf7My8SGWGQfuhmKzKWShfjfLAHT8iOkiWVI43lX
 oSTLi0+qL0V9hULywVF/4XRH7JHr94S6OFLZqVB+JNIsYwvXq2sMdUxVrmvNoJGO
 pfMttwp9Dj3oLGkhcBLw3e+GyMuNCE9Dpx5pTS/q7HBbxZEx6y4=
 =vOUA
 -----END PGP SIGNATURE-----

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

Renesas ARM DT updates for v6.1

  - SDHI and eMMC support for the R-Car S4-8 SoC and the Spider
    development board,
  - Timer (CMT and TMU) and SPI (MSIOF) support for the R-Car S4-8 SoC,
  - External and GPIO interrupt support for the RZ/G2L and RZ/V2L SoCs,
  - Initial support for the R-Car H3Ne-1.7G (R8A779MB) SoC,
  - SPI DMA support for the RZ/G2UL, RZ/G2L, and RZ/V2L SoCs,
  - Pin control and I2C support for the RZ/V2M SoC and the RZ/V2M
    Evaluation Kit,
  - initial support for the R-Car V3H2 (R8A77980A) SoC and the Condor-I
    development board,
  - Miscellaneous fixes and improvements.

* tag 'renesas-arm-dt-for-v6.1-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (33 commits)
  arm64: dts: renesas: Add V3H2 Condor-I board support
  arm64: dts: renesas: Add r8a77980a.dtsi
  arm64: dts: renesas: Add condor-common.dtsi
  arm64: dts: renesas: Drop clock-names property from RPC node
  arm64: dts: renesas: r8a779f0: Add MSIOF nodes
  arm64: dts: renesas: r8a774a1: Put I2C aliases to board files
  arm64: dts: renesas: r8a774e1: Rename i2c_dvfs to iic_pmic
  arm64: dts: renesas: r8a779a0: Put I2C aliases to board files
  arm64: dts: renesas: r8a77990: Put I2C aliases to board files
  arm64: dts: renesas: r8a77980: Put I2C aliases to board files
  arm64: dts: renesas: r8a77970: Put I2C aliases to board files
  arm64: dts: renesas: r8a779{51|60|65}: Put I2C aliases to board files
  arm64: dts: renesas: rzv2m evk: Enable i2c
  arm64: dts: renesas: r9a09g011: Add i2c nodes
  arm64: dts: renesas: r9a09g011: Add pinctrl node
  arm64: dts: renesas: r9a07g043: Fix SCI{Rx,Tx} interrupt types
  arm64: dts: renesas: r9a07g054: Fix SCI{Rx,Tx} interrupt types
  arm64: dts: renesas: r9a07g044: Fix SCI{Rx,Tx} interrupt types
  arm64: dts: renesas: r9a07g043: Fix audio clk node names
  arm64: dts: renesas: r9a07g054: Add DMA support to RSPI
  ...

Link: https://lore.kernel.org/r/cover.1662111128.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 12:22:50 +02:00
Herbert Xu
2ad548ebb8 Revert "crypto: allwinner - Fix dma_map_sg error check"
This reverts commit 2b02187bdb.

The original code was correct and arguably more robust than the
patched version.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-09-02 18:19:27 +08:00
Herbert Xu
fb1e1257b0 Revert "crypto: gemini - Fix error check for dma_map_sg"
This reverts commit 545665ad1e.

The original code was correct and arguably more robust than the
patched version.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-09-02 18:15:53 +08:00
Arnd Bergmann
853ca4bb74 Renesas ARM defconfig updates for v6.1
- Refresh shmobile_defconfig for v6.0-rc1,
   - Enable additional support for Renesas platforms in the arm64
     defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYxHFsQAKCRCKwlD9ZEnx
 cFnnAP0WWCnx50+oodGIJfcpb/QDcmXXVPa4EVrf92TvgqWrCQD+Nel3En9EYaWr
 wt+GR2aZpa+E9Kfa9OovTzUWzvHiXw8=
 =fwbH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMR1ZgACgkQmmx57+YA
 GNkLmg//bCTFJHb+VrnSkg3YA12xEubZ2cVBc7hlzCpa+LkqcWXHdhqoMrsCBqr7
 kNRNy5IZy8juIVxi4aIdgHEeeq1HPB8H4TBLzTu19Lq2ivd+ILSRV7KOnq7NgpcI
 LaQ3T7TCXpir+xdLCJ4hCudJEVpDvsaCVAWrrcB3BJCtMiOBOusuQaYIyGhC+DeN
 EQ8t0V/18bmVdkXqRssyeLk4C69DPAn+PjCFqRY/KWpMNpSxVfMhUyefyjsdGZmh
 EI5XYvuSxdPUnpfW5o5kcUjsiYG5RKPxdykM9gc/SuSHGR+E0hSw49EvTDfTE1MG
 m50DrdjkXDitO+y6lk5sXHbHI4FW6cyze0VGVsJzbiXyE6XlQA81HFhdrn+gMRyA
 uFe8g8ELcljM+buE+tTnBfWtZqhwW0BBGv4HGA0I4rWzCOCJCWDFzba5GVe5CnQQ
 hBe7hjHEg5tOKKpRAUe/DoMY584uhEXWcgv5V+WiBDGD4JZFgMN/KcnNF/ZOWKNx
 FmhA+Al6ZXM4eWhTffaZlIQvSJVfZyHlNntHwSGCWW/Zzy+YRBjyApwIC20z1gtf
 794versp+GsjRFa/tpxm0HX0tD0QErsbiq6hd92xXLhW4mfpHuPcHve5F5xTAyBK
 qcT5m0YHO9+kaw/iJ1lxYi0oDwXqenXvO76JFCsKiPDe4KSbBnw=
 =jebc
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-defconfig-for-v6.1-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/defconfig

Renesas ARM defconfig updates for v6.1

  - Refresh shmobile_defconfig for v6.0-rc1,
  - Enable additional support for Renesas platforms in the arm64
    defconfig.

* tag 'renesas-arm-defconfig-for-v6.1-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: defconfig: Enable additional support for Renesas platforms
  ARM: shmobile: defconfig: Refresh for v6.0-rc1

Link: https://lore.kernel.org/r/cover.1662111126.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 12:06:16 +02:00
Arnd Bergmann
12f09234bd Renesas fixes for v6.0
- Fix the serial console on the Renesas White Hawk development board.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYxHJ8AAKCRCKwlD9ZEnx
 cN/8AP9XA09pTjmkn+PbDAy42t7tReRJ94zeQxyMZ2zDK3gLpAD7Bgk5rxtcCVj7
 W2rVYSt84SJ9iVjBnwOIwrLk0Jo0Mg8=
 =YXXk
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMR1WgACgkQmmx57+YA
 GNk7GRAAlxxGZ+1/LeYSvnEikDvNCJJp6miRmakL89yZ2uJfVS+vTF9VdE5QRVf8
 RfcrKNpF+91nKWGRV7tECU8/PkCxQ66PydqETvPid0pqjcEE16AWzrcJjUzBxeq9
 D4aSe/vgdR4Liar1orbWakMN+g0JhSr8a0XI4zlYsghgWuloJkLnDGmVsWX3fCrM
 fijDhtzlB54vE9XsUte0V9A+D/7meREtz8VG9jJ5v/DwKP74ABKk+PPncw7IH77i
 cPKkALCYOzpLuPw7BIg9oFhizJQhHbyUceQJRDmWVAyXYrDlOwB+x+2j8cTX96L+
 9KabkLNd4xLg4vgB/VhilShzbdnLdQelCD/8x/ZoxRkonTTDanlDBUgGrJ5b9rvC
 GFrnndOQ++1JZU06tqAetc0AdZy+Z9+kRyslRR2dXFUKBRn5dyBkqc7p4mjlyV+z
 aUX5aO6GZKLGnE1N+kd01IDapWyzOQz/iiTLW4Qe4p0DKH+4oudNtN3mS+MvLN07
 yRYpxmArxg/0HxTWUCxBga8qfmzF7KwxyVxyWErx32OeEiBcLaFDUaGuZNR2jgF9
 fsCmMtRc87GEqg8NcRDCLkzql5zQVtXzsG4eo7SKfYYbye/KGptMHZr/+vGxn1Mg
 XLfFw/Qe/5nEWbshPYztlEs4a2KpHVmmOO9YiA9KWrAglJFq+KA=
 =zJ5P
 -----END PGP SIGNATURE-----

Merge tag 'renesas-fixes-for-v6.0-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/fixes

Renesas fixes for v6.0

  - Fix the serial console on the Renesas White Hawk development board.

* tag 'renesas-fixes-for-v6.0-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: r8a779g0: Fix HSCIF0 interrupt number

Link: https://lore.kernel.org/r/ab2866f12ca18747413ba41409231d44e0c6149b.1662111547.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 12:05:28 +02:00
Ping Cheng
0627f3df95 HID: wacom: Add new Intuos Pro Small (PTH-460) device IDs
Add the new PIDs to wacom_wac.c to support the new model in the Intuos Pro series.

Signed-off-by: Ping Cheng <ping.cheng@wacom.com>
Tested-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2022-09-02 12:00:24 +02:00
Arnd Bergmann
70fed748cd AT91 DT for v6.1
It contains:
 - one new LAN966X based board, namely lan966x-pcb8290
 - gpio leds support for lan966x-pcb8291 and lan966x-pcb8309
 - a cleanup for sam9x60ek to avoid DT compilation warning due to regulators
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCYxG9uwAKCRCejrg/N2X7
 /YLgAP9MoJHWe34fc0ck5BI+x1Pkcqf1RM/Fya1ks67o1CEa+gEAhQw6Sn/bugMf
 +XASUkDvXEAr9v7kaHk1Mgpe1kpfhw0=
 =Vkvr
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMRzXYACgkQmmx57+YA
 GNmupBAAgTT4Rfs9a6c6vmv73dbnopa+5x6URkkur4r1Bji/YAT9PZF0VKVcZsIQ
 8SI5a8CAYY1N8nGx33jTKn9w7F3To8iP4dPitjk9TLgeyLDbyziBGaeGPgzilsYk
 lWIwsa7K+USW20xq4UDxYn2f5ok2ZNn8IeY0qkWMBs1Sv3evzgwfGM5td4GzDWc0
 lP0Chme93p9aZtfknyCkzQ95zwtQbssObTT2/4xE8ZLNjxW7nBQA5txizYfFE6/v
 WAUFGuNMAr8cyGCtwRxT0mY5ESmxxxsmefWBcsUvQ82CVcMCzMNtfWMXbVC2lSpI
 40xBDd53x5wTKuuD9RYuYQbQNT8oxStzS+MODFwHsAnnw0bAr9Wm3PS6gem1Jepe
 SMbqyi7nvp90gbyEABS7r6u0rYY4ClcvneX49ly7gZYvlMOg69PWCNOJaA8kq8DJ
 AlRtDoNWNJ1jzrD0bxCeD0YdELQxM2NAAVZpDQdTuU+8n3jEJNEB2HAQFUbNUJ18
 2ZXymspez7xbQt0HquhKWZ1hC5fGbREwbwEW3ftD7Jb4ADAIUQ9/c7cUz2C+BqGD
 wVTTh3ojAPk5XuZ+qm4Wfi6PuQqlk/xTufTO9nWIbglXEAkLXqTzY2xdkvVsI6EQ
 EAfJE3fG1MVRYzq6ZOP0NHk0QzSLQ+SKjS9iZUQFbxKWpOzrLWc=
 =lGiW
 -----END PGP SIGNATURE-----

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

AT91 DT for v6.1

It contains:
- one new LAN966X based board, namely lan966x-pcb8290
- gpio leds support for lan966x-pcb8291 and lan966x-pcb8309
- a cleanup for sam9x60ek to avoid DT compilation warning due to regulators

* tag 'at91-dt-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: lan966x: add led configuration
  ARM: dts: at91: sam9x60ek: remove simple-bus for regulators
  ARM: dts: lan966x: add support for pcb8290

Link: https://lore.kernel.org/r/20220902085845.4193579-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-09-02 11:31:34 +02:00