WPI_WRITE
WPI_WRITE(sc, WPI_RX_CONFIG, 0);
WPI_WRITE(sc, WPI_TX_CONFIG(ring->qid), 0);
WPI_WRITE(sc, WPI_GPIO_CTL, tmp | WPI_GPIO_MAC);
WPI_WRITE(sc, WPI_GPIO_CTL, tmp & ~WPI_GPIO_MAC);
WPI_WRITE(sc, WPI_READ_MEM_ADDR, WPI_MEM_4 | addr);
WPI_WRITE(sc, WPI_WRITE_MEM_ADDR, WPI_MEM_4 | addr);
WPI_WRITE(sc, WPI_WRITE_MEM_DATA, data);
WPI_WRITE(sc, WPI_EEPROM_CTL, addr << 2);
WPI_WRITE(sc, WPI_FW_TARGET, target);
WPI_WRITE(sc, WPI_TX_CONFIG(6), 0);
WPI_WRITE(sc, WPI_TX_CREDIT(6), 0xfffff);
WPI_WRITE(sc, WPI_TX_STATE(6), 0x4001);
WPI_WRITE(sc, WPI_TX_CONFIG(6), 0x80000001);
WPI_WRITE(sc, WPI_TX_CREDIT(6), 0);
WPI_WRITE(sc, WPI_RX_WIDX, hw & (~7));
WPI_WRITE(sc, WPI_MASK, 0);
WPI_WRITE(sc, WPI_INTR, r);
WPI_WRITE(sc, WPI_INTR_STATUS, rfh);
WPI_WRITE(sc, WPI_MASK, WPI_INTR_MASK);
WPI_WRITE(sc, WPI_TX_WIDX, ring->qid << 8 | ring->cur);
WPI_WRITE(sc, WPI_TX_WIDX, ring->qid << 8 | ring->cur);
WPI_WRITE(sc, WPI_TX_WIDX, ring->qid << 8 | ring->cur);
WPI_WRITE(sc, WPI_RESET, tmp | WPI_STOP_MASTER);
WPI_WRITE(sc, WPI_INTR, 0xffffffff);
WPI_WRITE(sc, WPI_PLL_CTL, tmp | WPI_PLL_INIT);
WPI_WRITE(sc, WPI_CHICKEN, tmp | WPI_CHICKEN_RXNOLOS);
WPI_WRITE(sc, WPI_GPIO_CTL, tmp | WPI_GPIO_INIT);
WPI_WRITE(sc, WPI_EEPROM_STATUS, tmp & ~WPI_EEPROM_LOCKED);
WPI_WRITE(sc, WPI_HWCONFIG, hw);
WPI_WRITE(sc, WPI_RX_BASE, sc->sc_rxq.dma_desc.cookie.dmac_address);
WPI_WRITE(sc, WPI_RX_RIDX_PTR,
WPI_WRITE(sc, WPI_RX_WIDX, (WPI_RX_RING_COUNT - 1) & (~7));
WPI_WRITE(sc, WPI_RX_CONFIG, 0xa9601010);
WPI_WRITE(sc, WPI_TX_BASE_PTR, sc->sc_dma_sh.cookie.dmac_address);
WPI_WRITE(sc, WPI_MSG_CONFIG, 0xffff05a5);
WPI_WRITE(sc, WPI_TX_CTL(qid), 0);
WPI_WRITE(sc, WPI_TX_BASE(qid), 0);
WPI_WRITE(sc, WPI_TX_CONFIG(qid), 0x80200008);
WPI_WRITE(sc, WPI_UCODE_CLR, WPI_RADIO_OFF);
WPI_WRITE(sc, WPI_UCODE_CLR, WPI_DISABLE_CMD);
WPI_WRITE(sc, WPI_INTR, 0xffffffff);
WPI_WRITE(sc, WPI_MASK, WPI_INTR_MASK);
WPI_WRITE(sc, WPI_RESET, tmp);
WPI_WRITE(sc, WPI_MASK, 0);
WPI_WRITE(sc, WPI_INTR, WPI_INTR_MASK);
WPI_WRITE(sc, WPI_INTR_STATUS, 0xff);
WPI_WRITE(sc, WPI_INTR_STATUS, 0x00070000);
WPI_WRITE(sc, WPI_RESET, tmp | WPI_SW_RESET);