| version 1.229, 2012/07/22 14:33:04 |
version 1.231, 2012/08/09 07:48:39 |
| Line 4628 wm_read_eeprom_uwire(struct wm_softc *sc |
|
| Line 4628 wm_read_eeprom_uwire(struct wm_softc *sc |
|
| reg = CSR_READ(sc, WMREG_EECD) & ~(EECD_SK | EECD_DI); |
reg = CSR_READ(sc, WMREG_EECD) & ~(EECD_SK | EECD_DI); |
| CSR_WRITE(sc, WMREG_EECD, reg); |
CSR_WRITE(sc, WMREG_EECD, reg); |
| |
|
| |
/* |
| |
* XXX: workaround for a bug in qemu-0.12.x and prior |
| |
* and Xen. |
| |
* |
| |
* We use this workaround only for 82540 because qemu's |
| |
* e1000 act as 82540. |
| |
*/ |
| |
if (sc->sc_type == WM_T_82540) { |
| |
reg |= EECD_SK; |
| |
CSR_WRITE(sc, WMREG_EECD, reg); |
| |
reg &= ~EECD_SK; |
| |
CSR_WRITE(sc, WMREG_EECD, reg); |
| |
delay(2); |
| |
} |
| |
/* XXX: end of workaround */ |
| |
|
| /* Set CHIP SELECT. */ |
/* Set CHIP SELECT. */ |
| reg |= EECD_CS; |
reg |= EECD_CS; |
| CSR_WRITE(sc, WMREG_EECD, reg); |
CSR_WRITE(sc, WMREG_EECD, reg); |