net: cadence_gem: Make phy respond to broadcast
Phys must respond to address 0 by specification. Implement. Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Message-id: 6f4d53b04ddbfb19895bfb61a595e69f1c08859a.1396594056.git.peter.crosthwaite@xilinx.com Reviewed-by: Beniamino Galvani <b.galvani@gmail.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
6954a1cd97
commit
5538937368
|
@ -1093,7 +1093,7 @@ static uint64_t gem_read(void *opaque, hwaddr offset, unsigned size)
|
||||||
uint32_t phy_addr, reg_num;
|
uint32_t phy_addr, reg_num;
|
||||||
|
|
||||||
phy_addr = (retval & GEM_PHYMNTNC_ADDR) >> GEM_PHYMNTNC_ADDR_SHFT;
|
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;
|
reg_num = (retval & GEM_PHYMNTNC_REG) >> GEM_PHYMNTNC_REG_SHIFT;
|
||||||
retval &= 0xFFFF0000;
|
retval &= 0xFFFF0000;
|
||||||
retval |= gem_phy_read(s, reg_num);
|
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;
|
uint32_t phy_addr, reg_num;
|
||||||
|
|
||||||
phy_addr = (val & GEM_PHYMNTNC_ADDR) >> GEM_PHYMNTNC_ADDR_SHFT;
|
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;
|
reg_num = (val & GEM_PHYMNTNC_REG) >> GEM_PHYMNTNC_REG_SHIFT;
|
||||||
gem_phy_write(s, reg_num, val);
|
gem_phy_write(s, reg_num, val);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue