Lines 2589-2596
iwm_pcie_load_cpu_sections_8000(struct iwm_softc *sc,
Link Here
|
2589 |
|
2589 |
|
2590 |
*first_ucode_section = last_read_idx; |
2590 |
*first_ucode_section = last_read_idx; |
2591 |
|
2591 |
|
2592 |
iwm_enable_interrupts(sc); |
|
|
2593 |
|
2594 |
if (iwm_nic_lock(sc)) { |
2592 |
if (iwm_nic_lock(sc)) { |
2595 |
if (cpu == 1) |
2593 |
if (cpu == 1) |
2596 |
IWM_WRITE(sc, IWM_FH_UCODE_LOAD_STATUS, 0xFFFF); |
2594 |
IWM_WRITE(sc, IWM_FH_UCODE_LOAD_STATUS, 0xFFFF); |
Lines 2762-2767
iwm_start_fw(struct iwm_softc *sc, const struct iwm_fw_img *fw)
Link Here
|
2762 |
* RF-Kill switch is toggled, we will find out after having loaded |
2760 |
* RF-Kill switch is toggled, we will find out after having loaded |
2763 |
* the firmware and return the proper value to the caller. |
2761 |
* the firmware and return the proper value to the caller. |
2764 |
*/ |
2762 |
*/ |
|
|
2763 |
IWM_WRITE(sc, IWM_CSR_INT, 0xFFFFFFFF); |
2765 |
iwm_enable_fw_load_int(sc); |
2764 |
iwm_enable_fw_load_int(sc); |
2766 |
|
2765 |
|
2767 |
/* really make sure rfkill handshake bits are cleared */ |
2766 |
/* really make sure rfkill handshake bits are cleared */ |
Lines 2775-2780
iwm_start_fw(struct iwm_softc *sc, const struct iwm_fw_img *fw)
Link Here
|
2775 |
else |
2774 |
else |
2776 |
ret = iwm_pcie_load_given_ucode(sc, fw); |
2775 |
ret = iwm_pcie_load_given_ucode(sc, fw); |
2777 |
|
2776 |
|
|
|
2777 |
if (ret == 0) |
2778 |
iwm_enable_interrupts(sc); |
2779 |
|
2778 |
/* XXX re-check RF-Kill state */ |
2780 |
/* XXX re-check RF-Kill state */ |
2779 |
|
2781 |
|
2780 |
out: |
2782 |
out: |
Lines 3032-3042
iwm_run_init_ucode(struct iwm_softc *sc, int justnvm)
Link Here
|
3032 |
goto error; |
3034 |
goto error; |
3033 |
} |
3035 |
} |
3034 |
|
3036 |
|
|
|
3037 |
ret = iwm_sf_update(sc, NULL, TRUE); |
3038 |
if (ret) { |
3039 |
device_printf(sc->sc_dev, |
3040 |
"failed to update smart fifo state: %d\n", ret); |
3041 |
goto error; |
3042 |
} |
3043 |
|
3035 |
/* Send TX valid antennas before triggering calibrations */ |
3044 |
/* Send TX valid antennas before triggering calibrations */ |
3036 |
ret = iwm_send_tx_ant_cfg(sc, iwm_get_valid_tx_ant(sc)); |
3045 |
uint8_t ant = iwm_get_valid_tx_ant(sc); |
|
|
3046 |
ret = iwm_send_tx_ant_cfg(sc, ant); |
3037 |
if (ret) { |
3047 |
if (ret) { |
3038 |
device_printf(sc->sc_dev, |
3048 |
device_printf(sc->sc_dev, |
3039 |
"failed to send antennas before calibration: %d\n", ret); |
3049 |
"failed to send antennas (%u) before calibration: %d\n", ant, ret); |
3040 |
goto error; |
3050 |
goto error; |
3041 |
} |
3051 |
} |
3042 |
|
3052 |
|