mbox series

[0/4] ARM: footbridge: cleanups

Message ID 20220818211550.3272321-1-arnd@kernel.org (mailing list archive)
Headers show
Series ARM: footbridge: cleanups | expand

Message

Arnd Bergmann Aug. 18, 2022, 9:15 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

I had an older patch to remove the addin mode for footbridge,
which nobody is using any more, and I found a few other small
cleanups that are worth doing here.

Footbridge is now the only platform with a custom __virt_to_bus()
for ISA DMA, and a custom phys_to_dma() for PCI devices. Both
just add a fixed offset, so there is probably a better way
of doing the same without a custom helper function.

     Arnd

Arnd Bergmann (4):
  ARM: footbridge: remove addin mode
  ARM: footbridge: remove leftover from personal-server
  ARM: footbridge: move isa-dma support into footbridge
  ARM: footbridge: limit CONFIG_ISA to CATS

 arch/arm/Kconfig                              |  5 --
 arch/arm/include/asm/hardware/dec21285.h      | 13 ----
 arch/arm/kernel/Makefile                      |  1 -
 arch/arm/mach-footbridge/Kconfig              | 30 +-------
 arch/arm/mach-footbridge/Makefile             |  5 +-
 arch/arm/mach-footbridge/common.c             | 73 ++-----------------
 arch/arm/mach-footbridge/dc21285.c            | 61 +++++-----------
 .../arm/{kernel => mach-footbridge}/dma-isa.c |  7 +-
 arch/arm/mach-footbridge/dma.c                | 58 ---------------
 .../mach-footbridge/include/mach/isa-dma.h    | 14 +---
 .../arm/mach-footbridge/include/mach/memory.h | 22 ------
 arch/arm/mach-footbridge/isa.c                | 14 ++--
 drivers/tty/serial/21285.c                    |  3 -
 13 files changed, 42 insertions(+), 264 deletions(-)
 rename arch/arm/{kernel => mach-footbridge}/dma-isa.c (98%)
 delete mode 100644 arch/arm/mach-footbridge/dma.c

Comments

Marc Zyngier Sept. 4, 2022, 11:43 a.m. UTC | #1
On Thu, 18 Aug 2022 22:15:46 +0100,
Arnd Bergmann <arnd@kernel.org> wrote:
> 
> From: Arnd Bergmann <arnd@arndb.de>
> 
> I had an older patch to remove the addin mode for footbridge,
> which nobody is using any more, and I found a few other small
> cleanups that are worth doing here.
> 
> Footbridge is now the only platform with a custom __virt_to_bus()
> for ISA DMA, and a custom phys_to_dma() for PCI devices. Both
> just add a fixed offset, so there is probably a better way
> of doing the same without a custom helper function.
> 
>      Arnd
> 
> Arnd Bergmann (4):
>   ARM: footbridge: remove addin mode
>   ARM: footbridge: remove leftover from personal-server
>   ARM: footbridge: move isa-dma support into footbridge
>   ARM: footbridge: limit CONFIG_ISA to CATS
> 
>  arch/arm/Kconfig                              |  5 --
>  arch/arm/include/asm/hardware/dec21285.h      | 13 ----
>  arch/arm/kernel/Makefile                      |  1 -
>  arch/arm/mach-footbridge/Kconfig              | 30 +-------
>  arch/arm/mach-footbridge/Makefile             |  5 +-
>  arch/arm/mach-footbridge/common.c             | 73 ++-----------------
>  arch/arm/mach-footbridge/dc21285.c            | 61 +++++-----------
>  .../arm/{kernel => mach-footbridge}/dma-isa.c |  7 +-
>  arch/arm/mach-footbridge/dma.c                | 58 ---------------
>  .../mach-footbridge/include/mach/isa-dma.h    | 14 +---
>  .../arm/mach-footbridge/include/mach/memory.h | 22 ------
>  arch/arm/mach-footbridge/isa.c                | 14 ++--
>  drivers/tty/serial/21285.c                    |  3 -
>  13 files changed, 42 insertions(+), 264 deletions(-)
>  rename arch/arm/{kernel => mach-footbridge}/dma-isa.c (98%)
>  delete mode 100644 arch/arm/mach-footbridge/dma.c
> 
> -- 
> 2.29.2
> 
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Christoph Hellwig <hch@lst.de>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Marc Zyngier <maz@kernel.org>

I finally managed to give this a go on my netwinder using v2 of patch
5/4 (!), and the box booted nicely.

Note that apart from the serial console, everything I'm using on this
box is PCI (I tried to enable sound and failed, probably because I
can't select CONFIG_ISA anymore on this machine).

Anyway, for the purpose of this series:

Tested-by: Marc Zyngier <maz@kernel.org>

	   M.
Russell King (Oracle) Sept. 4, 2022, 12:09 p.m. UTC | #2
On Sun, Sep 04, 2022 at 12:43:48PM +0100, Marc Zyngier wrote:
> On Thu, 18 Aug 2022 22:15:46 +0100,
> Arnd Bergmann <arnd@kernel.org> wrote:
> > 
> > From: Arnd Bergmann <arnd@arndb.de>
> > 
> > I had an older patch to remove the addin mode for footbridge,
> > which nobody is using any more, and I found a few other small
> > cleanups that are worth doing here.
> > 
> > Footbridge is now the only platform with a custom __virt_to_bus()
> > for ISA DMA, and a custom phys_to_dma() for PCI devices. Both
> > just add a fixed offset, so there is probably a better way
> > of doing the same without a custom helper function.
> > 
> >      Arnd
> > 
> > Arnd Bergmann (4):
> >   ARM: footbridge: remove addin mode
> >   ARM: footbridge: remove leftover from personal-server
> >   ARM: footbridge: move isa-dma support into footbridge
> >   ARM: footbridge: limit CONFIG_ISA to CATS
> > 
> >  arch/arm/Kconfig                              |  5 --
> >  arch/arm/include/asm/hardware/dec21285.h      | 13 ----
> >  arch/arm/kernel/Makefile                      |  1 -
> >  arch/arm/mach-footbridge/Kconfig              | 30 +-------
> >  arch/arm/mach-footbridge/Makefile             |  5 +-
> >  arch/arm/mach-footbridge/common.c             | 73 ++-----------------
> >  arch/arm/mach-footbridge/dc21285.c            | 61 +++++-----------
> >  .../arm/{kernel => mach-footbridge}/dma-isa.c |  7 +-
> >  arch/arm/mach-footbridge/dma.c                | 58 ---------------
> >  .../mach-footbridge/include/mach/isa-dma.h    | 14 +---
> >  .../arm/mach-footbridge/include/mach/memory.h | 22 ------
> >  arch/arm/mach-footbridge/isa.c                | 14 ++--
> >  drivers/tty/serial/21285.c                    |  3 -
> >  13 files changed, 42 insertions(+), 264 deletions(-)
> >  rename arch/arm/{kernel => mach-footbridge}/dma-isa.c (98%)
> >  delete mode 100644 arch/arm/mach-footbridge/dma.c
> > 
> > -- 
> > 2.29.2
> > 
> > Cc: Russell King <linux@armlinux.org.uk>
> > Cc: Christoph Hellwig <hch@lst.de>
> > Cc: Linus Walleij <linus.walleij@linaro.org>
> > Cc: Marc Zyngier <maz@kernel.org>
> 
> I finally managed to give this a go on my netwinder using v2 of patch
> 5/4 (!), and the box booted nicely.
> 
> Note that apart from the serial console, everything I'm using on this
> box is PCI (I tried to enable sound and failed, probably because I
> can't select CONFIG_ISA anymore on this machine).

That tends to mean, therefore, that the statement "CONFIG_ISA is for
add-in cards" is wrong, because it's caused a user-visible regression
by killing sound support on Netwinders!
Marc Zyngier Sept. 4, 2022, 4:10 p.m. UTC | #3
On Sun, 04 Sep 2022 13:09:42 +0100,
"Russell King (Oracle)" <linux@armlinux.org.uk> wrote:
> 
> On Sun, Sep 04, 2022 at 12:43:48PM +0100, Marc Zyngier wrote:
> > On Thu, 18 Aug 2022 22:15:46 +0100,
> > Arnd Bergmann <arnd@kernel.org> wrote:
> > > 
> > > From: Arnd Bergmann <arnd@arndb.de>
> > > 
> > > I had an older patch to remove the addin mode for footbridge,
> > > which nobody is using any more, and I found a few other small
> > > cleanups that are worth doing here.
> > > 
> > > Footbridge is now the only platform with a custom __virt_to_bus()
> > > for ISA DMA, and a custom phys_to_dma() for PCI devices. Both
> > > just add a fixed offset, so there is probably a better way
> > > of doing the same without a custom helper function.
> > > 
> > >      Arnd
> > > 
> > > Arnd Bergmann (4):
> > >   ARM: footbridge: remove addin mode
> > >   ARM: footbridge: remove leftover from personal-server
> > >   ARM: footbridge: move isa-dma support into footbridge
> > >   ARM: footbridge: limit CONFIG_ISA to CATS
> > > 
> > >  arch/arm/Kconfig                              |  5 --
> > >  arch/arm/include/asm/hardware/dec21285.h      | 13 ----
> > >  arch/arm/kernel/Makefile                      |  1 -
> > >  arch/arm/mach-footbridge/Kconfig              | 30 +-------
> > >  arch/arm/mach-footbridge/Makefile             |  5 +-
> > >  arch/arm/mach-footbridge/common.c             | 73 ++-----------------
> > >  arch/arm/mach-footbridge/dc21285.c            | 61 +++++-----------
> > >  .../arm/{kernel => mach-footbridge}/dma-isa.c |  7 +-
> > >  arch/arm/mach-footbridge/dma.c                | 58 ---------------
> > >  .../mach-footbridge/include/mach/isa-dma.h    | 14 +---
> > >  .../arm/mach-footbridge/include/mach/memory.h | 22 ------
> > >  arch/arm/mach-footbridge/isa.c                | 14 ++--
> > >  drivers/tty/serial/21285.c                    |  3 -
> > >  13 files changed, 42 insertions(+), 264 deletions(-)
> > >  rename arch/arm/{kernel => mach-footbridge}/dma-isa.c (98%)
> > >  delete mode 100644 arch/arm/mach-footbridge/dma.c
> > > 
> > > -- 
> > > 2.29.2
> > > 
> > > Cc: Russell King <linux@armlinux.org.uk>
> > > Cc: Christoph Hellwig <hch@lst.de>
> > > Cc: Linus Walleij <linus.walleij@linaro.org>
> > > Cc: Marc Zyngier <maz@kernel.org>
> > 
> > I finally managed to give this a go on my netwinder using v2 of patch
> > 5/4 (!), and the box booted nicely.
> > 
> > Note that apart from the serial console, everything I'm using on this
> > box is PCI (I tried to enable sound and failed, probably because I
> > can't select CONFIG_ISA anymore on this machine).
> 
> That tends to mean, therefore, that the statement "CONFIG_ISA is for
> add-in cards" is wrong, because it's caused a user-visible regression
> by killing sound support on Netwinders!

To some extent, yes. Adding this allows me to peek at some of the ISA
soundcards:

diff --git a/arch/arm/mach-footbridge/Kconfig b/arch/arm/mach-footbridge/Kconfig
index f452663576d1..f4c4222fa7c0 100644
--- a/arch/arm/mach-footbridge/Kconfig
+++ b/arch/arm/mach-footbridge/Kconfig
@@ -31,6 +31,7 @@ config ARCH_NETWINDER
 	select CLKEVT_I8253
 	select CLKSRC_I8253
 	select FORCE_PCI
+	select ISA
 	help
 	  Say Y here if you intend to run this kernel on the Rebel.COM
 	  NetWinder.  Information about this machine can be found at:

However, the Waveartist driver has gone the way of the dodo (together
with the rest of the OSS support in 4.15), and it isn't obvious to me
whether one of the several SoundBlaster drivers is appropriate on this
machine.

I also cannot say I deeply care, to be honest.

	M.
Arnd Bergmann Sept. 4, 2022, 9:47 p.m. UTC | #4
On Sun, Sep 4, 2022, at 6:10 PM, Marc Zyngier wrote:
> On Sun, 04 Sep 2022 13:09:42 +0100,
> "Russell King (Oracle)" <linux@armlinux.org.uk> wrote:
>> > > Cc: Russell King <linux@armlinux.org.uk>
>> > > Cc: Christoph Hellwig <hch@lst.de>
>> > > Cc: Linus Walleij <linus.walleij@linaro.org>
>> > > Cc: Marc Zyngier <maz@kernel.org>
>> > 
>> > I finally managed to give this a go on my netwinder using v2 of patch
>> > 5/4 (!), and the box booted nicely.

Excellent, thanks for testing!

>> > Note that apart from the serial console, everything I'm using on this
>> > box is PCI (I tried to enable sound and failed, probably because I
>> > can't select CONFIG_ISA anymore on this machine).

There are a couple of ISA-style devices on the superIO chip,
and I had checked this one to see what actually uses the
ISA DMA. As far as I can tell, the ECP parallel port and floppy
should still fully work in DMA mode, but these don't depend on
CONFIG_ISA. Irda and waveartist are gone, and the keyboard/mouse,
RTC, uart etc are neither DMA capable not based on CONFIG_ISA.

>> That tends to mean, therefore, that the statement "CONFIG_ISA is for
>> add-in cards" is wrong, because it's caused a user-visible regression
>> by killing sound support on Netwinders!
>
> To some extent, yes. Adding this allows me to peek at some of the ISA
> soundcards:
>
> diff --git a/arch/arm/mach-footbridge/Kconfig b/arch/arm/mach-footbridge/Kconfig
> index f452663576d1..f4c4222fa7c0 100644
> --- a/arch/arm/mach-footbridge/Kconfig
> +++ b/arch/arm/mach-footbridge/Kconfig
> @@ -31,6 +31,7 @@ config ARCH_NETWINDER
>  	select CLKEVT_I8253
>  	select CLKSRC_I8253
>  	select FORCE_PCI
> +	select ISA
>  	help
>  	  Say Y here if you intend to run this kernel on the Rebel.COM
>  	  NetWinder.  Information about this machine can be found at:
>
> However, the Waveartist driver has gone the way of the dodo (together
> with the rest of the OSS support in 4.15), and it isn't obvious to me
> whether one of the several SoundBlaster drivers is appropriate on this
> machine.
>
> I also cannot say I deeply care, to be honest.

I already made sure that there are no devices in the defconfig
that get disabled when turning off CONFIG_ISA, so at least for
anyone using the defconfig, my change made no difference.

It's possible that the sb16 ISA driver works in non-PNP mode,
but it appears to look for the wrong IRQ number and mixer,
the other SB16 compatible drivers all assume ISAPNP or PCI.

My guess is that to use this properly, one would have
to turn take the mixer bits from the OSS waveartist
driver and turn that into an ALSA driver along with a
simple platform driver frontend for sb16-common.ko.

      Arnd