Commit graph

1,233,488 commits

Author SHA1 Message Date
Kalle Valo
d5b9a21020 MAINTAINERS: ath11k: add wiki and bugreport page
ath11k has a wiki and a separate page about reporting bugs, add those so
hopefully people find them easier.

Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230614144704.505553-3-kvalo@kernel.org
2023-06-21 12:51:15 +03:00
Kalle Valo
30e67ed6e1 MAINTAINERS: ath9k: add git tree
ath9k patches go to my ath.git tree, document that.

Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230614144704.505553-2-kvalo@kernel.org
2023-06-21 12:51:15 +03:00
Kalle Valo
5fdaeca73e MAINTAINERS: mt76: add git tree
Felix has a git tree for mt76 patches, document that.

Signed-off-by: Kalle Valo <kvalo@kernel.org>
Acked-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230614144704.505553-1-kvalo@kernel.org
2023-06-21 12:51:15 +03:00
Ping-Ke Shih
f072eb39e4 wifi: rtw89: use struct to parse firmware header
A firmware contains basic header, sections and optional dynamic header.
Define them by a struct, so it will be easier to understand the layout,
and also simply access these elements.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230616060601.28460-1-pkshih@realtek.com
2023-06-21 12:50:21 +03:00
Zong-Zhe Yang
b4a283fb62 wifi: rtw89: TX power stuffs replace confusing naming of _max with _num
Some old declarations about TX power stuffs were named with confusing
`_max`. But, they mean "the number of". So we change them to be named
with `_num`.

(No logic is changed.)

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230616060523.28396-1-pkshih@realtek.com
2023-06-21 12:48:10 +03:00
Ping-Ke Shih
076031a09a wifi: rtw89: 8851b: configure to force 1 TX power value
RTL8851B is a chip with only single RF path, and it must use 1 TX power
value for transmission, so force 1 TX power value to prevent hardware
logic gets wrong TX power values randomly in certain samples.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230615130442.18116-6-pkshih@realtek.com
2023-06-21 12:44:58 +03:00
Ping-Ke Shih
76a7c7acaa wifi: rtw89: 8851b: rfk: update IQK to version 0x8
The main change is to adjust RX calibration groups from {0,1,2,3} to {0,2}
in 5 GHz, so reduce elements from 4 to 2, and use index to iterate them.
Meanwhile, always do RX narrowband calibration (ID_NBRXK) for each group.
NCTL is used to assist IQK, so also update NCTL to 0x6 along with internal
tag HALRF_029_00_103.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230615130442.18116-5-pkshih@realtek.com
2023-06-21 12:44:57 +03:00
Ping-Ke Shih
b686bc67e0 wifi: rtw89: 8851b: rfk: add LCK track
LCK is short for LC Tank calibration. To keep RF performance, do this
calibration if difference of thermal value is over a threshold.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230615130442.18116-4-pkshih@realtek.com
2023-06-21 12:44:57 +03:00
Zong-Zhe Yang
b067acb132 wifi: rtw89: 8851b: update TX power tables to R28
Update 8851B TX power tables to RF version R28.

TX power tables' changes:
* TX power limit and TX power shape:
	update 5 GHz configurations for FCC and IC

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230615130442.18116-3-pkshih@realtek.com
2023-06-21 12:44:57 +03:00
Ping-Ke Shih
f5993f39f3 wifi: rtw89: 8851b: update RF radio A parameters to R28
Update 8851b radio A parameters to R28 along with internal HALRF_029_00_103

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230615130442.18116-2-pkshih@realtek.com
2023-06-21 12:44:56 +03:00
Po-Hao Huang
28c11c2949 wifi: rtw88: fix not entering PS mode after AP stops
Without this patch, firmware only track beacons for port 0 and since
we will always start AP on port 0, this results in misbehavior of
power saving mode on other ports after AP stops.

The "default port" H2C command is used to notify which port should
firmware track. Update the correct settings to firmware so power
saving mode can work properly.

Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230616125540.36877-7-pkshih@realtek.com
2023-06-21 12:41:46 +03:00
Po-Hao Huang
455afa45ed wifi: rtw88: refine register based H2C command
Since register based H2C commands don't need endian conversion.
Introduce a new API that don't do conversion and send it directly.
New caller are expected to encode with cpu order and gradually
replace the old ones.

Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230616125540.36877-6-pkshih@realtek.com
2023-06-21 12:41:45 +03:00
Po-Hao Huang
ad6741b1e0 wifi: rtw88: Stop high queue during scan
When traversing channel list, TX in high queue should be disabled
along with beacon function, so packets won't be sent to incorrect
channels.

Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230616125540.36877-5-pkshih@realtek.com
2023-06-21 12:41:45 +03:00
Po-Hao Huang
9e09fbc5e9 wifi: rtw88: Skip high queue in hci_flush
The flush period may not always intersect with DTIM and when that
happens, an error log "timed out to flush pci TX ring[6]" is shown.
Bypass this since hardware will do proper transmission on the next
DTIM period for broadcast/multicast packets in high queue.

Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230616125540.36877-4-pkshih@realtek.com
2023-06-21 12:41:45 +03:00
Po-Hao Huang
076f786a0a wifi: rtw88: Fix AP mode incorrect DTIM behavior
Broadcast and multicast packets in high queue should be transmitted
all at once during DTIM. But without proper settings, hardware fails
to recognize that there are multiple packets and fetches only one.
Fix this by signaling hardware with more data bit set when there are
packets in the high queue.

Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230616125540.36877-3-pkshih@realtek.com
2023-06-21 12:41:45 +03:00
Po-Hao Huang
88b9d8e6cf wifi: rtw88: use struct instead of macros to set TX desc
Remove macros that set TX descriptors. Use struct and
le32_encode_bits() with mask definitions.

Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230616125540.36877-2-pkshih@realtek.com
2023-06-21 12:41:44 +03:00
Chih-Kang Chang
67d7f24b19 wifi: rtw88: process VO packets without workqueue to avoid PTK rekey failed
In the wpa_supplicant rekey flow, it sends an EAPOL packet 4/4 through
nl80211_tx_control_port() and triggers wake_tx_queue() in the driver.
Then, it sends nl80211_new_key() to configure a new key in mac80211.
However, in wake_tx_queue(), a workqueue is used to process the tx packet,
which might cause the driver to process the EAPOL packet later than
nl80211_new_key(). As a result, the EAPOL 4/4 packet is dropped by mac80211
due to the rekey configuration being finished. The EAPOL packets belongs to
VO packets that need high priority. Therefore, we process VO packets
directly without workqueue to ensure that packets can process immediately.

VO is normally used by voice application that is low traffic load and low
latency, that doesn't affect user experience.
We test iperf with VO packets(iperf3 -P4 -u -b 10000M -S 0xdf)
                          before       after
TX throughput             162M         162M
ping RTT                  3.8ms        3.7ms

Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230616031713.16769-1-pkshih@realtek.com
2023-06-21 12:41:21 +03:00
Po-Hao Huang
2ce9a91fe8 wifi: rtw88: Fix action frame transmission fail before association
For combo chips, antennas were controlled by bluetooth only during
power on. If WiFi wish to do transmission, notification to the coexistence
module are required. Previously we only do this before authentication.
To allow transmission before auth, such as management TX, now we start
the initiation of coexistence earlier so antennas are shared between
WiFi and bluetooth after set_channel(), and frames could then be sent.

Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230615114348.7193-1-pkshih@realtek.com
2023-06-21 12:40:26 +03:00
Miklos Szeredi
6a567e920f fuse: ioctl: translate ENOSYS in outarg
Fuse shouldn't return ENOSYS from its ioctl implementation. If userspace
responds with ENOSYS it should be translated to ENOTTY.

There are two ways to return an error from the IOCTL request:

 - fuse_out_header.error
 - fuse_ioctl_out.result

Commit 02c0cab8e7 ("fuse: ioctl: translate ENOSYS") already fixed this
issue for the first case, but missed the second case.  This patch fixes the
second case.

Reported-by: Jonathan Katz <jkatz@eitmlabs.org>
Closes: https://lore.kernel.org/all/CALKgVmcC1VUV_gJVq70n--omMJZUb4HSh_FqvLTHgNBc+HCLFQ@mail.gmail.com/
Fixes: 02c0cab8e7 ("fuse: ioctl: translate ENOSYS")
Cc: <stable@vger.kernel.org>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2023-06-21 11:17:36 +02:00
Arnd Bergmann
94a599c8ee - Enable mt6357 PMIC needed for mt8365 EVK
- Enable device for power button on several PMICs
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmSJ1HsXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH6V5xAAiZVK9Qk4m6fMXSEVaHE93FcD
 VUWzlGYXQVB2lsa8Ac8BsbZF5RagBdKpQqM1MqcLLmsj3Rj9WvpniWkxA4pGoeIp
 GyUk4PT9xJmivok0Px2L78ibFAr69uTALku9s3W4e480KsqpQYQXapEiOkKUu3XG
 ETFPLAqT06UuBc/69u8d+uVsxSzCV0T4KRBbywV0iUQ273/5u19P/okumUPxAbuB
 NFoPKDUFAv3a0o4nT6j3X8FKuwAYqY6yi/YKTs0gLFFxHbLVrEe3usxwGw7G2SyY
 pQzX7cLtpnzzo6nr9Pm/XAMyxNiXUJMJqBbldYpZ91Sn33jfv0fLWGZ8+eo0qq2y
 sZQlP4Xo/LpvpUd3BQwGunMcifxKYU6mLYmjdFb/sUfii5oU8d3waD3WwxehMQKU
 kwO2f+DvdUyiX36OrUlS68L9vVYQInmrh6UfSLD2DeejA97xvK2FDoc4wGx2u4/v
 6+A8XH1Sgi1LRJnfwgdBfnZYi7cSjg+M6X9e9A8ZeidY+DA6U+G6Ck88R+QMGXFE
 rU0ikPyHoKRb3KDDBrBYxME4a2GuX6m3wv/DgyvnigkT3lzJxUi7AO2xrymnRBZs
 5CkRz4JzVUcIPG6iLfDd8uFp6J7TYfDHrmvgxPFAUy7YFvu8iAT5X4jmKExba7/N
 /oi3limDuKrYI5q2Fqg=
 =OrwC
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSSvUwACgkQYKtH/8kJ
 Uic7wg//Xa/4aRqDJXGrnpzxyjP+kYLyAvVIpBU7MxD4J5AMgobpiIym06GzlWSN
 xV03MmDgz9ygai5aaTQC/WC1J7XnP0vYMJq3UJLIstnSbNHqnrwKI69WGnOjw2LD
 OIsGJNgSIUvV4b+jYdLm91Xc+MsKEGqZlhAXx3lkJq1Q00OVsRbFmAIv75XL+q1u
 WZi9zg/rX8obT8EAMSlEhjc9T3nMV0ItLbGqHwcLHMK00qCu28d26Kj77VHGLI1+
 BNKC7wHq74ew0F2GIhsGQgQU3UtzHWY80WYWqsV+zxLKeMSlVTf0lUw5DxAda+tW
 0+nQfqSdLsfgb+Bmu8PgJ4hWcmDA5WgpCM0yZ2nWKADF9MxCtlXv/mqT0pncmmcx
 U9VCw7fwTvncsRU2ydlJGUy19B3T9dHXqe776fixbCv8TOGg8evUdt9Wp1KxyEaP
 8o6cscWiVI6LEYOhxamSXK3IlufOvWBtXE6XYfSSZ7sGKKRF8OJxQto7CpGZ4HxP
 Bn5vzu/S3vVqZlAc5RiUD7JGpoB5MRsupArNn6525gwWXcRDlsG06iypRvZ/HJK1
 Z/Q4OHHQ40xDbZhrCKcParYF3wnZJO2+6wcDpIlKTQp0bTaKUwvxJWdczMvXXVcs
 V04M0bAUWbCteav5GpFFSHSx2mMhtU5Iz9IPqfpYup9cXdtaPCI=
 =wFAw
 -----END PGP SIGNATURE-----

Merge tag 'v6.4-next-defconfig' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into soc/defconfig

- Enable mt6357 PMIC needed for mt8365 EVK
- Enable device for power button on several PMICs

* tag 'v6.4-next-defconfig' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  arm64: defconfig: enable Mediatek PMIC key
  arm64: defconfig: enable MT6357 regulator

Link: https://lore.kernel.org/r/92e336ca-bbbb-6d6c-297a-13deaae4138b@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-21 11:05:15 +02:00
Arnd Bergmann
3e1a7433fe TI K3 defconfig updates
Enable AM62 Verdin board peripherals
 Enable UBIFS support for OSPI NOR/NAND Filesystem on K3 platforms
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEEyRC2zAhGcGjrhiNExEYeRXyRFuMFAmSLMqgQHHZpZ25lc2hy
 QHRpLmNvbQAKCRDERh5FfJEW47g7B/wNZxtFcfg0mNDDubpFotB3HbYYED7eKy89
 O1n9sEKjrScR4EVMdX1vWJYmIegiapdd59jHuRXwSCBKV8aHrx7IkTKtUwWkUCnL
 Cbck3NaU7Ui2Vvz7IAdnxThVM6yfxZuDeo9IR4nsP5K/ZIaXMFToFac5uiRZPoOs
 8xCQu2rzuyIhU0Ixfv7ju8yY6P1oVdtV4+YfpuHk7XrtrGCuBcbKkdfJduvqK2dt
 BnwlOX+Z8l22Q7HK+mNx/eTwTPiiVzVVUYlwwEEEbtXlaURzkTrSfitPf6Z7RDaW
 hRdtOYu/r8vn9Brrn6q2S8Iddpmx9uK1QS2c912kL3I0at3D0Leu
 =JRPr
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSSvTAACgkQYKtH/8kJ
 UicUkw//cSwzU2F7YguSzbdHBk1JvwFYI0g8CMPeNXELRPeXfnUPXfAKxiII4tPw
 CLm38QL7eZ7x3EtyYWjBgStA1NrItnHw0OFN8hXicp78+g+yI9OfELKXNRoZ3fHg
 TvUvaKbx97AaF8TExrq0i4tE1Lf2EERcBQPOau1/eaiOrxf3R30BhFPwRl7SkVee
 cH5uhrqioLINN4jegroxK5FDO+m88r6KZnMZkI9Cfavc4hU1O5Q3swtbjZdsNPiK
 usnou5WgDSUf5kq+g240dOxC8z2CJY9jmnHVlsLVahMFXaWN5NGGmy6RIegHNEr6
 5qCKEw0+JxHBhmtHH5/MdAMZJ1lTZzPxhAYpDB02/uvev172mnNXV3P/EE91HnoK
 oRDQfzMKtV9vYcFyWfHo+R+IyT/70b0XSb6FUnQ8ttogRf6l7DutqACekDaauF1v
 0ePM7RPcZ/xd5cBJZ0X3EwouMjbqTg8rm9fDdENFeVTZ4PMWZcIKOVVlnTisEK56
 aYxP/NTmeKQUJJ5AdQM2Mns5xuRcu9ltBdkeWU7XvNr3XkWvYOJG0fgmDmGzC+nI
 5dbIsX+t4YKd7Cut1LFoqLIJfIA6aBjwELCvNyxWK503LFTFOLSAtSNUzbQqTwAx
 ROOxy0vUyUpRUi7HePkMLUd4Oy4x08nbz6QCUSBEwj+Vr2+xNdY=
 =600T
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-config-for-v6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/defconfig

TI K3 defconfig updates

Enable AM62 Verdin board peripherals
Enable UBIFS support for OSPI NOR/NAND Filesystem on K3 platforms

* tag 'ti-k3-config-for-v6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  arm64: defconfig: Enable UBIFS
  arm64: defconfig: enable drivers for Verdin AM62

Link: https://lore.kernel.org/r/97a49740-32e7-f899-d153-743b5a57eba7@ti.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-21 11:04:48 +02:00
Arnd Bergmann
168269abf5 More Qualcomm ARM64 defconfig updates for v6.5
This enables various clock drivers for QCM2290, SM6115 and SC8280XP.
 Furhter, the interconnect and the MSM power manageer (MPM) drivers are
 enabled to allow QCM2290 to boot.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmSLMPYVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FHTcQAJC0jQJfn0H9VSMMC+pBM8DdQYUb
 d4ELAvUcqjIRNHGzjviDObXn6s4ZUUfmfWCGECJgKI6pCIHGwk8qVcI36lWFTmoj
 AzCE8a0kK1guqYNlEnoD+k6KMqTO0Ukjd1ipxMkUA1DDQ0rGQuUpWhyejt/XpHW6
 Pf7WUDaXyeWgK1q6f4UnPmQHkzpRutaiOyEIiiCPe4NekkfScyqxwfqpKkEAtItB
 XvvneZLeisJmG1yr7Brt+3ne0pHk1xCxjO49IjjDmRDvYMRuEN/d1IR3HhkTYLop
 gO08WuHYLXBXmUY84uvbD8vwsyy5DwwyTeo/3fEcjE32YC4U/LuFQHgD49wuyTSW
 rWNi4HZic/ptPznqPd4914KMoW2eH5LYaHMe4yqNCb4ytAgAThDEV+AvqxQpa59b
 pG7v8TNJL4/8oTEUdl9pOjX/+Ou4xEMwXhDCZlfdE8vlLXwIRy0Rql8kQnKA5ADa
 VunUn5eLyiWiiNWUzqg/7fM1fZ1D76afXPI8W/YFW+fqFTRShcoyVSlsan2OiYQ4
 f4/cJHfjn+r6Z23JKMSuxWVQgBuW3pc2SQjT5JpGzHS4iFsIAfVBg3r5GugeKFOV
 B9NQIhSFdtiNp8lnZ1GwGOwVeZbWBNfXSDyIvw6wxkk6mtWvpjPffs7RZFZFOUq8
 NRZ3J3xPDxZpBW/+
 =zoNR
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSSvQEACgkQYKtH/8kJ
 UicBGA//VhJy/i1GBzRDqPlmOydsIPOIqpxIozLQ7bMpUi0daudP1zF3dgx6Yxmr
 2JraYMdwRG/DsnGlKEAvTAbORYxRpsLL4oQ1TBM/P9ton++AqMAexWxGAZlqngCt
 8oU3nl4kiw0covVLLaXHgn7+o9UCbwykObVtzZR+Vld6gSLxzAlMTaDGbjtl0orv
 +jnTzhVHIIeGGSWMM3H77m9ZzdzGrl7cJWG9mXC1QUTIDZHQAMIu21q6rdOISAJx
 SDNsTDwSWpU5S3bDb9xWx8wO5X/zScpAOrfG8VU9iH7zAn7IvIE3IZtc0VDCTeW4
 QfuIU3F9jZS5Fj9lfkB/AXajRk4kDDUPMkxicxJcIjJeNvws+yc/WF3dyqmUgECK
 2gXm0bILyaSiC6yHYKnfWctSTfqDQyfRl1iwqT2vXPfIELnOsLmYBqKwzW3XvwCJ
 Vi9y/9kN3VLko2cwG5f8/NzccSbTJIGuzqk0sxMzOHA+tvzs+Phgn5PDmEq9Tlp6
 /9IK7YJjnVrcDTsGE1yFIydnMfkq8UEm+SeHPehpIDjLzUNNDOkpVaKbMZOS5z7G
 gs/vt+2FudjpgF/SFM6yHf6l4n8NeozuDao3a+XY5i4Dn9fiscGHzmU4XBx5cifU
 nNkPRA7yPt5z3+G63/7TafqTh0umjYyldXkiWLInjxGt0HLMeJo=
 =5ZnG
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-defconfig-for-6.5-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/defconfig

More Qualcomm ARM64 defconfig updates for v6.5

This enables various clock drivers for QCM2290, SM6115 and SC8280XP.
Furhter, the interconnect and the MSM power manageer (MPM) drivers are
enabled to allow QCM2290 to boot.

* tag 'qcom-arm64-defconfig-for-6.5-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: defconfig: Build SM6115 display and GPU clock controller drivers
  arm64: defconfig: Build display clock controller driver for QCM2290
  arm64: defconfig: Build interconnect driver for QCM2290
  arm64: defconfig: Build Global Clock Controller driver for QCM2290
  arm64: defconfig: Build MSM power manager driver
  arm64: defconfig: Enable sc828x0xp lpasscc clock controller

Link: https://lore.kernel.org/r/20230615154119.1460952-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-21 11:04:01 +02:00
Arnd Bergmann
c0ab597fa2 Qualcomm ARM64 defconfig updates for v6.5
Enable the FSA4480 driver to enable USB Type-C altmode on devices such
 as SM8350 and SM8450 HDK. Enable the IPQ6018 APSS clock and PLL
 controller for CPU scaling, and enable GPU clock river for SA8775P.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmSErhYVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FiAkQAJwtBSd7t/ACJJnzvHZiqexou9HJ
 NMnt/XLkQ7guVs/EH1Nzo3P1Ea6SfOA0Bs6TloVNE3OGw3sF0YjfEMN4Sw3OOMqi
 DXV/LoP2dWG3bFVZ47sWVDh+0oCXwdBfE8PMmbRiCjg1uFXRjbR7+BhY2rPOiHrw
 1UTrusWcFdnT0u4EozsgG+3OXz1AhHaB+JCjcIS126VWIGXZ0LM+muiARZ3qkWnK
 +iUBCOAV5eUpWqOuiu68HBPkUzGDsFaEsc1H+tn/eMipAY08JjuAxSJQDQNV6bx5
 vz/IGCXCTeCRg9nyuFHxmhghwYDC3L/1nn20TSRm9cq3laSO8kfhfIa+2B+tgT+l
 r21g//p9kPiVXyzhs+QHcd847+u0/GDpB2EItcl54v4iRuMyoGrK5jCuks55b36s
 L/7tCqDP1x2UvM1OlPeR7MPEMuEtbSWK+x1NsJTIhKtb/LUvG0ExIpRBXYoyPNu2
 dGHHAyLQ0FuBaVpSAqV1VSkSBDItkifbq8Qtnx2pVwOCGk0g3w69CevAR/MrdFHc
 8QlNXvffROtRKHeXxKeUPudPjSQWKlni6pyhILCvkjPENmTWBMe1a+wYiZLYoGpV
 uthlZdXsqt9o3QrzATeXnj8GVZJ181x6n713xHOyhNoVccukIUHkWb+cKU4dyh3Y
 r1XrvZCyrHd3mb3j
 =JwVj
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSSvM0ACgkQYKtH/8kJ
 Uif/xw//Rp6MkwUXBJJ8ogVm9kPhKm8E8G+dukcREAoNfoYGCVmOEgT4O0PDUG0d
 UoqsfC2d3cs3K7BAckOWTkyanUkvvKyO9M7v/tau4SqBr4lxDOQGqrmHOVRNWMJr
 TdVSbLebZrGTVkifjzlgeHwlCDXecR0Mg0ICly6MXkOgmi/yPXn2meMPtQELSdcF
 a6Lb35mB7YihiubhKpf0S+1GofTE+oPxIEivbqDpzGR7hPq4iIiVJhz9+pcXlsEf
 mxI2fBGn6gjSuWv8qHbdINigQgoKW3OZlgjBB2XE+JSIHxdxfLih/14G+ojVyUct
 YakOVzwxBCwoxDLnOCDVIEzZ5EWzOrHhUQMfh9fDkLpfnobV8vkiefpPAwc5Y5Jw
 PtB0wsAE2/T/zIEq3lOSuY+PSAb0krZQ+5hSvNH0R4J8843Dbx1QlWmBkUz0okdZ
 ToAkUK+cHzu8jxfxFYykUmu03V53Gb7UEPInQy+Dq3e2D7NoIhniwJzDoYFnPCQ4
 oFCZ/pORTiUWosXq+0+XqrEejJuYY022Thh2V2ge5MI3WM01TeS1JusUeZgBnXlq
 b3KgyKIgeqjXFDqJN7OJZNBMyV4xteEbAdh11ImVA+3NaDaqDyXJ9D+KE6b71hIv
 q3FhbWUCVFXjGIC6all1r70QSukPfPqS8GjhbemUL/vg1oOtGkY=
 =8Zrt
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-defconfig-for-6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/defconfig

Qualcomm ARM64 defconfig updates for v6.5

Enable the FSA4480 driver to enable USB Type-C altmode on devices such
as SM8350 and SM8450 HDK. Enable the IPQ6018 APSS clock and PLL
controller for CPU scaling, and enable GPU clock river for SA8775P.

* tag 'qcom-arm64-defconfig-for-6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: defconfig: Enable ipq6018 apss clock and PLL controller
  arm64: defconfig: enable FSA4480 driver as module
  arm64: defconfig: enable the SA8775P GPUCC driver

Link: https://lore.kernel.org/r/20230610170955.2478831-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-21 11:03:09 +02:00
Arnd Bergmann
6d34aab3b5 i.MX defconfig changes for 6.5:
- Remove KERNEL_LZO and FW_LOADER_USER_HELPER from imx_v6_v7_defconfig.
 - Enable i.MX8M video capture drivers and TI SN65DSI83 driver for arm64
   defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmSEInUUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM6C+Af/cM+3GofNFaTDoMAFEbSKlCbGVlq5
 tFiDVeUx2Zowr646KZJIrb1nau2DMfGN3ZV6ZuhNb3kxH0ZoYwtHV7m+p8fEP147
 6eagLNGWz/jxHqPIPoT38sc9KHJFVNNIzZ4P5xF+Jw25KWwbZaN6R0Iv6Nn67mKN
 1OASLIqvdhIx9dNPDy2ObB4FCf2HQsTCxCvQHWQxAokyyK5pmZUO/kXKz/rTudcy
 7F9BB4nZrhajBjebeF9070D/CNJCorMZ5ZFQGEOrLBqGeS4cy1bCQ9kMKqKNEmNw
 ktAcwiA59JQ8plKL5iOV/n+/krtwwV53uPHERI6VB5sVs7V00DUFCh3+Gg==
 =SOR5
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSSvI4ACgkQYKtH/8kJ
 Uicvgg//e8MK11RVvI1+lLZzQM7ptvqTVCsdASd0pEdniifismQBJJntJbnrbJ+A
 V+b3rzeVeYhF6VrbE5tV7jhSdC38dxX4rFnKy3px3ppTLCcegYTKdxKvGqofBFHO
 1zWapHsQsJSsARaj1rBSb7i68clgsxCS2beM5HSm+9cxvvxVo/uRdgU28gQyXGsR
 THW8Jcw6TvWwJ+ItgIAH7EDN3IeLfRbypSgbjeXIoS/fmF0hkQnAJxTAkV6zDTxE
 HUxG4+a3bHJ5mUUtmX4FNOw6uNfXm+LhG1RobLCTi4Go8UYBh7SPWzJuIOlZDHuK
 lTAVcfJYyyoE8BolApEtMG0KgsHOhonetM3MCwdlzZyLJIvsZzOy34XyGpPvA+It
 vIAeSJmpHLWLt0bYMbaBIqRBe1wCoufUE/PzyNih0jlpI6YOU5fOf/zBdrJjBscf
 R4Ibx9a/eCQg+Fs1OmCK+at8gnPV6EW33C1513VR6NsTgciYSI7ljzEOIG6mY+ur
 duAaIeuZUfIqW5M4uju3mKhrH4LEbkQ5h/qDl1R7NJNDhyMv29r6HRM/4DHINJI1
 yk1UIOBweJIrFeN40rrRalPlY4dcPkZ3jfF/7sW7ZVwh8TjSYxUOo8RAjw7iofUL
 UvbmvMo/lrIH4l+D9wXZACXmlcyLVNp1kGs6XK7kA6gewydwF7k=
 =1bVQ
 -----END PGP SIGNATURE-----

Merge tag 'imx-defconfig-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/defconfig

i.MX defconfig changes for 6.5:

- Remove KERNEL_LZO and FW_LOADER_USER_HELPER from imx_v6_v7_defconfig.
- Enable i.MX8M video capture drivers and TI SN65DSI83 driver for arm64
  defconfig.

* tag 'imx-defconfig-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: defconfig: Enable the TI SN65DSI83 driver
  ARM: imx_v6_v7_defconfig: Remove KERNEL_LZO config
  arm64: defconfig: Enable video capture drivers on imx8mm/imx8mn
  ARM: imx_v6_v7_defconfig: Remove firmware loader helper

Link: https://lore.kernel.org/r/20230610072530.418847-4-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-06-21 11:02:06 +02:00
Jiri Olsa
db8eae6bc5 bpf: Force kprobe multi expected_attach_type for kprobe_multi link
We currently allow to create perf link for program with
expected_attach_type == BPF_TRACE_KPROBE_MULTI.

This will cause crash when we call helpers like get_attach_cookie or
get_func_ip in such program, because it will call the kprobe_multi's
version (current->bpf_ctx context setup) of those helpers while it
expects perf_link's current->bpf_ctx context setup.

Making sure that we use BPF_TRACE_KPROBE_MULTI expected_attach_type
only for programs attaching through kprobe_multi link.

Fixes: ca74823c6e ("bpf: Add cookie support to programs attached with kprobe multi link")
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20230618131414.75649-1-jolsa@kernel.org
2023-06-21 10:40:26 +02:00
Florent Revest
9724160b39 bpf/btf: Accept function names that contain dots
When building a kernel with LLVM=1, LLVM_IAS=0 and CONFIG_KASAN=y, LLVM
leaves DWARF tags for the "asan.module_ctor" & co symbols. In turn,
pahole creates BTF_KIND_FUNC entries for these and this makes the BTF
metadata validation fail because they contain a dot.

In a dramatic turn of event, this BTF verification failure can cause
the netfilter_bpf initialization to fail, causing netfilter_core to
free the netfilter_helper hashmap and netfilter_ftp to trigger a
use-after-free. The risk of u-a-f in netfilter will be addressed
separately but the existence of "asan.module_ctor" debug info under some
build conditions sounds like a good enough reason to accept functions
that contain dots in BTF.

Although using only LLVM=1 is the recommended way to compile clang-based
kernels, users can certainly do LLVM=1, LLVM_IAS=0 as well and we still
try to support that combination according to Nick. To clarify:

  - > v5.10 kernel, LLVM=1 (LLVM_IAS=0 is not the default) is recommended,
    but user can still have LLVM=1, LLVM_IAS=0 to trigger the issue

  - <= 5.10 kernel, LLVM=1 (LLVM_IAS=0 is the default) is recommended in
    which case GNU as will be used

Fixes: 1dc9285184 ("bpf: kernel side support for BTF Var and DataSec")
Signed-off-by: Florent Revest <revest@chromium.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Cc: Yonghong Song <yhs@meta.com>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Link: https://lore.kernel.org/bpf/20230615145607.3469985-1-revest@chromium.org
2023-06-21 10:32:22 +02:00
Michael S. Tsirkin
afd384f0db Revert "virtio-blk: support completion batching for the IRQ path"
This reverts commit 07b679f70d.

This change appears to have broken things...
We now see applications hanging during disk accesses.
e.g.
multi-port virtio-blk device running in h/w (FPGA)
Host running a simple 'fio' test.
[global]
thread=1
direct=1
ioengine=libaio
norandommap=1
group_reporting=1
bs=4K
rw=read
iodepth=128
runtime=1
numjobs=4
time_based
[job0]
filename=/dev/vda
[job1]
filename=/dev/vdb
[job2]
filename=/dev/vdc
...
[job15]
filename=/dev/vdp

i.e. 16 disks; 4 queues per disk; simple burst of 4KB reads
This is repeatedly run in a loop.

After a few, normally <10 seconds, fio hangs.
With 64 queues (16 disks), failure occurs within a few seconds; with 8 queues (2 disks) it may take ~hour before hanging.
Last message:
fio-3.19
Starting 8 threads
Jobs: 1 (f=1): [_(7),R(1)][68.3%][eta 03h:11m:06s]
I think this means at the end of the run 1 queue was left incomplete.

'diskstats' (run while fio is hung) shows no outstanding transactions.
e.g.
$ cat /proc/diskstats
...
252       0 vda 1843140071 0 14745120568 712568645 0 0 0 0 0 3117947 712568645 0 0 0 0 0 0
252      16 vdb 1816291511 0 14530332088 704905623 0 0 0 0 0 3117711 704905623 0 0 0 0 0 0
...

Other stats (in the h/w, and added to the virtio-blk driver ([a]virtio_queue_rq(), [b]virtblk_handle_req(), [c]virtblk_request_done()) all agree, and show every request had a completion, and that virtblk_request_done() never gets called.
e.g.
PF= 0                         vq=0           1           2           3
[a]request_count     -   839416590   813148916   105586179    84988123
[b]completion1_count -   839416590   813148916   105586179    84988123
[c]completion2_count -           0           0           0           0

PF= 1                         vq=0           1           2           3
[a]request_count     -   823335887   812516140   104582672    75856549
[b]completion1_count -   823335887   812516140   104582672    75856549
[c]completion2_count -           0           0           0           0

i.e. the issue is after the virtio-blk driver.

This change was introduced in kernel 6.3.0.
I am seeing this using 6.3.3.
If I run with an earlier kernel (5.15), it does not occur.
If I make a simple patch to the 6.3.3 virtio-blk driver, to skip the blk_mq_add_to_batch()call, it does not fail.
e.g.
kernel 5.15 - this is OK
virtio_blk.c,virtblk_done() [irq handler]
                 if (likely(!blk_should_fake_timeout(req->q))) {
                          blk_mq_complete_request(req);
                 }

kernel 6.3.3 - this fails
virtio_blk.c,virtblk_handle_req() [irq handler]
                 if (likely(!blk_should_fake_timeout(req->q))) {
                          if (!blk_mq_complete_request_remote(req)) {
                                  if (!blk_mq_add_to_batch(req, iob, virtblk_vbr_status(vbr), virtblk_complete_batch)) {
                                           virtblk_request_done(req);    //this never gets called... so blk_mq_add_to_batch() must always succeed
                                   }
                          }
                 }

If I do, kernel 6.3.3 - this is OK
virtio_blk.c,virtblk_handle_req() [irq handler]
                 if (likely(!blk_should_fake_timeout(req->q))) {
                          if (!blk_mq_complete_request_remote(req)) {
                                   virtblk_request_done(req); //force this here...
                                  if (!blk_mq_add_to_batch(req, iob, virtblk_vbr_status(vbr), virtblk_complete_batch)) {
                                           virtblk_request_done(req);    //this never gets called... so blk_mq_add_to_batch() must always succeed
                                   }
                          }
                 }

Perhaps you might like to fix/test/revert this change...
Martin

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202306090826.C1fZmdMe-lkp@intel.com/
Cc: Suwan Kim <suwan.kim027@gmail.com>
Tested-by: edliaw@google.com
Reported-by: "Roberts, Martin" <martin.roberts@intel.com>
Message-Id: <336455b4f630f329380a8f53ee8cad3868764d5c.1686295549.git.mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2023-06-21 04:14:28 -04:00
Claudiu Beznea
5619c2ddaf clk: at91: sama7g5: s/ep_chg_chg_id/ep_chg_id
s/ep_chg_chg_id/ep_chg_id in documentation of master clock structure.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20230615093227.576102-12-claudiu.beznea@microchip.com
2023-06-21 10:42:48 +03:00
Claudiu Beznea
de3383e993 clk: at91: sama7g5: switch to parent_hw and parent_data
Switch SAMA7G5 clocks to use parent_hw and parent_data. Having
parent_hw instead of parent names improves to clock registration
speed and re-parenting. Extra time saved on registration is
~250us when running at 800MHz.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20230615093227.576102-11-claudiu.beznea@microchip.com
2023-06-21 10:42:48 +03:00
Claudiu Beznea
8aa1db9cce clk: at91: sckc: switch to parent_data/parent_hw
Switch slow clock drivers to use parent_data and parent_hw.
With this parent-child relation is described with pointers rather
than strings.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20230615093227.576102-10-claudiu.beznea@microchip.com
2023-06-21 10:42:48 +03:00
Claudiu Beznea
a673dae8c4 clk: at91: clk-sam9x60-pll: add support for parent_hw
Add support for parent_hw in SAM9X60 PLL clock drivers.
With this parent-child relation is described with pointers rather
than strings making registration a bit faster.

All the SoC based drivers that rely on clk-sam9x60-pll were adapted
to the new API change. The switch itself for SoCs will be done
in subsequent patches.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20230615093227.576102-9-claudiu.beznea@microchip.com
2023-06-21 10:42:48 +03:00
Claudiu Beznea
077782e3f2 clk: at91: clk-utmi: add support for parent_hw
Add support for parent_hw in utmi clock drivers.
With this parent-child relation is described with pointers rather
than strings making registration a bit faster.

All the SoC based drivers that rely on clk-utmi were adapted
to the new API change. The switch itself for SoCs will be done
in subsequent patches.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20230615093227.576102-8-claudiu.beznea@microchip.com
2023-06-21 10:42:48 +03:00
Claudiu Beznea
1a537f6257 clk: at91: clk-system: add support for parent_hw
Add support for parent_hw in system clock drivers.
With this parent-child relation is described with pointers rather
than strings making registration a bit faster.

All the SoC based drivers that rely on clk-system were adapted
to the new API change. The switch itself for SoCs will be done
in subsequent patches.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20230615093227.576102-7-claudiu.beznea@microchip.com
2023-06-21 10:42:48 +03:00
Claudiu Beznea
1a2669df3c clk: at91: clk-programmable: add support for parent_hw
Add support for parent_hw in programmable clock driver.
With this parent-child relation is described with pointers rather
than strings making registration a bit faster.

All the SoC based drivers that rely on clk-programmable were adapted
to the new API change. The switch itself for SoCs will be done
in subsequent patches.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20230615093227.576102-6-claudiu.beznea@microchip.com
2023-06-21 10:42:47 +03:00
Claudiu Beznea
c2f2ca0be8 clk: at91: clk-peripheral: add support for parent_hw
Add support for parent_hw in peripheral clock drivers.
With this parent-child relation is described with pointers rather
than strings making registration a bit faster.

All the SoC based drivers that rely on clk-peripheral were adapted
to the new API change. The switch itself for SoCs will be done
in subsequent patches.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20230615093227.576102-5-claudiu.beznea@microchip.com
2023-06-21 10:42:46 +03:00
Claudiu Beznea
171e502c6a clk: at91: clk-master: add support for parent_hw
Add support for parent_hw in master clock drivers.
With this parent-child relation is described with pointers rather
than strings making registration a bit faster.

All the SoC based drivers that rely on clk-master were adapted
to the new API change. The switch itself for SoCs will be done
in subsequent patches.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20230615093227.576102-4-claudiu.beznea@microchip.com
2023-06-21 10:42:45 +03:00
Claudiu Beznea
00bd581b52 clk: at91: clk-generated: add support for parent_hw
Add support for parent_hw in generic clock drivers.
With this parent-child relation is described with pointers rather
than strings making registration a bit faster.

All the SoC based drivers that rely on clk-generated were adapted
to the new API change. The switch itself for SoCs will be done
in subsequent patches.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20230615093227.576102-3-claudiu.beznea@microchip.com
2023-06-21 10:42:45 +03:00
Claudiu Beznea
b5105e377d clk: at91: clk-main: add support for parent_data/parent_hw
Add support for parent_data and parent_hw in main oscillator clock drivers.
With this parent-child relations are described with pointers rather
than strings making registration a bit faster.

All the SoC based drivers that rely on clk-main were adapted
to the new API change. The switch itself for SoCs will be done
in subsequent patches.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20230615093227.576102-2-claudiu.beznea@microchip.com
2023-06-21 10:42:45 +03:00
Linus Walleij
9f0648f13e intel-pinctrl for v6.5-1
* Fix of OPEN DRAIN pin mode setting in a few drivers
 * Reduce a scope of spin lock in the Bay Trail driver
 * Decrease a code footprint by refactoring in a few drivers
 * Expand string choices and reuse that in the Bay Trail driver
 
 The following is an automated git shortlog grouped by driver:
 
 baytrail:
  -  invert if condition
  -  add warning for BYT_VAL_REG retrieval failure
  -  reduce scope of spinlock in ->dbg_show() hook
  -  Use str_hi_lo() helper
  -  Use BIT() in BYT_PULL_ASSIGN_* definitions
  -  Unify style of error and debug messages
 
 cherryview:
  -  Drop goto label
  -  Return correct value if pin in push-pull mode
  -  Don't use IRQ core constanst for invalid IRQ
 
 intel:
  -  refine ->irq_set_type() hook
  -  refine ->set_mux() hook
  -  Add Intel Meteor Lake-S pin controller support
 
 lib/string_helpers:
  -  Add str_high_low() helper
  -  Split out string_choices.h
  -  Add missing header files to MAINTAINERS database
 
 merrifield:
  -  Use BUFCFG_PINMODE_GPIO in ->pin_dbg_show()
  -  Fix open-drain pin mode configuration
 
 moorefield:
  -  Use BUFCFG_PINMODE_GPIO in ->pin_dbg_show()
  -  Fix open-drain pin mode configuration
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEqaflIX74DDDzMJJtb7wzTHR8rCgFAmSRp98ACgkQb7wzTHR8
 rCj6Dw//Xi5Rf3XcUIi0XAOVX0JR6iTJ9DuxLteGDesnKKah6zdNa5ncE6zy6KFc
 X9ulqLpVMwwPc8nl2bnxan8v905L7Ox8iL6M/BR6k51Gv67ud5DSd7Q2bxqXfYc3
 qenZL+GMIe5Cz1UpPJtmnwlGyLAlRE8OByZvEtGrjmJ6W1OnuESmW58T15AjLkiL
 I9xTNFwXXuQOl2FOWk/uOdvNZaXIo/cKgvS9dO/PDQDxgjO19NvEwLKqdj2gZsY0
 QGDg5iFlZ8mkfVtk8Xsvgd23rpWHuTANMLgG6xQtjxs2idpUDQgF5AC4bvg0chi5
 sC7KbvW1qDXPfmhgL3LHx3EYc9uoc3CpAV5sC8A+QfvBwwzDwtzg0rV2Mg8vMs8U
 A2UjcggyfvyzYwB02lIccx1Vk2/8zhdT8mmyqiK4FZbDOJGZ7hELEIhlmF56x9dJ
 aN9AiZbNJKhF8NtXM1KFGTHmVit2+OrbGSodQoTDRW/Hg2DjddlssqIgMQIFq5EB
 zx6iYIxO94+FDpLrgwgGH8pwgm1YPkKfDvYYfk/NYGjYMrSFtg5AShyzQ6PlUC2R
 0QSoa6NdLvHR7kwXUru2vlt4DOX7UtrOEURwt3nLzEFgOPDs0S1+pqO6JQWcADSf
 udQfwGNo3o9m34L5DF5Ubzm6xq1QjW4Pkz/h/dkjkxE6NeWexuY=
 =pJDH
 -----END PGP SIGNATURE-----

Merge tag 'intel-pinctrl-v6.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel into devel

intel-pinctrl for v6.5-1

* Fix of OPEN DRAIN pin mode setting in a few drivers
* Reduce a scope of spin lock in the Bay Trail driver
* Decrease a code footprint by refactoring in a few drivers
* Expand string choices and reuse that in the Bay Trail driver

The following is an automated git shortlog grouped by driver:

baytrail:
 -  invert if condition
 -  add warning for BYT_VAL_REG retrieval failure
 -  reduce scope of spinlock in ->dbg_show() hook
 -  Use str_hi_lo() helper
 -  Use BIT() in BYT_PULL_ASSIGN_* definitions
 -  Unify style of error and debug messages

cherryview:
 -  Drop goto label
 -  Return correct value if pin in push-pull mode
 -  Don't use IRQ core constanst for invalid IRQ

intel:
 -  refine ->irq_set_type() hook
 -  refine ->set_mux() hook
 -  Add Intel Meteor Lake-S pin controller support

lib/string_helpers:
 -  Add str_high_low() helper
 -  Split out string_choices.h
 -  Add missing header files to MAINTAINERS database

merrifield:
 -  Use BUFCFG_PINMODE_GPIO in ->pin_dbg_show()
 -  Fix open-drain pin mode configuration

moorefield:
 -  Use BUFCFG_PINMODE_GPIO in ->pin_dbg_show()
 -  Fix open-drain pin mode configuration
2023-06-21 09:37:43 +02:00
Michael Walle
33c01ff3b1 ARM: dts: lan966x: kontron-d10: add PHY interrupts
With interrupt handling fixed in the MaxLinear PHY driver, see commit
97a89ed101 ("net: phy: mxl-gpy: disable interrupts on GPY215 by
default"), we can finally add the correct interrupt description to the
device tree.

Signed-off-by: Michael Walle <mwalle@kernel.org>
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230616-feature-d10-dt-cleanups-v1-3-50dd0452b8fe@kernel.org
2023-06-21 10:22:40 +03:00
Michael Walle
fcb79ee3f0 ARM: dts: lan966x: kontron-d10: fix SPI CS
The pinctrl node was missing which change the pin mux to GPIO mode.
Add it so we don't have to rely on the bootloader to set the correct
mode.

Fixes: 79d83b3a45 ("ARM: dts: lan966x: add basic Kontron KSwitch D10 support")
Signed-off-by: Michael Walle <mwalle@kernel.org>
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230616-feature-d10-dt-cleanups-v1-2-50dd0452b8fe@kernel.org
2023-06-21 10:22:40 +03:00
Michael Walle
bfcd5714f6 ARM: dts: lan966x: kontron-d10: fix board reset
The pinctrl node was missing which change the pin mux to GPIO mode. Add
it.

Fixes: 79d83b3a45 ("ARM: dts: lan966x: add basic Kontron KSwitch D10 support")
Signed-off-by: Michael Walle <mwalle@kernel.org>
[claudiu.beznea: moved pinctrl-* bindings after compatible]
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230616-feature-d10-dt-cleanups-v1-1-50dd0452b8fe@kernel.org
2023-06-21 10:22:40 +03:00
Cristian Birsan
15e2d241d1 ARM: dts: at91: Enable device-tree overlay support for AT91 boards
Add the '-@' DTC option for AT91 boards that have device-tree overlays.
This option populates the '__symbols__' node that contains all the
necessary symbols for supporting device-tree overlays (from bootloader)
on these devices.

This change increases the size of the resulting DTB with ~30%-40%. Below
are the measurements performed v6.4-rc6:

at91-sam9x60_curiosity.dtb	28499 -> 36641 bytes
at91-sam9x60ek.dtb		30867 -> 39609 bytes
at91-sama5d27_som1_ek.dtb	26086 -> 34166 bytes
at91-sama5d27_wlsom1_ek.dtb	26045 -> 33184 bytes
at91-sama5d2_icp.dtb		27521 -> 36155 bytes
at91-sama5d2_ptc_ek.dtb		23237 -> 29612 bytes
at91-sama5d2_xplained.dtb	27262 -> 35326 bytes
at91-sama5d3_eds.dtb		27924 -> 39939 bytes
at91-sama5d3_xplained.dtb	28400 -> 40650 bytes
at91-sama5d4_xplained.dtb	26456 -> 36107 bytes
at91-sama7g5ek.dtb		29212 -> 37289 bytes

Signed-off-by: Cristian Birsan <cristian.birsan@microchip.com>
[claudiu.beznea: s/arm: dts/ARM: dts: at91/ in commit title]
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230616152932.1484154-1-cristian.birsan@microchip.com
2023-06-21 10:21:09 +03:00
Johannes Berg
d33ed97dca wifi: mac80211: fix documentation config reference
We shouldn't refer to CPTCFG_, that's for backports, in
mainline that's just CONFIG_. Fix it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2023-06-21 09:16:57 +02:00
Gustavo A. R. Silva
2507135e4f
readdir: Replace one-element arrays with flexible-array members
One-element arrays are deprecated, and we are replacing them with flexible
array members instead. So, replace one-element arrays with flexible-array
members in multiple structures.

Address the following -Wstringop-overflow warnings seen when built
m68k architecture with m5307c3_defconfig configuration:
In function '__put_user_fn',
    inlined from 'fillonedir' at fs/readdir.c:170:2:
include/asm-generic/uaccess.h:49:35: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
   49 |                 *(u8 __force *)to = *(u8 *)from;
      |                 ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
fs/readdir.c: In function 'fillonedir':
fs/readdir.c:134:25: note: at offset 1 into destination object 'd_name' of size 1
  134 |         char            d_name[1];
      |                         ^~~~~~
In function '__put_user_fn',
    inlined from 'filldir' at fs/readdir.c:257:2:
include/asm-generic/uaccess.h:49:35: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
   49 |                 *(u8 __force *)to = *(u8 *)from;
      |                 ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
fs/readdir.c: In function 'filldir':
fs/readdir.c:211:25: note: at offset 1 into destination object 'd_name' of size 1
  211 |         char            d_name[1];
      |                         ^~~~~~

This helps with the ongoing efforts to globally enable
-Wstringop-overflow.

This results in no differences in binary output.

Link: https://github.com/KSPP/linux/issues/79
Link: https://github.com/KSPP/linux/issues/312
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Message-Id: <ZJHiPJkNKwxkKz1c@work>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2023-06-21 09:06:59 +02:00
Eric Biggers
672d6ef4c7 fsverity: improve documentation for builtin signature support
fsverity builtin signatures (CONFIG_FS_VERITY_BUILTIN_SIGNATURES) aren't
the only way to do signatures with fsverity, and they have some major
limitations.  Yet, more users have tried to use them, e.g. recently by
https://github.com/ostreedev/ostree/pull/2640.  In most cases this seems
to be because users aren't sufficiently familiar with the limitations of
this feature and what the alternatives are.

Therefore, make some updates to the documentation to try to clarify the
properties of this feature and nudge users in the right direction.

Note that the Integrity Policy Enforcement (IPE) LSM, which is not yet
upstream, is planned to use the builtin signatures.  (This differs from
IMA, which uses its own signature mechanism.)  For that reason, my
earlier patch "fsverity: mark builtin signatures as deprecated"
(https://lore.kernel.org/r/20221208033548.122704-1-ebiggers@kernel.org),
which marked builtin signatures as "deprecated", was controversial.

This patch therefore stops short of marking the feature as deprecated.
I've also revised the language to focus on better explaining the feature
and what its alternatives are.

Link: https://lore.kernel.org/r/20230620041937.5809-1-ebiggers@kernel.org
Reviewed-by: Colin Walters <walters@verbum.org>
Reviewed-by: Luca Boccassi <bluca@debian.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
2023-06-20 22:47:55 -07:00
Ivan Orlov
8d0cf150d2 sound: make all 'class' structures const
Now that the driver core allows for struct class to be in read-only
memory, making all 'class' structures to be declared at build time
placing them into read-only memory, instead of having to be dynamically
allocated at load time.

Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Ivan Orlov <ivan.orlov0322@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Geoff Levand <geoff@infradead.org>
Cc: Thierry Reding <treding@nvidia.com>
Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Cc: alsa-devel@alsa-project.org
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20230620175633.641141-2-gregkh@linuxfoundation.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-06-21 07:29:10 +02:00
Srinivas Kandagatla
7ea9ee0064 ALSA: compress: allow setting codec params after next track
For gapless playback it is possible that each track can have different
codec profile with same decoder, for example we have WMA album,
we may have different tracks as WMA v9, WMA v10 and so on

Or if DSP's like QDSP have abililty to switch decoders on single stream
for each track, then this call could be used to set new codec parameters.

Existing code does not allow to change this profile while doing gapless
playback.

Reuse existing SNDRV_COMPRESS_SET_PARAMS to set this new track params along
some additional checks to enforce proper state machine.

With this new changes now the user can call SNDRV_COMPRESS_SET_PARAMS
anytime after setting next track and additional check in write should
also ensure that params are set before writing new data.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Vinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20230619092805.21649-1-srinivas.kandagatla@linaro.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-06-21 07:28:31 +02:00
elisabeth
362f9c907f perf jit: Fix incorrect file name in DWARF line table
Fixes an issue where an incorrect filename was added in the DWARF line table of
an ELF object file when calling 'perf inject --jit' due to not checking the
filename of a debug entry against the repeated name marker (/xff/0).
The marker is mentioned in the tools/perf/util/jitdump.h header, which describes
the jitdump binary format, and indicitates that the filename in a debug entry
is the same as the previous enrty.

In the function emit_lineno_info(), in the file tools/perf/util/genelf-debug.c,
the debug entry filename gets compared to the previous entry filename. If they
are not the same, a new filename is added to the DWARF line table. However,
since there is no check against '\xff\0', in some cases '\xff\0' is inserted
as the filename into the DWARF line table.

This can be seen with `objdump --dwarf=line` on the ELF file after `perf inject --jit`.
It also makes no source code information show up in 'perf annotate'.

Signed-off-by: Elisabeth Panholzer <elisabeth@leaningtech.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20230602123815.255001-1-paniii94@gmail.com
[ Fixed a trailing white space, removed a subject prefix ]
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2023-06-20 22:18:58 -07:00
Timothy Pearson
bfd8d98921 powerpc/iommu: Only build sPAPR access functions on pSeries
and PowerNV

A build failure with CONFIG_HAVE_PCI=y set without PSERIES or POWERNV
set was caught by the random configuration checker.  Guard the sPAPR
specific IOMMU functions on CONFIG_PPC_PSERIES || CONFIG_PPC_POWERNV.

Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/2015925968.3546872.1685990936823.JavaMail.zimbra@raptorengineeringinc.com
2023-06-21 15:13:57 +10:00