]> Git Repo - qemu.git/commitdiff
net: cadence_gem: Make phy respond to broadcast
authorPeter Crosthwaite <[email protected]>
Fri, 4 Apr 2014 06:55:19 +0000 (23:55 -0700)
committerPeter Maydell <[email protected]>
Thu, 17 Apr 2014 20:34:07 +0000 (21:34 +0100)
Phys must respond to address 0 by specification. Implement.

Signed-off-by: Nathan Rossi <[email protected]>
Signed-off-by: Peter Crosthwaite <[email protected]>
Message-id: 6f4d53b04ddbfb19895bfb61a595e69f1c08859a.1396594056[email protected]
Reviewed-by: Beniamino Galvani <[email protected]>
Signed-off-by: Peter Maydell <[email protected]>
hw/net/cadence_gem.c

index 92dc2f21fa6262408535b8b542394cd4b767a96c..e34b25e734fe3dec81ef65cfcaeb4af79b8d8a3a 100644 (file)
@@ -1093,7 +1093,7 @@ static uint64_t gem_read(void *opaque, hwaddr offset, unsigned size)
             uint32_t phy_addr, reg_num;
 
             phy_addr = (retval & GEM_PHYMNTNC_ADDR) >> GEM_PHYMNTNC_ADDR_SHFT;
-            if (phy_addr == BOARD_PHY_ADDRESS) {
+            if (phy_addr == BOARD_PHY_ADDRESS || phy_addr == 0) {
                 reg_num = (retval & GEM_PHYMNTNC_REG) >> GEM_PHYMNTNC_REG_SHIFT;
                 retval &= 0xFFFF0000;
                 retval |= gem_phy_read(s, reg_num);
@@ -1193,7 +1193,7 @@ static void gem_write(void *opaque, hwaddr offset, uint64_t val,
             uint32_t phy_addr, reg_num;
 
             phy_addr = (val & GEM_PHYMNTNC_ADDR) >> GEM_PHYMNTNC_ADDR_SHFT;
-            if (phy_addr == BOARD_PHY_ADDRESS) {
+            if (phy_addr == BOARD_PHY_ADDRESS || phy_addr == 0) {
                 reg_num = (val & GEM_PHYMNTNC_REG) >> GEM_PHYMNTNC_REG_SHIFT;
                 gem_phy_write(s, reg_num, val);
             }
This page took 0.036586 seconds and 4 git commands to generate.