• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/net/benet/

Lines Matching refs:adapter

21 static void be_mcc_notify(struct be_adapter *adapter)
23 struct be_queue_info *mccq = &adapter->mcc_obj.q;
30 iowrite32(val, adapter->db + DB_MCCQ_OFFSET);
53 static int be_mcc_compl_process(struct be_adapter *adapter,
67 adapter->flash_status = compl_status;
68 complete(&adapter->flash_compl);
74 adapter->stats.cmd.va;
77 netdev_stats_update(adapter);
78 adapter->stats_ioctl_sent = false;
84 dev_warn(&adapter->pdev->dev,
92 static void be_async_link_state_process(struct be_adapter *adapter,
95 be_link_status_update(adapter,
106 static struct be_mcc_compl *be_mcc_compl_get(struct be_adapter *adapter)
108 struct be_queue_info *mcc_cq = &adapter->mcc_obj.cq;
118 void be_async_mcc_enable(struct be_adapter *adapter)
120 spin_lock_bh(&adapter->mcc_cq_lock);
122 be_cq_notify(adapter, adapter->mcc_obj.cq.id, true, 0);
123 adapter->mcc_obj.rearm_cq = true;
125 spin_unlock_bh(&adapter->mcc_cq_lock);
128 void be_async_mcc_disable(struct be_adapter *adapter)
130 adapter->mcc_obj.rearm_cq = false;
133 int be_process_mcc(struct be_adapter *adapter, int *status)
137 struct be_mcc_obj *mcc_obj = &adapter->mcc_obj;
139 spin_lock_bh(&adapter->mcc_cq_lock);
140 while ((compl = be_mcc_compl_get(adapter))) {
144 be_async_link_state_process(adapter,
147 *status = be_mcc_compl_process(adapter, compl);
154 spin_unlock_bh(&adapter->mcc_cq_lock);
159 static int be_mcc_wait_compl(struct be_adapter *adapter)
163 struct be_mcc_obj *mcc_obj = &adapter->mcc_obj;
166 num = be_process_mcc(adapter, &status);
168 be_cq_notify(adapter, mcc_obj->cq.id,
176 dev_err(&adapter->pdev->dev, "mccq poll timed out\n");
183 static int be_mcc_notify_wait(struct be_adapter *adapter)
185 be_mcc_notify(adapter);
186 return be_mcc_wait_compl(adapter);
189 static int be_mbox_db_ready_wait(struct be_adapter *adapter, void __iomem *db)
197 dev_err(&adapter->pdev->dev,
207 dev_err(&adapter->pdev->dev, "mbox poll timed out\n");
208 be_detect_dump_ue(adapter);
224 static int be_mbox_notify_wait(struct be_adapter *adapter)
228 void __iomem *db = adapter->db + MPU_MAILBOX_DB_OFFSET;
229 struct be_dma_mem *mbox_mem = &adapter->mbox_mem;
234 status = be_mbox_db_ready_wait(adapter, db);
244 status = be_mbox_db_ready_wait(adapter, db);
253 status = be_mbox_db_ready_wait(adapter, db);
259 status = be_mcc_compl_process(adapter, &mbox->compl);
264 dev_err(&adapter->pdev->dev, "invalid mailbox completion\n");
270 static int be_POST_stage_get(struct be_adapter *adapter, u16 *stage)
272 u32 sem = ioread32(adapter->csr + MPU_EP_SEMAPHORE_OFFSET);
281 int be_cmd_POST(struct be_adapter *adapter)
287 status = be_POST_stage_get(adapter, &stage);
289 dev_err(&adapter->pdev->dev, "POST error; stage=0x%x\n",
301 dev_err(&adapter->pdev->dev, "POST timeout; stage=0x%x\n", stage);
377 static inline struct be_mcc_wrb *wrb_from_mbox(struct be_adapter *adapter)
379 struct be_dma_mem *mbox_mem = &adapter->mbox_mem;
386 static struct be_mcc_wrb *wrb_from_mccq(struct be_adapter *adapter)
388 struct be_queue_info *mccq = &adapter->mcc_obj.q;
392 dev_err(&adapter->pdev->dev, "Out of MCCQ wrbs\n");
406 int be_cmd_fw_init(struct be_adapter *adapter)
411 spin_lock(&adapter->mbox_lock);
413 wrb = (u8 *)wrb_from_mbox(adapter);
423 status = be_mbox_notify_wait(adapter);
425 spin_unlock(&adapter->mbox_lock);
432 int be_cmd_fw_clean(struct be_adapter *adapter)
437 if (adapter->eeh_err)
440 spin_lock(&adapter->mbox_lock);
442 wrb = (u8 *)wrb_from_mbox(adapter);
452 status = be_mbox_notify_wait(adapter);
454 spin_unlock(&adapter->mbox_lock);
457 int be_cmd_eq_create(struct be_adapter *adapter,
465 spin_lock(&adapter->mbox_lock);
467 wrb = wrb_from_mbox(adapter);
488 status = be_mbox_notify_wait(adapter);
495 spin_unlock(&adapter->mbox_lock);
500 int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr,
507 spin_lock(&adapter->mbox_lock);
509 wrb = wrb_from_mbox(adapter);
526 status = be_mbox_notify_wait(adapter);
532 spin_unlock(&adapter->mbox_lock);
537 int be_cmd_pmac_add(struct be_adapter *adapter, u8 *mac_addr,
544 spin_lock_bh(&adapter->mcc_lock);
546 wrb = wrb_from_mccq(adapter);
562 status = be_mcc_notify_wait(adapter);
569 spin_unlock_bh(&adapter->mcc_lock);
574 int be_cmd_pmac_del(struct be_adapter *adapter, u32 if_id, u32 pmac_id)
580 spin_lock_bh(&adapter->mcc_lock);
582 wrb = wrb_from_mccq(adapter);
598 status = be_mcc_notify_wait(adapter);
601 spin_unlock_bh(&adapter->mcc_lock);
606 int be_cmd_cq_create(struct be_adapter *adapter,
616 spin_lock(&adapter->mbox_lock);
618 wrb = wrb_from_mbox(adapter);
643 status = be_mbox_notify_wait(adapter);
650 spin_unlock(&adapter->mbox_lock);
663 int be_cmd_mccq_create(struct be_adapter *adapter,
673 spin_lock(&adapter->mbox_lock);
675 wrb = wrb_from_mbox(adapter);
696 status = be_mbox_notify_wait(adapter);
702 spin_unlock(&adapter->mbox_lock);
707 int be_cmd_txq_create(struct be_adapter *adapter,
717 spin_lock(&adapter->mbox_lock);
719 wrb = wrb_from_mbox(adapter);
742 status = be_mbox_notify_wait(adapter);
749 spin_unlock(&adapter->mbox_lock);
755 int be_cmd_rxq_create(struct be_adapter *adapter,
764 spin_lock(&adapter->mbox_lock);
766 wrb = wrb_from_mbox(adapter);
783 status = be_mbox_notify_wait(adapter);
790 spin_unlock(&adapter->mbox_lock);
798 int be_cmd_q_destroy(struct be_adapter *adapter, struct be_queue_info *q,
806 if (adapter->eeh_err)
809 spin_lock(&adapter->mbox_lock);
811 wrb = wrb_from_mbox(adapter);
844 status = be_mbox_notify_wait(adapter);
846 spin_unlock(&adapter->mbox_lock);
854 int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags,
862 spin_lock(&adapter->mbox_lock);
864 wrb = wrb_from_mbox(adapter);
880 status = be_mbox_notify_wait(adapter);
888 spin_unlock(&adapter->mbox_lock);
893 int be_cmd_if_destroy(struct be_adapter *adapter, u32 interface_id)
899 if (adapter->eeh_err)
902 spin_lock(&adapter->mbox_lock);
904 wrb = wrb_from_mbox(adapter);
915 status = be_mbox_notify_wait(adapter);
917 spin_unlock(&adapter->mbox_lock);
926 int be_cmd_get_stats(struct be_adapter *adapter, struct be_dma_mem *nonemb_cmd)
933 spin_lock_bh(&adapter->mcc_lock);
935 wrb = wrb_from_mccq(adapter);
952 be_mcc_notify(adapter);
953 adapter->stats_ioctl_sent = true;
956 spin_unlock_bh(&adapter->mcc_lock);
961 int be_cmd_link_status_query(struct be_adapter *adapter,
968 spin_lock_bh(&adapter->mcc_lock);
970 wrb = wrb_from_mccq(adapter);
985 status = be_mcc_notify_wait(adapter);
996 spin_unlock_bh(&adapter->mcc_lock);
1001 int be_cmd_get_fw_ver(struct be_adapter *adapter, char *fw_ver)
1007 spin_lock(&adapter->mbox_lock);
1009 wrb = wrb_from_mbox(adapter);
1018 status = be_mbox_notify_wait(adapter);
1024 spin_unlock(&adapter->mbox_lock);
1031 int be_cmd_modify_eqd(struct be_adapter *adapter, u32 eq_id, u32 eqd)
1037 spin_lock_bh(&adapter->mcc_lock);
1039 wrb = wrb_from_mccq(adapter);
1057 be_mcc_notify(adapter);
1060 spin_unlock_bh(&adapter->mcc_lock);
1065 int be_cmd_vlan_config(struct be_adapter *adapter, u32 if_id, u16 *vtag_array,
1072 spin_lock_bh(&adapter->mcc_lock);
1074 wrb = wrb_from_mccq(adapter);
1096 status = be_mcc_notify_wait(adapter);
1099 spin_unlock_bh(&adapter->mcc_lock);
1106 int be_cmd_promiscuous_config(struct be_adapter *adapter, u8 port_num, bool en)
1112 spin_lock_bh(&adapter->mcc_lock);
1114 wrb = wrb_from_mccq(adapter);
1135 status = be_mcc_notify_wait(adapter);
1138 spin_unlock_bh(&adapter->mcc_lock);
1146 int be_cmd_multicast_set(struct be_adapter *adapter, u32 if_id,
1154 spin_lock_bh(&adapter->mcc_lock);
1156 wrb = wrb_from_mccq(adapter);
1187 status = be_mcc_notify_wait(adapter);
1190 spin_unlock_bh(&adapter->mcc_lock);
1195 int be_cmd_set_flow_control(struct be_adapter *adapter, u32 tx_fc, u32 rx_fc)
1201 spin_lock_bh(&adapter->mcc_lock);
1203 wrb = wrb_from_mccq(adapter);
1219 status = be_mcc_notify_wait(adapter);
1222 spin_unlock_bh(&adapter->mcc_lock);
1227 int be_cmd_get_flow_control(struct be_adapter *adapter, u32 *tx_fc, u32 *rx_fc)
1233 spin_lock_bh(&adapter->mcc_lock);
1235 wrb = wrb_from_mccq(adapter);
1248 status = be_mcc_notify_wait(adapter);
1257 spin_unlock_bh(&adapter->mcc_lock);
1262 int be_cmd_query_fw_cfg(struct be_adapter *adapter, u32 *port_num, u32 *mode)
1268 spin_lock(&adapter->mbox_lock);
1270 wrb = wrb_from_mbox(adapter);
1279 status = be_mbox_notify_wait(adapter);
1286 spin_unlock(&adapter->mbox_lock);
1291 int be_cmd_reset_function(struct be_adapter *adapter)
1297 spin_lock(&adapter->mbox_lock);
1299 wrb = wrb_from_mbox(adapter);
1308 status = be_mbox_notify_wait(adapter);
1310 spin_unlock(&adapter->mbox_lock);
1315 int be_cmd_set_beacon_state(struct be_adapter *adapter, u8 port_num,
1322 spin_lock_bh(&adapter->mcc_lock);
1324 wrb = wrb_from_mccq(adapter);
1342 status = be_mcc_notify_wait(adapter);
1345 spin_unlock_bh(&adapter->mcc_lock);
1350 int be_cmd_get_beacon_state(struct be_adapter *adapter, u8 port_num, u32 *state)
1356 spin_lock_bh(&adapter->mcc_lock);
1358 wrb = wrb_from_mccq(adapter);
1373 status = be_mcc_notify_wait(adapter);
1381 spin_unlock_bh(&adapter->mcc_lock);
1386 int be_cmd_read_port_type(struct be_adapter *adapter, u32 port,
1393 spin_lock_bh(&adapter->mcc_lock);
1395 wrb = wrb_from_mccq(adapter);
1410 status = be_mcc_notify_wait(adapter);
1417 spin_unlock_bh(&adapter->mcc_lock);
1421 int be_cmd_write_flashrom(struct be_adapter *adapter, struct be_dma_mem *cmd,
1429 spin_lock_bh(&adapter->mcc_lock);
1430 adapter->flash_status = 0;
1432 wrb = wrb_from_mccq(adapter);
1454 be_mcc_notify(adapter);
1455 spin_unlock_bh(&adapter->mcc_lock);
1457 if (!wait_for_completion_timeout(&adapter->flash_compl,
1461 status = adapter->flash_status;
1466 spin_unlock_bh(&adapter->mcc_lock);
1470 int be_cmd_get_flash_crc(struct be_adapter *adapter, u8 *flashed_crc,
1477 spin_lock_bh(&adapter->mcc_lock);
1479 wrb = wrb_from_mccq(adapter);
1497 status = be_mcc_notify_wait(adapter);
1502 spin_unlock_bh(&adapter->mcc_lock);
1506 int be_cmd_enable_magic_wol(struct be_adapter *adapter, u8 *mac,
1514 spin_lock_bh(&adapter->mcc_lock);
1516 wrb = wrb_from_mccq(adapter);
1535 status = be_mcc_notify_wait(adapter);
1538 spin_unlock_bh(&adapter->mcc_lock);
1542 int be_cmd_set_loopback(struct be_adapter *adapter, u8 port_num,
1549 spin_lock_bh(&adapter->mcc_lock);
1551 wrb = wrb_from_mccq(adapter);
1571 status = be_mcc_notify_wait(adapter);
1573 spin_unlock_bh(&adapter->mcc_lock);
1577 int be_cmd_loopback_test(struct be_adapter *adapter, u32 port_num,
1584 spin_lock_bh(&adapter->mcc_lock);
1586 wrb = wrb_from_mccq(adapter);
1608 status = be_mcc_notify_wait(adapter);
1615 spin_unlock_bh(&adapter->mcc_lock);
1619 int be_cmd_ddr_dma_test(struct be_adapter *adapter, u64 pattern,
1628 spin_lock_bh(&adapter->mcc_lock);
1630 wrb = wrb_from_mccq(adapter);
1655 status = be_mcc_notify_wait(adapter);
1667 spin_unlock_bh(&adapter->mcc_lock);
1671 int be_cmd_get_seeprom_data(struct be_adapter *adapter,
1679 spin_lock_bh(&adapter->mcc_lock);
1681 wrb = wrb_from_mccq(adapter);
1695 status = be_mcc_notify_wait(adapter);
1697 spin_unlock_bh(&adapter->mcc_lock);
1701 int be_cmd_get_phy_info(struct be_adapter *adapter, struct be_dma_mem *cmd)
1708 spin_lock_bh(&adapter->mcc_lock);
1710 wrb = wrb_from_mccq(adapter);
1730 status = be_mcc_notify_wait(adapter);
1732 spin_unlock_bh(&adapter->mcc_lock);
1736 int be_cmd_set_qos(struct be_adapter *adapter, u32 bps, u32 domain)
1742 spin_lock_bh(&adapter->mcc_lock);
1744 wrb = wrb_from_mccq(adapter);
1762 status = be_mcc_notify_wait(adapter);
1765 spin_unlock_bh(&adapter->mcc_lock);