Commit graph

1,169,205 commits

Author SHA1 Message Date
Marc Kleine-Budde
4643e34ecc can: gs_usb: document the PAD_PKTS_TO_MAX_PKT_SIZE feature
The widely used open source firmware candleLight supports padding the
USB packets to max packet size to improve performance on Windows
systems.

This patch documents the bit.

Link: https://lore.kernel.org/all/20220309124132.291861-12-mkl@pengutronix.de
Link: https://github.com/candle-usb/candleLight_fw/pull/7
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:15 +01:00
Marc Kleine-Budde
e0902cad4b can: gs_usb: document the USER_ID feature
The widely used open source firmware candleLight has optional support
for reading/writing of an user defined value into the device's flash.

This is indicated by the GS_CAN_FEATURE_USER_ID feature. The
corresponding request are GS_USB_BREQ_GET_USER_ID and
GS_USB_BREQ_SET_USER_ID.

This patch documents these values.

Link: https://lore.kernel.org/all/20220309124132.291861-11-mkl@pengutronix.de
Link: 1453d70dc9
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:15 +01:00
Marc Kleine-Budde
15564f821c can: gs_usb: update GS_CAN_FEATURE_IDENTIFY documentation
In the binary interface a feature bit might have a corresponding mode
bit (of the same value).

The GS_CAN_FEATURE_IDENTIFY feature doesn't come with a mode. Document
this, to avoid gaps when adding more features/modes later.

Link: https://lore.kernel.org/all/20220309124132.291861-10-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:14 +01:00
Marc Kleine-Budde
d42d211169 can: gs_usb: add HW timestamp mode bit
Newer versions of the widely used open source firmware candleLight
support hardware timestamps. The support is activated by setting the
GS_CAN_MODE_HW_TIMESTAMP in the GS_USB_BREQ_MODE request.

Although timestamp support is not yet supported by this driver, add
the missing bit for documentation purpose.

Link: https://lore.kernel.org/all/20220309124132.291861-9-mkl@pengutronix.de
Link: 44431f4a43
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:14 +01:00
Marc Kleine-Budde
e0d25759fa can: gs_usb: gs_make_candev(): call SET_NETDEV_DEV() after handling all bt_const->feature
This patch moves the call to SET_NETDEV_DEV() after all handling
(including cleanup) of the bt_const->feature is done. This looks more
consistent.

Link: https://lore.kernel.org/all/20220309124132.291861-8-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:14 +01:00
Marc Kleine-Budde
c1ee72690c can: gs_usb: rewrap usb_control_msg() and usb_fill_bulk_urb()
This patch rewraps the arguments of usb_control_msg() and
usb_fill_bulk_urb() to make full use of the standard line length of 80
characters.

Link: https://lore.kernel.org/all/20220309124132.291861-7-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:14 +01:00
Marc Kleine-Budde
d0cd2aa83f can: gs_usb: rewrap error messages
This patch rewraps the arguments of netdev_err() to make full use of
the standard line length of 80 characters.

Link: https://lore.kernel.org/all/20220309124132.291861-6-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:14 +01:00
Marc Kleine-Budde
4b8f03e33f can: gs_usb: GS_CAN_FLAG_OVERFLOW: make use of BIT()
This patch converts the driver to use BIT() to define flags.

Link: https://lore.kernel.org/all/20220309124132.291861-5-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:14 +01:00
Marc Kleine-Budde
f6bb251096 can: gs_usb: sort include files alphabetically
This patch sorts the include files alphabetically.

Link: https://lore.kernel.org/all/20220309124132.291861-4-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:14 +01:00
Marc Kleine-Budde
b9d9b030d0 can: gs_usb: fix checkpatch warning
This patch fixes a checkpatch warning by converting a "unsigned" into
an "unsigned int".

Link: https://lore.kernel.org/all/20220309124132.291861-3-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:14 +01:00
Marc Kleine-Budde
4c7044f3ef can: gs_usb: use consistent one space indention
With this patch a consistent one space indention throughout the whole
driver is used.

Link: https://lore.kernel.org/all/20220309124132.291861-2-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:13 +01:00
Ulrich Hecht
45721c406d can: rcar_canfd: Add support for r8a779a0 SoC
Adds support for the CANFD IP variant in the V3U SoC.

Differences to controllers in other SoCs are limited to an increase in
the number of channels from two to eight, an absence of dedicated
registers for "classic" CAN mode, and a number of differences in magic
numbers (register offsets and layouts).

Inspired by BSP patch by Kazuya Mizuguchi.

Link: https://lore.kernel.org/all/20220309162609.3726306-2-uli+renesas@fpond.eu
Signed-off-by: Ulrich Hecht <uli+renesas@fpond.eu>
Reviewed-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:13 +01:00
Ulrich Hecht
d6254d52d7 dt-bindings: can: renesas,rcar-canfd: Document r8a779a0 support
Document support for rcar_canfd on R8A779A0 (V3U) SoCs.

Link: https://lore.kernel.org/all/20220309162609.3726306-5-uli+renesas@fpond.eu
Signed-off-by: Ulrich Hecht <uli+renesas@fpond.eu>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:49:13 +01:00
Arnd Bergmann
634f0f26cb Some fixes for rk8xx pmics to make them follow
the dt-binding better.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmIpU6kQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgdtVCACIvL6vRsRbylv17ZWrb68MhaCCbqr40eNy
 UjWPpc9XVF+sSiVdYGhjAgRaX3Lg8OCutC0TuTW5svJZ16qE9sy9sht995yKhSYl
 R7RiPJlsb+C5uY0iDFGuJzK9vUFkewYPoaIVkaafrPdZAFa2bqAdYgrFdfipnGSR
 +t6bIRk0icSUWjI704EPeSfzou1Y2S6V5PiTLnEtREmawxBgwnW4Bb5VVjvNyrpe
 ah8z7m26wXX3Lk4rU1T8EfOWt6FaTQs/sgUNqnULNtR7n/wggr9b+nsWoUsUL3hm
 caxw6gWd8wJjvDKmXATsPsjoeD0eqpZULJXbC1E3z89r59PQPZuE
 =vCBr
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIpuJgACgkQmmx57+YA
 GNm9PBAAls17XjkL0iA/sXVaN6AplAQM0jCMnlf7uu8puHwR4HjvAxaJySvIaIfm
 8tqDX/GlNGAq5b43rIZFjbKkoWfJPWxjDtOKmzyS0oUVh7wID6egMy+B7ZHIA+Ks
 hQCszOely0lP5/P976KiiZpJODuB7ah3wDh3NALEpFtADh9/WvjE70QxkMThOf7G
 qMNVAUG6NNcqxCcq6XfHXBBhPVdtpCR1uvmdlHls3sLumzf/jhtcHP4/725ZrpN+
 UVQEtZclcKNqrPFvoao77LvQq4IrTcqqqsT5Sib0XRtTCkUv6Sjlb8rh2fx4EpXl
 cFHHUP0GItJOcJyKgFc4s9xJzmDOBoLYd6DT/3Ne/Ztc9oEuunIkU1+DymnGZ4BZ
 EDth3CsVonMDmgIxsbIiIlvLB1/1+ysP/X52LQwbg9cVAfL6y2/sdqjDkv2sOn8o
 XxDSqGnOzWM5n4q8uwI/LZyJbcb25J0uX2QKPeQuV7sclrBnu1JbHo22KbjHuflp
 PlfL9ZjZ833kkhzPhj0Rill9moJPuJjE6huBBgkYKALk64KbzDSwdRVLwvK9dFS3
 0NMzgrC94CxEZ/7jF9GARzTpoIbT71+DPrbVG8xFZjXFg7yAyTPF+eiBZUhIxmGf
 DxrQqyDxMPMymMv0+mMapakKslKEv2clJavXPxWXjtW3DmCJrN8=
 =MWZt
 -----END PGP SIGNATURE-----

Merge tag 'v5.18-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt

Some fixes for rk8xx pmics to make them follow
the dt-binding better.

* tag 'v5.18-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: Update regulator name for PX3
  ARM: dts: rockchip: Add #clock-cells value for rk805

Link: https://lore.kernel.org/r/3788968.RB9BLzCXGK@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-03-10 09:36:40 +01:00
Arnd Bergmann
fc30ed4edd Some corrections for the rk80x pmic nodes, a supply fix for rk3399-firefly
and addition of the usb/sata combophys for rk3568.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmIpUyUQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgTgJB/9273yq5wswjXcC/CtEAcK2/TO4Eq8F9gJh
 daPlyfyIwjSxcmepnzi0FwanmAmVumKKY6ECsSS2klz/zEKg9HbURljOjOUJjxnw
 G/ci7Ww59CKkwP3iiCT37GXry3VKXlmWEItPgyUOVPl+MMz7TTLym86hTagVj36x
 DGvDLPKL40hQsRvVaFHv8fgDgzFPBr/f9rcjRl8s+8IT8WHvK5PIq+KfqH2bzUHo
 SaiWI+ggq6SJ/QOaJHOHd+iAFp8rR7jYItYNkMNdgvmTk5WlHJaKtyESpiSsOqya
 WdGqLEnFGJg27ARI7kRsJZJw/g8HgxvFVhvSij33gGxv3MaCavB/
 =ohid
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIpt5gACgkQmmx57+YA
 GNmSmA//SbdXtFqslmgLlXDgJOcMknvv29pw2guxUkSI8cJcbysGHLuF+tAaECXP
 vZHD7xavpxtBq05N/aECHt0UfpJRm77ZRUnR5mcm1y8kFAgndpVQrOvDgDGOv9Yu
 RBL4evHk/Dhtledz0OKu+HWPWg8seyaQeO8AMxAuBcQXPJf7EhQCWA605aYAQRTb
 8zMMr5MFg9POjFyqAgi3L+ZLVrvoF7E87ukdKriYgJRxcT8uBgNofaqQRh0LGQFU
 RkoKpoWtRNF7I9+omfYhbLGTvbWBtq85yLYFEaSrreWJgttMuUxqro7oBqMftNr9
 okMYfZ/IZey3BWN2NzlfcBbl3QfDZlhaWxLSOTkhf/aszLbas18bXrs+e5Vy3i/I
 lWHrkO2C3gesQLMU80Hbq2yVUuXYsNB/xbRfrieRY9c2za2xJ6pZcLAHGgwBAIFa
 ikLQdGGLZIHwbnUAUNUvPWHFK26BGyYKin7xgKDdHJDvRPXLR2Q5ZUp9CW7CAd4G
 KjjoXv3hkLRtt9zTiOFur4oTPLflXf0m4Z59/N79LiUoZSZQDAn+kVgRRovFUsF7
 i+JA6yb0Bi10f/7xZYKAR2oJ8qRg9rWHbHgpJ4IWWoKbUM0CkHxFYwG8eh+GcC37
 JV+QBxjwsm41Wg1/r7rzMqSgDoquCD5we88JKwHS+iiUm2P+XJM=
 =hcVs
 -----END PGP SIGNATURE-----

Merge tag 'v5.18-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt

Some corrections for the rk80x pmic nodes, a supply fix for rk3399-firefly
and addition of the usb/sata combophys for rk3568.

* tag 'v5.18-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: Add #clock-cells value for rk805
  arm64: dts: rockchip: Remove vcc13 and vcc14 for rk808
  arm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly
  arm64: dts: rockchip: add naneng combo phy nodes for rk3568

Link: https://lore.kernel.org/r/13959624.7hp8jFWaoN@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-03-10 09:32:24 +01:00
Vincent Mailhol
7a8cd7c0ee can: etas_es58x: es58x_fd_rx_event_msg(): initialize rx_event_msg before calling es58x_check_msg_len()
Function es58x_fd_rx_event() invokes the es58x_check_msg_len() macro:

| 	ret = es58x_check_msg_len(es58x_dev->dev, *rx_event_msg, msg_len);

While doing so, it dereferences an uninitialized
variable: *rx_event_msg.

This is actually harmless because es58x_check_msg_len() only uses
preprocessor macros (sizeof() and __stringify()) on
*rx_event_msg. c.f. [1].

Nonetheless, this pattern is confusing so the lines are reordered to
make sure that rx_event_msg is correctly initialized.

This patch also fixes a false positive warning reported by cppcheck:

| cppcheck possible warnings: (new ones prefixed by >>, may not be real problems)
|
|    In file included from drivers/net/can/usb/etas_es58x/es58x_fd.c:
| >> drivers/net/can/usb/etas_es58x/es58x_fd.c:174:8: warning: Uninitialized variable: rx_event_msg [uninitvar]
|     ret = es58x_check_msg_len(es58x_dev->dev, *rx_event_msg, msg_len);
|           ^

[1] https://elixir.bootlin.com/linux/v5.16/source/drivers/net/can/usb/etas_es58x/es58x_core.h#L467

Link: https://lore.kernel.org/all/20220306101302.708783-1-mailhol.vincent@wanadoo.fr
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:23:45 +01:00
Oliver Hartkopp
259bdba27e vxcan: enable local echo for sent CAN frames
The vxcan driver provides a pair of virtual CAN interfaces to exchange
CAN traffic between different namespaces - analogue to veth.

In opposite to the vcan driver the local sent CAN traffic on this interface
is not echo'ed back but only sent to the remote peer. This is unusual and
can be easily fixed by removing IFF_ECHO from the netdevice flags that
are set for vxcan interfaces by default at startup.

Without IFF_ECHO set on driver level, the local sent CAN frames are echo'ed
in af_can.c in can_send(). This patch makes vxcan interfaces adopt the
same local echo behavior and procedures as known from the vcan interfaces.

Fixes: a8f820a380 ("can: add Virtual CAN Tunnel driver (vxcan)")
Link: https://lore.kernel.org/all/20220309120416.83514-5-socketcan@hartkopp.net
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:23:45 +01:00
Oliver Hartkopp
1574481bb3 vxcan: remove sk reference in peer skb
With can_create_echo_skb() the skb which is forwarded to the peer CAN
interface shares the sk pointer from the originating socket.
This makes the CAN frame show up in the peer namespace as a TX packet.

With the use of skb_clone() analogue to the handling in gw.c the peer
skb gets a new start in the peer namespace and correctly appears as
a RX packet.

Link: https://lore.kernel.org/all/20220309120416.83514-4-socketcan@hartkopp.net
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:23:45 +01:00
Oliver Hartkopp
9c0c191d82 can: isotp: set max PDU size to 64 kByte
The reason to extend the max PDU size from 4095 Byte (12 bit length value)
to a 32 bit value (up to 4 GByte) was to be able to flash 64 kByte
bootloaders with a single ISO-TP PDU. The max PDU size in the Linux kernel
implementation was set to 8200 Bytes to be able to test the length
information escape sequence.

It turns out that the demand for 64 kByte PDUs is real so the value for
MAX_MSG_LENGTH is set to 66000 to be able to potentially add some checksums
to the 65.536 Byte block.

Link: https://github.com/linux-can/can-utils/issues/347#issuecomment-1056142301
Link: https://lore.kernel.org/all/20220309120416.83514-3-socketcan@hartkopp.net
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:23:45 +01:00
Oliver Hartkopp
530e0d46c6 can: isotp: set default value for N_As to 50 micro seconds
The N_As value describes the time a CAN frame needs on the wire when
transmitted by the CAN controller. Even very short CAN FD frames need
arround 100 usecs (bitrate 1Mbit/s, data bitrate 8Mbit/s).

Having N_As to be zero (the former default) leads to 'no CAN frame
separation' when STmin is set to zero by the receiving node. This 'burst
mode' should not be enabled by default as it could potentially dump a high
number of CAN frames into the netdev queue from the soft hrtimer context.
This does not affect the system stability but is just not nice and
cooperative.

With this N_As/frame_txtime value the 'burst mode' is disabled by default.

As user space applications usually do not set the frame_txtime element
of struct can_isotp_options the new in-kernel default is very likely
overwritten with zero when the sockopt() CAN_ISOTP_OPTS is invoked.
To make sure that a N_As value of zero is only set intentional the
value '0' is now interpreted as 'do not change the current value'.
When a frame_txtime of zero is required for testing purposes this
CAN_ISOTP_FRAME_TXTIME_ZERO u32 value has to be set in frame_txtime.

Link: https://lore.kernel.org/all/20220309120416.83514-2-socketcan@hartkopp.net
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:23:45 +01:00
Oliver Hartkopp
4b7fe92c06 can: isotp: add local echo tx processing for consecutive frames
Instead of dumping the CAN frames into the netdevice queue the process to
transmit consecutive frames (CF) now waits for the frame to be transmitted
and therefore echo'ed from the CAN interface.

Link: https://lore.kernel.org/all/20220309120416.83514-1-socketcan@hartkopp.net
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-03-10 09:23:45 +01:00
Luca Coelho
8594ab8687 iwlwifi: bump FW API to 72 for AX devices
Start supporting API version 72 for AX devices.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.8de72a8ea67f.I66681363afeb34c619379a5989090264fe6b5f2a@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:29 +02:00
Matt Chen
e8e10a37c5 iwlwifi: acpi: move ppag code from mvm to fw/acpi
Move the ppag code to fw/acpi to keep consistency
with the other ACPI handling we do.

Signed-off-by: Matt Chen <matt.chen@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.7f250088b443.I61e64c2758ad178da729ce00428287cc94430eed@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:29 +02:00
Mordechay Goodstein
97374513bb iwlwifi: dbg: check trigger data before access
Without trigger data set, no point in any collection.
so check that we have the info for collecting the data.

Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.5fb34fb1f0eb.I4d7f2a4d162e80474540c5caf1194ed7d32977bc@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:29 +02:00
Mordechay Goodstein
f0c163382c iwlwifi: dbg: in sync mode don't call schedule
Today in the code we have two options for collecting data sync/schedule,
the two options call the same function and can lead to racing in free
resources after done.

So we call only one of two sync/schedule, and in case of sync only
call sync function without also schedule to immediately run as a side
job.

Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.88574097ce1b.I1b42297619d638d677a2300ed9a95105c1262101@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:29 +02:00
Johannes Berg
bb16ffd561 iwlwifi: use 4k queue size for Bz A-step
There's a hardware bug in Bz A-step that can be worked
around by using 4k queue size, so do that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.10ea0e115d05.Idfb3706133bf3b15f1f68f1145e77e89947449d1@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:28 +02:00
Johannes Berg
7b9f485091 iwlwifi: pcie: fix SW error MSI-X mapping
We need to also update the IVAR location, since we've shifted
the bit.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Fixes: 571836a02c ("iwlwifi: pcie: update sw error interrupt for BZ family")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.bcfb28484e50.I921df6b5134785d7eeb0c934e4a43157c582fa79@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:28 +02:00
Mukesh Sisodiya
a6d21729ff iwlwifi: yoyo: dump IMR DRAM only for HW and FW error
Support debug collection of the platform IMR memory region
only for HW and FW error. This region needs to be collected
as the last region.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.5b70e5ba9a41.I502f9b6179b97b163992729edd2b3c5c4ca9e311@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:28 +02:00
Mukesh Sisodiya
1c4db7613f iwlwifi: mvm: add support for IMR based on platform
Driver needs to enable IMR which is needed for debug on
certain platforms, so add a device config flag to set it.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.0b96b2760503.I08bc741c8c497a2edbe4784cdab6abd8d04c62f3@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:27 +02:00
Mukesh Sisodiya
5053a45110 iwlwifi: yoyo: disable IMR DRAM region if IMR is disabled
Disable IMR region if it is enabled in the TLVs,
but disabled at runtime by the FW.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.2a696656a161.I99705472a8838121ffaca72977015dc2069549b9@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:27 +02:00
Johannes Berg
8b3d2c4882 iwlwifi: mvm: remove cipher scheme support
There are no shipping firmware versions with this, and there
will also not be in the future, so remove the support.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.8b3c8b4adf41.Ib3ddb6b250ea2dd72b4ecc88bdd5cffb86af1dcc@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:27 +02:00
Ayala Barazani
b49c2b252b iwlwifi: Configure FW debug preset via module param.
The module param "enable_ini" is currently used to be enable/disable ini.
Add the option to configure the FW debug preset via this module param,
by change it type from boolean to an integer.

Signed-off-by: Ayala Barazani <ayala.barazani@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.4929e4b14956.I1bdffa4c37d4ee349aa0001978b716b96e38b090@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:27 +02:00
Ayala Barazani
b0aa02b3de iwlwifi: mvm: add a flag to reduce power command.
Add a flags bitfield in REDUCED_TX_POWER_CMD, and
send it as is to FW.

Signed-off-by: Ayala Barazani <ayala.barazani@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.55c2f014f5ee.Iceb632f620de959800f979e212f0dc20240f9d38@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:26 +02:00
Luca Coelho
8061effc78 iwlwifi: bump FW API to 71 for AX devices
Start supporting API version 71 for AX devices.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.d0898482506f.I2de2f9140c23f39a837f68199bbaf15a20f26abb@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2022-03-10 09:23:26 +02:00
Tian Tao
8ddde07a3d dma-mapping: benchmark: extract a common header file for map_benchmark definition
kernel/dma/map_benchmark.c and selftests/dma/dma_map_benchmark.c
have duplicate map_benchmark definitions, which tends to lead to
inconsistent changes to map_benchmark on both sides, extract a
common header file to avoid this problem.

Signed-off-by: Tian Tao <tiantao6@hisilicon.com>
Acked-by: Barry Song <song.bao.hua@hisilicon.com>
Reviewed-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2022-03-10 07:41:14 +01:00
Haimin Zhang
9a564bccb7 af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register
Add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register
to initialize the buffer of supp_skb to fix a kernel-info-leak issue.
1) Function pfkey_register calls compose_sadb_supported to request
a sk_buff. 2) compose_sadb_supported calls alloc_sbk to allocate
a sk_buff, but it doesn't zero it. 3) If auth_len is greater 0, then
compose_sadb_supported treats the memory as a struct sadb_supported and
begins to initialize. But it just initializes the field sadb_supported_len
and field sadb_supported_exttype without field sadb_supported_reserved.

Reported-by: TCS Robot <tcs_robot@tencent.com>
Signed-off-by: Haimin Zhang <tcs_kernel@tencent.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
2022-03-10 07:39:47 +01:00
Palmer Dabbelt
feeb386855
Update the Icicle Kit device tree
This series updates the Microchip Icicle Kit device tree by adding a
host of peripherals, and some updates to the memory map. In addition,
the device tree has been split into a third part, which contains "soft"
peripherals that are in the fpga fabric.

Several of the entries are for peripherals that have not get had their
drivers upstreamed, so in those cases the dt bindings are included where
appropriate in order to avoid the many "DT compatible string <x> appears
un-documented" errors.

* palmer/riscv-microchip:
  MAINTAINERS: update riscv/microchip entry
  riscv: dts: microchip: add new peripherals to icicle kit device tree
  riscv: dts: microchip: update peripherals in icicle kit device tree
  riscv: dts: microchip: refactor icicle kit device tree
  riscv: dts: microchip: add fpga fabric section to icicle kit
  riscv: dts: microchip: use clk defines for icicle kit
  dt-bindings: pwm: add microchip corepwm binding
  dt-bindings: gpio: add bindings for microchip mpfs gpio
  dt-bindings: rtc: add bindings for microchip mpfs rtc
  dt-bindings: soc/microchip: add info about services to mpfs sysctrl
  dt-bindings: soc/microchip: update syscontroller compatibles
  dt-bindings: clk: microchip: Add Microchip PolarFire host binding
2022-03-09 22:12:24 -08:00
Conor Dooley
48e8641c2b
MAINTAINERS: update riscv/microchip entry
Update the RISC-V/Microchip entry by adding the microchip dts
directory and myself as maintainer

Reviewed-by: Lewis Hanly <lewis.hanly@microchip.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-03-09 21:46:40 -08:00
Conor Dooley
528a5b1f25
riscv: dts: microchip: add new peripherals to icicle kit device tree
Add new peripherals to the MPFS, and enable them in the Icicle kit
device tree:

2x SPI, QSPI, 3x GPIO, 2x I2C, Real Time Counter, PCIE controller,
USB host & system controller.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-03-09 21:46:40 -08:00
Conor Dooley
5b28df37d3
riscv: dts: microchip: update peripherals in icicle kit device tree
Assorted minor changes to the MPFS/Icicle kit device tree:

- enable mmuart4 instead of mmuart0
- remove sifive pdma
- split memory node to match updated fpga design
- move stdout path to serial1 to avoid collision with
        bootloader running on the e51

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-03-09 21:46:40 -08:00
Conor Dooley
c5094f3710
riscv: dts: microchip: refactor icicle kit device tree
Assorted minor changes to the MPFS/Icicle kit device tree:

- rename serial to mmuart to match microchip documentation
- move phy0 inside mac1 node to match phy configuration
- add labels where missing (cpus, cache controller)
- add missing address cells & interrupts to MACs

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-03-09 21:46:40 -08:00
Conor Dooley
72560c6559
riscv: dts: microchip: add fpga fabric section to icicle kit
Split the device tree for the Microchip MPFS into two sections by adding
microchip-mpfs-fabric.dtsi, which contains peripherals contained in the
FPGA fabric.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-03-09 21:46:40 -08:00
Conor Dooley
6546f92086
riscv: dts: microchip: use clk defines for icicle kit
Update the Microchip Icicle kit device tree by replacing clock
related magic numbers with their defined counterparts.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-03-09 21:46:39 -08:00
Conor Dooley
df77f77357
dt-bindings: pwm: add microchip corepwm binding
Add device tree bindings for the Microchip fpga fabric based "core" PWM
controller.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Acked-by: Uwe Kleine-K=F6nig <u.kleine-koenig@pengutronix.de>
Acked-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-03-09 21:46:39 -08:00
Conor Dooley
735806d8a6
dt-bindings: gpio: add bindings for microchip mpfs gpio
Add device tree bindings for the gpio controller on
the Microchip PolarFire SoC.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Acked-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-03-09 21:46:39 -08:00
Conor Dooley
4cbcc0d7b3
dt-bindings: rtc: add bindings for microchip mpfs rtc
Add device tree bindings for the real time clock on
the Microchip PolarFire SoC.

Signed-off-by: Daire McNamara <daire.mcnamara@microchip.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-03-09 21:46:39 -08:00
Conor Dooley
b435a1728c
dt-bindings: soc/microchip: add info about services to mpfs sysctrl
The services actually provided by the system controller are not
documented so add some words about what the system controller can
actually do. Add a link to the oneline documentation with the specific
details of each individual service.
Also, drop the unneeded label from the example.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-03-09 21:46:39 -08:00
Conor Dooley
2135562355
dt-bindings: soc/microchip: update syscontroller compatibles
The Polarfire SoC is currently using two different compatible string
prefixes. Fix this by changing "polarfire-soc-*" strings to "mpfs-*" in
its system controller in order to match the compatible string used in
the soc binding and device tree

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-03-09 21:46:38 -08:00
Linus Torvalds
9c674947f6 One more small batch of clk driver fixes
- A fix for the Qualcomm GDSC power domain delays that
    avoids black screens at boot on some more recent SoCs
    that use a different delay than the hard-coded delays
    in the driver.
 
  - A build fix LAN966X clk driver that let it be built
    on architectures that didn't have IOMEM.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmIpfXkRHHNib3lkQGtl
 cm5lbC5vcmcACgkQrQKIl8bklSXKvhAAl2goF8XalSdJDRNw9P0UPPQJV0/QtZIK
 Uw9PWpsSyYqOArta8P14e2KtDAshaZFU44FMgoxzmn2aJHCaE1TcEZ6Vve/D1+BO
 TdtJBaUfL8aqU1aoO7QTWpc1GR5NkJ810WM4QH/L++hl3XwsWGqaqVFv8wwq+G3z
 uWGee7yO1n7SkEA/pbFM/8zK5kkNem+4gzTSaiTUB2MZljiOODO6IlcMyT06AqSp
 XOUpnP+dndRouGFL7G6BBg+6X6vdklFZBbVr5hEuMYsWIzETBRGIKFADz1lSuQ+A
 7KAKOJfopw1uHHgZF9c3ksgs7SshCAmrAaDNxHDp3OV0PZvk03ZWsq2LyJCCPU0U
 lRaarZJSt2LwHj1vpqzh9kuVXjLyD8Wi9fU2jz49FVHug8BjnaiAyRuvqg+In/NB
 RWj0hEo4IKuXt7ZWXx61ZP9cRhIXxbbHrZz2tbOSjfcPHcpksFIe7DGyUidBQC52
 83i3K+USGHb1e1yaLJ3VDrGh5TPKge3Gel5W2Qmk3wH+UwwEQ1KxZyzHZUXIm0JI
 e8hPg4ZBSaMLj0uFBfNkr3ydN1uTL1Rj7JTT8FFeHEzaYz0dmY2E8cFZ4fG2hKxv
 aoZDnkIPwgKEn3Q1X89BYdVEm4kY3wVi0qnRu5mpyiTbCyAYYu3dTCX5nze1HNG2
 4syfBFSGc7g=
 =U0Fk
 -----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:
 "One more small batch of clk driver fixes:

   - A fix for the Qualcomm GDSC power domain delays that avoids black
     screens at boot on some more recent SoCs that use a different delay
     than the hard-coded delays in the driver.

   - A build fix LAN966X clk driver that let it be built on
     architectures that didn't have IOMEM"

* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
  clk: lan966x: Fix linking error
  clk: qcom: dispcc: Update the transition delay for MDSS GDSC
  clk: qcom: gdsc: Add support to update GDSC transition delay
2022-03-09 20:58:29 -08:00
Linus Torvalds
b5521fe9a9 xen: XSA-396 security patches for v5.17
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRTLbB6QfY48x44uB6AXGG7T9hjvgUCYiXISAAKCRCAXGG7T9hj
 vlw+AP0dZipcd8hTThcXHF72WToepL5bGb3oNgRy7qNuRCrwEgEAj3LkQD3L26h/
 lzqZsiysQ35KP91+g2KSLJqg2RpnFQU=
 =rkK1
 -----END PGP SIGNATURE-----

Merge tag 'xsa396-5.17-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull xen fixes from Juergen Gross:
 "Several Linux PV device frontends are using the grant table interfaces
  for removing access rights of the backends in ways being subject to
  race conditions, resulting in potential data leaks, data corruption by
  malicious backends, and denial of service triggered by malicious
  backends:

   - blkfront, netfront, scsifront and the gntalloc driver are testing
     whether a grant reference is still in use. If this is not the case,
     they assume that a following removal of the granted access will
     always succeed, which is not true in case the backend has mapped
     the granted page between those two operations.

     As a result the backend can keep access to the memory page of the
     guest no matter how the page will be used after the frontend I/O
     has finished. The xenbus driver has a similar problem, as it
     doesn't check the success of removing the granted access of a
     shared ring buffer.

   - blkfront, netfront, scsifront, usbfront, dmabuf, xenbus, 9p,
     kbdfront, and pvcalls are using a functionality to delay freeing a
     grant reference until it is no longer in use, but the freeing of
     the related data page is not synchronized with dropping the granted
     access.

     As a result the backend can keep access to the memory page even
     after it has been freed and then re-used for a different purpose.

   - netfront will fail a BUG_ON() assertion if it fails to revoke
     access in the rx path.

     This will result in a Denial of Service (DoS) situation of the
     guest which can be triggered by the backend"

* tag 'xsa396-5.17-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  xen/netfront: react properly to failing gnttab_end_foreign_access_ref()
  xen/gnttab: fix gnttab_end_foreign_access() without page specified
  xen/pvcalls: use alloc/free_pages_exact()
  xen/9p: use alloc/free_pages_exact()
  xen/usb: don't use gnttab_end_foreign_access() in xenhcd_gnttab_done()
  xen: remove gnttab_query_foreign_access()
  xen/gntalloc: don't use gnttab_query_foreign_access()
  xen/scsifront: don't use gnttab_query_foreign_access() for mapped status
  xen/netfront: don't use gnttab_query_foreign_access() for mapped status
  xen/blkfront: don't use gnttab_query_foreign_access() for mapped status
  xen/grant-table: add gnttab_try_end_foreign_access()
  xen/xenbus: don't let xenbus_grant_ring() remove grants in error case
2022-03-09 20:44:17 -08:00