aboutsummaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)AuthorFilesLines
2023-09-25ARM: dts: renesas: marzen: Move Ethernet node to LBSCGeert Uytterhoeven1-15/+17
The SMSC LAN89218AQ Ethernet controller on the Marzen development board resides in the external address space of the Local Bus State Controller (LBSC). Move the Ethernet device node to reflect this. Signed-off-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/r/74a8ee61ed89c9ca0489156a4f135ecb825e56b9.1693481518.git.geert+renesas@glider.be
2023-09-25ARM: dts: renesas: r8a7792: Add LBSC nodeGeert Uytterhoeven1-0/+7
Add a minimal device node for the Local Bus State Controller (LBSC) on the R-Car V2H SoC, to be extended by board DTS files for devices residing in the LBSC external address space. Signed-off-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/r/182fce2257679f6a8963ecb77aae68af617556d1.1693481518.git.geert+renesas@glider.be
2023-09-25ARM: dts: renesas: r8a7779: Add LBSC nodeGeert Uytterhoeven1-0/+7
Add a minimal device node for the Local Bus State Controller (LBSC) on the R-Car H1 SoC, to be extended by board DTS files for devices residing in the LBSC external address space. Signed-off-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/r/2d0a6054306b4975355e65fe012f860ec00fcf55.1693481518.git.geert+renesas@glider.be
2023-09-25ARM: dts: renesas: r7s72100: Add BSC nodeGeert Uytterhoeven1-0/+7
Add a minimal device node for the Bus State Controller (BSC) on the RZ/A1H SoC, to be extended by board DTS files for devices residing in the BSC external address space. Signed-off-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/r/ccab4fa198225edcd3750f62532a1ee3c6d2a109.1693481518.git.geert+renesas@glider.be
2023-09-25ARM: dts: renesas: Remove unused LBSC nodes from board DTSGeert Uytterhoeven7-35/+0
Several board DTS files contain minimal device nodes that represent on-SoC Local Bus State Controllers (LBSC), although they belong in the SoC-specific DTS files instead. As these device nodes are incomplete and unused, and hamper adding proper nodes later, it is better to just remove them. Signed-off-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/r/76ece7602045670cbb8dff684c3366ba6eb89add.1693481518.git.geert+renesas@glider.be
2023-09-25ARM: dts: imx53: Adjust the ecspi compatibleFabio Estevam1-2/+2
Per fsl-imx-cspi.yaml, "fsl,imx53-ecspi" should not contain addtional compatible entries. Change it accordingly to fix the following schema warning: spi@63fac000: compatible: 'oneOf' conditional failed, one must be fixed: ['fsl,imx53-ecspi', 'fsl,imx51-ecspi'] is too long Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx7ulp: Fix usbphy1 compatibleFabio Estevam1-1/+1
Per fsl,mxs-usbphy.yaml, fsl,imx7ulp-usbphy is not compatible with fsl,imx6ul-usbphy. Remove 'fsl,imx6ul-usbphy' from the compatible string to fix the following schema warning: imx7ulp-com.dtb: usb-phy@40350000: compatible: 'oneOf' conditional failed, one must be fixed: ['fsl,imx7ulp-usbphy', 'fsl,imx6ul-usbphy'] is too long Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx6q-pistachio: Use a valid value for fsl,tx-d-calFabio Estevam1-2/+2
Passing 5 to fsl,tx-d-cal is not valid as per fsl,mxs-usbphy.yaml: imx6q-pistachio.dtb: usbphy@20c9000: fsl,tx-d-cal:0:0: 5 is less than the minimum of 79 from schema $id: http://devicetree.org/schemas/phy/fsl,mxs-usbphy.yaml# Pass the minimum value of 79 instead. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx6q-b650v3: Fix fsl,tx-cal-45-dn-ohmsFabio Estevam1-2/+2
Passing 55 to fsl,tx-cal-45-dn-ohms is not valid as per fsl,mxs-usbphy.yaml: imx6q-b650v3.dtb: usbphy@20c9000: fsl,tx-cal-45-dn-ohms:0:0: 55 is greater than the maximum of 54 from schema $id: http://devicetree.org/schemas/phy/fsl,mxs-usbphy.yaml# Pass the maximum value of 54 instead. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx28-tx28: Move phy_type to USB nodeFabio Estevam1-2/+2
phy_type is a property for the USB controller, not for the USB PHY. Move it to the USB controller nodes to fix the following schema warning: imx28-tx28.dtb: usbphy@8007c000: 'phy_type' does not match any of the regexes: 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/phy/fsl,mxs-usbphy.yaml Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: mxs: Switch to #pwm-cells = <3>Fabio Estevam15-15/+15
mxs-pwm.yaml documents that #pwm-cells should be 3. This is correct as the last cell may indicate the PWM polarity. Convert all mxs devicetree files to using #pwm-cells = <3> for consistency. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Uwe Kleine-König <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx6q: Add Variscite MX6 Custom board supportJames Hilliard2-0/+248
This patch adds support for the Variscite MX6 SoM Carrier Board. This Carrier-Board has the following : - LVDS interface for the VLCD-CAP-GLD-LVDS 7" LCD 800 x 480 touch display - HDMI Connector - USB Host + USB OTG Connector - 10/100/1000 Mbps Ethernet - miniPCI-Express slot - SD Card connector - Audio Headphone/Line In jack connectors - S-ATA - On-board DMIC - RS485 Header - CAN bus header - SPI header - Camera Interfaces header - OnBoard RTC with Coin Backup battery socket - RS232 Debug Header (IDC10) - RS232 DTE Product Page : https://www.variscite.com/product/single-board-computers/var-mx6customboard The dts file based on the ones provided by Variscite on their own kernel, but adapted for mainline. Cc: Pierluigi Passaro <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Gregory CLEMENT <[email protected]> Signed-off-by: James Hilliard <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx6qdl: Add Variscite VAR-SOM-MX6 SoM supportJames Hilliard1-0/+569
This patch adds support for the Variscite VAR_SOM-MX6 SoM with : - i.MX6 Quad or Dual Lite SoC - 256 – 4096 MB DDR3 - 4-64 GB eMMC - 128 – 1024 MB SLC NAND - Camera Interface - HDMI+CEC interface - LVDS / DSI / Parallel RGB interfaces - Ethernet RGMII interface - On-SoM Wi-Fi/Bluetooth with WiLink wl183x SDIO Module - SD/MMC/SDIO interface - USB Host + USB OTG interface - I2C interfaces - SPI interfaces - PCI-Express 2.0 interface - on-SoM Audio Codec with HP/Line-In interfaces + DMIC interface - Digital Audio interface - S/PDIF interface Product website : https://www.variscite.com/product/system-on-module-som/cortex-a9/var-som-mx6-cpu-freescale-imx6/ Support is handled with a SoM-centric dtsi exporting the default interfaces along the default pinmuxing to be enabled by the board dts file. This file is based on the one provided by Variscite on their own kernel, but adapted for mainline. Cc: Pierluigi Passaro <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Gregory CLEMENT <[email protected]> Signed-off-by: James Hilliard <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: mxs: Fix duart clock-namesFabio Estevam2-2/+2
Per pl011.yaml, the first entry of clock-names should be "uartclk". Change it accordingly to fix the following schema warning: imx23-xfi3.dtb: serial@80070000: clock-names:0: 'uartclk' was expected The pl011 driver does not search for the clock name, so this change is safe and was tested on a imx28-evk board. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx6ull/7d-colibri: Fix compatibleFabio Estevam13-14/+6
Fix the imx6ull/7d-colibri devicetrees as per the rules defined at fsl.yaml. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Marcel Ziswiler <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx6ull-phytec-tauri: Fix compatibleFabio Estevam2-4/+4
Per fsl.yaml, the order of the compatible strings are not correct for imx6ull-phytec-tauri-emmc and imx6ull-phytec-tauri-nand. Fix them accordingly. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx6ull-phytec-tauri: Remove board model and compatibleFabio Estevam1-5/+0
The imx6ull-phytec-tauri.dtsi file is included in two places: imx6ull-phytec-tauri-emmc.dts imx6ull-phytec-tauri-nand.dts These two files overwrite the board model and compatible locally, so there is no need for describing them in imx6ull-phytec-tauri.dtsi. Remove the board model and compatible. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx7s: Fix CSI clocksFabio Estevam1-4/+2
Per nxp,imx7-csi.yaml, there is only one CSI clock entry. Fix it. This fixes the following schema warnings: imx7d-zii-rpu2.dtb: csi@30710000: clocks: [[1, 413], [1, 326], [1, 413]] is too long from schema $id: http://devicetree.org/schemas/media/nxp,imx7-csi.yaml# imx7d-zii-rpu2.dtb: csi@30710000: clock-names:0: 'mclk' was expected from schema $id: http://devicetree.org/schemas/media/nxp,imx7-csi.yaml# imx7d-zii-rpu2.dtb: csi@30710000: clock-names: ['axi', 'mclk', 'dcic'] is too long from schema $id: http://devicetree.org/schemas/media/nxp,imx7-csi.yaml# Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx51-zii-rdu1: Use preferred i2c-gpios propertiesFabio Estevam1-2/+2
The 'gpios' property to describe the SDA and SCL GPIOs is considered deprecated according to i2c-gpio.yaml. Switch to the preferred 'sda-gpios' and 'scl-gpios' properties. This fixes the following schema warnings: imx51-zii-rdu1.dtb: i2c-gpio: 'sda-gpios' is a required property from schema $id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml# imx51-zii-rdu1.dtb: i2c-gpio: 'scl-gpios' is a required property from schema $id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml# Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx6ul-tx6ul: Use preferred i2c-gpios propertiesFabio Estevam1-4/+2
The 'gpios' property to describe the SDA and SCL GPIOs is considered deprecated according to i2c-gpio.yaml. Switch to the preferred 'sda-gpios' and 'scl-gpios' properties. This fixes the following schema warnings: imx6ul-tx6ul-0011.dtb: i2c-gpio: 'sda-gpios' is a required property from schema $id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml# imx6ul-tx6ul-0011.dtb: i2c-gpio: 'scl-gpios' is a required property from schema $id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml# Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx6qdl-gw591: Remove lis2de12 interrupt-namesFabio Estevam2-2/+0
According to st,st-sensors.yaml, the 'interrupt-names' property is not a valid one. Remove it to fix the following schema warnings: imx6dl-gw5912.dtb: accel@19: 'interrupt-names' does not match any of the regexes: 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/iio/st,st-sensors.yaml# Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Tim Harvey <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx6qdl-gw5904: add internal mdio nodesTim Harvey1-0/+29
Complete the switch definition by adding the internal mdio nodes. This does not change behavior on Linux but is required if the dt is used for U-Boot which requires the internal PHY ports to be defined for DSA. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-25ARM: dts: imx: add support for the ATM0700D4 panel attached to sk-imx53Dmitry Baryshkov4-0/+256
The SK-ATM0700D4-Plug is an extension board (provided by the same manufacturer, [1]) which can be connected to the SK-IMX53 panel kit. The panel can be connected either using the RGB parallel bus or using the LVDS connector (recommended). Add DT files describing this "shield", both RGB and LVDS connections. [1] http://starterkit.ru/html/index.php?name=shop&op=view&id=64 Signed-off-by: Dmitry Baryshkov <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-24ARM: dts: nuvoton: add missing space before {Krzysztof Kozlowski3-5/+5
Add missing whitespace between node name/label and opening {. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Krzysztof Kozlowski <[email protected]>
2023-09-24ARM: dts: mediatek: minor whitespace cleanup around '='Krzysztof Kozlowski2-3/+3
The DTS code coding style expects exactly one space before and after '=' sign. Reviewed-by: AngeloGioacchino Del Regno <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Krzysztof Kozlowski <[email protected]>
2023-09-24ARM: dts: mediatek: add missing space before {Krzysztof Kozlowski2-30/+30
Add missing whitespace between node name/label and opening {. Reviewed-by: AngeloGioacchino Del Regno <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Krzysztof Kozlowski <[email protected]>
2023-09-24ARM: dts: omap3-devkit8000: correct ethernet reg addresses (split)Krzysztof Kozlowski1-2/+2
The davicom,dm9000 Ethernet Controller accepts two reg addresses. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Krzysztof Kozlowski <[email protected]>
2023-09-24ARM: dts: nxp: imx6qdl-nitrogen6: correct regulator node nameKrzysztof Kozlowski1-1/+1
Root node is not a bus, thus top-level nodes do not have unit addresses. Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-24ARM: dts: imx6ul: mba6ulx: Fix gpio-keys button node namesAlexander Stein1-3/+3
Numbers are separated by dashes. Fixes the warnings: arch/arm/boot/dts/nxp/imx/imx6ull-tqma6ull2-mba6ulx.dtb: gpio-keys: 'button1', 'button2', 'button3' do not match any of the regexes: '^(button|event|key|switch|(button|event|key|switch)-[a-z0-9-]+|[a-z0-9-]+-(button|event|key|switch))$', 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/input/gpio-keys.yaml# Signed-off-by: Alexander Stein <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-24ARM: dts: imx6ul: mba6ulx: Mark gpio-buttons as wakeup-sourceAlexander Stein1-0/+3
I2C expander is capable of generating an IRQ during powersave, so the attached buttons can be used for waking up the system. Signed-off-by: Alexander Stein <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2023-09-23ARM: dts: qcom: sdx65-mtp: Specify PM7250B SID to useLuca Weiss1-0/+4
Now that the pm7250b.dtsi can be configured to be on a different SID, we also need to specify it for this dts file. Set it to the SID 2/3 like it was before commit 8e2d56f64572 ("arm64: dts: qcom: pm7250b: make SID configurable"). Fixes: 8e2d56f64572 ("arm64: dts: qcom: pm7250b: make SID configurable") Signed-off-by: Luca Weiss <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bjorn Andersson <[email protected]>
2023-09-22hardening: Provide Kconfig fragments for basic optionsKees Cook1-0/+7
Inspired by Salvatore Mesoraca's earlier[1] efforts to provide some in-tree guidance for kernel hardening Kconfig options, add a new fragment named "hardening-basic.config" (along with some arch-specific fragments) that enable a basic set of kernel hardening options that have the least (or no) performance impact and remove a reasonable set of legacy APIs. Using this fragment is as simple as running "make hardening.config". More extreme fragments can be added[2] in the future to cover all the recognized hardening options, and more per-architecture files can be added too. For now, document the fragments directly via comments. Perhaps .rst documentation can be generated from them in the future (rather than the other way around). [1] https://lore.kernel.org/kernel-hardening/[email protected]/ [2] https://github.com/KSPP/linux/issues/14 Cc: Salvatore Mesoraca <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Signed-off-by: Kees Cook <[email protected]>
2023-09-22ARM: dts: aspeed: bonnell: Add reserved memory for TPM event logEddie James1-1/+7
Trusted boot support requires the platform event log passed up from the bootloader. In U-Boot, this can now be accomplished with a reserved memory region, so add a region for this purpose to the Bonnell BMC devicetree. Signed-off-by: Eddie James <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Joel Stanley <[email protected]>
2023-09-21Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netPaolo Abeni1-1/+1
Cross-merge networking fixes after downstream PR. No conflicts. Signed-off-by: Paolo Abeni <[email protected]>
2023-09-21futex: Add sys_futex_requeue()[email protected]1-0/+1
Finish off the 'simple' futex2 syscall group by adding sys_futex_requeue(). Unlike sys_futex_{wait,wake}() its arguments are too numerous to fit into a regular syscall. As such, use struct futex_waitv to pass the 'source' and 'destination' futexes to the syscall. This syscall implements what was previously known as FUTEX_CMP_REQUEUE and uses {val, uaddr, flags} for source and {uaddr, flags} for destination. This design explicitly allows requeueing between different types of futex by having a different flags word per uaddr. Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Reviewed-by: Thomas Gleixner <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2023-09-21futex: Add sys_futex_wait()[email protected]1-0/+1
To complement sys_futex_waitv()/wake(), add sys_futex_wait(). This syscall implements what was previously known as FUTEX_WAIT_BITSET except it uses 'unsigned long' for the value and bitmask arguments, takes timespec and clockid_t arguments for the absolute timeout and uses FUTEX2 flags. The 'unsigned long' allows FUTEX2_SIZE_U64 on 64bit platforms. Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Reviewed-by: Thomas Gleixner <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2023-09-21futex: Add sys_futex_wake()[email protected]1-0/+1
To complement sys_futex_waitv() add sys_futex_wake(). This syscall implements what was previously known as FUTEX_WAKE_BITSET except it uses 'unsigned long' for the bitmask and takes FUTEX2 flags. The 'unsigned long' allows FUTEX2_SIZE_U64 on 64bit platforms. Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Reviewed-by: Thomas Gleixner <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2023-09-19ARM: dts: qcom: drop incorrect cell-index from SPMIKrzysztof Kozlowski2-2/+0
The SPMI controller (PMIC Arbiter) does not use nor allow 'cell-index' property: qcom-sdx55-mtp.dtb: spmi@c440000: Unevaluated properties are not allowed ('cell-index' was unexpected) Signed-off-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Konrad Dybcio <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bjorn Andersson <[email protected]>
2023-09-19ARM: dts: qcom-sdx55: switch PCIe QMP PHY to new style of bindingsDmitry Baryshkov1-19/+12
Change the PCIe QMP PHY to use newer style of QMP PHY bindings (single resource region, no per-PHY subnodes). Reviewed-by: Konrad Dybcio <[email protected]> Signed-off-by: Dmitry Baryshkov <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bjorn Andersson <[email protected]>
2023-09-19xen: simplify evtchn_do_upcall() call mazeJuergen Gross1-1/+1
There are several functions involved for performing the functionality of evtchn_do_upcall(): - __xen_evtchn_do_upcall() doing the real work - xen_hvm_evtchn_do_upcall() just being a wrapper for __xen_evtchn_do_upcall(), exposed for external callers - xen_evtchn_do_upcall() calling __xen_evtchn_do_upcall(), too, but without any user Simplify this maze by: - removing the unused xen_evtchn_do_upcall() - removing xen_hvm_evtchn_do_upcall() as the only left caller of __xen_evtchn_do_upcall(), while renaming __xen_evtchn_do_upcall() to xen_evtchn_do_upcall() Signed-off-by: Juergen Gross <[email protected]> Reviewed-by: Boris Ostrovsky <[email protected]> Reviewed-by: Thomas Gleixner <[email protected]> Signed-off-by: Juergen Gross <[email protected]>
2023-09-18ARM: dts: at91/trivial: fix typo in crypto DT namingNicolas Ferre1-1/+1
Fix typo in DT name for TDES node. Signed-off-by: Nicolas Ferre <[email protected]> Reviewed-by: Tudor Ambarus <[email protected]> Link: https://lore.kernel.org/r/[email protected] [claudiu.beznea: removed fixes tag as tdes node is not referenced anywhere by its node name] Signed-off-by: Claudiu Beznea <[email protected]>
2023-09-15arm32, bpf: add support for 64 bit division instructionPuranjay Mohan1-1/+115
ARM32 doesn't have instructions to do 64-bit/64-bit divisions. So, to implement the following instructions: BPF_ALU64 | BPF_DIV BPF_ALU64 | BPF_MOD BPF_ALU64 | BPF_SDIV BPF_ALU64 | BPF_SMOD We implement the above instructions by doing function calls to div64_u64() and div64_u64_rem() for unsigned division/mod and calls to div64_s64() for signed division/mod. Signed-off-by: Puranjay Mohan <[email protected]> Reviewed-by: Russell King (Oracle) <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexei Starovoitov <[email protected]>
2023-09-15arm32, bpf: add support for 32-bit signed divisionPuranjay Mohan2-8/+32
The cpuv4 added a new BPF_SDIV instruction that does signed division. The encoding is similar to BPF_DIV but BPF_SDIV sets offset=1. ARM32 already supports 32-bit BPF_DIV which can be easily extended to support BPF_SDIV as ARM32 has the SDIV instruction. When the CPU is not ARM-v7, we implement that SDIV/SMOD with the function call similar to the implementation of DIV/MOD. Signed-off-by: Puranjay Mohan <[email protected]> Reviewed-by: Russell King (Oracle) <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexei Starovoitov <[email protected]>
2023-09-15arm32, bpf: add support for unconditional bswap instructionPuranjay Mohan1-3/+5
The cpuv4 added a new unconditional bswap instruction with following behaviour: BPF_ALU64 | BPF_TO_LE | BPF_END with imm = 16/32/64 means: dst = bswap16(dst) dst = bswap32(dst) dst = bswap64(dst) As we already support converting to big-endian from little-endian we can use the same for unconditional bswap. just treat the unconditional scenario the same as big-endian conversion. Signed-off-by: Puranjay Mohan <[email protected]> Reviewed-by: Russell King (Oracle) <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexei Starovoitov <[email protected]>
2023-09-15arm32, bpf: add support for sign-extension mov instructionPuranjay Mohan1-5/+30
The cpuv4 added a new BPF_MOVSX instruction that sign extends the src before moving it to the destination. BPF_ALU | BPF_MOVSX sign extends 8-bit and 16-bit operands into 32-bit operands, and zeroes the remaining upper 32 bits. BPF_ALU64 | BPF_MOVSX sign extends 8-bit, 16-bit, and 32-bit operands into 64-bit operands. The offset field of the instruction is used to tell the number of bit to use for sign-extension. BPF_MOV and BPF_MOVSX have the same code but the former sets offset to 0 and the later one sets the offset to 8, 16 or 32 The behaviour of this instruction is dst = (s8,s16,s32)src On ARM32 the implementation uses LSH and ARSH to extend the 8/16 bits to a 32-bit register and then it is sign extended to the upper 32-bit register using ARSH. For 32-bit we just move it to the destination register and use ARSH to extend it to the upper 32-bit register. Signed-off-by: Puranjay Mohan <[email protected]> Reviewed-by: Russell King (Oracle) <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexei Starovoitov <[email protected]>
2023-09-15arm32, bpf: add support for sign-extension load instructionPuranjay Mohan2-1/+75
The cpuv4 added the support of an instruction that is similar to load but also sign-extends the result after the load. BPF_MEMSX | <size> | BPF_LDX means dst = *(signed size *) (src + offset) here <size> can be one of BPF_B, BPF_H, BPF_W. ARM32 has instructions to load a byte or a half word with sign extension into a 32bit register. As the JIT uses two 32 bit registers to simulate a 64-bit BPF register, an extra instruction is emitted to sign-extent the result up to the second register. Signed-off-by: Puranjay Mohan <[email protected]> Reviewed-by: Russell King (Oracle) <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexei Starovoitov <[email protected]>
2023-09-15arm32, bpf: add support for 32-bit offset jmp instructionPuranjay Mohan1-2/+7
The cpuv4 adds unconditional jump with 32-bit offset where the immediate field of the instruction is to be used to calculate the jump offset. BPF_JA | BPF_K | BPF_JMP32 => gotol +imm => PC += imm. Signed-off-by: Puranjay Mohan <[email protected]> Reviewed-by: Russell King (Oracle) <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexei Starovoitov <[email protected]>
2023-09-14ARM: dts: samsung: exynos4210: enable pollingMateusz Majewski1-2/+10
It seems that thermal in Exynos 4210 is broken without this, as it will never decrease cooling after increasing it. Signed-off-by: Mateusz Majewski <[email protected]> Link: https://lore.kernel.org/r/[email protected] [krzk: fix comment coding style and line wrapping] Signed-off-by: Krzysztof Kozlowski <[email protected]>
2023-09-13ARM: omap2+: Downgrade u-boot version warnings to debug statementsTony Lindgren1-2/+2
We should be able to see real issues with dmesg -l err,warn. The u-boot revision warning should be a debug statement rather than a warning. Cc: Ivaylo Dimitrov <[email protected]> Cc: Carl Philipp Klemm <[email protected]> Cc: Merlijn Wajer <[email protected]> Cc: Pavel Machek <[email protected]> Reviewed-by: Sebastian Reichel <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2023-09-13ARM: dts: ti: omap: Fix noisy serial with overrun-throttle-ms for mapphoneTony Lindgren1-0/+1
On mapphone devices we may get lots of noise on the micro-USB port in debug uart mode until the phy-cpcap-usb driver probes. Let's limit the noise by using overrun-throttle-ms. Note that there is also a related separate issue where the charger cable connected may cause random sysrq requests until phy-cpcap-usb probes that still remains. Cc: Ivaylo Dimitrov <[email protected]> Cc: Carl Philipp Klemm <[email protected]> Cc: Merlijn Wajer <[email protected]> Cc: Pavel Machek <[email protected]> Reviewed-by: Sebastian Reichel <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>