qcacld-3.0: Ensure MAS commands to be made PDEV specific

Make MAS (MCC Adaptive Scheduler) commands to be PDEV
specific.

Two instances of OCS (Off Channel Scheduler) can exist
in the FW (one per MAC) and FW provides the option of
enabling and disabling MAS on a per MAC basis. But,
Host does not have enable/disable option for individual
MACs. So, the agreement with the FW is for the Host to
send down a ‘pdev id’ of 0. When ‘pdev id’ of 0 is used,
FW treats this as a SOC level command and applies the
same value to both MACs. So, irrespective of the value
of ‘WMI_SERVICE_DEPRECATED_REPLACE’ in the WMI service
bit map, the pdev id needs to be ‘0’ (SOC level) for
the WMI command
WMI_RESMGR_ADAPTIVE_OCS_ENABLE_DISABLE_CMDID.

WMI command WMI_RESMGR_SET_CHAN_TIME_QUOTA_CMDID to set
the MCC quota is sent down as channel – value pairs.
The value being channel time quota and the channel being
sent down is a home channel. The additional requirement
from FW is that all the channels in a single WMI command
belong to the same MAC. FW asserts if the WMI command
mixes and matches home channels associated with
different MACs. So, although the PDEV ID is not part of
the WMI command struct, the cmd is in a sense PDEV
specific.

There is no change in the WMI command
WMI_RESMGR_SET_CHAN_LATENCY_CMDID to make it PDEV
specific since this WMI command always send only one
channel-latency pair to the FW. So, there shouldn’t be
any problem of FW receiving home channels associated
with different MACs, for this WMI command.

Change-Id: Ie22800e07bbeef65c43f9171de828533b982a06b
CRs-Fixed: 1052652
3 files changed
tree: c49dcd934f09fc7bbd33816e277f5183b2612f46
  1. config/
  2. core/
  3. target/
  4. uapi/
  5. Android.mk
  6. Kbuild
  7. Kconfig
  8. Makefile
  9. README.txt