Loading drivers/atm/nicstar.c +0 −90 Original line number Original line Diff line number Diff line Loading @@ -73,9 +73,6 @@ #undef GENERAL_DEBUG #undef GENERAL_DEBUG #undef EXTRA_DEBUG #undef EXTRA_DEBUG #undef NS_USE_DESTRUCTORS /* For now keep this undefined unless you know you're going to use only raw ATM */ /* Do not touch these */ /* Do not touch these */ #ifdef TX_DEBUG #ifdef TX_DEBUG Loading Loading @@ -138,11 +135,6 @@ static void process_tsq(ns_dev * card); static void drain_scq(ns_dev * card, scq_info * scq, int pos); static void drain_scq(ns_dev * card, scq_info * scq, int pos); static void process_rsq(ns_dev * card); static void process_rsq(ns_dev * card); static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe); static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe); #ifdef NS_USE_DESTRUCTORS static void ns_sb_destructor(struct sk_buff *sb); static void ns_lb_destructor(struct sk_buff *lb); static void ns_hb_destructor(struct sk_buff *hb); #endif /* NS_USE_DESTRUCTORS */ static void recycle_rx_buf(ns_dev * card, struct sk_buff *skb); static void recycle_rx_buf(ns_dev * card, struct sk_buff *skb); static void recycle_iovec_rx_bufs(ns_dev * card, struct iovec *iov, int count); static void recycle_iovec_rx_bufs(ns_dev * card, struct iovec *iov, int count); static void recycle_iov_buf(ns_dev * card, struct sk_buff *iovb); static void recycle_iov_buf(ns_dev * card, struct sk_buff *iovb); Loading Loading @@ -2169,9 +2161,6 @@ static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe) } else { } else { skb_put(skb, len); skb_put(skb, len); dequeue_sm_buf(card, skb); dequeue_sm_buf(card, skb); #ifdef NS_USE_DESTRUCTORS skb->destructor = ns_sb_destructor; #endif /* NS_USE_DESTRUCTORS */ ATM_SKB(skb)->vcc = vcc; ATM_SKB(skb)->vcc = vcc; __net_timestamp(skb); __net_timestamp(skb); vcc->push(vcc, skb); vcc->push(vcc, skb); Loading @@ -2190,9 +2179,6 @@ static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe) } else { } else { skb_put(sb, len); skb_put(sb, len); dequeue_sm_buf(card, sb); dequeue_sm_buf(card, sb); #ifdef NS_USE_DESTRUCTORS sb->destructor = ns_sb_destructor; #endif /* NS_USE_DESTRUCTORS */ ATM_SKB(sb)->vcc = vcc; ATM_SKB(sb)->vcc = vcc; __net_timestamp(sb); __net_timestamp(sb); vcc->push(vcc, sb); vcc->push(vcc, sb); Loading @@ -2208,9 +2194,6 @@ static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe) atomic_inc(&vcc->stats->rx_drop); atomic_inc(&vcc->stats->rx_drop); } else { } else { dequeue_lg_buf(card, skb); dequeue_lg_buf(card, skb); #ifdef NS_USE_DESTRUCTORS skb->destructor = ns_lb_destructor; #endif /* NS_USE_DESTRUCTORS */ skb_push(skb, NS_SMBUFSIZE); skb_push(skb, NS_SMBUFSIZE); skb_copy_from_linear_data(sb, skb->data, skb_copy_from_linear_data(sb, skb->data, NS_SMBUFSIZE); NS_SMBUFSIZE); Loading Loading @@ -2322,9 +2305,6 @@ static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe) card->index); card->index); #endif /* EXTRA_DEBUG */ #endif /* EXTRA_DEBUG */ ATM_SKB(hb)->vcc = vcc; ATM_SKB(hb)->vcc = vcc; #ifdef NS_USE_DESTRUCTORS hb->destructor = ns_hb_destructor; #endif /* NS_USE_DESTRUCTORS */ __net_timestamp(hb); __net_timestamp(hb); vcc->push(vcc, hb); vcc->push(vcc, hb); atomic_inc(&vcc->stats->rx); atomic_inc(&vcc->stats->rx); Loading @@ -2337,68 +2317,6 @@ static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe) } } #ifdef NS_USE_DESTRUCTORS static void ns_sb_destructor(struct sk_buff *sb) { ns_dev *card; u32 stat; card = (ns_dev *) ATM_SKB(sb)->vcc->dev->dev_data; stat = readl(card->membase + STAT); card->sbfqc = ns_stat_sfbqc_get(stat); card->lbfqc = ns_stat_lfbqc_get(stat); do { sb = __dev_alloc_skb(NS_SMSKBSIZE, GFP_KERNEL); if (sb == NULL) break; NS_PRV_BUFTYPE(sb) = BUF_SM; skb_queue_tail(&card->sbpool.queue, sb); skb_reserve(sb, NS_AAL0_HEADER); push_rxbufs(card, sb); } while (card->sbfqc < card->sbnr.min); } static void ns_lb_destructor(struct sk_buff *lb) { ns_dev *card; u32 stat; card = (ns_dev *) ATM_SKB(lb)->vcc->dev->dev_data; stat = readl(card->membase + STAT); card->sbfqc = ns_stat_sfbqc_get(stat); card->lbfqc = ns_stat_lfbqc_get(stat); do { lb = __dev_alloc_skb(NS_LGSKBSIZE, GFP_KERNEL); if (lb == NULL) break; NS_PRV_BUFTYPE(lb) = BUF_LG; skb_queue_tail(&card->lbpool.queue, lb); skb_reserve(lb, NS_SMBUFSIZE); push_rxbufs(card, lb); } while (card->lbfqc < card->lbnr.min); } static void ns_hb_destructor(struct sk_buff *hb) { ns_dev *card; card = (ns_dev *) ATM_SKB(hb)->vcc->dev->dev_data; while (card->hbpool.count < card->hbnr.init) { hb = __dev_alloc_skb(NS_HBUFSIZE, GFP_KERNEL); if (hb == NULL) break; NS_PRV_BUFTYPE(hb) = BUF_NONE; skb_queue_tail(&card->hbpool.queue, hb); card->hbpool.count++; } } #endif /* NS_USE_DESTRUCTORS */ static void recycle_rx_buf(ns_dev * card, struct sk_buff *skb) static void recycle_rx_buf(ns_dev * card, struct sk_buff *skb) { { if (unlikely(NS_PRV_BUFTYPE(skb) == BUF_NONE)) { if (unlikely(NS_PRV_BUFTYPE(skb) == BUF_NONE)) { Loading Loading @@ -2427,9 +2345,6 @@ static void recycle_iov_buf(ns_dev * card, struct sk_buff *iovb) static void dequeue_sm_buf(ns_dev * card, struct sk_buff *sb) static void dequeue_sm_buf(ns_dev * card, struct sk_buff *sb) { { skb_unlink(sb, &card->sbpool.queue); skb_unlink(sb, &card->sbpool.queue); #ifdef NS_USE_DESTRUCTORS if (card->sbfqc < card->sbnr.min) #else if (card->sbfqc < card->sbnr.init) { if (card->sbfqc < card->sbnr.init) { struct sk_buff *new_sb; struct sk_buff *new_sb; if ((new_sb = dev_alloc_skb(NS_SMSKBSIZE)) != NULL) { if ((new_sb = dev_alloc_skb(NS_SMSKBSIZE)) != NULL) { Loading @@ -2440,7 +2355,6 @@ static void dequeue_sm_buf(ns_dev * card, struct sk_buff *sb) } } } } if (card->sbfqc < card->sbnr.init) if (card->sbfqc < card->sbnr.init) #endif /* NS_USE_DESTRUCTORS */ { { struct sk_buff *new_sb; struct sk_buff *new_sb; if ((new_sb = dev_alloc_skb(NS_SMSKBSIZE)) != NULL) { if ((new_sb = dev_alloc_skb(NS_SMSKBSIZE)) != NULL) { Loading @@ -2455,9 +2369,6 @@ static void dequeue_sm_buf(ns_dev * card, struct sk_buff *sb) static void dequeue_lg_buf(ns_dev * card, struct sk_buff *lb) static void dequeue_lg_buf(ns_dev * card, struct sk_buff *lb) { { skb_unlink(lb, &card->lbpool.queue); skb_unlink(lb, &card->lbpool.queue); #ifdef NS_USE_DESTRUCTORS if (card->lbfqc < card->lbnr.min) #else if (card->lbfqc < card->lbnr.init) { if (card->lbfqc < card->lbnr.init) { struct sk_buff *new_lb; struct sk_buff *new_lb; if ((new_lb = dev_alloc_skb(NS_LGSKBSIZE)) != NULL) { if ((new_lb = dev_alloc_skb(NS_LGSKBSIZE)) != NULL) { Loading @@ -2468,7 +2379,6 @@ static void dequeue_lg_buf(ns_dev * card, struct sk_buff *lb) } } } } if (card->lbfqc < card->lbnr.init) if (card->lbfqc < card->lbnr.init) #endif /* NS_USE_DESTRUCTORS */ { { struct sk_buff *new_lb; struct sk_buff *new_lb; if ((new_lb = dev_alloc_skb(NS_LGSKBSIZE)) != NULL) { if ((new_lb = dev_alloc_skb(NS_LGSKBSIZE)) != NULL) { Loading Loading
drivers/atm/nicstar.c +0 −90 Original line number Original line Diff line number Diff line Loading @@ -73,9 +73,6 @@ #undef GENERAL_DEBUG #undef GENERAL_DEBUG #undef EXTRA_DEBUG #undef EXTRA_DEBUG #undef NS_USE_DESTRUCTORS /* For now keep this undefined unless you know you're going to use only raw ATM */ /* Do not touch these */ /* Do not touch these */ #ifdef TX_DEBUG #ifdef TX_DEBUG Loading Loading @@ -138,11 +135,6 @@ static void process_tsq(ns_dev * card); static void drain_scq(ns_dev * card, scq_info * scq, int pos); static void drain_scq(ns_dev * card, scq_info * scq, int pos); static void process_rsq(ns_dev * card); static void process_rsq(ns_dev * card); static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe); static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe); #ifdef NS_USE_DESTRUCTORS static void ns_sb_destructor(struct sk_buff *sb); static void ns_lb_destructor(struct sk_buff *lb); static void ns_hb_destructor(struct sk_buff *hb); #endif /* NS_USE_DESTRUCTORS */ static void recycle_rx_buf(ns_dev * card, struct sk_buff *skb); static void recycle_rx_buf(ns_dev * card, struct sk_buff *skb); static void recycle_iovec_rx_bufs(ns_dev * card, struct iovec *iov, int count); static void recycle_iovec_rx_bufs(ns_dev * card, struct iovec *iov, int count); static void recycle_iov_buf(ns_dev * card, struct sk_buff *iovb); static void recycle_iov_buf(ns_dev * card, struct sk_buff *iovb); Loading Loading @@ -2169,9 +2161,6 @@ static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe) } else { } else { skb_put(skb, len); skb_put(skb, len); dequeue_sm_buf(card, skb); dequeue_sm_buf(card, skb); #ifdef NS_USE_DESTRUCTORS skb->destructor = ns_sb_destructor; #endif /* NS_USE_DESTRUCTORS */ ATM_SKB(skb)->vcc = vcc; ATM_SKB(skb)->vcc = vcc; __net_timestamp(skb); __net_timestamp(skb); vcc->push(vcc, skb); vcc->push(vcc, skb); Loading @@ -2190,9 +2179,6 @@ static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe) } else { } else { skb_put(sb, len); skb_put(sb, len); dequeue_sm_buf(card, sb); dequeue_sm_buf(card, sb); #ifdef NS_USE_DESTRUCTORS sb->destructor = ns_sb_destructor; #endif /* NS_USE_DESTRUCTORS */ ATM_SKB(sb)->vcc = vcc; ATM_SKB(sb)->vcc = vcc; __net_timestamp(sb); __net_timestamp(sb); vcc->push(vcc, sb); vcc->push(vcc, sb); Loading @@ -2208,9 +2194,6 @@ static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe) atomic_inc(&vcc->stats->rx_drop); atomic_inc(&vcc->stats->rx_drop); } else { } else { dequeue_lg_buf(card, skb); dequeue_lg_buf(card, skb); #ifdef NS_USE_DESTRUCTORS skb->destructor = ns_lb_destructor; #endif /* NS_USE_DESTRUCTORS */ skb_push(skb, NS_SMBUFSIZE); skb_push(skb, NS_SMBUFSIZE); skb_copy_from_linear_data(sb, skb->data, skb_copy_from_linear_data(sb, skb->data, NS_SMBUFSIZE); NS_SMBUFSIZE); Loading Loading @@ -2322,9 +2305,6 @@ static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe) card->index); card->index); #endif /* EXTRA_DEBUG */ #endif /* EXTRA_DEBUG */ ATM_SKB(hb)->vcc = vcc; ATM_SKB(hb)->vcc = vcc; #ifdef NS_USE_DESTRUCTORS hb->destructor = ns_hb_destructor; #endif /* NS_USE_DESTRUCTORS */ __net_timestamp(hb); __net_timestamp(hb); vcc->push(vcc, hb); vcc->push(vcc, hb); atomic_inc(&vcc->stats->rx); atomic_inc(&vcc->stats->rx); Loading @@ -2337,68 +2317,6 @@ static void dequeue_rx(ns_dev * card, ns_rsqe * rsqe) } } #ifdef NS_USE_DESTRUCTORS static void ns_sb_destructor(struct sk_buff *sb) { ns_dev *card; u32 stat; card = (ns_dev *) ATM_SKB(sb)->vcc->dev->dev_data; stat = readl(card->membase + STAT); card->sbfqc = ns_stat_sfbqc_get(stat); card->lbfqc = ns_stat_lfbqc_get(stat); do { sb = __dev_alloc_skb(NS_SMSKBSIZE, GFP_KERNEL); if (sb == NULL) break; NS_PRV_BUFTYPE(sb) = BUF_SM; skb_queue_tail(&card->sbpool.queue, sb); skb_reserve(sb, NS_AAL0_HEADER); push_rxbufs(card, sb); } while (card->sbfqc < card->sbnr.min); } static void ns_lb_destructor(struct sk_buff *lb) { ns_dev *card; u32 stat; card = (ns_dev *) ATM_SKB(lb)->vcc->dev->dev_data; stat = readl(card->membase + STAT); card->sbfqc = ns_stat_sfbqc_get(stat); card->lbfqc = ns_stat_lfbqc_get(stat); do { lb = __dev_alloc_skb(NS_LGSKBSIZE, GFP_KERNEL); if (lb == NULL) break; NS_PRV_BUFTYPE(lb) = BUF_LG; skb_queue_tail(&card->lbpool.queue, lb); skb_reserve(lb, NS_SMBUFSIZE); push_rxbufs(card, lb); } while (card->lbfqc < card->lbnr.min); } static void ns_hb_destructor(struct sk_buff *hb) { ns_dev *card; card = (ns_dev *) ATM_SKB(hb)->vcc->dev->dev_data; while (card->hbpool.count < card->hbnr.init) { hb = __dev_alloc_skb(NS_HBUFSIZE, GFP_KERNEL); if (hb == NULL) break; NS_PRV_BUFTYPE(hb) = BUF_NONE; skb_queue_tail(&card->hbpool.queue, hb); card->hbpool.count++; } } #endif /* NS_USE_DESTRUCTORS */ static void recycle_rx_buf(ns_dev * card, struct sk_buff *skb) static void recycle_rx_buf(ns_dev * card, struct sk_buff *skb) { { if (unlikely(NS_PRV_BUFTYPE(skb) == BUF_NONE)) { if (unlikely(NS_PRV_BUFTYPE(skb) == BUF_NONE)) { Loading Loading @@ -2427,9 +2345,6 @@ static void recycle_iov_buf(ns_dev * card, struct sk_buff *iovb) static void dequeue_sm_buf(ns_dev * card, struct sk_buff *sb) static void dequeue_sm_buf(ns_dev * card, struct sk_buff *sb) { { skb_unlink(sb, &card->sbpool.queue); skb_unlink(sb, &card->sbpool.queue); #ifdef NS_USE_DESTRUCTORS if (card->sbfqc < card->sbnr.min) #else if (card->sbfqc < card->sbnr.init) { if (card->sbfqc < card->sbnr.init) { struct sk_buff *new_sb; struct sk_buff *new_sb; if ((new_sb = dev_alloc_skb(NS_SMSKBSIZE)) != NULL) { if ((new_sb = dev_alloc_skb(NS_SMSKBSIZE)) != NULL) { Loading @@ -2440,7 +2355,6 @@ static void dequeue_sm_buf(ns_dev * card, struct sk_buff *sb) } } } } if (card->sbfqc < card->sbnr.init) if (card->sbfqc < card->sbnr.init) #endif /* NS_USE_DESTRUCTORS */ { { struct sk_buff *new_sb; struct sk_buff *new_sb; if ((new_sb = dev_alloc_skb(NS_SMSKBSIZE)) != NULL) { if ((new_sb = dev_alloc_skb(NS_SMSKBSIZE)) != NULL) { Loading @@ -2455,9 +2369,6 @@ static void dequeue_sm_buf(ns_dev * card, struct sk_buff *sb) static void dequeue_lg_buf(ns_dev * card, struct sk_buff *lb) static void dequeue_lg_buf(ns_dev * card, struct sk_buff *lb) { { skb_unlink(lb, &card->lbpool.queue); skb_unlink(lb, &card->lbpool.queue); #ifdef NS_USE_DESTRUCTORS if (card->lbfqc < card->lbnr.min) #else if (card->lbfqc < card->lbnr.init) { if (card->lbfqc < card->lbnr.init) { struct sk_buff *new_lb; struct sk_buff *new_lb; if ((new_lb = dev_alloc_skb(NS_LGSKBSIZE)) != NULL) { if ((new_lb = dev_alloc_skb(NS_LGSKBSIZE)) != NULL) { Loading @@ -2468,7 +2379,6 @@ static void dequeue_lg_buf(ns_dev * card, struct sk_buff *lb) } } } } if (card->lbfqc < card->lbnr.init) if (card->lbfqc < card->lbnr.init) #endif /* NS_USE_DESTRUCTORS */ { { struct sk_buff *new_lb; struct sk_buff *new_lb; if ((new_lb = dev_alloc_skb(NS_LGSKBSIZE)) != NULL) { if ((new_lb = dev_alloc_skb(NS_LGSKBSIZE)) != NULL) { Loading