1. 12 Apr, 2023 1 commit
    • Martin Blumenstingl's avatar
      wifi: rtw88: Clear RTW_FLAG_POWERON early in rtw_mac_power_switch() · 6a925660
      Martin Blumenstingl authored
      The SDIO HCI implementation needs to know when the MAC is powered on.
      This is needed because 32-bit register access has to be split into 4x
      8-bit register access when the MAC is not fully powered on or while
      powering off. When the MAC is powered on 32-bit register access can be
      used to reduce the number of transfers but splitting into 4x 8-bit
      register access still works in that case.
      
      During the power on sequence is how RTW_FLAG_POWERON is only set when
      the power on sequence has completed successfully. During power off
      however RTW_FLAG_POWERON is set. This means that the upcoming SDIO HCI
      implementation does not know that it has to use 4x 8-bit register
      accessors. Clear the RTW_FLAG_POWERON flag early when powering off the
      MAC so the whole power off sequence is processed with RTW_FLAG_POWERON
      unset. This will make it possible to use the RTW_FLAG_POWERON flag in
      the upcoming SDIO HCI implementation.
      
      Note that a failure in rtw_pwr_seq_parser() while applying
      chip->pwr_off_seq can theoretically result in the RTW_FLAG_POWERON
      flag being cleared while the chip is still powered on. However,
      depending on when the failure occurs in the power off sequence the
      chip may be on or off. Even the original approach of clearing
      RTW_FLAG_POWERON only when the power off sequence has been applied
      successfully could end up in some corner case where the chip is
      powered off but RTW_FLAG_POWERON was not cleared.
      Reviewed-by: default avatarPing-Ke Shih <pkshih@realtek.com>
      Signed-off-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://lore.kernel.org/r/20230405200729.632435-2-martin.blumenstingl@googlemail.com
      6a925660
  2. 11 Apr, 2023 4 commits
  3. 06 Apr, 2023 7 commits
  4. 05 Apr, 2023 2 commits
  5. 04 Apr, 2023 13 commits
  6. 03 Apr, 2023 13 commits