diff options
author | Santosh Rastapur <santosh@chelsio.com> | 2013-03-14 01:08:48 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-03-14 11:35:53 -0400 |
commit | 2422d9a32747b85801ca705f4d6376e16d230c67 (patch) | |
tree | 5ae3362be94c775a06edf513337fe011a89afc3f /drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | |
parent | b2decadd837fd7f5e789bd7e1de11be79ed22a06 (diff) |
cxgb4: Add macros, structures and inline functions for T5
Signed-off-by: Santosh Rastapur <santosh@chelsio.com>
Signed-off-by: Vipul Pandya <vipul@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/chelsio/cxgb4/cxgb4.h')
-rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 50 |
1 files changed, 49 insertions, 1 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h index 6db997c78a5f..a91dea621fcf 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | |||
@@ -54,6 +54,10 @@ | |||
54 | #define FW_VERSION_MINOR 1 | 54 | #define FW_VERSION_MINOR 1 |
55 | #define FW_VERSION_MICRO 0 | 55 | #define FW_VERSION_MICRO 0 |
56 | 56 | ||
57 | #define FW_VERSION_MAJOR_T5 0 | ||
58 | #define FW_VERSION_MINOR_T5 0 | ||
59 | #define FW_VERSION_MICRO_T5 0 | ||
60 | |||
57 | #define CH_WARN(adap, fmt, ...) dev_warn(adap->pdev_dev, fmt, ## __VA_ARGS__) | 61 | #define CH_WARN(adap, fmt, ...) dev_warn(adap->pdev_dev, fmt, ## __VA_ARGS__) |
58 | 62 | ||
59 | enum { | 63 | enum { |
@@ -66,7 +70,9 @@ enum { | |||
66 | enum { | 70 | enum { |
67 | MEM_EDC0, | 71 | MEM_EDC0, |
68 | MEM_EDC1, | 72 | MEM_EDC1, |
69 | MEM_MC | 73 | MEM_MC, |
74 | MEM_MC0 = MEM_MC, | ||
75 | MEM_MC1 | ||
70 | }; | 76 | }; |
71 | 77 | ||
72 | enum { | 78 | enum { |
@@ -74,8 +80,10 @@ enum { | |||
74 | MEMWIN0_BASE = 0x1b800, | 80 | MEMWIN0_BASE = 0x1b800, |
75 | MEMWIN1_APERTURE = 32768, | 81 | MEMWIN1_APERTURE = 32768, |
76 | MEMWIN1_BASE = 0x28000, | 82 | MEMWIN1_BASE = 0x28000, |
83 | MEMWIN1_BASE_T5 = 0x52000, | ||
77 | MEMWIN2_APERTURE = 65536, | 84 | MEMWIN2_APERTURE = 65536, |
78 | MEMWIN2_BASE = 0x30000, | 85 | MEMWIN2_BASE = 0x30000, |
86 | MEMWIN2_BASE_T5 = 0x54000, | ||
79 | }; | 87 | }; |
80 | 88 | ||
81 | enum dev_master { | 89 | enum dev_master { |
@@ -504,6 +512,35 @@ struct sge { | |||
504 | 512 | ||
505 | struct l2t_data; | 513 | struct l2t_data; |
506 | 514 | ||
515 | #define CHELSIO_CHIP_CODE(version, revision) (((version) << 4) | (revision)) | ||
516 | #define CHELSIO_CHIP_VERSION(code) ((code) >> 4) | ||
517 | #define CHELSIO_CHIP_RELEASE(code) ((code) & 0xf) | ||
518 | |||
519 | #define CHELSIO_T4 0x4 | ||
520 | #define CHELSIO_T5 0x5 | ||
521 | |||
522 | enum chip_type { | ||
523 | T4_A1 = CHELSIO_CHIP_CODE(CHELSIO_T4, 0), | ||
524 | T4_A2 = CHELSIO_CHIP_CODE(CHELSIO_T4, 1), | ||
525 | T4_A3 = CHELSIO_CHIP_CODE(CHELSIO_T4, 2), | ||
526 | T4_FIRST_REV = T4_A1, | ||
527 | T4_LAST_REV = T4_A3, | ||
528 | |||
529 | T5_A1 = CHELSIO_CHIP_CODE(CHELSIO_T5, 0), | ||
530 | T5_FIRST_REV = T5_A1, | ||
531 | T5_LAST_REV = T5_A1, | ||
532 | }; | ||
533 | |||
534 | #ifdef CONFIG_PCI_IOV | ||
535 | |||
536 | /* T4 - 4 PFs support SRIOV | ||
537 | * T5 - 8 PFs support SRIOV | ||
538 | */ | ||
539 | #define NUM_OF_PF_WITH_SRIOV_T4 4 | ||
540 | #define NUM_OF_PF_WITH_SRIOV_T5 8 | ||
541 | |||
542 | #endif | ||
543 | |||
507 | struct adapter { | 544 | struct adapter { |
508 | void __iomem *regs; | 545 | void __iomem *regs; |
509 | struct pci_dev *pdev; | 546 | struct pci_dev *pdev; |
@@ -511,6 +548,7 @@ struct adapter { | |||
511 | unsigned int mbox; | 548 | unsigned int mbox; |
512 | unsigned int fn; | 549 | unsigned int fn; |
513 | unsigned int flags; | 550 | unsigned int flags; |
551 | enum chip_type chip; | ||
514 | 552 | ||
515 | int msg_enable; | 553 | int msg_enable; |
516 | 554 | ||
@@ -673,6 +711,16 @@ enum { | |||
673 | VLAN_REWRITE | 711 | VLAN_REWRITE |
674 | }; | 712 | }; |
675 | 713 | ||
714 | static inline int is_t5(enum chip_type chip) | ||
715 | { | ||
716 | return (chip >= T5_FIRST_REV && chip <= T5_LAST_REV); | ||
717 | } | ||
718 | |||
719 | static inline int is_t4(enum chip_type chip) | ||
720 | { | ||
721 | return (chip >= T4_FIRST_REV && chip <= T4_LAST_REV); | ||
722 | } | ||
723 | |||
676 | static inline u32 t4_read_reg(struct adapter *adap, u32 reg_addr) | 724 | static inline u32 t4_read_reg(struct adapter *adap, u32 reg_addr) |
677 | { | 725 | { |
678 | return readl(adap->regs + reg_addr); | 726 | return readl(adap->regs + reg_addr); |