diff options
| author | stephen hemminger <shemminger@vyatta.com> | 2010-10-15 08:43:10 -0400 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2010-10-21 10:19:02 -0400 | 
| commit | a5190b4eea1f1c53ee26b3d1176441cafa8e7f79 (patch) | |
| tree | d930bf8c0b1167d4323a764484ae7e25c6e18c82 | |
| parent | cc4ce020935eab2d261b7b8d24a9843b56ad594c (diff) | |
cxgb3: function namespace cleanup
Make local functions static. Remove functions that are
defined and never used. Compile tested only.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/cxgb3/adapter.h | 3 | ||||
| -rw-r--r-- | drivers/net/cxgb3/common.h | 18 | ||||
| -rw-r--r-- | drivers/net/cxgb3/cxgb3_defs.h | 3 | ||||
| -rw-r--r-- | drivers/net/cxgb3/cxgb3_offload.c | 9 | ||||
| -rw-r--r-- | drivers/net/cxgb3/mc5.c | 38 | ||||
| -rw-r--r-- | drivers/net/cxgb3/sge.c | 39 | ||||
| -rw-r--r-- | drivers/net/cxgb3/t3_hw.c | 197 | 
7 files changed, 18 insertions, 289 deletions
diff --git a/drivers/net/cxgb3/adapter.h b/drivers/net/cxgb3/adapter.h index 4cd7f420766a..ef67be59680f 100644 --- a/drivers/net/cxgb3/adapter.h +++ b/drivers/net/cxgb3/adapter.h  | |||
| @@ -336,9 +336,6 @@ int t3_sge_alloc_qset(struct adapter *adapter, unsigned int id, int nports, | |||
| 336 | int irq_vec_idx, const struct qset_params *p, | 336 | int irq_vec_idx, const struct qset_params *p, | 
| 337 | int ntxq, struct net_device *dev, | 337 | int ntxq, struct net_device *dev, | 
| 338 | struct netdev_queue *netdevq); | 338 | struct netdev_queue *netdevq); | 
| 339 | int t3_get_desc(const struct sge_qset *qs, unsigned int qnum, unsigned int idx, | ||
| 340 | unsigned char *data); | ||
| 341 | irqreturn_t t3_sge_intr_msix(int irq, void *cookie); | ||
| 342 | extern struct workqueue_struct *cxgb3_wq; | 339 | extern struct workqueue_struct *cxgb3_wq; | 
| 343 | 340 | ||
| 344 | int t3_get_edc_fw(struct cphy *phy, int edc_idx, int size); | 341 | int t3_get_edc_fw(struct cphy *phy, int edc_idx, int size); | 
diff --git a/drivers/net/cxgb3/common.h b/drivers/net/cxgb3/common.h index fe08a004b0dd..5ccb77d078aa 100644 --- a/drivers/net/cxgb3/common.h +++ b/drivers/net/cxgb3/common.h  | |||
| @@ -673,7 +673,6 @@ void t3_xgm_intr_enable(struct adapter *adapter, int idx); | |||
| 673 | void t3_xgm_intr_disable(struct adapter *adapter, int idx); | 673 | void t3_xgm_intr_disable(struct adapter *adapter, int idx); | 
| 674 | void t3_port_intr_enable(struct adapter *adapter, int idx); | 674 | void t3_port_intr_enable(struct adapter *adapter, int idx); | 
| 675 | void t3_port_intr_disable(struct adapter *adapter, int idx); | 675 | void t3_port_intr_disable(struct adapter *adapter, int idx); | 
| 676 | void t3_port_intr_clear(struct adapter *adapter, int idx); | ||
| 677 | int t3_slow_intr_handler(struct adapter *adapter); | 676 | int t3_slow_intr_handler(struct adapter *adapter); | 
| 678 | int t3_phy_intr_handler(struct adapter *adapter); | 677 | int t3_phy_intr_handler(struct adapter *adapter); | 
| 679 | 678 | ||
| @@ -689,14 +688,10 @@ int t3_check_tpsram_version(struct adapter *adapter); | |||
| 689 | int t3_check_tpsram(struct adapter *adapter, const u8 *tp_ram, | 688 | int t3_check_tpsram(struct adapter *adapter, const u8 *tp_ram, | 
| 690 | unsigned int size); | 689 | unsigned int size); | 
| 691 | int t3_set_proto_sram(struct adapter *adap, const u8 *data); | 690 | int t3_set_proto_sram(struct adapter *adap, const u8 *data); | 
| 692 | int t3_read_flash(struct adapter *adapter, unsigned int addr, | ||
| 693 | unsigned int nwords, u32 *data, int byte_oriented); | ||
| 694 | int t3_load_fw(struct adapter *adapter, const u8 * fw_data, unsigned int size); | 691 | int t3_load_fw(struct adapter *adapter, const u8 * fw_data, unsigned int size); | 
| 695 | int t3_get_fw_version(struct adapter *adapter, u32 *vers); | 692 | int t3_get_fw_version(struct adapter *adapter, u32 *vers); | 
| 696 | int t3_check_fw_version(struct adapter *adapter); | 693 | int t3_check_fw_version(struct adapter *adapter); | 
| 697 | int t3_init_hw(struct adapter *adapter, u32 fw_params); | 694 | int t3_init_hw(struct adapter *adapter, u32 fw_params); | 
| 698 | void mac_prep(struct cmac *mac, struct adapter *adapter, int index); | ||
| 699 | void early_hw_init(struct adapter *adapter, const struct adapter_info *ai); | ||
| 700 | int t3_reset_adapter(struct adapter *adapter); | 695 | int t3_reset_adapter(struct adapter *adapter); | 
| 701 | int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai, | 696 | int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai, | 
| 702 | int reset); | 697 | int reset); | 
| @@ -706,8 +701,6 @@ void t3_fatal_err(struct adapter *adapter); | |||
| 706 | void t3_set_vlan_accel(struct adapter *adapter, unsigned int ports, int on); | 701 | void t3_set_vlan_accel(struct adapter *adapter, unsigned int ports, int on); | 
| 707 | void t3_config_rss(struct adapter *adapter, unsigned int rss_config, | 702 | void t3_config_rss(struct adapter *adapter, unsigned int rss_config, | 
| 708 | const u8 * cpus, const u16 *rspq); | 703 | const u8 * cpus, const u16 *rspq); | 
| 709 | int t3_read_rss(struct adapter *adapter, u8 * lkup, u16 *map); | ||
| 710 | int t3_mps_set_active_ports(struct adapter *adap, unsigned int port_mask); | ||
| 711 | int t3_cim_ctl_blk_read(struct adapter *adap, unsigned int addr, | 704 | int t3_cim_ctl_blk_read(struct adapter *adap, unsigned int addr, | 
| 712 | unsigned int n, unsigned int *valp); | 705 | unsigned int n, unsigned int *valp); | 
| 713 | int t3_mc7_bd_read(struct mc7 *mc7, unsigned int start, unsigned int n, | 706 | int t3_mc7_bd_read(struct mc7 *mc7, unsigned int start, unsigned int n, | 
| @@ -731,19 +724,12 @@ void t3_mc5_prep(struct adapter *adapter, struct mc5 *mc5, int mode); | |||
| 731 | int t3_mc5_init(struct mc5 *mc5, unsigned int nservers, unsigned int nfilters, | 724 | int t3_mc5_init(struct mc5 *mc5, unsigned int nservers, unsigned int nfilters, | 
| 732 | unsigned int nroutes); | 725 | unsigned int nroutes); | 
| 733 | void t3_mc5_intr_handler(struct mc5 *mc5); | 726 | void t3_mc5_intr_handler(struct mc5 *mc5); | 
| 734 | int t3_read_mc5_range(const struct mc5 *mc5, unsigned int start, unsigned int n, | ||
| 735 | u32 *buf); | ||
| 736 | 727 | ||
| 737 | int t3_tp_set_coalescing_size(struct adapter *adap, unsigned int size, int psh); | ||
| 738 | void t3_tp_set_max_rxsize(struct adapter *adap, unsigned int size); | ||
| 739 | void t3_tp_set_offload_mode(struct adapter *adap, int enable); | 728 | void t3_tp_set_offload_mode(struct adapter *adap, int enable); | 
| 740 | void t3_tp_get_mib_stats(struct adapter *adap, struct tp_mib_stats *tps); | 729 | void t3_tp_get_mib_stats(struct adapter *adap, struct tp_mib_stats *tps); | 
| 741 | void t3_load_mtus(struct adapter *adap, unsigned short mtus[NMTUS], | 730 | void t3_load_mtus(struct adapter *adap, unsigned short mtus[NMTUS], | 
| 742 | unsigned short alpha[NCCTRL_WIN], | 731 | unsigned short alpha[NCCTRL_WIN], | 
| 743 | unsigned short beta[NCCTRL_WIN], unsigned short mtu_cap); | 732 | unsigned short beta[NCCTRL_WIN], unsigned short mtu_cap); | 
| 744 | void t3_read_hw_mtus(struct adapter *adap, unsigned short mtus[NMTUS]); | ||
| 745 | void t3_get_cong_cntl_tab(struct adapter *adap, | ||
| 746 | unsigned short incr[NMTUS][NCCTRL_WIN]); | ||
| 747 | void t3_config_trace_filter(struct adapter *adapter, | 733 | void t3_config_trace_filter(struct adapter *adapter, | 
| 748 | const struct trace_params *tp, int filter_index, | 734 | const struct trace_params *tp, int filter_index, | 
| 749 | int invert, int enable); | 735 | int invert, int enable); | 
| @@ -769,10 +755,6 @@ int t3_sge_enable_ecntxt(struct adapter *adapter, unsigned int id, int enable); | |||
| 769 | int t3_sge_disable_fl(struct adapter *adapter, unsigned int id); | 755 | int t3_sge_disable_fl(struct adapter *adapter, unsigned int id); | 
| 770 | int t3_sge_disable_rspcntxt(struct adapter *adapter, unsigned int id); | 756 | int t3_sge_disable_rspcntxt(struct adapter *adapter, unsigned int id); | 
| 771 | int t3_sge_disable_cqcntxt(struct adapter *adapter, unsigned int id); | 757 | int t3_sge_disable_cqcntxt(struct adapter *adapter, unsigned int id); | 
| 772 | int t3_sge_read_ecntxt(struct adapter *adapter, unsigned int id, u32 data[4]); | ||
| 773 | int t3_sge_read_fl(struct adapter *adapter, unsigned int id, u32 data[4]); | ||
| 774 | int t3_sge_read_cq(struct adapter *adapter, unsigned int id, u32 data[4]); | ||
| 775 | int t3_sge_read_rspq(struct adapter *adapter, unsigned int id, u32 data[4]); | ||
| 776 | int t3_sge_cqcntxt_op(struct adapter *adapter, unsigned int id, unsigned int op, | 758 | int t3_sge_cqcntxt_op(struct adapter *adapter, unsigned int id, unsigned int op, | 
| 777 | unsigned int credits); | 759 | unsigned int credits); | 
| 778 | 760 | ||
diff --git a/drivers/net/cxgb3/cxgb3_defs.h b/drivers/net/cxgb3/cxgb3_defs.h index 47e53769af5b..920d918ed193 100644 --- a/drivers/net/cxgb3/cxgb3_defs.h +++ b/drivers/net/cxgb3/cxgb3_defs.h  | |||
| @@ -43,8 +43,6 @@ | |||
| 43 | 43 | ||
| 44 | void *cxgb_alloc_mem(unsigned long size); | 44 | void *cxgb_alloc_mem(unsigned long size); | 
| 45 | void cxgb_free_mem(void *addr); | 45 | void cxgb_free_mem(void *addr); | 
| 46 | void cxgb_neigh_update(struct neighbour *neigh); | ||
| 47 | void cxgb_redirect(struct dst_entry *old, struct dst_entry *new); | ||
| 48 | 46 | ||
| 49 | /* | 47 | /* | 
| 50 | * Map an ATID or STID to their entries in the corresponding TID tables. | 48 | * Map an ATID or STID to their entries in the corresponding TID tables. | 
| @@ -111,7 +109,6 @@ static inline struct t3c_tid_entry *lookup_atid(const struct tid_info *t, | |||
| 111 | return &e->t3c_tid; | 109 | return &e->t3c_tid; | 
| 112 | } | 110 | } | 
| 113 | 111 | ||
| 114 | int process_rx(struct t3cdev *dev, struct sk_buff **skbs, int n); | ||
| 115 | int attach_t3cdev(struct t3cdev *dev); | 112 | int attach_t3cdev(struct t3cdev *dev); | 
| 116 | void detach_t3cdev(struct t3cdev *dev); | 113 | void detach_t3cdev(struct t3cdev *dev); | 
| 117 | #endif | 114 | #endif | 
diff --git a/drivers/net/cxgb3/cxgb3_offload.c b/drivers/net/cxgb3/cxgb3_offload.c index 21db7491f613..bcf07532953d 100644 --- a/drivers/net/cxgb3/cxgb3_offload.c +++ b/drivers/net/cxgb3/cxgb3_offload.c  | |||
| @@ -60,6 +60,9 @@ static LIST_HEAD(adapter_list); | |||
| 60 | static const unsigned int MAX_ATIDS = 64 * 1024; | 60 | static const unsigned int MAX_ATIDS = 64 * 1024; | 
| 61 | static const unsigned int ATID_BASE = 0x10000; | 61 | static const unsigned int ATID_BASE = 0x10000; | 
| 62 | 62 | ||
| 63 | static void cxgb_neigh_update(struct neighbour *neigh); | ||
| 64 | static void cxgb_redirect(struct dst_entry *old, struct dst_entry *new); | ||
| 65 | |||
| 63 | static inline int offload_activated(struct t3cdev *tdev) | 66 | static inline int offload_activated(struct t3cdev *tdev) | 
| 64 | { | 67 | { | 
| 65 | const struct adapter *adapter = tdev2adap(tdev); | 68 | const struct adapter *adapter = tdev2adap(tdev); | 
| @@ -1015,7 +1018,7 @@ EXPORT_SYMBOL(t3_register_cpl_handler); | |||
| 1015 | /* | 1018 | /* | 
| 1016 | * T3CDEV's receive method. | 1019 | * T3CDEV's receive method. | 
| 1017 | */ | 1020 | */ | 
| 1018 | int process_rx(struct t3cdev *dev, struct sk_buff **skbs, int n) | 1021 | static int process_rx(struct t3cdev *dev, struct sk_buff **skbs, int n) | 
| 1019 | { | 1022 | { | 
| 1020 | while (n--) { | 1023 | while (n--) { | 
| 1021 | struct sk_buff *skb = *skbs++; | 1024 | struct sk_buff *skb = *skbs++; | 
| @@ -1070,7 +1073,7 @@ static int is_offloading(struct net_device *dev) | |||
| 1070 | return 0; | 1073 | return 0; | 
| 1071 | } | 1074 | } | 
| 1072 | 1075 | ||
| 1073 | void cxgb_neigh_update(struct neighbour *neigh) | 1076 | static void cxgb_neigh_update(struct neighbour *neigh) | 
| 1074 | { | 1077 | { | 
| 1075 | struct net_device *dev = neigh->dev; | 1078 | struct net_device *dev = neigh->dev; | 
| 1076 | 1079 | ||
| @@ -1104,7 +1107,7 @@ static void set_l2t_ix(struct t3cdev *tdev, u32 tid, struct l2t_entry *e) | |||
| 1104 | tdev->send(tdev, skb); | 1107 | tdev->send(tdev, skb); | 
| 1105 | } | 1108 | } | 
| 1106 | 1109 | ||
| 1107 | void cxgb_redirect(struct dst_entry *old, struct dst_entry *new) | 1110 | static void cxgb_redirect(struct dst_entry *old, struct dst_entry *new) | 
| 1108 | { | 1111 | { | 
| 1109 | struct net_device *olddev, *newdev; | 1112 | struct net_device *olddev, *newdev; | 
| 1110 | struct tid_info *ti; | 1113 | struct tid_info *ti; | 
diff --git a/drivers/net/cxgb3/mc5.c b/drivers/net/cxgb3/mc5.c index 3b5517b8fbde..a8766fb2f9ab 100644 --- a/drivers/net/cxgb3/mc5.c +++ b/drivers/net/cxgb3/mc5.c  | |||
| @@ -374,44 +374,6 @@ int t3_mc5_init(struct mc5 *mc5, unsigned int nservers, unsigned int nfilters, | |||
| 374 | return err; | 374 | return err; | 
| 375 | } | 375 | } | 
| 376 | 376 | ||
| 377 | /* | ||
| 378 | * read_mc5_range - dump a part of the memory managed by MC5 | ||
| 379 | * @mc5: the MC5 handle | ||
| 380 | * @start: the start address for the dump | ||
| 381 | * @n: number of 72-bit words to read | ||
| 382 | * @buf: result buffer | ||
| 383 | * | ||
| 384 | * Read n 72-bit words from MC5 memory from the given start location. | ||
| 385 | */ | ||
| 386 | int t3_read_mc5_range(const struct mc5 *mc5, unsigned int start, | ||
| 387 | unsigned int n, u32 *buf) | ||
| 388 | { | ||
| 389 | u32 read_cmd; | ||
| 390 | int err = 0; | ||
| 391 | struct adapter *adap = mc5->adapter; | ||
| 392 | |||
| 393 | if (mc5->part_type == IDT75P52100) | ||
| 394 | read_cmd = IDT_CMD_READ; | ||
| 395 | else if (mc5->part_type == IDT75N43102) | ||
| 396 | read_cmd = IDT4_CMD_READ; | ||
| 397 | else | ||
| 398 | return -EINVAL; | ||
| 399 | |||
| 400 | mc5_dbgi_mode_enable(mc5); | ||
| 401 | |||
| 402 | while (n--) { | ||
| 403 | t3_write_reg(adap, A_MC5_DB_DBGI_REQ_ADDR0, start++); | ||
| 404 | if (mc5_cmd_write(adap, read_cmd)) { | ||
| 405 | err = -EIO; | ||
| 406 | break; | ||
| 407 | } | ||
| 408 | dbgi_rd_rsp3(adap, buf + 2, buf + 1, buf); | ||
| 409 | buf += 3; | ||
| 410 | } | ||
| 411 | |||
| 412 | mc5_dbgi_mode_disable(mc5); | ||
| 413 | return 0; | ||
| 414 | } | ||
| 415 | 377 | ||
| 416 | #define MC5_INT_FATAL (F_PARITYERR | F_REQQPARERR | F_DISPQPARERR) | 378 | #define MC5_INT_FATAL (F_PARITYERR | F_REQQPARERR | F_DISPQPARERR) | 
| 417 | 379 | ||
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c index 7ad4625dac62..5d72bda54389 100644 --- a/drivers/net/cxgb3/sge.c +++ b/drivers/net/cxgb3/sge.c  | |||
| @@ -2554,7 +2554,7 @@ static inline int handle_responses(struct adapter *adap, struct sge_rspq *q) | |||
| 2554 | * The MSI-X interrupt handler for an SGE response queue for the non-NAPI case | 2554 | * The MSI-X interrupt handler for an SGE response queue for the non-NAPI case | 
| 2555 | * (i.e., response queue serviced in hard interrupt). | 2555 | * (i.e., response queue serviced in hard interrupt). | 
| 2556 | */ | 2556 | */ | 
| 2557 | irqreturn_t t3_sge_intr_msix(int irq, void *cookie) | 2557 | static irqreturn_t t3_sge_intr_msix(int irq, void *cookie) | 
| 2558 | { | 2558 | { | 
| 2559 | struct sge_qset *qs = cookie; | 2559 | struct sge_qset *qs = cookie; | 
| 2560 | struct adapter *adap = qs->adap; | 2560 | struct adapter *adap = qs->adap; | 
| @@ -3320,40 +3320,3 @@ void t3_sge_prep(struct adapter *adap, struct sge_params *p) | |||
| 3320 | 3320 | ||
| 3321 | spin_lock_init(&adap->sge.reg_lock); | 3321 | spin_lock_init(&adap->sge.reg_lock); | 
| 3322 | } | 3322 | } | 
| 3323 | |||
| 3324 | /** | ||
| 3325 | * t3_get_desc - dump an SGE descriptor for debugging purposes | ||
| 3326 | * @qs: the queue set | ||
| 3327 | * @qnum: identifies the specific queue (0..2: Tx, 3:response, 4..5: Rx) | ||
| 3328 | * @idx: the descriptor index in the queue | ||
| 3329 | * @data: where to dump the descriptor contents | ||
| 3330 | * | ||
| 3331 | * Dumps the contents of a HW descriptor of an SGE queue. Returns the | ||
| 3332 | * size of the descriptor. | ||
| 3333 | */ | ||
| 3334 | int t3_get_desc(const struct sge_qset *qs, unsigned int qnum, unsigned int idx, | ||
| 3335 | unsigned char *data) | ||
| 3336 | { | ||
| 3337 | if (qnum >= 6) | ||
| 3338 | return -EINVAL; | ||
| 3339 | |||
| 3340 | if (qnum < 3) { | ||
| 3341 | if (!qs->txq[qnum].desc || idx >= qs->txq[qnum].size) | ||
| 3342 | return -EINVAL; | ||
| 3343 | memcpy(data, &qs->txq[qnum].desc[idx], sizeof(struct tx_desc)); | ||
| 3344 | return sizeof(struct tx_desc); | ||
| 3345 | } | ||
| 3346 | |||
| 3347 | if (qnum == 3) { | ||
| 3348 | if (!qs->rspq.desc || idx >= qs->rspq.size) | ||
| 3349 | return -EINVAL; | ||
| 3350 | memcpy(data, &qs->rspq.desc[idx], sizeof(struct rsp_desc)); | ||
| 3351 | return sizeof(struct rsp_desc); | ||
| 3352 | } | ||
| 3353 | |||
| 3354 | qnum -= 4; | ||
| 3355 | if (!qs->fl[qnum].desc || idx >= qs->fl[qnum].size) | ||
| 3356 | return -EINVAL; | ||
| 3357 | memcpy(data, &qs->fl[qnum].desc[idx], sizeof(struct rx_desc)); | ||
| 3358 | return sizeof(struct rx_desc); | ||
| 3359 | } | ||
diff --git a/drivers/net/cxgb3/t3_hw.c b/drivers/net/cxgb3/t3_hw.c index 421d5589cecd..3a6adf0b3e9d 100644 --- a/drivers/net/cxgb3/t3_hw.c +++ b/drivers/net/cxgb3/t3_hw.c  | |||
| @@ -34,6 +34,8 @@ | |||
| 34 | #include "sge_defs.h" | 34 | #include "sge_defs.h" | 
| 35 | #include "firmware_exports.h" | 35 | #include "firmware_exports.h" | 
| 36 | 36 | ||
| 37 | static void t3_port_intr_clear(struct adapter *adapter, int idx); | ||
| 38 | |||
| 37 | /** | 39 | /** | 
| 38 | * t3_wait_op_done_val - wait until an operation is completed | 40 | * t3_wait_op_done_val - wait until an operation is completed | 
| 39 | * @adapter: the adapter performing the operation | 41 | * @adapter: the adapter performing the operation | 
| @@ -840,8 +842,8 @@ static int flash_wait_op(struct adapter *adapter, int attempts, int delay) | |||
| 840 | * (i.e., big-endian), otherwise as 32-bit words in the platform's | 842 | * (i.e., big-endian), otherwise as 32-bit words in the platform's | 
| 841 | * natural endianess. | 843 | * natural endianess. | 
| 842 | */ | 844 | */ | 
| 843 | int t3_read_flash(struct adapter *adapter, unsigned int addr, | 845 | static int t3_read_flash(struct adapter *adapter, unsigned int addr, | 
| 844 | unsigned int nwords, u32 *data, int byte_oriented) | 846 | unsigned int nwords, u32 *data, int byte_oriented) | 
| 845 | { | 847 | { | 
| 846 | int ret; | 848 | int ret; | 
| 847 | 849 | ||
| @@ -2111,7 +2113,7 @@ void t3_port_intr_disable(struct adapter *adapter, int idx) | |||
| 2111 | * Clear port-specific (i.e., MAC and PHY) interrupts for the given | 2113 | * Clear port-specific (i.e., MAC and PHY) interrupts for the given | 
| 2112 | * adapter port. | 2114 | * adapter port. | 
| 2113 | */ | 2115 | */ | 
| 2114 | void t3_port_intr_clear(struct adapter *adapter, int idx) | 2116 | static void t3_port_intr_clear(struct adapter *adapter, int idx) | 
| 2115 | { | 2117 | { | 
| 2116 | struct cphy *phy = &adap2pinfo(adapter, idx)->phy; | 2118 | struct cphy *phy = &adap2pinfo(adapter, idx)->phy; | 
| 2117 | 2119 | ||
| @@ -2484,98 +2486,6 @@ int t3_sge_cqcntxt_op(struct adapter *adapter, unsigned int id, unsigned int op, | |||
| 2484 | } | 2486 | } | 
| 2485 | 2487 | ||
| 2486 | /** | 2488 | /** | 
| 2487 | * t3_sge_read_context - read an SGE context | ||
| 2488 | * @type: the context type | ||
| 2489 | * @adapter: the adapter | ||
| 2490 | * @id: the context id | ||
| 2491 | * @data: holds the retrieved context | ||
| 2492 | * | ||
| 2493 | * Read an SGE egress context. The caller is responsible for ensuring | ||
| 2494 | * only one context operation occurs at a time. | ||
| 2495 | */ | ||
| 2496 | static int t3_sge_read_context(unsigned int type, struct adapter *adapter, | ||
| 2497 | unsigned int id, u32 data[4]) | ||
| 2498 | { | ||
| 2499 | if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY) | ||
| 2500 | return -EBUSY; | ||
| 2501 | |||
| 2502 | t3_write_reg(adapter, A_SG_CONTEXT_CMD, | ||
| 2503 | V_CONTEXT_CMD_OPCODE(0) | type | V_CONTEXT(id)); | ||
| 2504 | if (t3_wait_op_done(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY, 0, | ||
| 2505 | SG_CONTEXT_CMD_ATTEMPTS, 1)) | ||
| 2506 | return -EIO; | ||
| 2507 | data[0] = t3_read_reg(adapter, A_SG_CONTEXT_DATA0); | ||
| 2508 | data[1] = t3_read_reg(adapter, A_SG_CONTEXT_DATA1); | ||
| 2509 | data[2] = t3_read_reg(adapter, A_SG_CONTEXT_DATA2); | ||
| 2510 | data[3] = t3_read_reg(adapter, A_SG_CONTEXT_DATA3); | ||
| 2511 | return 0; | ||
| 2512 | } | ||
| 2513 | |||
| 2514 | /** | ||
| 2515 | * t3_sge_read_ecntxt - read an SGE egress context | ||
| 2516 | * @adapter: the adapter | ||
| 2517 | * @id: the context id | ||
| 2518 | * @data: holds the retrieved context | ||
| 2519 | * | ||
| 2520 | * Read an SGE egress context. The caller is responsible for ensuring | ||
| 2521 | * only one context operation occurs at a time. | ||
| 2522 | */ | ||
| 2523 | int t3_sge_read_ecntxt(struct adapter *adapter, unsigned int id, u32 data[4]) | ||
| 2524 | { | ||
| 2525 | if (id >= 65536) | ||
| 2526 | return -EINVAL; | ||
| 2527 | return t3_sge_read_context(F_EGRESS, adapter, id, data); | ||
| 2528 | } | ||
| 2529 | |||
| 2530 | /** | ||
| 2531 | * t3_sge_read_cq - read an SGE CQ context | ||
| 2532 | * @adapter: the adapter | ||
| 2533 | * @id: the context id | ||
| 2534 | * @data: holds the retrieved context | ||
| 2535 | * | ||
| 2536 | * Read an SGE CQ context. The caller is responsible for ensuring | ||
| 2537 | * only one context operation occurs at a time. | ||
| 2538 | */ | ||
| 2539 | int t3_sge_read_cq(struct adapter *adapter, unsigned int id, u32 data[4]) | ||
| 2540 | { | ||
| 2541 | if (id >= 65536) | ||
| 2542 | return -EINVAL; | ||
| 2543 | return t3_sge_read_context(F_CQ, adapter, id, data); | ||
| 2544 | } | ||
| 2545 | |||
| 2546 | /** | ||
| 2547 | * t3_sge_read_fl - read an SGE free-list context | ||
| 2548 | * @adapter: the adapter | ||
| 2549 | * @id: the context id | ||
| 2550 | * @data: holds the retrieved context | ||
| 2551 | * | ||
| 2552 | * Read an SGE free-list context. The caller is responsible for ensuring | ||
| 2553 | * only one context operation occurs at a time. | ||
| 2554 | */ | ||
| 2555 | int t3_sge_read_fl(struct adapter *adapter, unsigned int id, u32 data[4]) | ||
| 2556 | { | ||
| 2557 | if (id >= SGE_QSETS * 2) | ||
| 2558 | return -EINVAL; | ||
| 2559 | return t3_sge_read_context(F_FREELIST, adapter, id, data); | ||
| 2560 | } | ||
| 2561 | |||
| 2562 | /** | ||
| 2563 | * t3_sge_read_rspq - read an SGE response queue context | ||
| 2564 | * @adapter: the adapter | ||
| 2565 | * @id: the context id | ||
| 2566 | * @data: holds the retrieved context | ||
| 2567 | * | ||
| 2568 | * Read an SGE response queue context. The caller is responsible for | ||
| 2569 | * ensuring only one context operation occurs at a time. | ||
| 2570 | */ | ||
| 2571 | int t3_sge_read_rspq(struct adapter *adapter, unsigned int id, u32 data[4]) | ||
| 2572 | { | ||
| 2573 | if (id >= SGE_QSETS) | ||
| 2574 | return -EINVAL; | ||
| 2575 | return t3_sge_read_context(F_RESPONSEQ, adapter, id, data); | ||
| 2576 | } | ||
| 2577 | |||
| 2578 | /** | ||
| 2579 | * t3_config_rss - configure Rx packet steering | 2489 | * t3_config_rss - configure Rx packet steering | 
| 2580 | * @adapter: the adapter | 2490 | * @adapter: the adapter | 
| 2581 | * @rss_config: RSS settings (written to TP_RSS_CONFIG) | 2491 | * @rss_config: RSS settings (written to TP_RSS_CONFIG) | 
| @@ -2616,42 +2526,6 @@ void t3_config_rss(struct adapter *adapter, unsigned int rss_config, | |||
| 2616 | } | 2526 | } | 
| 2617 | 2527 | ||
| 2618 | /** | 2528 | /** | 
| 2619 | * t3_read_rss - read the contents of the RSS tables | ||
| 2620 | * @adapter: the adapter | ||
| 2621 | * @lkup: holds the contents of the RSS lookup table | ||
| 2622 | * @map: holds the contents of the RSS map table | ||
| 2623 | * | ||
| 2624 | * Reads the contents of the receive packet steering tables. | ||
| 2625 | */ | ||
| 2626 | int t3_read_rss(struct adapter *adapter, u8 * lkup, u16 *map) | ||
| 2627 | { | ||
| 2628 | int i; | ||
| 2629 | u32 val; | ||
| 2630 | |||
| 2631 | if (lkup) | ||
| 2632 | for (i = 0; i < RSS_TABLE_SIZE; ++i) { | ||
| 2633 | t3_write_reg(adapter, A_TP_RSS_LKP_TABLE, | ||
| 2634 | 0xffff0000 | i); | ||
| 2635 | val = t3_read_reg(adapter, A_TP_RSS_LKP_TABLE); | ||
| 2636 | if (!(val & 0x80000000)) | ||
| 2637 | return -EAGAIN; | ||
| 2638 | *lkup++ = val; | ||
| 2639 | *lkup++ = (val >> 8); | ||
| 2640 | } | ||
| 2641 | |||
| 2642 | if (map) | ||
| 2643 | for (i = 0; i < RSS_TABLE_SIZE; ++i) { | ||
| 2644 | t3_write_reg(adapter, A_TP_RSS_MAP_TABLE, | ||
| 2645 | 0xffff0000 | i); | ||
| 2646 | val = t3_read_reg(adapter, A_TP_RSS_MAP_TABLE); | ||
| 2647 | if (!(val & 0x80000000)) | ||
| 2648 | return -EAGAIN; | ||
| 2649 | *map++ = val; | ||
| 2650 | } | ||
| 2651 | return 0; | ||
| 2652 | } | ||
| 2653 | |||
| 2654 | /** | ||
| 2655 | * t3_tp_set_offload_mode - put TP in NIC/offload mode | 2529 | * t3_tp_set_offload_mode - put TP in NIC/offload mode | 
| 2656 | * @adap: the adapter | 2530 | * @adap: the adapter | 
| 2657 | * @enable: 1 to select offload mode, 0 for regular NIC | 2531 | * @enable: 1 to select offload mode, 0 for regular NIC | 
| @@ -2868,7 +2742,8 @@ static void tp_set_timers(struct adapter *adap, unsigned int core_clk) | |||
| 2868 | * | 2742 | * | 
| 2869 | * Set the receive coalescing size and PSH bit handling. | 2743 | * Set the receive coalescing size and PSH bit handling. | 
| 2870 | */ | 2744 | */ | 
| 2871 | int t3_tp_set_coalescing_size(struct adapter *adap, unsigned int size, int psh) | 2745 | static int t3_tp_set_coalescing_size(struct adapter *adap, | 
| 2746 | unsigned int size, int psh) | ||
| 2872 | { | 2747 | { | 
| 2873 | u32 val; | 2748 | u32 val; | 
| 2874 | 2749 | ||
| @@ -2898,7 +2773,7 @@ int t3_tp_set_coalescing_size(struct adapter *adap, unsigned int size, int psh) | |||
| 2898 | * Set TP's max receive size. This is the limit that applies when | 2773 | * Set TP's max receive size. This is the limit that applies when | 
| 2899 | * receive coalescing is disabled. | 2774 | * receive coalescing is disabled. | 
| 2900 | */ | 2775 | */ | 
| 2901 | void t3_tp_set_max_rxsize(struct adapter *adap, unsigned int size) | 2776 | static void t3_tp_set_max_rxsize(struct adapter *adap, unsigned int size) | 
| 2902 | { | 2777 | { | 
| 2903 | t3_write_reg(adap, A_TP_PARA_REG7, | 2778 | t3_write_reg(adap, A_TP_PARA_REG7, | 
| 2904 | V_PMMAXXFERLEN0(size) | V_PMMAXXFERLEN1(size)); | 2779 | V_PMMAXXFERLEN0(size) | V_PMMAXXFERLEN1(size)); | 
| @@ -3018,48 +2893,6 @@ void t3_load_mtus(struct adapter *adap, unsigned short mtus[NMTUS], | |||
| 3018 | } | 2893 | } | 
| 3019 | 2894 | ||
| 3020 | /** | 2895 | /** | 
| 3021 | * t3_read_hw_mtus - returns the values in the HW MTU table | ||
| 3022 | * @adap: the adapter | ||
| 3023 | * @mtus: where to store the HW MTU values | ||
| 3024 | * | ||
| 3025 | * Reads the HW MTU table. | ||
| 3026 | */ | ||
| 3027 | void t3_read_hw_mtus(struct adapter *adap, unsigned short mtus[NMTUS]) | ||
| 3028 | { | ||
| 3029 | int i; | ||
| 3030 | |||
| 3031 | for (i = 0; i < NMTUS; ++i) { | ||
| 3032 | unsigned int val; | ||
| 3033 | |||
| 3034 | t3_write_reg(adap, A_TP_MTU_TABLE, 0xff000000 | i); | ||
| 3035 | val = t3_read_reg(adap, A_TP_MTU_TABLE); | ||
| 3036 | mtus[i] = val & 0x3fff; | ||
| 3037 | } | ||
| 3038 | } | ||
| 3039 | |||
| 3040 | /** | ||
| 3041 | * t3_get_cong_cntl_tab - reads the congestion control table | ||
| 3042 | * @adap: the adapter | ||
| 3043 | * @incr: where to store the alpha values | ||
| 3044 | * | ||
| 3045 | * Reads the additive increments programmed into the HW congestion | ||
| 3046 | * control table. | ||
| 3047 | */ | ||
| 3048 | void t3_get_cong_cntl_tab(struct adapter *adap, | ||
| 3049 | unsigned short incr[NMTUS][NCCTRL_WIN]) | ||
| 3050 | { | ||
| 3051 | unsigned int mtu, w; | ||
| 3052 | |||
| 3053 | for (mtu = 0; mtu < NMTUS; ++mtu) | ||
| 3054 | for (w = 0; w < NCCTRL_WIN; ++w) { | ||
| 3055 | t3_write_reg(adap, A_TP_CCTRL_TABLE, | ||
| 3056 | 0xffff0000 | (mtu << 5) | w); | ||
| 3057 | incr[mtu][w] = t3_read_reg(adap, A_TP_CCTRL_TABLE) & | ||
| 3058 | 0x1fff; | ||
| 3059 | } | ||
| 3060 | } | ||
| 3061 | |||
| 3062 | /** | ||
| 3063 | * t3_tp_get_mib_stats - read TP's MIB counters | 2896 | * t3_tp_get_mib_stats - read TP's MIB counters | 
| 3064 | * @adap: the adapter | 2897 | * @adap: the adapter | 
| 3065 | * @tps: holds the returned counter values | 2898 | * @tps: holds the returned counter values | 
| @@ -3223,15 +3056,6 @@ static int tp_init(struct adapter *adap, const struct tp_params *p) | |||
| 3223 | return busy; | 3056 | return busy; | 
| 3224 | } | 3057 | } | 
| 3225 | 3058 | ||
| 3226 | int t3_mps_set_active_ports(struct adapter *adap, unsigned int port_mask) | ||
| 3227 | { | ||
| 3228 | if (port_mask & ~((1 << adap->params.nports) - 1)) | ||
| 3229 | return -EINVAL; | ||
| 3230 | t3_set_reg_field(adap, A_MPS_CFG, F_PORT1ACTIVE | F_PORT0ACTIVE, | ||
| 3231 | port_mask << S_PORT0ACTIVE); | ||
| 3232 | return 0; | ||
| 3233 | } | ||
| 3234 | |||
| 3235 | /* | 3059 | /* | 
| 3236 | * Perform the bits of HW initialization that are dependent on the Tx | 3060 | * Perform the bits of HW initialization that are dependent on the Tx | 
| 3237 | * channels being used. | 3061 | * channels being used. | 
| @@ -3687,7 +3511,7 @@ static void mc7_prep(struct adapter *adapter, struct mc7 *mc7, | |||
| 3687 | mc7->width = G_WIDTH(cfg); | 3511 | mc7->width = G_WIDTH(cfg); | 
| 3688 | } | 3512 | } | 
| 3689 | 3513 | ||
| 3690 | void mac_prep(struct cmac *mac, struct adapter *adapter, int index) | 3514 | static void mac_prep(struct cmac *mac, struct adapter *adapter, int index) | 
| 3691 | { | 3515 | { | 
| 3692 | u16 devid; | 3516 | u16 devid; | 
| 3693 | 3517 | ||
| @@ -3707,7 +3531,8 @@ void mac_prep(struct cmac *mac, struct adapter *adapter, int index) | |||
| 3707 | } | 3531 | } | 
| 3708 | } | 3532 | } | 
| 3709 | 3533 | ||
| 3710 | void early_hw_init(struct adapter *adapter, const struct adapter_info *ai) | 3534 | static void early_hw_init(struct adapter *adapter, | 
| 3535 | const struct adapter_info *ai) | ||
| 3711 | { | 3536 | { | 
| 3712 | u32 val = V_PORTSPEED(is_10G(adapter) ? 3 : 2); | 3537 | u32 val = V_PORTSPEED(is_10G(adapter) ? 3 : 2); | 
| 3713 | 3538 | ||
