aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/atm/nicstar.h
diff options
context:
space:
mode:
authorchas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>2010-05-29 05:04:25 -0400
committerDavid S. Miller <davem@davemloft.net>2010-05-31 03:27:46 -0400
commit864a3ff635fa73dae15455524e048da5c89352ac (patch)
tree61b9abd5a99ce1a944224efee8090b85327dfb1b /drivers/atm/nicstar.h
parent098fde114bf6655f4b75d71dbea208d039fc1de3 (diff)
atm: [nicstar] remove virt_to_bus() and support 64-bit platforms
Signed-off-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/atm/nicstar.h')
-rw-r--r--drivers/atm/nicstar.h28
1 files changed, 17 insertions, 11 deletions
diff --git a/drivers/atm/nicstar.h b/drivers/atm/nicstar.h
index 43eb2db1fb88..9bc27ea5088e 100644
--- a/drivers/atm/nicstar.h
+++ b/drivers/atm/nicstar.h
@@ -16,6 +16,7 @@
16 16
17#include <linux/types.h> 17#include <linux/types.h>
18#include <linux/pci.h> 18#include <linux/pci.h>
19#include <linux/idr.h>
19#include <linux/uio.h> 20#include <linux/uio.h>
20#include <linux/skbuff.h> 21#include <linux/skbuff.h>
21#include <linux/atmdev.h> 22#include <linux/atmdev.h>
@@ -636,14 +637,22 @@ enum ns_regs {
636 637
637/* Device driver structures */ 638/* Device driver structures */
638 639
639struct ns_skb_cb { 640struct ns_skb_prv {
640 u32 buf_type; /* BUF_SM/BUF_LG/BUF_NONE */ 641 u32 buf_type; /* BUF_SM/BUF_LG/BUF_NONE */
642 u32 dma;
643 int iovcnt;
641}; 644};
642 645
643#define NS_SKB_CB(skb) ((struct ns_skb_cb *)((skb)->cb)) 646#define NS_PRV_BUFTYPE(skb) \
647 (((struct ns_skb_prv *)(ATM_SKB(skb)+1))->buf_type)
648#define NS_PRV_DMA(skb) \
649 (((struct ns_skb_prv *)(ATM_SKB(skb)+1))->dma)
650#define NS_PRV_IOVCNT(skb) \
651 (((struct ns_skb_prv *)(ATM_SKB(skb)+1))->iovcnt)
644 652
645typedef struct tsq_info { 653typedef struct tsq_info {
646 void *org; 654 void *org;
655 dma_addr_t dma;
647 ns_tsi *base; 656 ns_tsi *base;
648 ns_tsi *next; 657 ns_tsi *next;
649 ns_tsi *last; 658 ns_tsi *last;
@@ -651,6 +660,7 @@ typedef struct tsq_info {
651 660
652typedef struct scq_info { 661typedef struct scq_info {
653 void *org; 662 void *org;
663 dma_addr_t dma;
654 ns_scqe *base; 664 ns_scqe *base;
655 ns_scqe *last; 665 ns_scqe *last;
656 ns_scqe *next; 666 ns_scqe *next;
@@ -668,6 +678,7 @@ typedef struct scq_info {
668 678
669typedef struct rsq_info { 679typedef struct rsq_info {
670 void *org; 680 void *org;
681 dma_addr_t dma;
671 ns_rsqe *base; 682 ns_rsqe *base;
672 ns_rsqe *next; 683 ns_rsqe *next;
673 ns_rsqe *last; 684 ns_rsqe *last;
@@ -693,13 +704,6 @@ typedef struct vc_map {
693 int tbd_count; 704 int tbd_count;
694} vc_map; 705} vc_map;
695 706
696struct ns_skb_data {
697 struct atm_vcc *vcc;
698 int iovcnt;
699};
700
701#define NS_SKB(skb) (((struct ns_skb_data *) (skb)->cb))
702
703typedef struct ns_dev { 707typedef struct ns_dev {
704 int index; /* Card ID to the device driver */ 708 int index; /* Card ID to the device driver */
705 int sram_size; /* In k x 32bit words. 32 or 128 */ 709 int sram_size; /* In k x 32bit words. 32 or 128 */
@@ -709,6 +713,7 @@ typedef struct ns_dev {
709 int vpibits; 713 int vpibits;
710 int vcibits; 714 int vcibits;
711 struct pci_dev *pcidev; 715 struct pci_dev *pcidev;
716 struct idr idr;
712 struct atm_dev *atmdev; 717 struct atm_dev *atmdev;
713 tsq_info tsq; 718 tsq_info tsq;
714 rsq_info rsq; 719 rsq_info rsq;
@@ -729,11 +734,12 @@ typedef struct ns_dev {
729 buf_nr iovnr; 734 buf_nr iovnr;
730 int sbfqc; 735 int sbfqc;
731 int lbfqc; 736 int lbfqc;
732 u32 sm_handle; 737 struct sk_buff *sm_handle;
733 u32 sm_addr; 738 u32 sm_addr;
734 u32 lg_handle; 739 struct sk_buff *lg_handle;
735 u32 lg_addr; 740 u32 lg_addr;
736 struct sk_buff *rcbuf; /* Current raw cell buffer */ 741 struct sk_buff *rcbuf; /* Current raw cell buffer */
742 struct ns_rcqe *rawcell;
737 u32 rawch; /* Raw cell queue head */ 743 u32 rawch; /* Raw cell queue head */
738 unsigned intcnt; /* Interrupt counter */ 744 unsigned intcnt; /* Interrupt counter */
739 spinlock_t int_lock; /* Interrupt lock */ 745 spinlock_t int_lock; /* Interrupt lock */