freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

廠家提供的dm9000網(wǎng)卡代碼(編輯修改稿)

2025-07-20 22:50 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ts。 devset_multicast_list = amp。dm9000_hash_table。 devdo_ioctl = amp。dmfe_do_ioctl。if LINUX_VERSION_CODE = KERNEL_VERSION(2,4,28) devethtool_ops = amp。dmfe_ethtool_ops。endififdef CHECKSUM //devfeatures |= NETIF_F_IP_CSUM。 devfeatures |= NETIF_F_IP_CSUM|NETIF_F_SG。endif db = dev。 db = mdio_read。 db = mdio_write。 db = 1。if LINUX_VERSION_CODE = KERNEL_VERSION(2,4,20) db = 0x1F。 db = 0x1F。 endif //dbmsg_enable =(debug == 0 ? DMFE_DEF_MSG_ENABLE : ((1 debug) 1))。 /* Read SROM content */ for (i=0。 i64。 i++) ((u16 *)dbsrom)[i] = read_srom_word(db, i)。 /* Get the PID and VID from EEPROM to check */ id_val = (((u16 *)dbsrom)[4])|(((u16 *)dbsrom)[5]16)。 printk(id_val=%x\n, id_val)。 if (id_val == DM9KS_ID || id_val == DM9010_ID) HasEEPROM =1。 /* Set Node Address */ for (i=0。 i6。 i++) { if (HasEEPROM) /* use EEPROM */ devdev_addr[i] = dbsrom[i]。 else /* No EEPROM */ devdev_addr[i] = MAC_addr[i]。 } }//end of if() iobase += 0x10。 }while(!dm9000_found amp。amp。 iobase = DM9KS_MAX_IO)。 return dm9000_found ? 0:ENODEV。}/* Open the interface. The interface is opened whenever ifconfig actives it.*/static int dmfe_open(struct net_device *dev){ board_info_t *db = (board_info_t *)devpriv。 u8 reg_nsr。 int i。 DMFE_DBUG(0, dmfe_open, 0)。 if (request_irq(devirq,amp。dmfe_interrupt,0,devname,dev)) return EAGAIN。 /* Initilize DM910X board */ dmfe_init_dm9000(dev)。ifdef DM8606 // control DM8606 printk([8606]reg0=0x%04x\n,dm8606_read(db,0))。 printk([8606]reg1=0x%04x\n,dm8606_read(db,0x1))。endif /* Init driver variable */ dbreset_counter = 0。 dbreset_tx_timeout = 0。 dbcont_rx_pkt_t = 0。 /* check link state and media speed */ dbSpeed =10。 i=0。 do { reg_nsr = ior(db,DM9KS_NSR)。 if(reg_nsr amp。 0x40) /* link OK!! */ { /* wait for detected Speed */ mdelay(200)。 reg_nsr = ior(db,DM9KS_NSR)。 if(reg_nsr amp。 0x80) dbSpeed =10。 else dbSpeed =100。 break。 } i++。 mdelay(1)。 }while(i3000)。 /* wait 3 second */ //printk(i=%d Speed=%d\n,i,dbSpeed)。 /* set and active a timer process */ init_timer(amp。dbtimer)。 db = DMFE_TIMER_WUT。 db = (unsigned long)dev。 db = amp。dmfe_timer。 add_timer(amp。dbtimer)。 //Move to DM9000 initiallization was finished. netif_start_queue(dev)。 return 0。}/* Set PHY operationg mode*/static void set_PHY_mode(board_info_t *db){ifndef DM8606 u16 phy_reg0 = 0x1000。/* Autonegotiation*/ u16 phy_reg4 = 0x01e1。 if ( !(dbop_mode amp。 DM9KS_AUTO) ) // op_mode didn39。t auto sense */ { switch(dbop_mode) { case DM9KS_10MHD: phy_reg4 = 0x21。 phy_reg0 = 0x1000。 break。 case DM9KS_10MFD: phy_reg4 = 0x41。 phy_reg0 = 0x1100。 break。 case DM9KS_100MHD: phy_reg4 = 0x81。 phy_reg0 = 0x3000。 break。 case DM9KS_100MFD: phy_reg4 = 0x101。 phy_reg0 = 0x3100。 break。 default: break。 } // end of switch } // end of ififdef FLOW_CONTROL phy_write(db, 4, phy_reg4|(110))。else phy_write(db, 4, phy_reg4)。endif //end of FLOW_CONTROL phy_write(db, 0, phy_reg0|0x200)。else /* Fiber mode */ phy_write(db, 16, 0x4014)。 phy_write(db, 0, 0x2100)。endif //end of DM8606 if (dbchip_revision == 0x1A) { //set 10M TX idle =65mA (TX 100% utility is 160mA) phy_write(db,20, phy_read(db,20)|(111)|(110))。 //:fix harmonic //For short code: //PHY_REG 27 (1Bh) 0000h phy_write(db, 27, 0x0000)。 //PHY_REG 27 (1Bh) AA00h phy_write(db, 27, 0xaa00)。 //PHY_REG 27 (1Bh) 0017h phy_write(db, 27, 0x0017)。 //PHY_REG 27 (1Bh) AA17h phy_write(db, 27, 0xaa17)。 //PHY_REG 27 (1Bh) 002Fh phy_write(db, 27, 0x002f)。 //PHY_REG 27 (1Bh) AA2Fh phy_write(db, 27, 0xaa2f)。 //PHY_REG 27 (1Bh) 0037h phy_write(db, 27, 0x0037)。 //PHY_REG 27 (1Bh) AA37h phy_write(db, 27, 0xaa37)。 //PHY_REG 27 (1Bh) 0040h phy_write(db, 27, 0x0040)。 //PHY_REG 27 (1Bh) AA40h phy_write(db, 27, 0xaa40)。 //For long code: //PHY_REG 27 (1Bh) 0050h phy_write(db, 27, 0x0050)。 //PHY_REG 27 (1Bh) AA50h phy_write(db, 27, 0xaa50)。 //PHY_REG 27 (1Bh) 006Bh phy_write(db, 27, 0x006b)。 //PHY_REG 27 (1Bh) AA6Bh phy_write(db, 27, 0xaa6b)。 //PHY_REG 27 (1Bh) 007Dh phy_write(db, 27, 0x007d)。 //PHY_REG 27 (1Bh) AA7Dh phy_write(db, 27, 0xaa7d)。 //PHY_REG 27 (1Bh) 008Dh phy_write(db, 27, 0x008d)。 //PHY_REG 27 (1Bh) AA8Dh phy_write(db, 27, 0xaa8d)。 //PHY_REG 27 (1Bh) 009Ch phy_write(db, 27, 0x009c)。 //PHY_REG 27 (1Bh) AA9Ch phy_write(db, 27, 0xaa9c)。 //PHY_REG 27 (1Bh) 00A3h phy_write(db, 27, 0x00a3)。 //PHY_REG 27 (1Bh) AAA3h phy_write(db, 27, 0xaaa3)。 //PHY_REG 27 (1Bh) 00B1h phy_write(db, 27, 0x00b1)。 //PHY_REG 27 (1Bh) AAB1h phy_write(db, 27, 0xaab1)。 //PHY_REG 27 (1Bh) 00C0h phy_write(db, 27, 0x00c0)。 //PHY_REG 27 (1Bh) AAC0h phy_write(db, 27, 0xaac0)。 //PHY_REG 27 (1Bh) 00D2h phy_write(db, 27, 0x00d2)。 //PHY_REG 27 (1Bh) AAD2h phy_write(db, 27, 0xaad2)。 //PHY_REG 27 (1Bh) 00E0h phy_write(db, 27, 0x00e0)。 //PHY_REG 27 (1Bh) AAE0h phy_write(db, 27, 0xaae0)。 //PHY_REG 27 (1Bh) 0000h phy_write(db, 27, 0x0000)。 }}/* Initilize dm9000 board*/static void dmfe_init_dm9000(struct net_device *dev){ board_info_t *db = (board_info_t *)devpriv。 DMFE_DBUG(0, dmfe_init_dm9000(), 0)。 spin_lock_init(amp。dblock)。 iow(db, DM9KS_GPR, 0)。 /* GPR (reg_1Fh)b
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1