summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-05dt-bindings: lcdif: Document the dmas/dma-names propertiesFabio Estevam
i.MX28 has an RX DMA channel associated with the LCDIF controller. Document the 'dmas' and 'dma-names' properties to fix the following dt-schema warnings: lcdif@80030000: 'dma-names', 'dmas' do not match any of the regexes: 'pinctrl-[0-9]+' Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20240904104027.2065621-1-festevam@gmail.com Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2024-09-05dt-bindings: watchdog: nxp,lpc1850-wdt: Convert bindings to dtschemaAnimesh Agarwal
Convert the NXP LPC18xx Watchdog Timer bindings to yaml format. Cc: Daniel Baluta <daniel.baluta@nxp.com> Signed-off-by: Animesh Agarwal <animeshagarwal28@gmail.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20240814061210.56213-1-animeshagarwal28@gmail.com Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2024-09-05dt-bindings: watchdog: convert ziirave-wdt.txt to yamlFrank Li
Convert ziirave-wdt.txt to yaml format. Additional change: - Add i2c node in example. - Add ref to watchdog.yaml Fix below warning: arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dtb: /soc@0/bus@30800000/i2c@30a40000/watchdog@38: failed to match any schema with compatible: ['zii,rave-wdt'] Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Frank Li <Frank.Li@nxp.com> Link: https://lore.kernel.org/r/20240814161250.4017427-1-Frank.Li@nxp.com Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2024-09-05dt-bindings: input: qcom,pm8xxx-vib: Document PM6150 compatibleJens Reidel
The PM6150 vibrator module is compatible with the PMI632 vibrator module, document the PM6150 vibrator compatible as fallback for the PMI632 vibrator. Signed-off-by: Jens Reidel <adrian@travitia.xyz> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20240606181027.98537-2-adrian@travitia.xyz Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2024-09-05mm/slab: Optimize the code logic in find_mergeable()Xavier
We can first assess the flags, if it's unmergeable, there's no need to calculate the size and align. Signed-off-by: Xavier <xavier_qy@163.com> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
2024-09-05macintosh/via-pmu: register_pmu_pm_ops() can be __initMichael Ellerman
register_pmu_pm_ops() is only called at init time, via device_initcall(), so can be marked __init. The driver can't be built as a module. Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240821082101.877438-1-mpe@ellerman.id.au
2024-09-05powerpc: Stop using no_llseekMichael Ellerman
Since commit 868941b14441 ("fs: remove no_llseek"), no_llseek() is simply defined to be NULL, and a NULL llseek means seeking is unsupported. So for statically defined file_operations, such as all these, there's no need or benefit to set llseek = no_llseek. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240903111951.141376-1-mpe@ellerman.id.au
2024-09-05powerpc/64s: Remove the "fast endian switch" syscallMichael Ellerman
The non-standard "fast endian switch" syscall was added in 2008[1], but was never widely used. It was disabled by default in 2017[2], and there's no evidence it's ever been used since. Remove it entirely. A normal endian switch syscall was added in 2015[3]. [1]: 745a14cc264b ("[POWERPC] Add fast little-endian switch system call") [2]: 529d235a0e19 ("powerpc: Add a proper syscall for switching endianness") [3]: 727f13616c45 ("powerpc: Disable the fast-endian switch syscall by default") Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240823070830.1269033-1-mpe@ellerman.id.au
2024-09-05powerpc/mm/64s: Restrict THP to Radix or HPT w/64K pagesMichael Ellerman
Transparent hugepages (THP) are not supported when using the Hash Page Table (HPT) MMU with 4K pages. Currently a HPT-only 4K kernel still allows THP to be enabled, which is misleading. Add restrictions to the PPC_THP symbol so that if the kernel is configured with 4K pages and only the HPT MMU (no Radix), then THP is disabled. Note that it's still possible to build a combined Radix/HPT kernel with 4K pages, which does allow THP to be enabled at build time. As such the HPT code still needs to provide some THP related symbols, to allow the build to succeed, but those code paths are never run. See the stubs in arch/powerpc/include/asm/book3s/64/hash-4k.h. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240823032911.1238471-2-mpe@ellerman.id.au
2024-09-05powerpc/mm/64s: Move THP reqs into a separate symbolMichael Ellerman
Move the Kconfig symbols related to transparent hugepages (THP) under a separate config symbol, separate from CONFIG_PPC_BOOK3S_64. The new symbol is automatically enabled if CONFIG_PPC_BOOK3S_64 is enabled, so there is no behaviour change, except for the existence of the new PPC_THP symbol. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240823032911.1238471-1-mpe@ellerman.id.au
2024-09-05powerpc/64s: Make mmu_hash_ops __ro_after_initMichael Ellerman
The mmu_hash_ops are only assigned to during boot, so mark them __ro_after_init to prevent any further modification. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240821080745.872151-1-mpe@ellerman.id.au
2024-09-05powerpc: Replace kretprobe code with rethook on powerpcAbhishek Dubey
This is an adaptation of commit f3a112c0c40d ("x86,rethook,kprobes: Replace kretprobe with rethook on x86") to powerpc. Rethook follows the existing kretprobe implementation, but separates it from kprobes so that it can be used by fprobe (ftrace-based function entry/exit probes). As such, this patch also enables fprobe to work on powerpc. The only other change compared to the existing kretprobe implementation is doing the return address fixup in arch_rethook_fixup_return(). Reference to other archs: commit b57c2f124098 ("riscv: add riscv rethook implementation") commit 7b0a096436c2 ("LoongArch: Replace kretprobe with rethook") Note: ===== In future, rethook will be only for kretprobe, and kretprobe will be replaced by fprobe. https://lore.kernel.org/all/172000134410.63468.13742222887213469474.stgit@devnote2/ We will adapt the above implementation for powerpc once its upstream. Until then, we can have this implementation of rethook to serve current kretprobe usecases. Reviewed-by: Naveen Rao <naveen@kernel.org> Signed-off-by: Abhishek Dubey <adubey@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240830113131.7597-1-adubey@linux.ibm.com
2024-09-05powerpc: pseries: Constify struct kobj_typeHuang Xiaojia
'struct kobj_type' is not modified. It is only used in kobject_init() which takes a 'const struct kobj_type *ktype' parameter. Constifying this structure moves some data to a read-only section, so increase over all security. On a x86_64, compiled with ppc64 defconfig: Before: ====== text data bss dec hex filename 1885 368 16 2269 8dd arch/powerpc/platforms/pseries/vas-sysfs.o After: ====== text data bss dec hex filename 1981 272 16 2269 8dd arch/powerpc/platforms/pseries/vas-sysfs.o Signed-off-by: Huang Xiaojia <huangxiaojia2@huawei.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240826150957.3500237-3-huangxiaojia2@huawei.com
2024-09-05powerpc: powernv: Constify struct kobj_typeHuang Xiaojia
'struct kobj_type' is not modified. It is only used in kobject_init() which takes a 'const struct kobj_type *ktype' parameter. Constifying this structure moves some data to a read-only section, so increase over all security. On a x86_64, compiled with ppc64 defconfig: Before: ====== text data bss dec hex filename 3775 256 8 4039 fc7 arch/powerpc/platforms/powernv/opal-dump.o 2679 260 8 2947 b83 arch/powerpc/platforms/powernv/opal-elog.o After: ====== text data bss dec hex filename 3823 208 8 4039 fc7 arch/powerpc/platforms/powernv/opal-dump.o 2727 212 8 2947 b83 arch/powerpc/platforms/powernv/opal-elog.o Signed-off-by: Huang Xiaojia <huangxiaojia2@huawei.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240826150957.3500237-2-huangxiaojia2@huawei.com
2024-09-05powerpc: Constify struct kobj_typeHuang Xiaojia
'struct kobj_type' is not modified. It is only used in kobject_init_and_add()/kobject_init() which takes a 'const struct kobj_type *ktype' parameter. Constifying this structure moves some data to a read-only section, so increase over all security. On a x86_64, compiled with ppc64 defconfig: Before: ====== text data bss dec hex filename 7145 606 0 7751 1e47 arch/powerpc/kernel/cacheinfo.o 3663 384 16 4063 fdf arch/powerpc/kernel/secvar-sysfs.o After: ====== text data bss dec hex filename 7193 558 0 7751 1e47 arch/powerpc/kernel/cacheinfo.o 3663 384 16 4063 fdf arch/powerpc/kernel/secvar-sysfs.o Signed-off-by: Huang Xiaojia <huangxiaojia2@huawei.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240826150957.3500237-1-huangxiaojia2@huawei.com
2024-09-05spi: spi-fsl-lpspi: Fix off-by-one in prescale maxStefan Wahren
The commit 783bf5d09f86 ("spi: spi-fsl-lpspi: limit PRESCALE bit in TCR register") doesn't implement the prescaler maximum as intended. The maximum allowed value for i.MX93 should be 1 and for i.MX7ULP it should be 7. So this needs also a adjustment of the comparison in the scldiv calculation. Fixes: 783bf5d09f86 ("spi: spi-fsl-lpspi: limit PRESCALE bit in TCR register") Signed-off-by: Stefan Wahren <wahrenst@gmx.net> Link: https://patch.msgid.link/20240905111537.90389-1-wahrenst@gmx.net Signed-off-by: Mark Brown <broonie@kernel.org>
2024-09-05Merge tag 'amlogic-arm-dt-for-v6.11' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt Amlogic ARM DT changes for v6.11: - simple dt bindings check fix for gpio keys node name * tag 'amlogic-arm-dt-for-v6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: ARM: dts: amlogic: meson8b-ec100: align GPIO keys node name with bindings Link: https://lore.kernel.org/r/220683c1-e250-4c55-bbe5-c36e89391c32@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05arm64: dts: toshiba: Fix pl011 and pl022 clocksRob Herring
Arm Primecell blocks have a functional clock and a bus clock. The Toshiba TMPV7708 only defines the bus clock (apb_pclk). Add the "uartclk" and "sspclk" clocks to the PL011 and PL022 nodes, respectively. Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Link: https://lore.kernel.org/r/20240826183848.1290957-2-robh@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05ASoC: atmel: mchp-i2s-mcc: Improve maxburst calculation for better performanceCodrin Ciubotariu
The period size represents the size of the DMA descriptor. To ensure all DMA descriptors start from a well-aligned address, the period size must be divided by (sample size * maxburst), not just by maxburst. This adjustment allows for computing a higher maxburst value, thereby increasing the performance of the DMA transfer. Previously, snd_pcm_lib_period_bytes() returned 0 because the runtime HW parameters are computed after the hw_params() callbacks are used. To address this, we now use params_*() functions to compute the period size accurately. This change optimizes the DMA transfer performance by ensuring proper alignment and efficient use of maxburst values. [andrei.simion@microchip.com: Reword commit message and commit title. Add macros with values for maximum DMA chunk size allowed. Add DMA_BURST_ALIGNED preprocessor function to check the alignment of the DMA burst] Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com> Signed-off-by: Andrei Simion <andrei.simion@microchip.com> Link: https://patch.msgid.link/20240905095633.113784-1-andrei.simion@microchip.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-09-05ASoC: mediatek: Add MT8365 supportAlexandre Mergnat
- Add specific config to enable: - MT8365 sound support - MT6357 audio codec support - Add the mt8365 directory and all drivers under it. Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com> Link: https://patch.msgid.link/20240226-audio-i350-v8-2-e80a57d026ce@baylibre.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-09-05ASoC: codecs: add MT6357 supportNicolas Belin
Add the support of MT6357 PMIC audio codec. Signed-off-by: Nicolas Belin <nbelin@baylibre.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com> Link: https://patch.msgid.link/20240226-audio-i350-v8-1-e80a57d026ce@baylibre.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-09-05ptp: ptp_idt82p33: Convert comma to semicolonChen Ni
Replace comma between expressions with semicolons. Using a ',' in place of a ';' can have unintended side effects. Although that is not the case here, it is seems best to use ';' unless ',' is intended. Found by inspection. No functional change intended. Compile tested only. Signed-off-by: Chen Ni <nichen@iscas.ac.cn> Acked-by: Richard Cochran <richardcochran@gmail.com> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://patch.msgid.link/20240904015003.1065872-1-nichen@iscas.ac.cn Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-09-05Merge tag 'linux-cpupower-6.12-rc1' of ↵Rafael J. Wysocki
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/shuah/linux Merge a cpupower utility update for 6.12 from Shuah Khan: "This cpupower update for Linux 6.12-rc1 consists of an enhancement to cpuidle tool to display the residency value of cpuidle states. This addition provides a clearer and more detailed view of idle state information when using cpuidle-info." * tag 'linux-cpupower-6.12-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/shuah/linux: tools/cpupower: display residency value in idle-info
2024-09-05Merge tag 'amd-pstate-v6.12-2024-09-04' of ↵Rafael J. Wysocki
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/superm1/linux Merge an amd-pstate driver update for 6.12 from Mario Limonciello: "amd-pstate development for 6.12: * Validate return of any attempt to update EPP limits, which fixes the masking hardware problems." * tag 'amd-pstate-v6.12-2024-09-04' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/superm1/linux: cpufreq/amd-pstate: Catch failures for amd_pstate_epp_update_limit()
2024-09-05Merge back cpufreq material for 6.12Rafael J. Wysocki
2024-09-05wifi: mt76: mt7996: set correct value in beamforming mcu command for mt7992Howard Hsu
Configure correct bf number and bitmap in beamforming mcu command for mt7992 chipsets, which only support dual-band. Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Link: https://patch.msgid.link/20240816094635.2391-8-shayne.chen@mediatek.com Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-05wifi: mt76: mt7996: fix EHT beamforming capability checkHoward Hsu
If a VIF acts as a beamformer, it should check peer's beamformee capability, and vice versa. Fixes: ba01944adee9 ("wifi: mt76: mt7996: add EHT beamforming support") Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Link: https://patch.msgid.link/20240816094635.2391-7-shayne.chen@mediatek.com Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-05wifi: mt76: mt7996: set correct beamformee SS capabilityHoward Hsu
According to IEEE P802.11be/D6.0 Table 9-417n, beamformee SS field stands for the maximum number of spatial streams that the STA can receive in an EHT sounding NDP minus 1, and the minimum value of this field is 3. This value indicates the decoding capability of a beamformee, which is independent of current antenna settings. Correct the value for mt7996 and mt7992 chipsets based on their HW capability. Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Link: https://patch.msgid.link/20240816094635.2391-6-shayne.chen@mediatek.com Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-05wifi: mt76: mt7996: fix HE and EHT beamforming capabilitiesHoward Hsu
Fix HE and EHT beamforming capabilities for different bands and interface types. Fixes: 98686cd21624 ("wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices") Fixes: 348533eb968d ("wifi: mt76: mt7996: add EHT capability init") Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Link: https://patch.msgid.link/20240816094635.2391-5-shayne.chen@mediatek.com Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-05wifi: mt76: mt7996: advertize beacon_int_min_gcdPeter Chiu
Advertize beacon_int_min_gcd as 100 to allow setting different beacon intervals on different interfaces. Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Link: https://patch.msgid.link/20240816094635.2391-4-shayne.chen@mediatek.com Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-05wifi: mt76: mt7996: fix wmm set of station interface to 3Peter Chiu
According to connac3 HW design, the WMM index of AP and STA interface should be 0 and 3, respectively. Fixes: 98686cd21624 ("wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices") Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Link: https://patch.msgid.link/20240816094635.2391-3-shayne.chen@mediatek.com Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-05wifi: mt76: mt7996: fix traffic delay when switching back to working channelPeter Chiu
During scanning, UNI_CHANNEL_RX_PATH tag is necessary for the firmware to properly stop and resume MAC TX queue. Without this tag, HW needs more time to resume traffic when switching back to working channel. Fixes: 98686cd21624 ("wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices") Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Link: https://patch.msgid.link/20240816094635.2391-2-shayne.chen@mediatek.com Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-05wifi: mt76: mt7996: use hweight16 to get correct tx antennaPeter Chiu
The chainmask is u16 so using hweight8 cannot get correct tx_ant. Without this patch, the tx_ant of band 2 would be -1 and lead to the following issue: BUG: KASAN: stack-out-of-bounds in mt7996_mcu_add_sta+0x12e0/0x16e0 [mt7996e] Fixes: 98686cd21624 ("wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices") Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Link: https://patch.msgid.link/20240816094635.2391-1-shayne.chen@mediatek.com Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-05wifi: mt76: mt7921: fix wrong UNII-4 freq range check for the channel usageMing Yen Hsieh
The check should start from 5845 to 5925, which includes channels 169, 173, and 177. Fixes: 09382d8f8641 ("wifi: mt76: mt7921: update the channel usage when the regd domain changed") Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com> Link: https://patch.msgid.link/20240806013408.17874-1-mingyen.hsieh@mediatek.com Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-05wifi: mt76: mt7915: fix oops on non-dbdc mt7986Bjørn Mork
mt7915_band_config() sets band_idx = 1 on the main phy for mt7986 with MT7975_ONE_ADIE or MT7976_ONE_ADIE. Commit 0335c034e726 ("wifi: mt76: fix race condition related to checking tx queue fill status") introduced a dereference of the phys array indirectly indexed by band_idx via wcid->phy_idx in mt76_wcid_cleanup(). This caused the following Oops on affected mt7986 devices: Unable to handle kernel read from unreadable memory at virtual address 0000000000000024 Mem abort info: ESR = 0x0000000096000005 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x05: level 1 translation fault Data abort info: ISV = 0, ISS = 0x00000005 CM = 0, WnR = 0 user pgtable: 4k pages, 39-bit VAs, pgdp=0000000042545000 [0000000000000024] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000 Internal error: Oops: 0000000096000005 [#1] SMP Modules linked in: ... mt7915e mt76_connac_lib mt76 mac80211 cfg80211 ... CPU: 2 PID: 1631 Comm: hostapd Not tainted 5.15.150 #0 Hardware name: ZyXEL EX5700 (Telenor) (DT) pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : mt76_wcid_cleanup+0x84/0x22c [mt76] lr : mt76_wcid_cleanup+0x64/0x22c [mt76] sp : ffffffc00a803700 x29: ffffffc00a803700 x28: ffffff80008f7300 x27: ffffff80003f3c00 x26: ffffff80000a7880 x25: ffffffc008c26e00 x24: 0000000000000001 x23: ffffffc000a68114 x22: 0000000000000000 x21: ffffff8004172cc8 x20: ffffffc00a803748 x19: ffffff8004152020 x18: 0000000000000000 x17: 00000000000017c0 x16: ffffffc008ef5000 x15: 0000000000000be0 x14: ffffff8004172e28 x13: ffffff8004172e28 x12: 0000000000000000 x11: 0000000000000000 x10: ffffff8004172e30 x9 : ffffff8004172e28 x8 : 0000000000000000 x7 : ffffff8004156020 x6 : 0000000000000000 x5 : 0000000000000031 x4 : 0000000000000000 x3 : 0000000000000001 x2 : 0000000000000000 x1 : ffffff80008f7300 x0 : 0000000000000024 Call trace: mt76_wcid_cleanup+0x84/0x22c [mt76] __mt76_sta_remove+0x70/0xbc [mt76] mt76_sta_state+0x8c/0x1a4 [mt76] mt7915_eeprom_get_power_delta+0x11e4/0x23a0 [mt7915e] drv_sta_state+0x144/0x274 [mac80211] sta_info_move_state+0x1cc/0x2a4 [mac80211] sta_set_sinfo+0xaf8/0xc24 [mac80211] sta_info_destroy_addr_bss+0x4c/0x6c [mac80211] ieee80211_color_change_finish+0x1c08/0x1e70 [mac80211] cfg80211_check_station_change+0x1360/0x4710 [cfg80211] genl_family_rcv_msg_doit+0xb4/0x110 genl_rcv_msg+0xd0/0x1bc netlink_rcv_skb+0x58/0x120 genl_rcv+0x34/0x50 netlink_unicast+0x1f0/0x2ec netlink_sendmsg+0x198/0x3d0 ____sys_sendmsg+0x1b0/0x210 ___sys_sendmsg+0x80/0xf0 __sys_sendmsg+0x44/0xa0 __arm64_sys_sendmsg+0x20/0x30 invoke_syscall.constprop.0+0x4c/0xe0 do_el0_svc+0x40/0xd0 el0_svc+0x14/0x4c el0t_64_sync_handler+0x100/0x110 el0t_64_sync+0x15c/0x160 Code: d2800002 910092c0 52800023 f9800011 (885f7c01) ---[ end trace 7e42dd9a39ed2281 ]--- Fix by using mt76_dev_phy() which will map band_idx to the correct phy for all hardware combinations. Fixes: 0335c034e726 ("wifi: mt76: fix race condition related to checking tx queue fill status") Link: https://github.com/openwrt/openwrt/issues/14548 Signed-off-by: Bjørn Mork <bjorn@mork.no> Link: https://patch.msgid.link/20240713130010.516037-1-bjorn@mork.no Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-05net: dsa: felix: Annotate struct action_gate_entry with __counted_byHongbo Li
Add the __counted_by compiler attribute to the flexible array member entries to improve access bounds-checking via CONFIG_UBSAN_BOUNDS and CONFIG_FORTIFY_SOURCE. Signed-off-by: Hongbo Li <lihongbo22@huawei.com> Link: https://patch.msgid.link/20240904014956.2035117-1-lihongbo22@huawei.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-09-05Merge branch 'bonding-support-new-xfrm-state-offload-functions'Paolo Abeni
Hangbin Liu says: ==================== Bonding: support new xfrm state offload functions Add 2 new xfrm state offload functions xdo_dev_state_advance_esn and xdo_dev_state_update_stats for bonding. The xdo_dev_state_free will be added by Jianbo's patchset [1]. I will add the bonding xfrm policy offload in future. v7: no update, just rebase the code. v6: Use "Return: " based on ./scripts/kernel-doc (Simon Horman) v5: Rebase to latest net-next, update function doc (Jakub Kicinski) v4: Ratelimit pr_warn (Sabrina Dubroca) v3: Re-format bond_ipsec_dev, use slave_warn instead of WARN_ON (Nikolay Aleksandrov) Fix bond_ipsec_dev defination, add *. (Simon Horman, kernel test robot) Fix "real" typo (kernel test robot) v2: Add a function to process the common device checking (Nikolay Aleksandrov) Remove unused variable (Simon Horman) v1: lore.kernel.org/netdev/20240816035518.203704-1-liuhangbin@gmail.com ==================== Link: https://patch.msgid.link/20240904003457.3847086-1-liuhangbin@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-09-05bonding: support xfrm state updateHangbin Liu
The patch add xfrm statistics update for bonding IPsec offload. Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org> Acked-by: Jay Vosburgh <jv@jvosburgh.net> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-09-05bonding: Add ESN support to IPSec HW offloadHangbin Liu
Currently, users can see that bonding supports IPSec HW offload via ethtool. However, this functionality does not work with NICs like Mellanox cards when ESN (Extended Sequence Numbers) is enabled, as ESN functions are not yet supported. This patch adds ESN support to the bonding IPSec device offload, ensuring proper functionality with NICs that support ESN. Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org> Acked-by: Jay Vosburgh <jv@jvosburgh.net> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-09-05bonding: add common function to check ipsec deviceHangbin Liu
This patch adds a common function to check the status of IPSec devices. This function will be useful for future implementations, such as IPSec ESN and state offload callbacks. Suggested-by: Nikolay Aleksandrov <razor@blackwall.org> Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org> Acked-by: Jay Vosburgh <jv@jvosburgh.net> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-09-05Merge tag 'amd-pstate-v6.11-2024-09-04' of ↵Rafael J. Wysocki
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/superm1/linux Pull an amd-pstate fix for 6.11 from Mario Limonciello: "second round of amd-pstate fixes for 6.11: * Fix an incorrect warning emitted on processors that don't support X86_FEATURE_CPPC." * tag 'amd-pstate-v6.11-2024-09-04' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/superm1/linux: cpufreq/amd-pstate: Remove warning for X86_FEATURE_CPPC on certain Zen models
2024-09-05thermal: core: Drop thermal_zone_device_is_enabled()Rafael J. Wysocki
There are only two callers of thermal_zone_device_is_enabled() and one of them call is under the zone lock and the other one uses lockdep_assert_held() on that lock. Thus the lockdep_assert_held() in thermal_zone_device_is_enabled() is redundant and it could be dropped, but then the function would merely become a wrapper around a simple tz->mode check that is more convenient to do directly. Accordingly, drop thermal_zone_device_is_enabled() altogether and update its callers to check tz->mode directly as appropriate. While at it, combine the tz->mode and tz->suspended checks in __thermal_zone_device_update() because they are of a similar category and if any of them evaluates to "true", the outcome is the same. No intentinal functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/9353673.CDJkKcVGEf@rjwysocki.net
2024-09-05thermal: core: Check passive delay in monitor_thermal_zone()Rafael J. Wysocki
The only case in which thermal_zone_device_set_polling() is called with its second argument equal to zero is when passive cooling is under way and passive_delay_jiffies is 0, which only happens when the given thermal zone is not polled at all. If monitor_thermal_zone() is modified to check passive_delay_jiffies directly, the check of the thermal_zone_device_set_polling() second argument against 0 can be dropped and a passive_delay check can be dropped from thermal_zone_device_register_with_trips(), so change the code accordingly. No intentional functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/2004353.PYKUYFuaPT@rjwysocki.net
2024-09-05thermal: core: Drop dead code from monitor_thermal_zone()Rafael J. Wysocki
Since monitor_thermal_zone() is only called when the given thermal zone has been enabled, as per the thermal_zone_device_is_enabled() check in __thermal_zone_device_update(), the tz->mode check in it always evaluates to "false" and the thermal_zone_device_set_polling() invocation depending on it is dead code, so drop it. No functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/10547425.nUPlyArG6x@rjwysocki.net
2024-09-05thermal: core: Drop redundant lockdep_assert_held()Rafael J. Wysocki
Along the lines of commit 24aad192c671 ("thermal: core: Drop redundant checks from thermal_bind_cdev_to_trip()") notice that thermal_unbind_cdev_from_trip() is only called by thermal_zone_cdev_unbind() under the thermal zone lock, so it need not use lockdep_assert_held() for that lock. No functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/3341369.44csPzL39Z@rjwysocki.net
2024-09-05thermal: gov_bang_bang: Adjust states of all uninitialized instancesRafael J. Wysocki
If a cooling device is registered after a thermal zone it should be bound to and the trip point it should be bound to has already been crossed by the zone temperature on the way up, the cooling device's state may need to be adjusted, but the Bang-bang governor will not do that because its .manage() callback only looks at thermal instances for trip points whose thresholds are below or at the zone temperature. Address this by updating bang_bang_manage() to look at all of the uninitialized thermal instances and setting their target states in accordance with the position of the zone temperature with respect to the threshold of the given trip point. Fixes: 5f64b4a1ab1b ("thermal: gov_bang_bang: Add .manage() callback") Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Lukasz Luba <lukasz.luba@arm.com> Link: https://patch.msgid.link/6103874.lOV4Wx5bFT@rjwysocki.net
2024-09-05thermal: sysfs: Add sanity checks for trip temperature and hysteresisRafael J. Wysocki
Add sanity checks for new trip temperature and hysteresis values to trip_point_temp_store() and trip_point_hyst_store() to prevent trip point threshold from falling below THERMAL_TEMP_INVALID. However, still allow user space to pass THERMAL_TEMP_INVALID as the new trip temperature value to invalidate the trip if necessary. Also allow the hysteresis to be updated when the temperature is invalid to allow user space to avoid having to adjust hysteresis after a valid temperature has been set, but in that case just change the value and do nothing else. Fixes: be0a3600aa1e ("thermal: sysfs: Rework the handling of trip point updates") Cc: 6.8+ <stable@vger.kernel.org> # 6.8+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Lukasz Luba <lukasz.luba@arm.com> Link: https://patch.msgid.link/12528772.O9o76ZdvQC@rjwysocki.net
2024-09-05net: dsa: vsc73xx: fix possible subblocks range of CAPT blockPawel Dembicki
CAPT block (CPU Capture Buffer) have 7 sublocks: 0-3, 4, 6, 7. Function 'vsc73xx_is_addr_valid' allows to use only block 0 at this moment. This patch fix it. Fixes: 05bd97fc559d ("net: dsa: Add Vitesse VSC73xx DSA router driver") Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> Link: https://patch.msgid.link/20240903203340.1518789-1-paweldembicki@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-09-05Merge tag 'qcom-arm64-for-6.12' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt Qualcomm Arm64 DeviceTree updates for v6.12 This introduces support for the following devices: - Lenovo Thinkpad T14s Gen 6 - Microsoft Surface Laptop 7 laptop - Lenovo A6000 - Lenovo A6010 - Samsung Galaxy J3, - Lenovo Vibe K5 (multiple variants) - LG G4 IPQ5332 global clock controller is marked as an interconnect-provider, and the USB interrupt triggers are corrected. Touchscreen description is added to the Samsung Galaxy Core Prime and Max, and touch keys are added to the Samsung Galaxy Grand Prime and Galaxy Tab A. Camera flash is added to BQ Aquaris M5 and X5. The SD-card slot is described for the QCM6490 IDP. For SA8775P CPU and LLCC bwmon is added, audio, compute and general purpose DSP remoteprocs are added, with FastRPC on audio and compute DSP. CPUidle states, capacity and DPC properties are added. On SC8180X definitions for the multiport USB controller is introduced, and enabled on the Lenovo Flex 5G to bring the camera to life. Power key definitions are added as well. The RGB camera sensor on the Lenovo ThinkPad X13s is described. PCIe pinconf properties are cleaned up on this and the CRD. The four USB Type-A ports found on the SA8295P ADP are enabled. The modem subsystem remoteproc is introduced on the SDX75 and enabled on the IDP device. Camera, display and GPU clock controllers are added for the SM4450 platform. On the F(x)tec Pro1X device, display, GPU, WiFi, RGB LED, SD-card, remoteprocs, USB3 SuperSpeed, touchscreen, IO-expander, hall switch, caps lock LED and camera button are introduced. The camera clock controller is added to SM8150, and the GPU-only "amd,imageon" compatible is dropped from the MTP device. Refgen regulator for the DSI nodes of SM8350 is described, and the display subsystem interconnect paths are corrected. The camera control interface controllers are described on both SM8550 and SM8650. The bluetooth node on on SM8550 QRD, SM8650 QRD and SM8650 HDK are transitioned to the power sequence description. WiFi is added to the SM8550 hardware development kit (HDK). On the X1 Elite platform, one more UART, a DisplayPort PHY, the USB multiport controller, a PCIe controller and PHY are added. Orientation switching is wired up for the USB+DP PHYs. RPMh statistics node is added. For the X1 Elite CRD the LID switch and the SDX65 modems are introduced. * tag 'qcom-arm64-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (120 commits) arm64: dts: qcom: x1e80100: Fix PHY for DP2 arm64: dts: qcom: qcm6490-idp: Add SD Card node arm64: dts: qcom: x1e80100: Add orientation-switch to all USB+DP QMP PHYs arm64: dts: qcom: Add X1E78100 ThinkPad T14s Gen 6 dt-bindings: arm: qcom: Add Lenovo ThinkPad T14s Gen 6 Revert "arm64: dts: qcom: msm8939-longcheer-l9100: Add rear flash" arm64: dts: qcom: Add support for X1-based Surface Laptop 7 devices arm64: dts: qcom: x1e80100: Add UART2 arm64: dts: qcom: x1e80100-pmics: Add PMC8380C PWM dt-bindings: arm: qcom: Add Surface Laptop 7 devices arm64: dts: qcom: sm8150-mtp: drop incorrect amd,imageon arm64: qcom: sa8775p: Add ADSP and CDSP0 fastrpc nodes arm64: dts: qcom: x1e80100: Add USB Multiport controller arm64: dts: qcom: sa8775p: fix the fastrpc label arm64: dts: qcom: ipq5332: Add icc provider ability to gcc dt-bindings: interconnect: Add Qualcomm IPQ5332 support arm64: dts: qcom: sm8250: move lpass codec macros to use clks directly arm64: dts: qcom: msm8998: Add disabled support for LPASS iommu for Q6 dt-bindings: clock: gcc-msm8998: Add Q6 and LPASS clocks definitions arm64: dts: qcom: msm8976: Add restart node ... Link: https://lore.kernel.org/r/20240904215752.24465-1-andersson@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05Merge tag 'qcom-arm32-for-6.12' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt Qualcomm Arm32 DeviceTree updates for v6.12 MSM8226 gains CPU frequency scaling support and CPU thermal zones wired up. The Nokia Lumia 630 and 830 gains inertial sensors. Samsung Galaxy S5 gains pstore functionality. A range of fixes for DeviceTree validation issues are added. * tag 'qcom-arm32-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: ARM: dts: qcom: add generic compat string to RPM glink channels ARM: dts: qcom: msm8226-microsoft-common: Add inertial sensors ARM: dts: qcom: msm8226: Convert APCS usages to mbox interface ARM: dts: qcom: msm8226: Hook up CPU cooling ARM: dts: qcom: msm8226: Add CPU frequency scaling support ARM: dts: qcom: {a,i}pq8064: correct clock-names in sata node ARM: dts: qcom: apq8064: drop reg-names on sata-phy node ARM: dts: qcom: msm8974pro-samsung-klte: Add pstore node ARM: dts: qcom: ipq4019: adhere to pinctrl dtschema ARM: dts: qcom: ipq8064: adhere to pinctrl dtschema ARM: dts: qcom: apq8064: adhere to pinctrl dtschema ARM: dts: qcom: asus,nexus7-flo: remove duplicate pinctrl handle in i2c nodes ARM: dts: qcom: apq8064-pins: correct error in drive-strength property ARM: dts: qcom: pma8084: add pon node Link: https://lore.kernel.org/r/20240904193228.15466-1-andersson@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>