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 <mpe@xxxxxxxxxxxxxx> > Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> > Cc: Paul Mackerras <paulus@xxxxxxxxx> > Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> > --- > 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 <benh@xxxxxxxxxxxxxxxxxxx>)"; > MODULE_AUTHOR("Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>"); > 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) > >