Hello,
I was trying to read values of timers from some offsets on the QCN9074,
but I get every time an invalid values (0xffffffff):
This is example of my code:
#define QCN9000_WLAON_GLOBAL_COUNTER_CTRL3 0x1F80118
#define QCN9000_WLAON_GLOBAL_COUNTER_CTRL4 0x1F8011C
#define QCN9000_WLAON_GLOBAL_COUNTER_CTRL5 0x1F80120
#define QCN9000_TIME_SYNC_ENABLE 0x80000000
#define QCN9000_TIME_SYNC_CLEAR 0x0
.
.
.
ath11k_pci_write32(ab, QCN9000_WLAON_GLOBAL_COUNTER_CTRL5,
QCN9000_TIME_SYNC_CLEAR);
ath11k_pci_write32(ab, QCN9000_WLAON_GLOBAL_COUNTER_CTRL5,
QCN9000_TIME_SYNC_ENABLE);
low = ath11k_pci_read32(ab, QCN9000_WLAON_GLOBAL_COUNTER_CTRL3);
high = ath11k_pci_read32(ab, QCN9000_WLAON_GLOBAL_COUNTER_CTRL4);
.
.
The low and the high parameters always equal to "0xffffffff".
When I made some debugging. I found that the issue is related to
"static_window_map" developed in the commit
"480a73610c95511e42fb7d0359b523f66883e51a: ath11k: add static window
support for register access" and enabled for QCN9074 in this commit
"4e80946197a83a6115e308334618449b77696d6a: ath11k: add qcn9074 pci
device support".
When I disabled the "static_window_map"
(ab->bus_params.static_window_map = false;) for QCN9074, in that case I
was able to get the correct values.
So it seems that there's an issue of reading some reg when
static_window_map is enabled.
I need your help to solve this issue.
Regards,
Issam