serial: pmac_zilog: remove unfinished DBDMA support
authorJiri Slaby <jslaby@suse.cz>
Thu, 19 May 2022 07:56:50 +0000 (09:56 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 May 2022 16:23:19 +0000 (18:23 +0200)
The support for DBDMA was never completed. Remove the the code that only
maps spaces without real work.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20220519075653.31356-1-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/pmac_zilog.c
drivers/tty/serial/pmac_zilog.h

index c903085acb8d0f400aadfe3672831d932828fcef..2953ff64a892d78ab3f24d99c530eb91b7ea2b9a 100644 (file)
@@ -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@kernel.crashing.org>)";
 MODULE_AUTHOR("Benjamin Herrenschmidt <benh@kernel.crashing.org>");
 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 @@ no_dma:
            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);
index fa85b0de5c2fd8d2f56c1a6410a225758d022c95..87337b748d6d159bcf709544eb8ae0c629e16ace 100644 (file)
@@ -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)