Re: [PATCH 2/2] riscv: Fix text patching when IPI are used

2024-02-28 Thread Samuel Holland
Hi Alex, On 2024-02-28 11:51 AM, Alexandre Ghiti wrote: > For now, we use stop_machine() to patch the text and when we use IPIs for > remote icache flushes (which is emitted in patch_text_nosync()), the system > hangs. > > So instead, make sure every cpu executes the stop_machine() patching >

[PATCH 2/2] arm64: dts: allwinner: Enforce consistent MMC numbering

2021-04-18 Thread Samuel Holland
to change it. Signed-off-by: Samuel Holland --- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 6 ++ arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 6 ++ 2 files changed, 12 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i

[PATCH 1/2] ARM: dts: sunxi: h3/h5: Enforce consistent MMC numbering

2021-04-18 Thread Samuel Holland
to change it. Signed-off-by: Samuel Holland --- arch/arm/boot/dts/sunxi-h3-h5.dtsi | 6 ++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi index e27399aa052c..1cb669c835bd 100644 --- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi

[PATCH 0/2] sunxi: Enforce consistent MMC numbering

2021-04-18 Thread Samuel Holland
addresses for every SoC, or - Apply patches like these. Samuel Holland (2): ARM: dts: sunxi: h3/h5: Enforce consistent MMC numbering arm64: dts: allwinner: Enforce consistent MMC numbering arch/arm/boot/dts/sunxi-h3-h5.dtsi| 6 ++ arch/arm64/boot/dts/allwinner/sun50i-a6

[PATCH] nvmem: sunxi_sid: Set type to OTP

2021-04-18 Thread Samuel Holland
This device currently reports an "Unknown" type in sysfs. Since it is an eFuse hardware device, set its type to OTP. Signed-off-by: Samuel Holland --- drivers/nvmem/sunxi_sid.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/nvmem/sunxi_sid.c b/drivers/nvmem/sunxi_s

[PATCH] rtc: sun6i: Add NVMEM provider

2021-04-18 Thread Samuel Holland
-by: Samuel Holland --- drivers/rtc/rtc-sun6i.c | 42 + 1 file changed, 42 insertions(+) diff --git a/drivers/rtc/rtc-sun6i.c b/drivers/rtc/rtc-sun6i.c index e75020ab8024..f4a5e7465148 100644 --- a/drivers/rtc/rtc-sun6i.c +++ b/drivers/rtc/rtc-sun6i.c @@ -69,6

Re: [PATCH] debugfs: Fix use-after-free in debugfs_create_devm_seqfile()

2021-04-04 Thread Samuel Holland
On 4/4/21 5:08 AM, Greg Kroah-Hartman wrote: > On Sat, Apr 03, 2021 at 07:45:04PM -0500, Samuel Holland wrote: >> This function uses devres to clean up its allocation, but it never removes >> the >> file referencing that allocation. This causes a use-after-free and a

[PATCH] debugfs: Fix use-after-free in debugfs_create_devm_seqfile()

2021-04-03 Thread Samuel Holland
lated seq_file") Fixes: 0d519cbf38eed ("debugfs: remove return value of debugfs_create_devm_seqfile()") Signed-off-by: Samuel Holland --- fs/debugfs/file.c | 19 --- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/fs/debugfs/file.c b/fs/debugfs/file.

Re: [RFC PATCH] arm64: dts: allwinner: a64/h5: Add CPU idle states

2021-03-23 Thread Samuel Holland
On 3/22/21 8:56 PM, Andre Przywara wrote: >> I'm sending this patch as an RFC because it raises questions about how >> we handle firmware versioning. How far back does (or should) our support >> for old TF-A and Crust versions go? >> >> cpuidle has a problem that without working firmware support,

Re: [PATCH v2 0/5] arm64: sunxi: Enable the sun4i timer

2021-03-23 Thread Samuel Holland
On 3/22/21 9:18 AM, Daniel Lezcano wrote: > On 22/03/2021 05:47, Samuel Holland wrote: >> In preparation for adding CPU idle states, hook up the sun4i timer. >> Having a non-c3stop clockevent source available is necessary for all >> CPUs to simultaneously enter a local-

Re: [PATCH v4 2/4] drm: sun4i: dsi: Add bridge support

2021-03-23 Thread Samuel Holland
the DSI controller for bridge > functionalities. > > So, add support for bridge functionalities in Allwinner DSI > controller. > > Cc: Samuel Holland > Signed-off-by: Jagan Teki > --- > Note: > Samuel Holland, The existing kms hotplug dropped in order to > a

Re: [PATCH v4 1/4] drm: sun4i: dsi: Use drm_of_find_panel_or_bridge

2021-03-23 Thread Samuel Holland
On 3/23/21 5:53 PM, Laurent Pinchart wrote: > Hi Jagan, > > Thank you for the patch. > > On Mon, Mar 22, 2021 at 07:31:49PM +0530, Jagan Teki wrote: >> Replace of_drm_find_panel with drm_of_find_panel_or_bridge >> for finding panel, this indeed help to find the bridge if >> bridge support added.

[RFC PATCH] arm64: dts: allwinner: a64/h5: Add CPU idle states

2021-03-22 Thread Samuel Holland
enabling the idle state consumed no more average power than disabling the idle state at a variety of interrupt rates. Signed-off-by: Samuel Holland --- I'm sending this patch as an RFC because it raises questions about how we handle firmware versioning. How far back does (or should) our support

[PATCH v2 1/5] dt-bindings: timer: Simplify conditional expressions

2021-03-21 Thread Samuel Holland
The sun4i timer IP block has a variable number of interrupts based on the compatible. Use enums to combine the two sections for the existing 3-interrupt variants, and to simplify adding new compatible strings. Acked-by: Maxime Ripard Signed-off-by: Samuel Holland --- .../timer/allwinner,sun4i

[PATCH v2 4/5] arm64: dts: allwinner: Add sun4i MMIO timer nodes

2021-03-21 Thread Samuel Holland
that other CPU from entering an idle state. For all CPUs to power down at the same time, Linux needs a timer which is not tied to any CPU. Hook up the "sun4i" timer so it can be used for this purpose. It runs at 24 MHz, which balances resolution and power consumption. Signed-off-by: Samu

[PATCH v2 5/5] arm64: sunxi: Build the sun4i timer driver

2021-03-21 Thread Samuel Holland
While the ARM architectural timer is generatlly the best timer to use, a non-c3stop timer is needed for cpuidle. Build the "sun4i" timer driver so it can be used for this purpose. It is present on all 64-bit sunxi SoCs. Signed-off-by: Samuel Holland --- arch/arm64/Kconfig.platform

[PATCH v2 2/5] dt-bindings: timer: Add compatibles for sun50i timers

2021-03-21 Thread Samuel Holland
The sun50i SoCs contain timer blocks which are useful as broadcast clockevent sources. They each have 2 interrupts, matching the A23 variant, so add the new compatible strings with the A23 compatible as a fallback. Acked-by: Maxime Ripard Signed-off-by: Samuel Holland --- .../timer/allwinner

[PATCH v2 0/5] arm64: sunxi: Enable the sun4i timer

2021-03-21 Thread Samuel Holland
4-5 commit messages for clarity - Added Acked-by tags Samuel Holland (5): dt-bindings: timer: Simplify conditional expressions dt-bindings: timer: Add compatibles for sun50i timers arm64: dts: allwinner: a64: Sort watchdog node arm64: dts: allwinner: Add sun4i MMIO timer nodes arm64

[PATCH v2 3/5] arm64: dts: allwinner: a64: Sort watchdog node

2021-03-21 Thread Samuel Holland
Nodes should be sorted by unit address. Move the watchdog node to the correct place, so it will be next to the timer node when that is added. Signed-off-by: Samuel Holland --- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 16 1 file changed, 8 insertions(+), 8 deletions

Re: [PATCH 4/5] arm64: dts: allwinner: Add sun4i MMIO timer nodes

2021-03-15 Thread Samuel Holland
On 3/15/21 1:32 PM, Jernej Škrabec wrote: > Hi! > > Dne ponedeljek, 15. marec 2021 ob 05:32:49 CET je Samuel Holland napisal(a): >> For a CPU to enter an idle state, there must be some timer which can >> trigger an IRQ to wake it back up. The local ARM architectural timer

Re: [PATCH v7 0/2] hwspinlock: add sun6i hardware spinlock support

2021-03-15 Thread Samuel Holland
/bindings/hwlock/allwinner,sun6i-a31-hwspinlock.yaml > create mode 100644 drivers/hwspinlock/sun6i_hwspinlock.c > Thanks for the very thorough testing! For both patches: Reviewed-by: Samuel Holland

[PATCH 5/5] arm64: sunxi: Build the sun4i timer driver

2021-03-14 Thread Samuel Holland
While the ARM architectural timer is generatlly the best timer to use, a non-c3stop timer is needed for cpuidle. Use the sun4i timer for this purpose, which is present on all 64-bit sunxi SoCs. Signed-off-by: Samuel Holland --- arch/arm64/Kconfig.platforms | 1 + 1 file changed, 1 insertion

[PATCH 0/5] arm64: sunxi: Enable the sun4i timer

2021-03-14 Thread Samuel Holland
In preparation for adding CPU idle states, hook up the sun4i timer. Having a non-c3stop clockevent source available is necessary for all CPUs to simultaneously enter a local-timer-stop idle state. Samuel Holland (5): dt-bindings: timer: Simplify conditional expressions dt-bindings: timer: Add

[PATCH 2/5] dt-bindings: timer: Add compatibles for sun50i timers

2021-03-14 Thread Samuel Holland
The sun50i SoCs contain timer blocks which are useful as broadcast clockevent sources. They each have 2 interrupts, matching the A23 variant, so add the new compatible strings with the A23 compatible as a fallback. Signed-off-by: Samuel Holland --- .../timer/allwinner,sun4i-a10-timer.yaml

[PATCH 4/5] arm64: dts: allwinner: Add sun4i MMIO timer nodes

2021-03-14 Thread Samuel Holland
Signed-off-by: Samuel Holland --- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 9 + arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 9 + arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi | 9 + 3 files changed, 27 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/

[PATCH 3/5] arm64: dts: allwinner: a64: Sort watchdog node

2021-03-14 Thread Samuel Holland
Nodes should be sorted by unit address. Move the watchdog node to the correct place, so it will be next to the timer node when that is added. Signed-off-by: Samuel Holland --- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 16 1 file changed, 8 insertions(+), 8 deletions

[PATCH 1/5] dt-bindings: timer: Simplify conditional expressions

2021-03-14 Thread Samuel Holland
The sun4i timer IP block has a variable number of interrupts based on the compatible. Use enums to combine the two sections for the existing 3-interrupt variants, and to simplify adding new compatible strings. Signed-off-by: Samuel Holland --- .../timer/allwinner,sun4i-a10-timer.yaml | 25

Re: [PATCH RESEND 0/2] Common protected-clocks implementation

2021-03-10 Thread Samuel Holland
On 3/10/21 2:56 AM, Maxime Ripard wrote: > Hi, > > On Tue, Mar 09, 2021 at 09:03:14AM +0100, Rasmus Villemoes wrote: >> On 03/09/2020 06.00, Samuel Holland wrote: >>> Stephen, Maxime, >>> >>> You previously asked me to implement the protected-clock

[PATCH net-next v2 5/5] net: stmmac: dwmac-sun8i: Add a shutdown callback

2021-02-16 Thread Samuel Holland
The Ethernet MAC and PHY are usually major consumers of power on boards which may not be able to fully power off (those with no PMIC). Powering down the MAC and internal PHY saves power while these boards are "off". Reviewed-by: Chen-Yu Tsai Signed-off-by: Samuel Holland --- d

[PATCH net-next v2 1/5] net: stmmac: dwmac-sun8i: Return void from PHY unpower

2021-02-16 Thread Samuel Holland
This is a deinitialization function that always returned zero, and that return value was always ignored. Have it return void instead. Reviewed-by: Chen-Yu Tsai Signed-off-by: Samuel Holland --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 5 ++--- 1 file changed, 2 insertions(+), 3

[PATCH net-next v2 3/5] net: stmmac: dwmac-sun8i: Use reset_control_reset

2021-02-16 Thread Samuel Holland
Use the appropriate function instead of reimplementing it, and update the error message to match the code. Reviewed-by: Chen-Yu Tsai Signed-off-by: Samuel Holland --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git

[PATCH net-next v2 0/5] dwmac-sun8i cleanup and shutdown hook

2021-02-16 Thread Samuel Holland
in patch 3 Samuel Holland (5): net: stmmac: dwmac-sun8i: Return void from PHY unpower net: stmmac: dwmac-sun8i: Remove unnecessary PHY power check net: stmmac: dwmac-sun8i: Use reset_control_reset net: stmmac: dwmac-sun8i: Minor probe function cleanup net: stmmac: dwmac-sun8i: Add

[PATCH net-next v2 4/5] net: stmmac: dwmac-sun8i: Minor probe function cleanup

2021-02-16 Thread Samuel Holland
Adjust the spacing and use an explicit "return 0" in the success path to make the function easier to parse. Reviewed-by: Chen-Yu Tsai Signed-off-by: Samuel Holland --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)

[PATCH net-next v2 2/5] net: stmmac: dwmac-sun8i: Remove unnecessary PHY power check

2021-02-16 Thread Samuel Holland
sun8i_dwmac_unpower_internal_phy already checks if the PHY is powered, so there is no need to do it again here. Reviewed-by: Chen-Yu Tsai Signed-off-by: Samuel Holland --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git

Re: [PATCH net-next RESEND 3/5] net: stmmac: dwmac-sun8i: Use reset_control_reset

2021-02-08 Thread Samuel Holland
On 2/8/21 10:29 AM, Alexander Duyck wrote: > On Sun, Feb 7, 2021 at 10:32 PM Samuel Holland wrote: >> >> Use the appropriate function instead of reimplementing it, >> and update the error message to match the code. >> >> Reviewed-by: Chen-Yu Tsai

Re: [PATCH] i2c: mv64xxx: Fix check for missing clock

2021-02-08 Thread Samuel Holland
On 2/8/21 7:20 AM, Andrew Lunn wrote: > On Mon, Feb 08, 2021 at 12:31:34AM -0600, Samuel Holland wrote: >> On 2/8/21 12:28 AM, Samuel Holland wrote: >>> In commit e5c02cf54154 ("i2c: mv64xxx: Add runtime PM support"), error >>> pointers to optional clo

Re: [PATCH] i2c: mv64xxx: Fix check for missing clock

2021-02-07 Thread Samuel Holland
On 2/8/21 12:28 AM, Samuel Holland wrote: > In commit e5c02cf54154 ("i2c: mv64xxx: Add runtime PM support"), error > pointers to optional clocks were replaced by NULL to simplify the resume > callback implementation. However, that commit missed that the IS_ERR > check in mv

[PATCH net-next RESEND 5/5] net: stmmac: dwmac-sun8i: Add a shutdown callback

2021-02-07 Thread Samuel Holland
The Ethernet MAC and PHY are usually major consumers of power on boards which may not be able to fully power off (those with no PMIC). Powering down the MAC and internal PHY saves power while these boards are "off". Reviewed-by: Chen-Yu Tsai Signed-off-by: Samuel Holland --- d

[PATCH net-next RESEND 4/5] net: stmmac: dwmac-sun8i: Minor probe function cleanup

2021-02-07 Thread Samuel Holland
Adjust the spacing and use an explicit "return 0" in the success path to make the function easier to parse. Reviewed-by: Chen-Yu Tsai Signed-off-by: Samuel Holland --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)

[PATCH net-next RESEND 0/5] dwmac-sun8i cleanup and shutdown hook

2021-02-07 Thread Samuel Holland
of net-next and with Chen-Yu's Reviewed-by tags. Samuel Holland (5): net: stmmac: dwmac-sun8i: Return void from PHY unpower net: stmmac: dwmac-sun8i: Remove unnecessary PHY power check net: stmmac: dwmac-sun8i: Use reset_control_reset net: stmmac: dwmac-sun8i: Minor probe function cleanup

[PATCH net-next RESEND 2/5] net: stmmac: dwmac-sun8i: Remove unnecessary PHY power check

2021-02-07 Thread Samuel Holland
sun8i_dwmac_unpower_internal_phy already checks if the PHY is powered, so there is no need to do it again here. Reviewed-by: Chen-Yu Tsai Signed-off-by: Samuel Holland --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git

[PATCH net-next RESEND 1/5] net: stmmac: dwmac-sun8i: Return void from PHY unpower

2021-02-07 Thread Samuel Holland
This is a deinitialization function that always returned zero, and that return value was always ignored. Have it return void instead. Reviewed-by: Chen-Yu Tsai Signed-off-by: Samuel Holland --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 5 ++--- 1 file changed, 2 insertions(+), 3

[PATCH net-next RESEND 3/5] net: stmmac: dwmac-sun8i: Use reset_control_reset

2021-02-07 Thread Samuel Holland
Use the appropriate function instead of reimplementing it, and update the error message to match the code. Reviewed-by: Chen-Yu Tsai Signed-off-by: Samuel Holland --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git

[PATCH] i2c: mv64xxx: Fix check for missing clock

2021-02-07 Thread Samuel Holland
s a result, the check always passes, even for an invalid device tree. Fixes: e5c02cf54154 ("i2c: mv64xxx: Add runtime PM support") Reported-by: Dan Carpenter Signed-off-by: Samuel Holland --- drivers/i2c/busses/i2c-mv64xxx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dr

[PATCH] i2c: mv64xxx: Fix check for missing clock

2021-02-07 Thread Samuel Holland
s a result, the check always passes, even for an invalid device tree. Fixes: e5c02cf54154 ("i2c: mv64xxx: Add runtime PM support") Reported-by: Dan Carpenter Signed-off-by: Samuel Holland --- drivers/i2c/busses/i2c-mv64xxx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dr

Re: Fail to boot on bpim3 with next-20210128

2021-01-30 Thread Samuel Holland
On 1/30/21 11:00 AM, Corentin Labbe wrote: > Hello > > next-20210128 cannot be booted on my bpim3. > It start booting then freeze. > > [0.00] Linux version 5.11.0-rc5-03084-g7426957d237f (compile@Red) > (armv7a-unknown-linux-gnueabihf-gcc (Gentoo 9.3.0-r2 p4) 9.3.0, GNU ld > (Gentoo

[PATCH] power: supply: axp20x_usb_power: Init work before enabling IRQs

2021-01-24 Thread Samuel Holland
xes: bcfb7ae3f50b ("power: supply: axp20x_usb_power: Only poll while offline") Signed-off-by: Samuel Holland --- drivers/power/supply/axp20x_usb_power.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/power/supply/axp20x_usb_power.c b/drivers/power/supply/axp20

Re: [PATCH v5 00/10] sunxi: Support IRQ wakeup from deep sleep

2021-01-22 Thread Samuel Holland
On 1/22/21 4:47 AM, Maxime Ripard wrote: > On Thu, Jan 21, 2021 at 07:33:54PM -0600, Samuel Holland wrote: >> On 1/21/21 2:35 PM, Marc Zyngier wrote: >>> On Sun, 17 Jan 2021 23:50:30 -0600, Samuel Holland wrote: >>>> Allwinner sun6i/sun8i/sun50i SoCs (A31

Re: [PATCH v5 00/10] sunxi: Support IRQ wakeup from deep sleep

2021-01-21 Thread Samuel Holland
On 1/21/21 2:35 PM, Marc Zyngier wrote: > On Sun, 17 Jan 2021 23:50:30 -0600, Samuel Holland wrote: >> Allwinner sun6i/sun8i/sun50i SoCs (A31 and newer) have two interrupt >> controllers: GIC and R_INTC. GIC does not support wakeup. R_INTC handles >> the external NMI pin,

Re: [PATCH v2 0/4] media: sunxi-cir: Cleanup and power management

2021-01-17 Thread Samuel Holland
On 1/18/21 12:00 AM, Samuel Holland wrote: > This series cleans up some dead code in the sunxi-cir driver and adds > system power management hooks. > > --- > Changes from v1: > - Unregister the RC device first thing in sunxi_ir_remove() [3] I forgot to add: Acked-by: Maxim

[PATCH v2 0/4] media: sunxi-cir: Cleanup and power management

2021-01-17 Thread Samuel Holland
This series cleans up some dead code in the sunxi-cir driver and adds system power management hooks. --- Changes from v1: - Unregister the RC device first thing in sunxi_ir_remove() [3] Samuel Holland (4): media: sunxi-cir: Clean up dead register writes media: sunxi-cir: Remove unnecessary

[PATCH v2 3/4] media: sunxi-cir: Factor out hardware initialization

2021-01-17 Thread Samuel Holland
LIRC_SET_REC_TIMEOUT) while the hardware is disabled. Signed-off-by: Samuel Holland --- drivers/media/rc/sunxi-cir.c | 128 --- 1 file changed, 74 insertions(+), 54 deletions(-) diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c index 48be400421cd

[PATCH v2 2/4] media: sunxi-cir: Remove unnecessary spinlock

2021-01-17 Thread Samuel Holland
Only one register, SUNXI_IR_CIR_REG, is accessed from outside the interrupt handler, and that register is not accessed from inside it. As there is no overlap between different contexts, no lock is needed. Signed-off-by: Samuel Holland --- drivers/media/rc/sunxi-cir.c | 10 -- 1 file

[PATCH v2 1/4] media: sunxi-cir: Clean up dead register writes

2021-01-17 Thread Samuel Holland
The register writes during driver removal occur after the device is already put back in reset, so they never had any effect. Signed-off-by: Samuel Holland --- drivers/media/rc/sunxi-cir.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media

[PATCH v2 4/4] media: sunxi-cir: Implement suspend/resume/shutdown callbacks

2021-01-17 Thread Samuel Holland
To save power, gate/reset the hardware block while the system is asleep or powered off. Signed-off-by: Samuel Holland --- drivers/media/rc/sunxi-cir.c | 21 + 1 file changed, 21 insertions(+) diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c index

[PATCH v5 08/10] ARM: dts: sunxi: Move wakeup-capable IRQs to r_intc

2021-01-17 Thread Samuel Holland
-by: Maxime Ripard Signed-off-by: Samuel Holland --- arch/arm/boot/dts/sun6i-a31.dtsi | 4 arch/arm/boot/dts/sun8i-a23-a33.dtsi | 4 arch/arm/boot/dts/sun8i-a83t.dtsi| 3 +++ arch/arm/boot/dts/sunxi-h3-h5.dtsi | 3 +++ 4 files changed, 14 insertions(+) diff --git a/arch/arm/boot

[PATCH v5 05/10] ARM: dts: sunxi: Rename nmi_intc to r_intc

2021-01-17 Thread Samuel Holland
ocumentation. Acked-by: Maxime Ripard Signed-off-by: Samuel Holland --- arch/arm/boot/dts/sun6i-a31-hummingbird.dts | 2 +- arch/arm/boot/dts/sun6i-a31-m9.dts | 2 +- arch/arm/boot/dts/sun6i-a31-mele-a1000g-quad.dts | 2 +- arch/arm/boo

[PATCH v5 09/10] arm64: dts: allwinner: Use the new r_intc binding

2021-01-17 Thread Samuel Holland
The binding of R_INTC was updated to allow specifying interrupts other than the external NMI, since routing those interrupts through the R_INTC driver allows using them for wakeup. Update the device trees to use the new binding. Acked-by: Maxime Ripard Signed-off-by: Samuel Holland --- arch

[PATCH v5 10/10] arm64: dts: allwinner: Move wakeup-capable IRQs to r_intc

2021-01-17 Thread Samuel Holland
-by: Maxime Ripard Signed-off-by: Samuel Holland --- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 4 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 3 +++ 2 files changed, 7 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64

[PATCH v5 03/10] irqchip/sun6i-r: Use a stacked irqchip driver

2021-01-17 Thread Samuel Holland
des a simple way to add wakeup support to any of its IRQs. That is the next patch; for now, just the NMI is moved over. This commit mostly reverts commit 173bda53b340 ("irqchip/sunxi-nmi: Support sun6i-a31-r-intc compatible"). Acked-by: Maxime Ripard Signed-off-by: Samuel Holland --

[PATCH v5 07/10] ARM: dts: sunxi: h3/h5: Add r_intc node

2021-01-17 Thread Samuel Holland
The H3 and H5 SoCs have an additional interrupt controller in the RTC power domain that can be used to enable wakeup for certain IRQs. Add a node for it. Acked-by: Maxime Ripard Signed-off-by: Samuel Holland --- arch/arm/boot/dts/sunxi-h3-h5.dtsi | 9 + 1 file changed, 9 insertions

[PATCH v5 06/10] ARM: dts: sunxi: Use the new r_intc binding

2021-01-17 Thread Samuel Holland
The binding of R_INTC was updated to allow specifying interrupts other than the external NMI, since routing those interrupts through the R_INTC driver allows using them for wakeup. Update the device trees to use the new binding. Acked-by: Maxime Ripard Signed-off-by: Samuel Holland --- arch

[PATCH v5 01/10] dt-bindings: irq: sun6i-r: Split the binding from sun7i-nmi

2021-01-17 Thread Samuel Holland
multiplexed IRQs to top-level register bits, it is no longer compatible with the A31 R_INTC. Acked-by: Maxime Ripard Reviewed-by: Rob Herring Signed-off-by: Samuel Holland --- .../allwinner,sun6i-a31-r-intc.yaml | 66 +++ .../allwinner,sun7i-a20-sc-nmi.yaml | 10

[PATCH v5 00/10] sunxi: Support IRQ wakeup from deep sleep

2021-01-17 Thread Samuel Holland
ree binding. - Update commit messages for accuracy and typos. Samuel Holland (10): dt-bindings: irq: sun6i-r: Split the binding from sun7i-nmi dt-bindings: irq: sun6i-r: Add a compatible for the H3 irqchip/sun6i-r: Use a stacked irqchip driver irqchip/sun6i-r: Add wakeup support ARM: dts:

[PATCH v5 04/10] irqchip/sun6i-r: Add wakeup support

2021-01-17 Thread Samuel Holland
by: Maxime Ripard Signed-off-by: Samuel Holland --- drivers/irqchip/irq-sun6i-r.c | 107 -- 1 file changed, 101 insertions(+), 6 deletions(-) diff --git a/drivers/irqchip/irq-sun6i-r.c b/drivers/irqchip/irq-sun6i-r.c index 284b56905eb7..4cd3e533740b 100644 ---

[PATCH v5 02/10] dt-bindings: irq: sun6i-r: Add a compatible for the H3

2021-01-17 Thread Samuel Holland
. Acked-by: Maxime Ripard Acked-by: Rob Herring Signed-off-by: Samuel Holland --- .../interrupt-controller/allwinner,sun6i-a31-r-intc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun6i-a31-r-intc.yaml b

Re: [PATCH v3 19/21] arm64: dts: allwinner: Add Allwinner H616 .dtsi file

2021-01-17 Thread Samuel Holland
On 1/17/21 8:08 PM, Andre Przywara wrote: > This (relatively) new SoC is similar to the H6, but drops the (broken) > PCIe support and the USB 3.0 controller. It also gets the management > controller removed, which in turn removes *some*, but not all of the > devices formerly dedicated to the ARISC

Re: [PATCH v3 18/21] dt-bindings: allwinner: Add H616 compatible strings

2021-01-17 Thread Samuel Holland
On 1/17/21 8:08 PM, Andre Przywara wrote: > Add simple "allwinner,sun50i-h616-xxx" compatible names to existing > bindings, and pair them with an existing fallback compatible string, > as the devices are compatible. > This covers I2C, infrared, RTC and SPI. > > Use enums to group all compatible

Re: [PATCH v3 09/21] mfd: axp20x: Allow AXP chips without interrupt lines

2021-01-17 Thread Samuel Holland
On 1/17/21 8:08 PM, Andre Przywara wrote: > Currently the AXP chip requires to have its IRQ line connected to some > interrupt controller, and will fail probing when this is not the case. > > On a new Allwinner SoC (H616) there is no NMI pin anymore, so the > interrupt functionality of the AXP

Re: [PATCH v4 04/10] irqchip/sun6i-r: Add wakeup support

2021-01-14 Thread Samuel Holland
On 1/14/21 3:44 PM, Marc Zyngier wrote: > On Tue, 12 Jan 2021 05:59:44 +, > Samuel Holland wrote: >> >> Maintain bitmaps of wake-enabled IRQs and mux inputs, and program them >> to the hardware during the syscore phase of suspend and shutdown. Then >> restore th

Re: [PATCH v4 03/10] irqchip/sun6i-r: Use a stacked irqchip driver

2021-01-14 Thread Samuel Holland
Hello, On 1/14/21 3:06 PM, Marc Zyngier wrote: > Hi Samuel, > > On 2021-01-12 05:59, Samuel Holland wrote: > > [...] > >> +static void sun6i_r_intc_ack_nmi(void) >> +{ >> +writel(SUN6I_NMI_BIT, base + SUN6I_IRQ_PENDING(0)); > > writel_relaxe

Re: [PATCH 3/4] media: sunxi-cir: Factor out hardware initialization

2021-01-13 Thread Samuel Holland
On 1/13/21 8:36 AM, Sean Young wrote: > On Tue, Jan 12, 2021 at 10:51:31PM -0600, Samuel Holland wrote: >> In preparation for adding suspend/resume hooks, factor out the hardware >> initialization from the driver probe/remove functions. >> >> The timeout programme

[PATCH v2 7/7] arm64: dts: allwinner: pinephone: Set audio card name

2021-01-12 Thread Samuel Holland
ted commit message] Signed-off-by: Samuel Holland --- arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi index e0db2f1373bc..cf

[PATCH v2 6/7] arm64: dts: allwinner: pinephone: Add support for Bluetooth audio

2021-01-12 Thread Samuel Holland
shares clock dividers with AIF3. Using equal clock frequencies allows the modem and headset to be used at the same time. Signed-off-by: Samuel Holland --- .../dts/allwinner/sun50i-a64-pinephone.dtsi | 24 +++ 1 file changed, 24 insertions(+) diff --git a/arch/arm64/boot/dts

[PATCH v2 5/7] arm64: dts: allwinner: a64: Allow multiple DAI links

2021-01-12 Thread Samuel Holland
simple-audio-card supports either a single DAI link at the top level, or subnodes with one or more DAI links. To use the secondary AIFs on the codec, we need to add additional DAI links to the same sound card, so we need to use the other binding. Signed-off-by: Samuel Holland --- arch/arm64

[PATCH v2 2/7] ARM: dts: sun8i-a33: Allow using multiple codec DAIs

2021-01-12 Thread Samuel Holland
Increase #sound-dai-cells on the digital codec to allow using the other DAIs provided by the codec for AIF2 and AIF3. Signed-off-by: Samuel Holland --- arch/arm/boot/dts/sun8i-a33.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b

[PATCH v2 0/7] PinePhone BT audio bringup

2021-01-12 Thread Samuel Holland
o follow new binding Arnaud Ferraris (1): arm64: dts: allwinner: pinephone: Set audio card name Samuel Holland (6): ASoC: dt-bindings: sun8i-codec: Increase #sound-dai-cells ARM: dts: sun8i-a33: Allow using multiple codec DAIs arm64: dts: allwinner: a64: Allow using multiple codec DAIs arm64:

[PATCH v2 1/7] ASoC: dt-bindings: sun8i-codec: Increase #sound-dai-cells

2021-01-12 Thread Samuel Holland
Increase sound-dai-cells to 1 to allow using the DAIs in the codec corresponding to AIF2 and AIF3. The generic ASoC OF code supports a #sound-dai-cells value of 0 or 1 with no impact to the driver, so this is a backward-compatible change. Signed-off-by: Samuel Holland --- .../devicetree

[PATCH v2 3/7] arm64: dts: allwinner: a64: Allow using multiple codec DAIs

2021-01-12 Thread Samuel Holland
Increase #sound-dai-cells on the digital codec to allow using the other DAIs provided by the codec for AIF2 and AIF3. Signed-off-by: Samuel Holland --- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts

[PATCH v2 4/7] arm64: dts: allwinner: a64: Add pinmux nodes for AIF2/AIF3

2021-01-12 Thread Samuel Holland
Now that the sun8i-codec driver supports AIF2 and AIF3, boards can use them in DAI links. Add the necessary pinmux nodes. Signed-off-by: Samuel Holland --- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 12 1 file changed, 12 insertions(+) diff --git a/arch/arm64/boot/dts

Re: [PATCH v4 3/3] scsi: 3w-9xxx: Fix endianness issues in command packets

2021-01-12 Thread Samuel Holland
On 9/2/20 10:44 PM, Samuel Holland wrote: > The controller expects all data it sends/receives to be little-endian. > Therefore, the packet struct definitions should use the __le16/32/64 > types. Once those are correct, sparse reports several issues with the > driver code, which ar

[PATCH] mmc: sunxi-mmc: Ensure host is suspended during system sleep

2021-01-12 Thread Samuel Holland
If the device suspend process begins before the mmc host's autosuspend timeout, the host will continue running during system sleep. Avoid this by forcing runtime suspend during a global suspend transition. Signed-off-by: Samuel Holland --- drivers/mmc/host/sunxi-mmc.c | 2 ++ 1 file changed, 2

[PATCH 4/4] media: sunxi-cir: Implement suspend/resume/shutdown callbacks

2021-01-12 Thread Samuel Holland
To save power, gate/reset the hardware block while the system is asleep or powered off. Signed-off-by: Samuel Holland --- drivers/media/rc/sunxi-cir.c | 21 + 1 file changed, 21 insertions(+) diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c index

[PATCH 3/4] media: sunxi-cir: Factor out hardware initialization

2021-01-12 Thread Samuel Holland
function: throwing away the error from clk_prepare_enable and using the wrong type for the temporary register value. Signed-off-by: Samuel Holland --- drivers/media/rc/sunxi-cir.c | 128 --- 1 file changed, 74 insertions(+), 54 deletions(-) diff --git a/drivers/media

[PATCH 2/4] media: sunxi-cir: Remove unnecessary spinlock

2021-01-12 Thread Samuel Holland
Only one register, SUNXI_IR_CIR_REG, is accessed from outside the interrupt handler, and that register is not accessed from inside it. As there is no overlap between different contexts, no lock is needed. Signed-off-by: Samuel Holland --- drivers/media/rc/sunxi-cir.c | 10 -- 1 file

[PATCH 1/4] media: sunxi-cir: Clean up dead register writes

2021-01-12 Thread Samuel Holland
The register writes during driver removal occur after the device is already put back in reset, so they never had any effect. Signed-off-by: Samuel Holland --- drivers/media/rc/sunxi-cir.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media

[PATCH 0/4] media: sunxi-cir: Cleanup and power management

2021-01-12 Thread Samuel Holland
This series cleans up some dead code in the sunxi-cir driver and adds system power management hooks. Samuel Holland (4): media: sunxi-cir: Clean up dead register writes media: sunxi-cir: Remove unnecessary spinlock media: sunxi-cir: Factor out hardware initialization media: sunxi-cir

[PATCH v2 2/3] input: sun4i-lradc-keys - Add wakup support

2021-01-12 Thread Samuel Holland
(sometimes doubling it), disable the LRADC wakeup source by default. Signed-off-by: Ondrej Jirman Signed-off-by: Samuel Holland --- drivers/input/keyboard/sun4i-lradc-keys.c | 22 ++ 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/drivers/input/keyboard/sun4i-lradc

[PATCH v2 0/3] PinePhone volume key (LRADC) wakeup support

2021-01-12 Thread Samuel Holland
ing change - Only add wakeup capability if "wakeup-source" is present - Warn but do not error out if setting the wake IRQ fails - Add "wakeup-source" property to PinePhone device tree Ondrej Jirman (1): input: sun4i-lradc-keys - Add wakup support Samuel Holland (2):

[PATCH v2 3/3] arm64: dts: allwinner: pinephone: Support volume key wakeup

2021-01-12 Thread Samuel Holland
PinePhone volume keys are connected to the LRADC in the A64. Users may want to use them to wake the device from sleep. Support this by declaring the LRADC as a wakeup source. Signed-off-by: Samuel Holland --- arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi | 1 + 1 file changed, 1

[PATCH v2 1/3] dt-bindings: sun4i-a10-lradc-keys: Accept wakeup-source property

2021-01-12 Thread Samuel Holland
The LRADC provides an interrupt that can be used to wake the system. Signify this by accepting a "wakeup-source" property in the binding. Signed-off-by: Samuel Holland --- .../bindings/input/allwinner,sun4i-a10-lradc-keys.yaml | 2 ++ 1 file changed, 2 insertions(+)

[PATCH v4 10/10] arm64: dts: allwinner: Move wakeup-capable IRQs to r_intc

2021-01-11 Thread Samuel Holland
-by: Samuel Holland --- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 4 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 3 +++ 2 files changed, 7 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi index fd4bf90163d5

[PATCH v4 05/10] ARM: dts: sunxi: Rename nmi_intc to r_intc

2021-01-11 Thread Samuel Holland
ntation. Signed-off-by: Samuel Holland --- arch/arm/boot/dts/sun6i-a31-hummingbird.dts | 2 +- arch/arm/boot/dts/sun6i-a31-m9.dts | 2 +- arch/arm/boot/dts/sun6i-a31-mele-a1000g-quad.dts | 2 +- arch/arm/boot/dts/sun6i-a31.dtsi | 2 +

[PATCH v4 07/10] ARM: dts: sunxi: h3/h5: Add r_intc node

2021-01-11 Thread Samuel Holland
The H3 and H5 SoCs have an additional interrupt controller in the RTC power domain that can be used to enable wakeup for certain IRQs. Add a node for it. Signed-off-by: Samuel Holland --- arch/arm/boot/dts/sunxi-h3-h5.dtsi | 9 + 1 file changed, 9 insertions(+) diff --git a/arch/arm

[PATCH v4 04/10] irqchip/sun6i-r: Add wakeup support

2021-01-11 Thread Samuel Holland
Signed-off-by: Samuel Holland --- drivers/irqchip/irq-sun6i-r.c | 107 -- 1 file changed, 101 insertions(+), 6 deletions(-) diff --git a/drivers/irqchip/irq-sun6i-r.c b/drivers/irqchip/irq-sun6i-r.c index d04d067423f4..a1b58c98d6ca 100644 --- a/drivers/irqchip/irq-sun6i

[PATCH v4 08/10] ARM: dts: sunxi: Move wakeup-capable IRQs to r_intc

2021-01-11 Thread Samuel Holland
-by: Samuel Holland --- arch/arm/boot/dts/sun6i-a31.dtsi | 4 arch/arm/boot/dts/sun8i-a23-a33.dtsi | 4 arch/arm/boot/dts/sun8i-a83t.dtsi| 3 +++ arch/arm/boot/dts/sunxi-h3-h5.dtsi | 3 +++ 4 files changed, 14 insertions(+) diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch

[PATCH v4 09/10] arm64: dts: allwinner: Use the new r_intc binding

2021-01-11 Thread Samuel Holland
The binding of R_INTC was updated to allow specifying interrupts other than the external NMI, since routing those interrupts through the R_INTC driver allows using them for wakeup. Update the device trees to use the new binding. Signed-off-by: Samuel Holland --- arch/arm64/boot/dts/allwinner

[PATCH v4 06/10] ARM: dts: sunxi: Use the new r_intc binding

2021-01-11 Thread Samuel Holland
The binding of R_INTC was updated to allow specifying interrupts other than the external NMI, since routing those interrupts through the R_INTC driver allows using them for wakeup. Update the device trees to use the new binding. Signed-off-by: Samuel Holland --- arch/arm/boot/dts/sun6i-a31

[PATCH v4 00/10] sunxi: Support IRQ wakeup from deep sleep

2021-01-11 Thread Samuel Holland
ed level interrupts, since the latch will be set again as long as the trigger is met. - Replace sun6i_r_intc_domain_translate() with irq_domain_translate_twocell(). - Use an enum for the device tree binding. - Update commit messages for accuracy and typos. Samuel Holland (10): dt-bindings:

[PATCH v4 01/10] dt-bindings: irq: sun6i-r: Split the binding from sun7i-nmi

2021-01-11 Thread Samuel Holland
multiplexed IRQs to top-level register bits, it is no longer compatible with the A31 R_INTC. Signed-off-by: Samuel Holland --- .../allwinner,sun6i-a31-r-intc.yaml | 66 +++ .../allwinner,sun7i-a20-sc-nmi.yaml | 10 --- 2 files changed, 66 insertions(+), 10 deletions

  1   2   3   4   5   >