|
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 |
|