* sunxi-5.17: Add series patches rtw88, rtw89 drivers
* Fix sunxi-5.17 for v5.17.4 version
* Print the error message and its contents
* rtl8822bs: used if kernel version less 5.16
Restrict the use of the wifi driver" "rtl8822bs" for
the kernel version less than 5.16
* Add reg_ahci_5v status okay for bananapro board
* Bananapro: add AXP209 regulators
* Fix series.conf, Disable the patch that is not being applied.
* Fix linux-sunxi64-edge.config for v5.17.3
* Fix linux-sunxi-edge.config to v5.17.3
* Switch EDGE to core 5.17 for sunxi
* Remove the old rtl8723cs driver which is incompatible with the new kernel and cannot be used.
* Use AUFS if the kernel version is less than 5.16
* Print the last 20 lines of the log if the kernel compilation failed.
* Set KERNEL_VERSION_LEVEL to 5.17
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Add 88 new patches to series. tag: orange-pi-5.17-20220409-0454
* Fix the applicability of patches.megous to the v5.17.3 kernel
* Fix series.conf. Disable the patch that is not being applied
* Add support for sun50i-h6-orangepi-3-lts
* Check the applicability in the series
* Move to a patches.armbian folder
* Bananapro: add AXP209 regulators
* fix-gpio-kconfig remove if EXPERT to allow normal build
* sunxi-5.17: Remove unused patches
* alias defined in patch 0007 is part of armada-372x.dtsi, so unnecessary in 37xx
* u-boot patch to dts shouldn't disable emmc or overwrite sdhci1
* update u-boot
* sunxi-5.15: Add reg_ahci_5v status okay for bananapro board
* Bananapro: add AXP209 regulators
* Fix series.conf, Disable the patch that is not being applied.
* sun7i-a20-bananapro: add reg_ahci_5v for sunxi-5.10
* sun7i-a20-bananapro: Add more regulators
* Rename patches for correct apply
* Disable the patch that is not being applied.
The patch is initially a crude hack. It solves one problem but creates
other problems. I don't know how to resolve the conflict correctly yet,
so I just disabled it.
add CONFIG_GPIO_SYSFS=y to linux-sunxi64-current.config and linux-sunxi64-edge.config
remove if EXPERT from /sys/class/gpio/... (sysfs interface) in /drivers/gpio/Kconfig
* The initial state of a series of patches for sunxi-5.17
tag orange-pi-5.17-20220323-1423
* DEBUG for sunxi-5.17
* Add Armbian patches to 5.17
* Fix duplicate nodes for sun50i-h5-orangepi-pc2
* Fix reg_ahci_5v to status okay for bananapro board
* Remove an unused patch for an unsupported sun50i-h6-tanix-tx6 board
* Fix duplicate nodes for sun50i-h5-orangepi-pc2
* Remove unused patch for pinctrl: sunxi: Fix deadlock.
This fix duplicates the upstream commit
896d1b8a36129c3f1378fbbafd7c394a877635b5 of the linux-5.15.y branch
pinctrl: sunxi: Use unique lockdep classes for IRQs
commit bac129dbc6560dfeb634c03f0c08b78024e71915 upstream.
This driver, like several others, uses a chained IRQ for each GPIO bank,
and forwards .irq_set_wake to the GPIO bank's upstream IRQ. As a result,
a call to irq_set_irq_wake() needs to lock both the upstream and
downstream irq_desc's. Lockdep considers this to be a possible deadlock
when the irq_desc's share lockdep classes, which they do by default:
============================================
WARNING: possible recursive locking detected
5.17.0-rc3-00394-gc849047c2473 #1 Not tainted
...
* Add to series.armbian Fix-duplicate-nodes-for-sun50i-h5-orangepi-pc2.patch
The problem with duplicate nodes in the device tree is that the first
one in the queue will be applied. The subsequent one will be ignored,
not replaced.
Fix spi-nor node initialization error for orangepi-pc2
[ 1.288263] spi-nor spi0.0: supply vdd not found, using dummy regulator
[ 1.306391] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[ 1.845203] Freeing initrd memory: 10824K
[ 1.855263] sun6i-spi 1c68000.spi: chipselect 0 already in use
[ 1.861159] spi_master spi0: spi_device register error /soc/spi@1c68000/spi-flash@0
[ 1.868842] spi_master spi0: Failed to create SPI device for /soc/spi@1c68000/spi-flash@0
Remove duplicate nodes from applied patches for the board
sun50i-h5-orangepi-pc2. After this fix:
[ 1.290252] sun50i-h5-pinctrl 1c20800.pinctrl: supply vcc-pc not found, using dummy regulator
[ 1.291250] spi-nor spi0.0: supply vdd not found, using dummy regulator
[ 1.310397] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[ 1.845686] Freeing initrd memory: 10824K
[ 1.854333] 2 fixed-partitions partitions found on MTD device spi0.0
[ 1.854369] Creating 2 MTD partitions on "spi0.0":
[ 1.854381] 0x000000000000-0x000000100000 : "uboot"
[ 1.855679] 0x000000100000-0x000000200000 : "env"
* Remove unused pinctrl-sunxi-Fix-misleading-lockdep-deadlock-warnin.patch
The problem was solved in the upstream kernel.
commit e221ef82d9f5e97bca61f7c25e2b58b04466de87 linux-5.16.y branch.
commit bac129dbc6560dfeb634c03f0c08b78024e71915 upstream.
This driver, like several others, uses a chained IRQ for each GPIO bank,
and forwards .irq_set_wake to the GPIO bank's upstream IRQ. As a result,
a call to irq_set_irq_wake() needs to lock both the upstream and
downstream irq_desc's. Lockdep considers this to be a possible deadlock
when the irq_desc's share lockdep classes, which they do by default:
============================================
WARNING: possible recursive locking detected
5.17.0-rc3-00394-gc849047c2473 #1 Not tainted
...
* Fix spi-nor node initialization error for orangepi-pc2
[ 1.288263] spi-nor spi0.0: supply vdd not found, using dummy regulator
[ 1.306391] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[ 1.845203] Freeing initrd memory: 10824K
[ 1.855263] sun6i-spi 1c68000.spi: chipselect 0 already in use
[ 1.861159] spi_master spi0: spi_device register error /soc/spi@1c68000/spi-flash@0
[ 1.868842] spi_master spi0: Failed to create SPI device for /soc/spi@1c68000/spi-flash@0
Remove duplicate nodes from applied patches for the board
sun50i-h5-orangepi-pc2. After this fix:
[ 1.290252] sun50i-h5-pinctrl 1c20800.pinctrl: supply vcc-pc not found, using dummy regulator
[ 1.291250] spi-nor spi0.0: supply vdd not found, using dummy regulator
[ 1.310397] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[ 1.845686] Freeing initrd memory: 10824K
[ 1.854333] 2 fixed-partitions partitions found on MTD device spi0.0
[ 1.854369] Creating 2 MTD partitions on "spi0.0":
[ 1.854381] 0x000000000000-0x000000100000 : "uboot"
[ 1.855679] 0x000000100000-0x000000200000 : "env"
* Add meson64 patch net: phy: meson-gxl: fix interrupt handling in forced mode
https://patchwork.kernel.org/project/linux-amlogic/patch/04cac530-ea1b-850e-6cfa-144a55c4d75d@gmail.com/
This PHY doesn't support a link-up interrupt source. If aneg is enabled
we use the "aneg complete" interrupt for this purpose, but if aneg is
disabled link-up isn't signaled currently.
According to a vendor driver there's an additional "energy detect"
interrupt source that can be used to signal link-up if aneg is disabled.
We can safely ignore this interrupt source if aneg is enabled.
This patch was tested on a TX3 Mini TV box with S905W (even though
boot message says it's a S905D).
This issue has been existing longer, but due to changes in phylib and
the driver the patch applies only from the commit marked as fixed.
Fixes: 84c8f773d2dc ("net: phy: meson-gxl: remove the use of .ack_callback()")
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
* Add meson64 kernel patch: net: phy: meson-gxl: improve link-up behavior
https://patchwork.kernel.org/project/linux-amlogic/patch/e3473452-a1f9-efcf-5fdd-02b6f44c3fcd@gmail.com/
Sometimes the link comes up but no data flows. This patch fixes
this behavior. It's not clear what's the root cause of the issue.
According to the tests one other link-up issue remains.
In very rare cases the link isn't even reported as up.
Fixes: 84c8f773d2dc ("net: phy: meson-gxl: remove the use of .ack_callback()")
Tested-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/net/phy/meson-gxl.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
* This is already contained in the 5.15.27 kernel
pinctrl: sunxi: Use unique lockdep classes for IRQs
commit 896d1b8a36129c3f1378fbbafd7c394a877635b5 linux-5.15.y
commit bac129dbc6560dfeb634c03f0c08b78024e71915 upstream.
This driver, like several others, uses a chained IRQ for each GPIO bank,
and forwards .irq_set_wake to the GPIO bank's upstream IRQ. As a result,
a call to irq_set_irq_wake() needs to lock both the upstream and
downstream irq_desc's. Lockdep considers this to be a possible deadlock
when the irq_desc's share lockdep classes, which they do by default:
============================================
WARNING: possible recursive locking detected
5.17.0-rc3-00394-gc849047c2473 #1 Not tainted
--------------------------------------------
init/307 is trying to acquire lock:
c2dfe27c (&irq_desc_lock_class){-.-.}-{2:2}, at: __irq_get_desc_lock+0x58/0xa0
but task is already holding lock:
c3c0ac7c (&irq_desc_lock_class){-.-.}-{2:2}, at: __irq_get_desc_lock+0x58/0xa0
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(&irq_desc_lock_class);
lock(&irq_desc_lock_class);
*** DEADLOCK ***
May be due to missing lock nesting notation
4 locks held by init/307:
#0: c1f29f18 (system_transition_mutex){+.+.}-{3:3}, at: __do_sys_reboot+0x90/0x23c
#1: c20f7760 (&dev->mutex){....}-{3:3}, at: device_shutdown+0xf4/0x224
#2: c2e804d8 (&dev->mutex){....}-{3:3}, at: device_shutdown+0x104/0x224
#3: c3c0ac7c (&irq_desc_lock_class){-.-.}-{2:2}, at: __irq_get_desc_lock+0x58/0xa0
stack backtrace:
CPU: 0 PID: 307 Comm: init Not tainted 5.17.0-rc3-00394-gc849047c2473 #1
Hardware name: Allwinner sun8i Family
unwind_backtrace from show_stack+0x10/0x14
show_stack from dump_stack_lvl+0x68/0x90
dump_stack_lvl from __lock_acquire+0x1680/0x31a0
__lock_acquire from lock_acquire+0x148/0x3dc
lock_acquire from _raw_spin_lock_irqsave+0x50/0x6c
_raw_spin_lock_irqsave from __irq_get_desc_lock+0x58/0xa0
__irq_get_desc_lock from irq_set_irq_wake+0x2c/0x19c
irq_set_irq_wake from irq_set_irq_wake+0x13c/0x19c
[tail call from sunxi_pinctrl_irq_set_wake]
irq_set_irq_wake from gpio_keys_suspend+0x80/0x1a4
gpio_keys_suspend from gpio_keys_shutdown+0x10/0x2c
gpio_keys_shutdown from device_shutdown+0x180/0x224
device_shutdown from __do_sys_reboot+0x134/0x23c
__do_sys_reboot from ret_fast_syscall+0x0/0x1c
However, this can never deadlock because the upstream and downstream
IRQs are never the same (nor do they even involve the same irqchip).
Silence this erroneous lockdep splat by applying what appears to be the
usual fix of moving the GPIO IRQs to separate lockdep classes.
Fixes: a59c99d9eaf9 ("pinctrl: sunxi: Forward calls to irq_set_irq_wake")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20220216040037.22730-1-samuel@sholland.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* This is already contained in the 5.16.13 kernel
pinctrl: sunxi: Use unique lockdep classes for IRQs
commit e221ef82d9f5e97bca61f7c25e2b58b04466de87 linux-5.16.y.
commit bac129dbc6560dfeb634c03f0c08b78024e71915 upstream.
This driver, like several others, uses a chained IRQ for each GPIO bank,
and forwards .irq_set_wake to the GPIO bank's upstream IRQ. As a result,
a call to irq_set_irq_wake() needs to lock both the upstream and
downstream irq_desc's. Lockdep considers this to be a possible deadlock
when the irq_desc's share lockdep classes, which they do by default:
============================================
WARNING: possible recursive locking detected
5.17.0-rc3-00394-gc849047c2473 #1 Not tainted
--------------------------------------------
....
* rk322x: restore drm patches, rework a couple of hunks due to upstream changes
* rockchip: restore drm patches, rework hunks due to upstreamed patch
* Revert also on media kernel
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Add megous files for 5.16, tag orange-pi-5.16-20220216-2000
* Optimize the selection of a set of patches
* Remove unused patches
* Fix the state on the version tag=v5.16.11
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Rockchip64 Linux-5.10y - drivers for Motorcomm YT8531
renamed the previous "net-phy-Add-driver-for-Motorcomm-YT85xx-PHYs.patch" to "net-phy-Add-driver-for-Motorcomm-1-YT85xx-PHYs.patch" to fix patch order and added a new patch "net-phy-Add-driver-for-Motorcomm-2-YT8531-PHYs.patch"
The new YT8531 patch is sourced from from Lean's OpenWrt source rockchip/patches-5.10/601-net-phy-Add-driver-for-Motorcomm-YT8531-PHYs.patch.
It is intended to extend a patch identical to Armbian's "net-phy-Add-driver-for-Motorcomm-YT85xx-PHYs.patch" and is used without alteration.
* Add new board OrangePi R1 LTS (rk3328)
Includes uBoot and support for Linux-5.10y
* Rockchip64 Linux-5.15y drivers for YT8531 and other Motorcomm chips
YT8010, YT8510, YT8511, YT8512, YT8521. The driver patch set is sourced from Xunlong-OrangePi OpenWRT and is used as is, with only a name and makefile change.
A single patch set uses the same underlying source code as the Armbian Linux-5.10y set, but uses inbuilt logic to apply tweaks that depend on the Linux kernel version.
The patch is renamed similarly to the 5.10 patch set, net-phy-Add-driver-for-Motorcomm-T85xx+PHYs.patch to imply code base continuity with the previous similar Armbian patch sets.
* Rockchip64 Linux-5.15y support for Orange Pi R1 Plus LTS
Includes DTS and makefile changes. A driver for net phy YT8531C is in a separate commit
* change orangepi-r1plus-lts.csc to orangepi-r1plus-lts.conf
board is now supported
* - add patch also to 5.16.y
- fix wrong patch permission
* Fix Makefile patch
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>