qcacmn: Implement the commands that cover APF 3.0 requirements

Android Packet Filter 3.0 requires the framework to be able to
read and write into the APF work memory in the Firmware. It
also requires to be able to enable or disable the interpreter.
New WMI commands are defined for read/write/enable/disable
operations.

Complete the implementation of these new commands.

Change-Id: I852d61eb213d9ae530e8a71069144ef35816f5b8
CRs-Fixed: 2184971
这个提交包含在:
Nachiket Kukade
2018-05-25 14:52:55 +05:30
提交者 nshrivas
父节点 2e7637575d
当前提交 b29adc4a4f
修改 8 个文件,包含 429 行新增26 行删除

查看文件

@@ -3818,10 +3818,18 @@ enum qca_set_band {
* enum set_reset_packet_filter - set packet filter control commands
* @QCA_WLAN_SET_PACKET_FILTER: Set Packet Filter
* @QCA_WLAN_GET_PACKET_FILTER: Get Packet filter
* @QCA_WLAN_WRITE_PACKET_FILTER: Write packet filter program/data
* @QCA_WLAN_READ_PACKET_FILTER: Read packet filter program/data
* @QCA_WLAN_ENABLE_PACKET_FILTER: Enable APF interpreter
* @QCA_WLAN_DISABLE_PACKET_FILTER: Disable APF interpreter
*/
enum set_reset_packet_filter {
QCA_WLAN_SET_PACKET_FILTER = 1,
QCA_WLAN_GET_PACKET_FILTER = 2,
QCA_WLAN_WRITE_PACKET_FILTER = 3,
QCA_WLAN_READ_PACKET_FILTER = 4,
QCA_WLAN_ENABLE_PACKET_FILTER = 5,
QCA_WLAN_DISABLE_PACKET_FILTER = 6,
};
/**
@@ -3832,6 +3840,8 @@ enum set_reset_packet_filter {
* @QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_SIZE: Total Length
* @QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_CURRENT_OFFSET: Current offset
* @QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_PROGRAM: length of APF instructions
* @QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_PROG_LENGTH: length of the program
* section in packet filter buffer
*/
enum qca_wlan_vendor_attr_packet_filter {
QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_INVALID = 0,
@@ -3841,6 +3851,7 @@ enum qca_wlan_vendor_attr_packet_filter {
QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_SIZE,
QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_CURRENT_OFFSET,
QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_PROGRAM,
QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_PROG_LENGTH,
/* keep last */
QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_AFTER_LAST,