• Eran Harary's avatar
    iwlwifi: mvm: don't power off the device between INIT and OPER firmwares · 8d193ca2
    Eran Harary authored
    Our device needs two different firmwares: the INIT firmware
    and the operational (OPER) firmware. The first one is run
    when the driver loads and it returns calibrations results
    as well as the NVM. The second one implements the WiFi
    protocol.
    
    If the wlan interface is not brought up, the device is put
    to low power state: no firmware will be running. When the
    interface is brought up, we would run the OPER firmware
    only and reuse the results of the run of the INIT firmware
    when the driver was loaded. This is changing with this
    patch.
    We now run the INIT firmware every time mac80211 calls
    start(). The penalty for that is minimal since the INIT
    firwmare run fast. I now also avoid to power down the device
    between the INIT and OPER firmware on certains buses.
    
    The motivation for this change is that there are components
    on the device (MFUART) that are triggered by the INIT
    firmware and need the device to be powered up in order to
    keep running. Powering the device down between the INIT and
    OPER firmware would stop these components and prevent them
    from running again since they are triggered by the INIT
    firmware only.
    The new flow allows this and also allows to trigger these
    components again when the interface is brought up after
    it has been brought down.
    Signed-off-by: default avatarEran Harary <eran.harary@intel.com>
    Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
    8d193ca2
fw.c 24.1 KB