force MII access in AR2313 ethernet to KSEG1 instead of physical addresses - why the fsck has this ever worked for anybody??

SVN-Revision: 6258
This commit is contained in:
Felix Fietkau 2007-02-04 02:31:00 +00:00
parent 3921be5a40
commit cb28dc62c1

View file

@ -1527,7 +1527,7 @@ diff -urN linux.old/drivers/net/ar2313/ar2313.c linux.eth/drivers/net/ar2313/ar2
+{ +{
+ volatile ETHERNET_STRUCT * ethernet; + volatile ETHERNET_STRUCT * ethernet;
+ +
+ ethernet = (volatile ETHERNET_STRUCT *)(ar_eth_base); /* always MAC 0 */ + ethernet = (volatile ETHERNET_STRUCT *)KSEG1ADDR(ar_eth_base); /* always MAC 0 */
+ ethernet->mii_addr = ((reg << MII_ADDR_REG_SHIFT) | + ethernet->mii_addr = ((reg << MII_ADDR_REG_SHIFT) |
+ (phy << MII_ADDR_PHY_SHIFT)); + (phy << MII_ADDR_PHY_SHIFT));
+ while (ethernet->mii_addr & MII_ADDR_BUSY); + while (ethernet->mii_addr & MII_ADDR_BUSY);
@ -1539,7 +1539,7 @@ diff -urN linux.old/drivers/net/ar2313/ar2313.c linux.eth/drivers/net/ar2313/ar2
+{ +{
+ volatile ETHERNET_STRUCT * ethernet; + volatile ETHERNET_STRUCT * ethernet;
+ +
+ ethernet = (volatile ETHERNET_STRUCT *)(ar_eth_base); /* always MAC 0 */ + ethernet = (volatile ETHERNET_STRUCT *)KSEG1ADDR(ar_eth_base); /* always MAC 0 */
+ while (ethernet->mii_addr & MII_ADDR_BUSY); + while (ethernet->mii_addr & MII_ADDR_BUSY);
+ ethernet->mii_data = data << MII_DATA_SHIFT; + ethernet->mii_data = data << MII_DATA_SHIFT;
+ ethernet->mii_addr = ((reg << MII_ADDR_REG_SHIFT) | + ethernet->mii_addr = ((reg << MII_ADDR_REG_SHIFT) |