Lines Matching defs:nesdev

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