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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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)
>  
> 




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux