On 2021-09-30 12:17, Anilkumar Kolli wrote:
On 2021-09-28 12:26, Kalle Valo wrote:
akolli@xxxxxxxxxxxxxx writes:
On 2021-09-24 17:12, Kalle Valo wrote:
Jouni Malinen <jouni@xxxxxxxxxxxxxx> writes:
From: Anilkumar Kolli <akolli@xxxxxxxxxxxxxx>
Add a new hw_param full_monitor_mode to enable full monitor support
for
QCN9074. HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE cmd is sent to the
firmware to enable the full monitor mode.
Nowhere it's explained what "full monitor mode" means from an user's
point of view. Can someone give a high level summary what advantages
this feature has? For example, more frames delivered to user space
or
what?
Yes, more frames delivered with full monitor mode. The advantage with
full monitor mode is, hardware has status buffers available for all
the MPDUs in mon_dst_ring. Both status buffer and MPDUs from
mon_dst_ring is used to build the frame.
Users, and developers outside of the wireless domain, have no clue
what
"MPDUs in mon_dst_ring" means, just as an example. Can you give a
higher
level summary of this feature and what benefit it brings, please? I'll
then add that to the commit log.
For example, what kind of frames are we now able to deliver to the
user
space (which we before couldn't) and are there still some types of
frames which we are not delivering?
In other words, instead of technical low level jargon I'm looking for
a
summary in plain english which is understandable by everyone.
Full monitor mode is hardware enhancement for QCN9074. With this more
frames are delivered to mac80211.
In earlier hardware like IPQ8074, on each interrupt, reap complete
monitor status ring.
For each PPDU_DONE status, reap monitor destination ring, this needs
more processing on driver.
With full monitor, on Interrupt, there is no need to reap the complete
monitor status ring.
Instead only one PPDU is reap from monitor destination ring and
corresponding PPDU status is reaped.
In older approach, in noisy environments status buffers are missing
for few PPDU, even in that case
Host reaps monitor destination ring, which is not needed and these
frames are dropped.
Radiotap header is constructed from monitor status buffer tlvs. Since
there is
no update of status buffer for few PPDU, complete 80211 frame is not
formed and
is dropped in ath11k.
In full monitor mode, for all MPDUs in a PPDU, status is guaranteed,
this is achieved in hardware using lock-stepping.
So more frames delivered to mac80211 and more fames seen in sniffer. "
- Anil.