Lines Matching refs:nesdev
59 static u32 nes_set_pau(struct nes_device *nesdev) in nes_set_pau() argument
64 nes_write_indexed(nesdev, NES_IDX_GPR2, NES_ENABLE_PAU); in nes_set_pau()
65 nes_write_indexed(nesdev, NES_IDX_GPR_TRIGGER, 1); in nes_set_pau()
69 if (!nes_read_indexed(nesdev, NES_IDX_GPR2)) { in nes_set_pau()
73 nes_write_indexed(nesdev, NES_IDX_GPR_TRIGGER, 1); in nes_set_pau()
85 int nes_read_eeprom_values(struct nes_device *nesdev, struct nes_adapter *nesadapter) in nes_read_eeprom_values() argument
99 eeprom_data = nes_read16_eeprom(nesdev->regs, 0); in nes_read_eeprom_values()
105 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset + 4); in nes_read_eeprom_values()
111 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset + 2); in nes_read_eeprom_values()
117 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset + 4); in nes_read_eeprom_values()
122 sw_section_ver = nes_read16_eeprom(nesdev->regs, nesadapter->software_eeprom_offset + 6); in nes_read_eeprom_values()
126 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset + 2); in nes_read_eeprom_values()
131 eeprom_data = nes_read16_eeprom(nesdev->regs, next_section_address + 4); in nes_read_eeprom_values()
139 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset + 2); in nes_read_eeprom_values()
144 eeprom_data = nes_read16_eeprom(nesdev->regs, next_section_address + 4); in nes_read_eeprom_values()
152 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset + 2); in nes_read_eeprom_values()
156 eeprom_data = nes_read16_eeprom(nesdev->regs, next_section_address + 4); in nes_read_eeprom_values()
164 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset + 2); in nes_read_eeprom_values()
168 eeprom_data = nes_read16_eeprom(nesdev->regs, next_section_address + 4); in nes_read_eeprom_values()
176 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset + 2); in nes_read_eeprom_values()
180 eeprom_data = nes_read16_eeprom(nesdev->regs, next_section_address + 4); in nes_read_eeprom_values()
188 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset + 2); in nes_read_eeprom_values()
192 eeprom_data = nes_read16_eeprom(nesdev->regs, next_section_address + 4); in nes_read_eeprom_values()
198 eeprom_data = nes_read16_eeprom(nesdev->regs, next_section_address + 8); in nes_read_eeprom_values()
212 if (!nes_set_pau(nesdev)) in nes_read_eeprom_values()
219 eeprom_data = nes_read16_eeprom(nesdev->regs, next_section_address + 10); in nes_read_eeprom_values()
228 nesadapter->netdev_max = (u8)nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
230 mac_addr_high = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
232 mac_addr_low = (u32)nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
235 mac_addr_low += (u32)nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
245 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
251 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
263 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
266 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
272 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
275 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
281 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
284 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
290 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
293 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
300 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
303 nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
307 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
310 nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
314 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
317 nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
321 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
324 nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
329 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
332 nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
336 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
339 nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
343 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
346 nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
350 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
353 nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
357 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
360 nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
364 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
367 nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
372 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
376 eeprom_data = nes_read16_eeprom(nesdev->regs, eeprom_offset); in nes_read_eeprom_values()
413 void nes_write_1G_phy_reg(struct nes_device *nesdev, u8 phy_reg, u8 phy_addr, u16 data) in nes_write_1G_phy_reg() argument
418 nes_write_indexed(nesdev, NES_IDX_MAC_MDIO_CONTROL, in nes_write_1G_phy_reg()
422 u32temp = nes_read_indexed(nesdev, NES_IDX_MAC_INT_STATUS); in nes_write_1G_phy_reg()
425 nes_write_indexed(nesdev, NES_IDX_MAC_INT_STATUS, 1); in nes_write_1G_phy_reg()
440 void nes_read_1G_phy_reg(struct nes_device *nesdev, u8 phy_reg, u8 phy_addr, u16 *data) in nes_read_1G_phy_reg() argument
448 nes_write_indexed(nesdev, NES_IDX_MAC_MDIO_CONTROL, in nes_read_1G_phy_reg()
452 u32temp = nes_read_indexed(nesdev, NES_IDX_MAC_INT_STATUS); in nes_read_1G_phy_reg()
455 nes_write_indexed(nesdev, NES_IDX_MAC_INT_STATUS, 1); in nes_read_1G_phy_reg()
464 *data = (u16)nes_read_indexed(nesdev, NES_IDX_MAC_MDIO_CONTROL); in nes_read_1G_phy_reg()
472 void nes_write_10G_phy_reg(struct nes_device *nesdev, u16 phy_addr, u8 dev_addr, u16 phy_reg, in nes_write_10G_phy_reg() argument
482 nes_write_indexed(nesdev, NES_IDX_MAC_MDIO_CONTROL, in nes_write_10G_phy_reg()
486 u32temp = nes_read_indexed(nesdev, NES_IDX_MAC_INT_STATUS); in nes_write_10G_phy_reg()
488 nes_write_indexed(nesdev, NES_IDX_MAC_INT_STATUS, 1); in nes_write_10G_phy_reg()
497 nes_write_indexed(nesdev, NES_IDX_MAC_MDIO_CONTROL, in nes_write_10G_phy_reg()
501 u32temp = nes_read_indexed(nesdev, NES_IDX_MAC_INT_STATUS); in nes_write_10G_phy_reg()
503 nes_write_indexed(nesdev, NES_IDX_MAC_INT_STATUS, 1); in nes_write_10G_phy_reg()
518 void nes_read_10G_phy_reg(struct nes_device *nesdev, u8 phy_addr, u8 dev_addr, u16 phy_reg) in nes_read_10G_phy_reg() argument
527 nes_write_indexed(nesdev, NES_IDX_MAC_MDIO_CONTROL, in nes_read_10G_phy_reg()
531 u32temp = nes_read_indexed(nesdev, NES_IDX_MAC_INT_STATUS); in nes_read_10G_phy_reg()
533 nes_write_indexed(nesdev, NES_IDX_MAC_INT_STATUS, 1); in nes_read_10G_phy_reg()
542 nes_write_indexed(nesdev, NES_IDX_MAC_MDIO_CONTROL, in nes_read_10G_phy_reg()
546 u32temp = nes_read_indexed(nesdev, NES_IDX_MAC_INT_STATUS); in nes_read_10G_phy_reg()
548 nes_write_indexed(nesdev, NES_IDX_MAC_INT_STATUS, 1); in nes_read_10G_phy_reg()
561 struct nes_cqp_request *nes_get_cqp_request(struct nes_device *nesdev) in nes_get_cqp_request() argument
566 if (!list_empty(&nesdev->cqp_avail_reqs)) { in nes_get_cqp_request()
567 spin_lock_irqsave(&nesdev->cqp.lock, flags); in nes_get_cqp_request()
568 if (!list_empty(&nesdev->cqp_avail_reqs)) { in nes_get_cqp_request()
569 cqp_request = list_entry(nesdev->cqp_avail_reqs.next, in nes_get_cqp_request()
573 spin_unlock_irqrestore(&nesdev->cqp.lock, flags); in nes_get_cqp_request()
598 void nes_free_cqp_request(struct nes_device *nesdev, in nes_free_cqp_request() argument
610 spin_lock_irqsave(&nesdev->cqp.lock, flags); in nes_free_cqp_request()
611 list_add_tail(&cqp_request->list, &nesdev->cqp_avail_reqs); in nes_free_cqp_request()
612 spin_unlock_irqrestore(&nesdev->cqp.lock, flags); in nes_free_cqp_request()
616 void nes_put_cqp_request(struct nes_device *nesdev, in nes_put_cqp_request() argument
620 nes_free_cqp_request(nesdev, cqp_request); in nes_put_cqp_request()
627 void nes_post_cqp_request(struct nes_device *nesdev, in nes_post_cqp_request() argument
637 spin_lock_irqsave(&nesdev->cqp.lock, flags); in nes_post_cqp_request()
639 if (((((nesdev->cqp.sq_tail+(nesdev->cqp.sq_size*2))-nesdev->cqp.sq_head) & in nes_post_cqp_request()
640 (nesdev->cqp.sq_size - 1)) != 1) in nes_post_cqp_request()
641 && (list_empty(&nesdev->cqp_pending_reqs))) { in nes_post_cqp_request()
642 cqp_head = nesdev->cqp.sq_head++; in nes_post_cqp_request()
643 nesdev->cqp.sq_head &= nesdev->cqp.sq_size-1; in nes_post_cqp_request()
644 cqp_wqe = &nesdev->cqp.sq_vbase[cqp_head]; in nes_post_cqp_request()
657 nesdev->cqp.sq_head, nesdev->cqp.sq_tail, nesdev->cqp.sq_size, in nes_post_cqp_request()
663 nes_write32(nesdev->regs+NES_WQE_ALLOC, 0x01800000 | nesdev->cqp.qp_id); in nes_post_cqp_request()
672 list_add_tail(&cqp_request->list, &nesdev->cqp_pending_reqs); in nes_post_cqp_request()
675 spin_unlock_irqrestore(&nesdev->cqp.lock, flags); in nes_post_cqp_request()
683 int nes_arp_table(struct nes_device *nesdev, u32 ip_addr, u8 *mac_addr, u32 action) in nes_arp_table() argument
685 struct nes_adapter *nesadapter = nesdev->nesadapter; in nes_arp_table()
745 struct nes_device *nesdev = (struct nes_device *)parm; in nes_mh_fix() local
746 struct nes_adapter *nesadapter = nesdev->nesadapter; in nes_mh_fix()
775 mac_tx_frames_low = nes_read_indexed(nesdev, NES_IDX_MAC_TX_FRAMES_LOW); in nes_mh_fix()
776 mac_tx_frames_high = nes_read_indexed(nesdev, NES_IDX_MAC_TX_FRAMES_HIGH); in nes_mh_fix()
777 mac_tx_pauses = nes_read_indexed(nesdev, NES_IDX_MAC_TX_PAUSE_FRAMES); in nes_mh_fix()
778 used_chunks_tx = nes_read_indexed(nesdev, NES_IDX_USED_CHUNKS_TX); in nes_mh_fix()
779 nesdev->mac_pause_frames_sent += mac_tx_pauses; in nes_mh_fix()
782 temp_last_used_chunks_tx = nesdev->last_used_chunks_tx; in nes_mh_fix()
784 if (nesdev->netdev[0]) { in nes_mh_fix()
785 nesvnic = netdev_priv(nesdev->netdev[0]); in nes_mh_fix()
803 (!(nesdev->last_used_chunks_tx&used_chunks_mask)) || in nes_mh_fix()
805 nesdev->last_used_chunks_tx = used_chunks_tx; in nes_mh_fix()
808 nesdev->last_used_chunks_tx = used_chunks_tx; in nes_mh_fix()
811 nes_write_indexed(nesdev, NES_IDX_MAC_TX_CONTROL, 0x00000005); in nes_mh_fix()
813 mac_tx_pauses = nes_read_indexed(nesdev, NES_IDX_MAC_TX_PAUSE_FRAMES); in nes_mh_fix()
815 nesdev->mac_pause_frames_sent += mac_tx_pauses; in nes_mh_fix()
819 tx_control = nes_read_indexed(nesdev, NES_IDX_MAC_TX_CONTROL); in nes_mh_fix()
820 tx_config = nes_read_indexed(nesdev, NES_IDX_MAC_TX_CONFIG); in nes_mh_fix()
821 tx_pause_quanta = nes_read_indexed(nesdev, NES_IDX_MAC_TX_PAUSE_QUANTA); in nes_mh_fix()
822 rx_control = nes_read_indexed(nesdev, NES_IDX_MAC_RX_CONTROL); in nes_mh_fix()
823 rx_config = nes_read_indexed(nesdev, NES_IDX_MAC_RX_CONFIG); in nes_mh_fix()
824 mac_exact_match = nes_read_indexed(nesdev, NES_IDX_MAC_EXACT_MATCH_BOTTOM); in nes_mh_fix()
825 mpp_debug = nes_read_indexed(nesdev, NES_IDX_MPP_DEBUG); in nes_mh_fix()
828 mac_tx_pauses = nes_read_indexed(nesdev, NES_IDX_MAC_TX_PAUSE_FRAMES); in nes_mh_fix()
830 nesdev->last_mac_tx_pauses = nesdev->mac_pause_frames_sent; in nes_mh_fix()
836 nes_write_indexed(nesdev, NES_IDX_MAC_TX_CONTROL, 0x00000000); in nes_mh_fix()
837 nes_write_indexed(nesdev, NES_IDX_MAC_TX_CONFIG, 0x00000000); in nes_mh_fix()
838 reset_value = nes_read32(nesdev->regs+NES_SOFTWARE_RESET); in nes_mh_fix()
840 nes_write32(nesdev->regs+NES_SOFTWARE_RESET, reset_value | 0x0000001d); in nes_mh_fix()
842 while (((nes_read32(nesdev->regs+NES_SOFTWARE_RESET) in nes_mh_fix()
847 nes_write_indexed(nesdev, NES_IDX_ETH_SERDES_COMMON_CONTROL0, 0x00000008); in nes_mh_fix()
848 serdes_status = nes_read_indexed(nesdev, NES_IDX_ETH_SERDES_COMMON_STATUS0); in nes_mh_fix()
850 nes_write_indexed(nesdev, NES_IDX_ETH_SERDES_TX_EMP0, 0x000bdef7); in nes_mh_fix()
851 nes_write_indexed(nesdev, NES_IDX_ETH_SERDES_TX_DRIVE0, 0x9ce73000); in nes_mh_fix()
852 nes_write_indexed(nesdev, NES_IDX_ETH_SERDES_RX_MODE0, 0x0ff00000); in nes_mh_fix()
853 nes_write_indexed(nesdev, NES_IDX_ETH_SERDES_RX_SIGDET0, 0x00000000); in nes_mh_fix()
854 nes_write_indexed(nesdev, NES_IDX_ETH_SERDES_BYPASS0, 0x00000000); in nes_mh_fix()
855 nes_write_indexed(nesdev, NES_IDX_ETH_SERDES_LOOPBACK_CONTROL0, 0x00000000); in nes_mh_fix()
857 nes_write_indexed(nesdev, NES_IDX_ETH_SERDES_RX_EQ_CONTROL0, 0xf0182222); in nes_mh_fix()
859 nes_write_indexed(nesdev, NES_IDX_ETH_SERDES_RX_EQ_CONTROL0, 0xf0042222); in nes_mh_fix()
861 serdes_status = nes_read_indexed(nesdev, NES_IDX_ETH_SERDES_RX_EQ_STATUS0); in nes_mh_fix()
862 nes_write_indexed(nesdev, NES_IDX_ETH_SERDES_CDR_CONTROL0, 0x000000ff); in nes_mh_fix()
864 nes_write_indexed(nesdev, NES_IDX_MAC_TX_CONTROL, tx_control); in nes_mh_fix()
865 nes_write_indexed(nesdev, NES_IDX_MAC_TX_CONFIG, tx_config); in nes_mh_fix()
866 nes_write_indexed(nesdev, NES_IDX_MAC_TX_PAUSE_QUANTA, tx_pause_quanta); in nes_mh_fix()
867 nes_write_indexed(nesdev, NES_IDX_MAC_RX_CONTROL, rx_control); in nes_mh_fix()
868 nes_write_indexed(nesdev, NES_IDX_MAC_RX_CONFIG, rx_config); in nes_mh_fix()
869 nes_write_indexed(nesdev, NES_IDX_MAC_EXACT_MATCH_BOTTOM, mac_exact_match); in nes_mh_fix()
870 nes_write_indexed(nesdev, NES_IDX_MPP_DEBUG, mpp_debug); in nes_mh_fix()
876 nesdev->nesadapter->mh_timer.expires = jiffies + (HZ/5); in nes_mh_fix()
877 add_timer(&nesdev->nesadapter->mh_timer); in nes_mh_fix()
886 struct nes_device *nesdev = (struct nes_device *)parm; in nes_clc() local
887 struct nes_adapter *nesadapter = nesdev->nesadapter; in nes_clc()