• Sriram R's avatar
    wifi: ath12k: scan statemachine changes for single wiphy · 0d6e6736
    Sriram R authored
    When multiple radios are advertised as a single wiphy which
    supports various bands, a default scan request to mac80211
    from cfg80211 will split the driver request based on band,
    so each request will have channels belonging to the same band.
    With this supported by default, the ath12k driver on receiving
    this request checks for one of the channels in the request and
    selects the corresponding radio(ar) on which the scan is going
    to be performed and creates a vdev on that radio.
    
    Note that on scan completion this vdev is not deleted. If a new
    scan request is seen on that same vif for a different band the
    vdev will be deleted and created on the new radio supporting the
    request. The vdev delete logic is refactored to have this done
    dynamically.
    
    The reason for not deleting the vdev on scan stop is to avoid
    repeated delete-create sequence if the scan is on the same band.
    Also, during channel assign, new vdev creation can be optimized
    as well.
    
    Also if the scan is requested when the vdev is in started state,
    no switching to new radio is allowed and scan on channels only
    within same radio is allowed.
    
    Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
    Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
    Signed-off-by: default avatarSriram R <quic_srirrama@quicinc.com>
    Co-developed-by: default avatarRameshkumar Sundaram <quic_ramess@quicinc.com>
    Signed-off-by: default avatarRameshkumar Sundaram <quic_ramess@quicinc.com>
    Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
    Link: https://msgid.link/20240405194519.1337906-6-quic_ramess@quicinc.com
    0d6e6736
mac.c 226 KB