wifi(interface): Add wifi debug packet fate related interface
The packet fate debug mechanism is used to track the state of all the
packets transmitted/received during the association process.
Also,
Add the various debug capabilities in the respective interfaces.
All ring buffer, driver/firmware dump, etc related capabilities are in
IWifiChip object.
The packet fate capability is exposed in IWifiStaIface object.
Bug: 32221997
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: Ic6bf49d682b70a1cdcd18c69fc25a544921bd548
diff --git a/wifi/1.0/IWifiChip.hal b/wifi/1.0/IWifiChip.hal
index 29425b1..487a5ae 100644
--- a/wifi/1.0/IWifiChip.hal
+++ b/wifi/1.0/IWifiChip.hal
@@ -131,6 +131,37 @@
};
/**
+ * Capabilities exposed by this chip.
+ */
+ enum ChipCapabilityMask : uint32_t {
+ /**
+ * Memory dump of Firmware.
+ */
+ DEBUG_MEMORY_FIRMWARE_DUMP_SUPPORTED = 1 << 0,
+ /**
+ * Memory dump of Driver.
+ */
+ DEBUG_MEMORY_DRIVER_DUMP_SUPPORTED = 1 << 1,
+ /**
+ * Connectivity events reported via debug ring buffer.
+ */
+ DEBUG_RING_BUFFER_CONNECT_EVENT_SUPPORTED = 1 << 2,
+ /**
+ * Power events reported via debug ring buffer.
+ */
+ DEBUG_RING_BUFFER_POWER_EVENT_SUPPORTED = 1 << 3,
+ /**
+ * Wakelock events reported via debug ring buffer.
+ */
+ DEBUG_RING_BUFFER_WAKELOCK_EVENT_SUPPORTED = 1 << 4,
+ /**
+ * Vendor data reported via debug ring buffer.
+ * This mostly contains firmware event logs.
+ */
+ DEBUG_RING_BUFFER_VENDOR_DATA_SUPPORTED = 1 << 5,
+ };
+
+ /**
* Get the id assigned to this chip.
*
* @return status WifiStatus of the operation.
@@ -156,6 +187,19 @@
registerEventCallback(IWifiChipEventCallback callback) generates (WifiStatus status);
/**
+ * Get the capabilities supported by this chip.
+ *
+ * @return status WifiStatus of the operation.
+ * Possible status codes:
+ * |WifiStatusCode.SUCCESS|,
+ * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
+ * |WifiStatusCode.ERROR_NOT_AVAILABLE|,
+ * |WifiStatusCode.ERROR_UNKNOWN|
+ * @return capabilities Bitset of |ChipCapabilityMask| values.
+ */
+ getCapabilities() generates (WifiStatus status, uint32_t capabilities);
+
+ /**
* Get the set of operation modes that the chip supports.
*
* @return status WifiStatus of the operation.
@@ -464,6 +508,7 @@
* Possible status codes:
* |WifiStatusCode.SUCCESS|,
* |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
+ * |WifiStatusCode.ERROR_NOT_SUPPORTED|,
* |WifiStatusCode.NOT_AVAILABLE|,
* |WifiStatusCode.UNKNOWN|
* @return ringBuffers Vector of |WifiDebugRingBufferStatus| corresponding to the
@@ -486,6 +531,7 @@
* Possible status codes:
* |WifiStatusCode.SUCCESS|,
* |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
+ * |WifiStatusCode.ERROR_NOT_SUPPORTED|,
* |WifiStatusCode.NOT_AVAILABLE|,
* |WifiStatusCode.UNKNOWN|
*/
@@ -506,6 +552,8 @@
* Possible status codes:
* |WifiStatusCode.SUCCESS|,
* |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
+ * |WifiStatusCode.ERROR_NOT_SUPPORTED|,
+ * |WifiStatusCode.ERROR_NOT_STARTED|,
* |WifiStatusCode.NOT_AVAILABLE|,
* |WifiStatusCode.UNKNOWN|
*/