|
@@ -3165,43 +3165,6 @@ void write_phy_cck (struct net_device *dev, u8 adr, u32 data)
|
|
|
rtl8185_write_phy(dev, adr, data | 0x10000);
|
|
|
}
|
|
|
|
|
|
-/* 70*3 = 210 ms
|
|
|
- * I hope this is enougth
|
|
|
- */
|
|
|
-#define MAX_PHY 70
|
|
|
-void write_phy(struct net_device *dev, u8 adr, u8 data)
|
|
|
-{
|
|
|
- u32 phy;
|
|
|
- int i;
|
|
|
-
|
|
|
- phy = 0xff0000;
|
|
|
- phy |= adr;
|
|
|
- phy |= 0x80; /* this should enable writing */
|
|
|
- phy |= (data<<8);
|
|
|
-
|
|
|
- //PHY_ADR, PHY_R and PHY_W are contig and treated as one dword
|
|
|
- write_nic_dword(dev,PHY_ADR, phy);
|
|
|
-
|
|
|
- phy= 0xffff00;
|
|
|
- phy |= adr;
|
|
|
-
|
|
|
- write_nic_dword(dev,PHY_ADR, phy);
|
|
|
- for(i=0;i<MAX_PHY;i++){
|
|
|
- phy=read_nic_dword(dev,PHY_ADR);
|
|
|
- phy= phy & 0xff0000;
|
|
|
- phy= phy >> 16;
|
|
|
- if(phy == data){ //SUCCESS!
|
|
|
- force_pci_posting(dev);
|
|
|
- mdelay(3); //random value
|
|
|
- return;
|
|
|
- }else{
|
|
|
- force_pci_posting(dev);
|
|
|
- mdelay(3); //random value
|
|
|
- }
|
|
|
- }
|
|
|
- DMESGW ("Phy writing %x %x failed!", adr,data);
|
|
|
-}
|
|
|
-
|
|
|
void rtl8185_set_rate(struct net_device *dev)
|
|
|
{
|
|
|
int i;
|