
In current monitor status ring implementation, on pdev_attach, (srng->num_entires – 1) entries (to keep one entry slot between hp and tp) are replenished and last entry is not replenished to HW. With qcn9000 monitor mode HW enhancements, status and destination ring can be made lock-stepped. for qcn9000 lock step is achieved by making monitor status ring follow the monitor destination reap for a PPDU However in existing flow during attach monitor status replenish logic do not fill last entry but is filled up during first subsequent reap. for first ppdu, i.e. after reaping destination ring, when status ring is reaped, as first entry (hp = srng->num_entires – 1) in status ring is NULL, so lock-stepping is not achieved. To address this issue for qcn9000 as well as HK: a. Replenish last entry in monitor status ring during attach b. Modify src srng peek API to peek it from hp+1 entry c. Introduce new HAL API get cur desc and move next d. Remove WAR to skip status ring entries if DMA is not done Change-Id: I60b8e7c075253d37e6b849a9b24f473c5afce82c CRs-Fixed: 2626049
58 KiB
58 KiB