[PATCH ath-next] wifi: ath11k: restore register window after global reset

Vasanthakumar Thiagarajan vasanthakumar.thiagarajan at oss.qualcomm.com
Wed Oct 15 08:43:33 PDT 2025



On 10/14/2025 8:00 AM, Baochen Qiang wrote:
> Hardware target implements an address space larger than that PCI BAR can
> map. In order to be able to access the whole target address space, the BAR
> space is split into 4 segments, of which the last 3, called windows, can
> be dynamically mapped to the desired area. This is achieved by updating
> window register with appropriate window value. Currently each time when
> accessing a register that beyond ATH11K_PCI_WINDOW_START, host calculates
> the window value and caches it after window update, this way next time
> when accessing a register falling in the same window, host knows that the
> window is already good hence no additional update needed.
> 
> However this mechanism breaks after global reset is triggered in
> ath11k_pci_soc_global_reset(), because with global reset hardware resets
> window register hence the window is not properly mapped any more. Current
> host does nothing about this, as a result a subsequent register access may
> not work as expected if it falls in a window same as before.
> 
> Although there is no obvious issue seen now, better to fix it to avoid
> future problem. The fix is done by restoring the window register after
> global reset.
> 
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
> 
> Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
> Signed-off-by: Baochen Qiang <baochen.qiang at oss.qualcomm.com>

Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan at oss.qualcomm.com>



More information about the ath11k mailing list