Loading drivers/net/wan/hd64572.c +47 −48 Original line number Diff line number Diff line Loading @@ -41,16 +41,16 @@ #define NAPI_WEIGHT 16 #define get_msci(port) (port->chan ? MSCI1_OFFSET : MSCI0_OFFSET) #define get_dmac_rx(port) (port->chan ? DMAC1RX_OFFSET : DMAC0RX_OFFSET) #define get_dmac_tx(port) (port->chan ? DMAC1TX_OFFSET : DMAC0TX_OFFSET) #define get_msci(port) ((port)->chan ? MSCI1_OFFSET : MSCI0_OFFSET) #define get_dmac_rx(port) ((port)->chan ? DMAC1RX_OFFSET : DMAC0RX_OFFSET) #define get_dmac_tx(port) ((port)->chan ? DMAC1TX_OFFSET : DMAC0TX_OFFSET) #define sca_in(reg, card) readb(card->scabase + (reg)) #define sca_out(value, reg, card) writeb(value, card->scabase + (reg)) #define sca_inw(reg, card) readw(card->scabase + (reg)) #define sca_outw(value, reg, card) writew(value, card->scabase + (reg)) #define sca_inl(reg, card) readl(card->scabase + (reg)) #define sca_outl(value, reg, card) writel(value, card->scabase + (reg)) #define sca_in(reg, card) readb((card)->scabase + (reg)) #define sca_out(value, reg, card) writeb(value, (card)->scabase + (reg)) #define sca_inw(reg, card) readw((card)->scabase + (reg)) #define sca_outw(value, reg, card) writew(value, (card)->scabase + (reg)) #define sca_inl(reg, card) readl((card)->scabase + (reg)) #define sca_outl(value, reg, card) writel(value, (card)->scabase + (reg)) static int sca_poll(struct napi_struct *napi, int budget); Loading Loading @@ -81,14 +81,12 @@ static inline u16 desc_abs_number(port_t *port, u16 desc, int transmit) return port->chan * (rx_buffs + tx_buffs) + transmit * rx_buffs + desc; } static inline u16 desc_offset(port_t *port, u16 desc, int transmit) { /* Descriptor offset always fits in 16 bits */ return desc_abs_number(port, desc, transmit) * sizeof(pkt_desc); } static inline pkt_desc __iomem *desc_address(port_t *port, u16 desc, int transmit) { Loading @@ -96,14 +94,12 @@ static inline pkt_desc __iomem *desc_address(port_t *port, u16 desc, desc_offset(port, desc, transmit)); } static inline u32 buffer_offset(port_t *port, u16 desc, int transmit) { return port->card->buff_offset + desc_abs_number(port, desc, transmit) * (u32)HDLC_MAX_MRU; } static inline void sca_set_carrier(port_t *port) { if (!(sca_in(get_msci(port) + ST3, port->card) & ST3_DCD)) { Loading @@ -121,7 +117,6 @@ static inline void sca_set_carrier(port_t *port) } } static void sca_init_port(port_t *port) { card_t *card = port->card; Loading Loading @@ -181,7 +176,6 @@ static void sca_init_port(port_t *port) netif_napi_add(port->netdev, &port->napi, sca_poll, NAPI_WEIGHT); } /* MSCI interrupt service */ static inline void sca_msci_intr(port_t *port) { Loading @@ -195,7 +189,6 @@ static inline void sca_msci_intr(port_t *port) } } static inline void sca_rx(card_t *card, port_t *port, pkt_desc __iomem *desc, u16 rxin) { Loading Loading @@ -225,7 +218,6 @@ static inline void sca_rx(card_t *card, port_t *port, pkt_desc __iomem *desc, netif_receive_skb(skb); } /* Receive DMA service */ static inline int sca_rx_done(port_t *port, int budget) { Loading Loading @@ -281,7 +273,6 @@ static inline int sca_rx_done(port_t *port, int budget) return received; } /* Transmit DMA service */ static inline void sca_tx_done(port_t *port) { Loading Loading @@ -321,7 +312,6 @@ static inline void sca_tx_done(port_t *port) spin_unlock(&port->lock); } static int sca_poll(struct napi_struct *napi, int budget) { port_t *port = container_of(napi, port_t, napi); Loading Loading @@ -363,7 +353,6 @@ static irqreturn_t sca_intr(int irq, void *dev_id) return IRQ_RETVAL(handled); } static void sca_set_port(port_t *port) { card_t *card = port->card; Loading @@ -371,7 +360,6 @@ static void sca_set_port(port_t *port) u8 md2 = sca_in(msci + MD2, card); unsigned int tmc, br = 10, brv = 1024; if (port->settings.clock_rate > 0) { /* Try lower br for better accuracy*/ do { Loading @@ -386,8 +374,9 @@ static void sca_set_port(port_t *port) tmc = 1; br = 0; /* For baud=CLOCK_BASE we use tmc=1 br=0 */ brv = 1; } else if (tmc > 255) } else if (tmc > 255) { tmc = 256; /* tmc=0 means 256 - low baud rates */ } port->settings.clock_rate = CLOCK_BASE / brv / tmc; } else { Loading @@ -414,10 +403,8 @@ static void sca_set_port(port_t *port) md2 &= ~MD2_LOOPBACK; sca_out(md2, msci + MD2, card); } static void sca_open(struct net_device *dev) { port_t *port = dev_to_port(dev); Loading @@ -426,22 +413,40 @@ static void sca_open(struct net_device *dev) u8 md0, md2; switch (port->encoding) { case ENCODING_NRZ: md2 = MD2_NRZ; break; case ENCODING_NRZI: md2 = MD2_NRZI; break; case ENCODING_FM_MARK: md2 = MD2_FM_MARK; break; case ENCODING_FM_SPACE: md2 = MD2_FM_SPACE; break; default: md2 = MD2_MANCHESTER; case ENCODING_NRZ: md2 = MD2_NRZ; break; case ENCODING_NRZI: md2 = MD2_NRZI; break; case ENCODING_FM_MARK: md2 = MD2_FM_MARK; break; case ENCODING_FM_SPACE: md2 = MD2_FM_SPACE; break; default: md2 = MD2_MANCHESTER; } if (port->settings.loopback) md2 |= MD2_LOOPBACK; switch (port->parity) { case PARITY_CRC16_PR0: md0 = MD0_HDLC | MD0_CRC_16_0; break; case PARITY_CRC16_PR1: md0 = MD0_HDLC | MD0_CRC_16; break; case PARITY_CRC32_PR1_CCITT: md0 = MD0_HDLC | MD0_CRC_ITU32; break; case PARITY_CRC16_PR1_CCITT: md0 = MD0_HDLC | MD0_CRC_ITU; break; default: md0 = MD0_HDLC | MD0_CRC_NONE; case PARITY_CRC16_PR0: md0 = MD0_HDLC | MD0_CRC_16_0; break; case PARITY_CRC16_PR1: md0 = MD0_HDLC | MD0_CRC_16; break; case PARITY_CRC32_PR1_CCITT: md0 = MD0_HDLC | MD0_CRC_ITU32; break; case PARITY_CRC16_PR1_CCITT: md0 = MD0_HDLC | MD0_CRC_ITU; break; default: md0 = MD0_HDLC | MD0_CRC_NONE; } sca_out(CMD_RESET, msci + CMD, card); Loading Loading @@ -476,7 +481,6 @@ static void sca_open(struct net_device *dev) netif_start_queue(dev); } static void sca_close(struct net_device *dev) { port_t *port = dev_to_port(dev); Loading @@ -488,7 +492,6 @@ static void sca_close(struct net_device *dev) netif_stop_queue(dev); } static int sca_attach(struct net_device *dev, unsigned short encoding, unsigned short parity) { Loading @@ -511,7 +514,6 @@ static int sca_attach(struct net_device *dev, unsigned short encoding, return 0; } #ifdef DEBUG_RINGS static void sca_dump_rings(struct net_device *dev) { Loading Loading @@ -558,7 +560,6 @@ static void sca_dump_rings(struct net_device *dev) } #endif /* DEBUG_RINGS */ static netdev_tx_t sca_xmit(struct sk_buff *skb, struct net_device *dev) { port_t *port = dev_to_port(dev); Loading Loading @@ -600,7 +601,6 @@ static netdev_tx_t sca_xmit(struct sk_buff *skb, struct net_device *dev) return NETDEV_TX_OK; } static u32 sca_detect_ram(card_t *card, u8 __iomem *rambase, u32 ramsize) { /* Round RAM size to 32 bits, fill from end to start */ Loading @@ -619,7 +619,6 @@ static u32 sca_detect_ram(card_t *card, u8 __iomem *rambase, u32 ramsize) return i; } static void sca_init(card_t *card, int wait_states) { sca_out(wait_states, WCRL, card); /* Wait Control */ Loading Loading
drivers/net/wan/hd64572.c +47 −48 Original line number Diff line number Diff line Loading @@ -41,16 +41,16 @@ #define NAPI_WEIGHT 16 #define get_msci(port) (port->chan ? MSCI1_OFFSET : MSCI0_OFFSET) #define get_dmac_rx(port) (port->chan ? DMAC1RX_OFFSET : DMAC0RX_OFFSET) #define get_dmac_tx(port) (port->chan ? DMAC1TX_OFFSET : DMAC0TX_OFFSET) #define get_msci(port) ((port)->chan ? MSCI1_OFFSET : MSCI0_OFFSET) #define get_dmac_rx(port) ((port)->chan ? DMAC1RX_OFFSET : DMAC0RX_OFFSET) #define get_dmac_tx(port) ((port)->chan ? DMAC1TX_OFFSET : DMAC0TX_OFFSET) #define sca_in(reg, card) readb(card->scabase + (reg)) #define sca_out(value, reg, card) writeb(value, card->scabase + (reg)) #define sca_inw(reg, card) readw(card->scabase + (reg)) #define sca_outw(value, reg, card) writew(value, card->scabase + (reg)) #define sca_inl(reg, card) readl(card->scabase + (reg)) #define sca_outl(value, reg, card) writel(value, card->scabase + (reg)) #define sca_in(reg, card) readb((card)->scabase + (reg)) #define sca_out(value, reg, card) writeb(value, (card)->scabase + (reg)) #define sca_inw(reg, card) readw((card)->scabase + (reg)) #define sca_outw(value, reg, card) writew(value, (card)->scabase + (reg)) #define sca_inl(reg, card) readl((card)->scabase + (reg)) #define sca_outl(value, reg, card) writel(value, (card)->scabase + (reg)) static int sca_poll(struct napi_struct *napi, int budget); Loading Loading @@ -81,14 +81,12 @@ static inline u16 desc_abs_number(port_t *port, u16 desc, int transmit) return port->chan * (rx_buffs + tx_buffs) + transmit * rx_buffs + desc; } static inline u16 desc_offset(port_t *port, u16 desc, int transmit) { /* Descriptor offset always fits in 16 bits */ return desc_abs_number(port, desc, transmit) * sizeof(pkt_desc); } static inline pkt_desc __iomem *desc_address(port_t *port, u16 desc, int transmit) { Loading @@ -96,14 +94,12 @@ static inline pkt_desc __iomem *desc_address(port_t *port, u16 desc, desc_offset(port, desc, transmit)); } static inline u32 buffer_offset(port_t *port, u16 desc, int transmit) { return port->card->buff_offset + desc_abs_number(port, desc, transmit) * (u32)HDLC_MAX_MRU; } static inline void sca_set_carrier(port_t *port) { if (!(sca_in(get_msci(port) + ST3, port->card) & ST3_DCD)) { Loading @@ -121,7 +117,6 @@ static inline void sca_set_carrier(port_t *port) } } static void sca_init_port(port_t *port) { card_t *card = port->card; Loading Loading @@ -181,7 +176,6 @@ static void sca_init_port(port_t *port) netif_napi_add(port->netdev, &port->napi, sca_poll, NAPI_WEIGHT); } /* MSCI interrupt service */ static inline void sca_msci_intr(port_t *port) { Loading @@ -195,7 +189,6 @@ static inline void sca_msci_intr(port_t *port) } } static inline void sca_rx(card_t *card, port_t *port, pkt_desc __iomem *desc, u16 rxin) { Loading Loading @@ -225,7 +218,6 @@ static inline void sca_rx(card_t *card, port_t *port, pkt_desc __iomem *desc, netif_receive_skb(skb); } /* Receive DMA service */ static inline int sca_rx_done(port_t *port, int budget) { Loading Loading @@ -281,7 +273,6 @@ static inline int sca_rx_done(port_t *port, int budget) return received; } /* Transmit DMA service */ static inline void sca_tx_done(port_t *port) { Loading Loading @@ -321,7 +312,6 @@ static inline void sca_tx_done(port_t *port) spin_unlock(&port->lock); } static int sca_poll(struct napi_struct *napi, int budget) { port_t *port = container_of(napi, port_t, napi); Loading Loading @@ -363,7 +353,6 @@ static irqreturn_t sca_intr(int irq, void *dev_id) return IRQ_RETVAL(handled); } static void sca_set_port(port_t *port) { card_t *card = port->card; Loading @@ -371,7 +360,6 @@ static void sca_set_port(port_t *port) u8 md2 = sca_in(msci + MD2, card); unsigned int tmc, br = 10, brv = 1024; if (port->settings.clock_rate > 0) { /* Try lower br for better accuracy*/ do { Loading @@ -386,8 +374,9 @@ static void sca_set_port(port_t *port) tmc = 1; br = 0; /* For baud=CLOCK_BASE we use tmc=1 br=0 */ brv = 1; } else if (tmc > 255) } else if (tmc > 255) { tmc = 256; /* tmc=0 means 256 - low baud rates */ } port->settings.clock_rate = CLOCK_BASE / brv / tmc; } else { Loading @@ -414,10 +403,8 @@ static void sca_set_port(port_t *port) md2 &= ~MD2_LOOPBACK; sca_out(md2, msci + MD2, card); } static void sca_open(struct net_device *dev) { port_t *port = dev_to_port(dev); Loading @@ -426,22 +413,40 @@ static void sca_open(struct net_device *dev) u8 md0, md2; switch (port->encoding) { case ENCODING_NRZ: md2 = MD2_NRZ; break; case ENCODING_NRZI: md2 = MD2_NRZI; break; case ENCODING_FM_MARK: md2 = MD2_FM_MARK; break; case ENCODING_FM_SPACE: md2 = MD2_FM_SPACE; break; default: md2 = MD2_MANCHESTER; case ENCODING_NRZ: md2 = MD2_NRZ; break; case ENCODING_NRZI: md2 = MD2_NRZI; break; case ENCODING_FM_MARK: md2 = MD2_FM_MARK; break; case ENCODING_FM_SPACE: md2 = MD2_FM_SPACE; break; default: md2 = MD2_MANCHESTER; } if (port->settings.loopback) md2 |= MD2_LOOPBACK; switch (port->parity) { case PARITY_CRC16_PR0: md0 = MD0_HDLC | MD0_CRC_16_0; break; case PARITY_CRC16_PR1: md0 = MD0_HDLC | MD0_CRC_16; break; case PARITY_CRC32_PR1_CCITT: md0 = MD0_HDLC | MD0_CRC_ITU32; break; case PARITY_CRC16_PR1_CCITT: md0 = MD0_HDLC | MD0_CRC_ITU; break; default: md0 = MD0_HDLC | MD0_CRC_NONE; case PARITY_CRC16_PR0: md0 = MD0_HDLC | MD0_CRC_16_0; break; case PARITY_CRC16_PR1: md0 = MD0_HDLC | MD0_CRC_16; break; case PARITY_CRC32_PR1_CCITT: md0 = MD0_HDLC | MD0_CRC_ITU32; break; case PARITY_CRC16_PR1_CCITT: md0 = MD0_HDLC | MD0_CRC_ITU; break; default: md0 = MD0_HDLC | MD0_CRC_NONE; } sca_out(CMD_RESET, msci + CMD, card); Loading Loading @@ -476,7 +481,6 @@ static void sca_open(struct net_device *dev) netif_start_queue(dev); } static void sca_close(struct net_device *dev) { port_t *port = dev_to_port(dev); Loading @@ -488,7 +492,6 @@ static void sca_close(struct net_device *dev) netif_stop_queue(dev); } static int sca_attach(struct net_device *dev, unsigned short encoding, unsigned short parity) { Loading @@ -511,7 +514,6 @@ static int sca_attach(struct net_device *dev, unsigned short encoding, return 0; } #ifdef DEBUG_RINGS static void sca_dump_rings(struct net_device *dev) { Loading Loading @@ -558,7 +560,6 @@ static void sca_dump_rings(struct net_device *dev) } #endif /* DEBUG_RINGS */ static netdev_tx_t sca_xmit(struct sk_buff *skb, struct net_device *dev) { port_t *port = dev_to_port(dev); Loading Loading @@ -600,7 +601,6 @@ static netdev_tx_t sca_xmit(struct sk_buff *skb, struct net_device *dev) return NETDEV_TX_OK; } static u32 sca_detect_ram(card_t *card, u8 __iomem *rambase, u32 ramsize) { /* Round RAM size to 32 bits, fill from end to start */ Loading @@ -619,7 +619,6 @@ static u32 sca_detect_ram(card_t *card, u8 __iomem *rambase, u32 ramsize) return i; } static void sca_init(card_t *card, int wait_states) { sca_out(wait_states, WCRL, card); /* Wait Control */ Loading