2022-05-19 09:53:58

by Ilpo Järvinen

[permalink] [raw]
Subject: Re: [PATCH 1/4] serial: pmac_zilog: remove unfinished DBDMA support

On Thu, 19 May 2022, Jiri Slaby wrote:

> The support for DBDMA was never completed. Remove the the code that only
> maps spaces without real work.
>
> Cc: Michael Ellerman <[email protected]>
> Cc: Benjamin Herrenschmidt <[email protected]>
> Cc: Paul Mackerras <[email protected]>
> Signed-off-by: Jiri Slaby <[email protected]>
> ---
> drivers/tty/serial/pmac_zilog.c | 38 +--------------------------------
> drivers/tty/serial/pmac_zilog.h | 9 --------
> 2 files changed, 1 insertion(+), 46 deletions(-)
>
> diff --git a/drivers/tty/serial/pmac_zilog.c b/drivers/tty/serial/pmac_zilog.c
> index c903085acb8d..2953ff64a892 100644
> --- a/drivers/tty/serial/pmac_zilog.c
> +++ b/drivers/tty/serial/pmac_zilog.c

How about dropping this too:
#include <asm/dbdma.h>

--
i.


> @@ -65,9 +65,6 @@
>
> #include "pmac_zilog.h"
>
> -/* Not yet implemented */
> -#undef HAS_DBDMA
> -
> static char version[] __initdata = "pmac_zilog: 0.6 (Benjamin Herrenschmidt <[email protected]>)";
> MODULE_AUTHOR("Benjamin Herrenschmidt <[email protected]>");
> MODULE_DESCRIPTION("Driver for the Mac and PowerMac serial ports.");
> @@ -1399,7 +1396,7 @@ static int __init pmz_init_port(struct uart_pmac_port *uap)
> char name[1];
> } *slots;
> int len;
> - struct resource r_ports, r_rxdma, r_txdma;
> + struct resource r_ports;
>
> /*
> * Request & map chip registers
> @@ -1411,35 +1408,6 @@ static int __init pmz_init_port(struct uart_pmac_port *uap)
>
> uap->control_reg = uap->port.membase;
> uap->data_reg = uap->control_reg + 0x10;
> -
> - /*
> - * Request & map DBDMA registers
> - */
> -#ifdef HAS_DBDMA
> - if (of_address_to_resource(np, 1, &r_txdma) == 0 &&
> - of_address_to_resource(np, 2, &r_rxdma) == 0)
> - uap->flags |= PMACZILOG_FLAG_HAS_DMA;
> -#else
> - memset(&r_txdma, 0, sizeof(struct resource));
> - memset(&r_rxdma, 0, sizeof(struct resource));
> -#endif
> - if (ZS_HAS_DMA(uap)) {
> - uap->tx_dma_regs = ioremap(r_txdma.start, 0x100);
> - if (uap->tx_dma_regs == NULL) {
> - uap->flags &= ~PMACZILOG_FLAG_HAS_DMA;
> - goto no_dma;
> - }
> - uap->rx_dma_regs = ioremap(r_rxdma.start, 0x100);
> - if (uap->rx_dma_regs == NULL) {
> - iounmap(uap->tx_dma_regs);
> - uap->tx_dma_regs = NULL;
> - uap->flags &= ~PMACZILOG_FLAG_HAS_DMA;
> - goto no_dma;
> - }
> - uap->tx_dma_irq = irq_of_parse_and_map(np, 1);
> - uap->rx_dma_irq = irq_of_parse_and_map(np, 2);
> - }
> -no_dma:
>
> /*
> * Detect port type
> @@ -1505,8 +1473,6 @@ static int __init pmz_init_port(struct uart_pmac_port *uap)
> of_device_is_compatible(np->parent->parent, "gatwick")) {
> /* IRQs on gatwick are offset by 64 */
> uap->port.irq = irq_create_mapping(NULL, 64 + 15);
> - uap->tx_dma_irq = irq_create_mapping(NULL, 64 + 4);
> - uap->rx_dma_irq = irq_create_mapping(NULL, 64 + 5);
> }
>
> /* Setup some valid baud rate information in the register
> @@ -1526,8 +1492,6 @@ static void pmz_dispose_port(struct uart_pmac_port *uap)
> struct device_node *np;
>
> np = uap->node;
> - iounmap(uap->rx_dma_regs);
> - iounmap(uap->tx_dma_regs);
> iounmap(uap->control_reg);
> uap->node = NULL;
> of_node_put(np);
> diff --git a/drivers/tty/serial/pmac_zilog.h b/drivers/tty/serial/pmac_zilog.h
> index fa85b0de5c2f..87337b748d6d 100644
> --- a/drivers/tty/serial/pmac_zilog.h
> +++ b/drivers/tty/serial/pmac_zilog.h
> @@ -43,7 +43,6 @@ struct uart_pmac_port {
> #define PMACZILOG_FLAG_TX_ACTIVE 0x00000040
> #define PMACZILOG_FLAG_IS_IRDA 0x00000100
> #define PMACZILOG_FLAG_IS_INTMODEM 0x00000200
> -#define PMACZILOG_FLAG_HAS_DMA 0x00000400
> #define PMACZILOG_FLAG_RSRC_REQUESTED 0x00000800
> #define PMACZILOG_FLAG_IS_OPEN 0x00002000
> #define PMACZILOG_FLAG_IS_EXTCLK 0x00008000
> @@ -55,13 +54,6 @@ struct uart_pmac_port {
> volatile u8 __iomem *control_reg;
> volatile u8 __iomem *data_reg;
>
> -#ifdef CONFIG_PPC_PMAC
> - unsigned int tx_dma_irq;
> - unsigned int rx_dma_irq;
> - volatile struct dbdma_regs __iomem *tx_dma_regs;
> - volatile struct dbdma_regs __iomem *rx_dma_regs;
> -#endif
> -
> unsigned char irq_name[8];
>
> struct ktermios termios_cache;
> @@ -377,7 +369,6 @@ static inline void zssync(struct uart_pmac_port *port)
> #define ZS_WANTS_MODEM_STATUS(UP) ((UP)->flags & PMACZILOG_FLAG_MODEM_STATUS)
> #define ZS_IS_IRDA(UP) ((UP)->flags & PMACZILOG_FLAG_IS_IRDA)
> #define ZS_IS_INTMODEM(UP) ((UP)->flags & PMACZILOG_FLAG_IS_INTMODEM)
> -#define ZS_HAS_DMA(UP) ((UP)->flags & PMACZILOG_FLAG_HAS_DMA)
> #define ZS_IS_OPEN(UP) ((UP)->flags & PMACZILOG_FLAG_IS_OPEN)
> #define ZS_IS_EXTCLK(UP) ((UP)->flags & PMACZILOG_FLAG_IS_EXTCLK)
>
>



2022-05-19 14:37:54

by Jiri Slaby

[permalink] [raw]
Subject: Re: [PATCH 1/4] serial: pmac_zilog: remove unfinished DBDMA support

On 19. 05. 22, 10:56, Ilpo Järvinen wrote:
> On Thu, 19 May 2022, Jiri Slaby wrote:
>
>> The support for DBDMA was never completed. Remove the the code that only
>> maps spaces without real work.
>>
>> Cc: Michael Ellerman <[email protected]>
>> Cc: Benjamin Herrenschmidt <[email protected]>
>> Cc: Paul Mackerras <[email protected]>
>> Signed-off-by: Jiri Slaby <[email protected]>
>> ---
>> drivers/tty/serial/pmac_zilog.c | 38 +--------------------------------
>> drivers/tty/serial/pmac_zilog.h | 9 --------
>> 2 files changed, 1 insertion(+), 46 deletions(-)
>>
>> diff --git a/drivers/tty/serial/pmac_zilog.c b/drivers/tty/serial/pmac_zilog.c
>> index c903085acb8d..2953ff64a892 100644
>> --- a/drivers/tty/serial/pmac_zilog.c
>> +++ b/drivers/tty/serial/pmac_zilog.c
>
> How about dropping this too:
> #include <asm/dbdma.h>

Good point, fixed, will send v2 eventually.

thanks,
--
js
suse labs

2022-05-19 21:02:23

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH 1/4] serial: pmac_zilog: remove unfinished DBDMA support

On Thu, May 19, 2022 at 11:02:23AM +0200, Jiri Slaby wrote:
> On 19. 05. 22, 10:56, Ilpo J?rvinen wrote:
> > On Thu, 19 May 2022, Jiri Slaby wrote:
> >
> > > The support for DBDMA was never completed. Remove the the code that only
> > > maps spaces without real work.
> > >
> > > Cc: Michael Ellerman <[email protected]>
> > > Cc: Benjamin Herrenschmidt <[email protected]>
> > > Cc: Paul Mackerras <[email protected]>
> > > Signed-off-by: Jiri Slaby <[email protected]>
> > > ---
> > > drivers/tty/serial/pmac_zilog.c | 38 +--------------------------------
> > > drivers/tty/serial/pmac_zilog.h | 9 --------
> > > 2 files changed, 1 insertion(+), 46 deletions(-)
> > >
> > > diff --git a/drivers/tty/serial/pmac_zilog.c b/drivers/tty/serial/pmac_zilog.c
> > > index c903085acb8d..2953ff64a892 100644
> > > --- a/drivers/tty/serial/pmac_zilog.c
> > > +++ b/drivers/tty/serial/pmac_zilog.c
> >
> > How about dropping this too:
> > #include <asm/dbdma.h>
>
> Good point, fixed, will send v2 eventually.

Add-on patch is fine, thanks!

greg k-h