IGC_WRITE_REG
IGC_WRITE_REG(hw, IGC_RQDPC(iq), 0);
IGC_WRITE_REG(&sc->hw, IGC_VET, ETHERTYPE_VLAN);
IGC_WRITE_REG(&sc->hw, IGC_CTRL, ctrl);
IGC_WRITE_REG(&sc->hw, IGC_ICS, IGC_ICS_LSC);
IGC_WRITE_REG(&sc->hw, IGC_TDT(txr->me), prod);
IGC_WRITE_REG(&sc->hw, IGC_WUC, 0);
IGC_WRITE_REG(&sc->hw, IGC_RDT(rxr->me), id);
IGC_WRITE_REG(&sc->hw, IGC_RDT(rxr->me), last);
IGC_WRITE_REG(&sc->hw, IGC_RCTL, rctl);
IGC_WRITE_REG(hw, IGC_GPIE, IGC_GPIE_MSIX_MODE | IGC_GPIE_EIAME |
IGC_WRITE_REG(hw, IGC_EITR(q->msix), newitr);
IGC_WRITE_REG(hw, IGC_IVAR_MISC, ivar);
IGC_WRITE_REG(&sc->hw, IGC_EIMS, eims);
IGC_WRITE_REG(hw, IGC_EIAC, mask);
IGC_WRITE_REG(hw, IGC_EIAM, mask);
IGC_WRITE_REG(hw, IGC_EIMS, mask);
IGC_WRITE_REG(hw, IGC_IMS, IGC_IMS_LSC);
IGC_WRITE_REG(hw, IGC_IMS, IMS_ENABLE_MASK);
IGC_WRITE_REG(hw, IGC_EIMC, 0xffffffff);
IGC_WRITE_REG(hw, IGC_EIAC, 0);
IGC_WRITE_REG(hw, IGC_IMC, 0xffffffff);
IGC_WRITE_REG(&sc->hw, IGC_IMS, IGC_IMS_LSC);
IGC_WRITE_REG(&sc->hw, IGC_EIMS, sc->msix_linkmask);
IGC_WRITE_REG(hw, IGC_TDLEN(iq),
IGC_WRITE_REG(hw, IGC_TDBAH(iq), (uint32_t)(bus_addr >> 32));
IGC_WRITE_REG(hw, IGC_TDBAL(iq), (uint32_t)bus_addr);
IGC_WRITE_REG(hw, IGC_TDT(iq), 0 /* XXX txr->next_avail_desc */);
IGC_WRITE_REG(hw, IGC_TDH(iq), 0);
IGC_WRITE_REG(hw, IGC_TXDCTL(iq), txdctl);
IGC_WRITE_REG(&sc->hw, IGC_TCTL, tctl);
IGC_WRITE_REG(hw, IGC_RCTL, rctl & ~IGC_RCTL_EN);
IGC_WRITE_REG(hw, IGC_ITR, DEFAULT_ITR);
IGC_WRITE_REG(hw, IGC_RXCSUM, rxcsum);
IGC_WRITE_REG(hw, IGC_RXDCTL(iq), 0);
IGC_WRITE_REG(hw, IGC_RDLEN(iq),
IGC_WRITE_REG(hw, IGC_RDBAH(iq), (uint32_t)(bus_addr >> 32));
IGC_WRITE_REG(hw, IGC_RDBAL(iq), (uint32_t)bus_addr);
IGC_WRITE_REG(hw, IGC_SRRCTL(iq), srrctl);
IGC_WRITE_REG(hw, IGC_RDH(iq), 0);
IGC_WRITE_REG(hw, IGC_RDT(iq), 0 /* XXX rxr->last_desc_filled */);
IGC_WRITE_REG(hw, IGC_RXDCTL(iq), rxdctl);
IGC_WRITE_REG(hw, IGC_RCTL, rctl);
IGC_WRITE_REG(hw, IGC_RETA(i >> 2), reta);
IGC_WRITE_REG(hw, IGC_MRQC, mrqc);
IGC_WRITE_REG(&sc->hw, IGC_CTRL_EXT, ctrl_ext | IGC_CTRL_EXT_DRV_LOAD);
IGC_WRITE_REG(&sc->hw, IGC_CTRL_EXT, ctrl_ext & ~IGC_CTRL_EXT_DRV_LOAD);
IGC_WRITE_REG(hw, IGC_WUC, 0);
IGC_WRITE_REG(hw, IGC_VET, ETHERTYPE_VLAN);
IGC_WRITE_REG(hw, IGC_DMACR, reg);
IGC_WRITE_REG(hw, IGC_DMCTXTH, 0);
IGC_WRITE_REG(hw, IGC_FCRTC, reg);
IGC_WRITE_REG(hw, IGC_DMACR, reg);
IGC_WRITE_REG(hw, IGC_DMCRTRH, 0);
IGC_WRITE_REG(hw, IGC_DMCTLX, reg);
IGC_WRITE_REG(hw, IGC_DMCTXTH,
IGC_WRITE_REG(hw, IGC_PCIEMISC, reg);
IGC_WRITE_REG(hw, IGC_IPCNFG, ipcnfg);
IGC_WRITE_REG(hw, IGC_EEER, eeer);
IGC_WRITE_REG(hw, IGC_IMC, 0xffffffff);
IGC_WRITE_REG(hw, IGC_RCTL, 0);
IGC_WRITE_REG(hw, IGC_TCTL, IGC_TCTL_PSP);
IGC_WRITE_REG(hw, IGC_CTRL, ctrl | IGC_CTRL_DEV_RST);
IGC_WRITE_REG(hw, IGC_IMC, 0xffffffff);
IGC_WRITE_REG(hw, IGC_SW_FW_SYNC, swfw_sync);
IGC_WRITE_REG(hw, IGC_SW_FW_SYNC, swfw_sync);
IGC_WRITE_REG(hw, IGC_CTRL, ctrl);
IGC_WRITE_REG(hw, IGC_I225_PHPM, phpm_reg);
IGC_WRITE_REG(hw, IGC_SWSM, swsm | IGC_SWSM_SWESMBI);
IGC_WRITE_REG(hw, IGC_SRWR, eewr);
IGC_WRITE_REG(hw, IGC_I225_FLSWCNT, burst_counter);
IGC_WRITE_REG(hw, IGC_I225_FLSWCTL, flswctl);
IGC_WRITE_REG(hw, IGC_EECD, flup);
IGC_WRITE_REG(hw, IGC_I225_FLSWDATA,
IGC_WRITE_REG(hw, IGC_LTRC, ltrc);
IGC_WRITE_REG(hw, IGC_LTRMINV, ltrv);
IGC_WRITE_REG(hw, IGC_LTRMAXV, ltrv);
IGC_WRITE_REG(hw, IGC_RAL(index), rar_low);
IGC_WRITE_REG(hw, IGC_RAH(index), rar_high);
IGC_WRITE_REG(hw, IGC_FCT, FLOW_CONTROL_TYPE);
IGC_WRITE_REG(hw, IGC_FCAH, FLOW_CONTROL_ADDRESS_HIGH);
IGC_WRITE_REG(hw, IGC_FCAL, FLOW_CONTROL_ADDRESS_LOW);
IGC_WRITE_REG(hw, IGC_FCTTV, hw->fc.pause_time);
IGC_WRITE_REG(hw, IGC_TCTL, tctl);
IGC_WRITE_REG(hw, IGC_FCRTL, fcrtl);
IGC_WRITE_REG(hw, IGC_FCRTH, fcrth);
IGC_WRITE_REG(hw, IGC_CTRL, ctrl);
IGC_WRITE_REG(hw, IGC_SWSM, swsm);
IGC_WRITE_REG(hw, IGC_CTRL, ctrl);
IGC_WRITE_REG(hw, IGC_EERD, eerd);
IGC_WRITE_REG(hw, IGC_CTRL_EXT, ctrl_ext);
IGC_WRITE_REG(hw, IGC_MDIC, mdic);
IGC_WRITE_REG(hw, IGC_MDIC, mdic);
IGC_WRITE_REG(hw, IGC_CTRL, ctrl | IGC_CTRL_PHY_RST);
IGC_WRITE_REG(hw, IGC_CTRL, ctrl);