Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ae802985 authored by Roshan Pius's avatar Roshan Pius Committed by android-build-merger
Browse files

wifi(interface): Add wifi debug ring buffer related interface

am: e3a02b07

Change-Id: I1cac68e450cc87b8674ca00120964bf9dfcc0a9f
parents c4b36d81 e3a02b07
Loading
Loading
Loading
Loading
+408 −0
Original line number Diff line number Diff line
@@ -1542,6 +1542,210 @@ $(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingBufferFlags)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingBufferFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingBufferFlags

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingBufferStatus)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingBufferStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingBufferStatus

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingBufferVerboseLevel)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingBufferVerboseLevel.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingBufferVerboseLevel

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryConnectivityEvent)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryConnectivityEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryConnectivityEvent

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryEventTlv)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryEventTlv.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryEventTlv

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryEventTlvType)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryEventTlvType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryEventTlvType

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryEventType)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryEventType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryEventType

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryFlags)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryFlags

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryHeader)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryHeader.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryHeader

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryPowerEvent)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryPowerEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryPowerEvent

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryVendorData)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryVendorData.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryVendorData

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryWakelockEvent)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryWakelockEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryWakelockEvent

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiInformationElement)
#
@@ -3463,6 +3667,210 @@ $(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingBufferFlags)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingBufferFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingBufferFlags

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingBufferStatus)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingBufferStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingBufferStatus

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingBufferVerboseLevel)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingBufferVerboseLevel.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingBufferVerboseLevel

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryConnectivityEvent)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryConnectivityEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryConnectivityEvent

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryEventTlv)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryEventTlv.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryEventTlv

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryEventTlvType)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryEventTlvType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryEventTlvType

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryEventType)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryEventType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryEventType

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryFlags)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryFlags

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryHeader)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryHeader.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryHeader

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryPowerEvent)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryPowerEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryPowerEvent

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryVendorData)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryVendorData.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryVendorData

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiDebugRingEntryWakelockEvent)
#
GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryWakelockEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
        -Ljava -randroid.hardware:hardware/interfaces \
        android.hardware.wifi@1.0::types.WifiDebugRingEntryWakelockEvent

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (WifiInformationElement)
#
+80 −4
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ interface IWifiChip {
   * [{STA} <=1, {AP} <= 1].
   *
   * When switching between two available combinations it is expected that
   * interfaces only supported by the initial combination will be removed until
   * interfaces only supported by the initial combination must be removed until
   * the target combination is also satisfied. At that point new interfaces
   * satisfying only the target combination can be added (meaning the initial
   * combination limits will no longer satisfied). The addition of these new
@@ -102,8 +102,8 @@ interface IWifiChip {
   *
   * If a chip does not support this kind of reconfiguration in this mode then
   * the combinations must be separated into two separate modes. Before
   * switching modes all interfaces will be torn down, the mode switch will be
   * enacted and when it completes the new interfaces will be brought up.
   * switching modes all interfaces must be torn down, the mode switch must be
   * enacted and when it completes the new interfaces must be brought up.
   */
  struct ChipMode {
    /**
@@ -143,7 +143,7 @@ interface IWifiChip {

  /**
   * Requests notifications of significant events on this chip. Multiple calls
   * to this will register multiple callbacks each of which will receive all
   * to this must register multiple callbacks each of which must receive all
   * events.
   *
   * @param callback An instance of the |IWifiChipEventCallback| HIDL interface
@@ -434,4 +434,80 @@ interface IWifiChip {
   */
  createRttController(IWifiIface boundIface)
      generates (WifiStatus status, IWifiRttController rtt);

  /**
   * WiFi debug ring buffer life cycle is as follow:
   * - At initialization time, framework must call |getDebugRingBuffersStatus|.
   *   to obtain the names and list of supported ring buffers.
   *   The driver may expose several different rings each holding a different
   *   type of data (connection events, power events, etc).
   * - When WiFi operations start framework must call
   *   |startLoggingToDebugRingBuffer| to trigger log collection for a specific
   *   ring. The vebose level for each ring buffer can be specified in this API.
   * - During wifi operations, driver must periodically report per ring data to
   *   framework by invoking the
   *   |IWifiChipEventCallback.onDebugRingBuffer<Type>EntriesAvailable| callback.
   * - When capturing a bug report, framework must indicate to driver that all
   *   the data has to be uploaded urgently by calling
   *   |forceDumpToDebugRingBuffer|.
   *
   * The data uploaded by driver must be stored by framework in separate files,
   * with one stream of file per ring. Framework must store the files in pcapng
   * format, allowing for easy merging and parsing with network analyzer tools.
   * TODO: Since we're not longer dumping out the raw data, storing in separate
   * pcapng files for parsing later must not work anymore.
   */
  /**
   * API to get the status of all ring buffers supported by driver.
   *
   * @return status WifiStatus of the operation.
   *         Possible status codes:
   *         |WifiStatusCode.SUCCESS|,
   *         |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
   *         |WifiStatusCode.NOT_AVAILABLE|,
   *         |WifiStatusCode.UNKNOWN|
   * @return ringBuffers Vector of |WifiDebugRingBufferStatus| corresponding to the
   *         status of each ring bufffer on the device.
   */
  getDebugRingBuffersStatus() generates (WifiStatus status,
                                         vec<WifiDebugRingBufferStatus> ringBuffers);

  /**
   * API to trigger the debug data collection.
   *
   * @param ringName represent the name of the ring for which data collection
   *        shall start. This can be retrieved via the corresponding
   *        |WifiDebugRingBufferStatus|.
   * @parm maxIntervalInSec Maximum interval in seconds for driver to invoke
   *       |onDebugRingBufferData|, ignore if zero.
   * @parm minDataSizeInBytes: Minimum data size in buffer for driver to invoke
   *       |onDebugRingBufferData|, ignore if zero.
   * @return status WifiStatus of the operation.
   *         Possible status codes:
   *         |WifiStatusCode.SUCCESS|,
   *         |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
   *         |WifiStatusCode.NOT_AVAILABLE|,
   *         |WifiStatusCode.UNKNOWN|
   */
  startLoggingToDebugRingBuffer(string ringName,
                                WifiDebugRingBufferVerboseLevel verboseLevel,
                                uint32_t maxIntervalInSec,
                                uint32_t minDataSizeInBytes)
      generates (WifiStatus status);

  /**
   * API to force dump data into the corresponding ring buffer.
   * This is to be invoked during bugreport collection.
   *
   * @param ringName represent the name of the ring for which data collection
   *        shall be forced. This can be retrieved via the corresponding
   *        |WifiDebugRingBufferStatus|.
   * @return status WifiStatus of the operation.
   *         Possible status codes:
   *         |WifiStatusCode.SUCCESS|,
   *         |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
   *         |WifiStatusCode.NOT_AVAILABLE|,
   *         |WifiStatusCode.UNKNOWN|
   */
  forceDumpToDebugRingBuffer(string ringName) generates (WifiStatus status);
};
+43 −0
Original line number Diff line number Diff line
@@ -27,4 +27,47 @@ interface IWifiChipEventCallback {
   *        property of the target ChipMode.
   */
  oneway onChipReconfigured(ChipModeId modeId);

  /**
   * Callbacks for reporting debug ring buffer data.
   *
   * The ring buffer data collection is event based:
   * - Driver calls this callback when new records are available, the
   *   |WifiDebugRingBufferStatus| passed up to framework in the callback
   *   indicates to framework if more data is available in the ring buffer.
   *   It is not expected that driver will necessarily always empty the ring
   *   immediately as data is available, instead driver will report data
   *   every X seconds or if N bytes are available based on the parameters
   *   set via |startLoggingToDebugRingBuffer|.
   * - In the case where a bug report has to be captured, framework will
   *   require driver to upload all data immediately. This is indicated to
   *   driver when framework calls |forceDumpToDebugRingBuffer|.  The driver
   *   will start sending all available data in the indicated ring by repeatedly
   *   invoking this callback.
   *
   * @return status Status of the corresponding ring buffer. This should
   *         contain the name of the ring buffer on which the data is
   *         available.
   * @return entries Vector of debug ring buffer data entries. These
   *         should be parsed based on the type of entry.
   */
  /** Connectivity event data callback */
  oneway onDebugRingBufferConnectivityEventEntriesAvailable(
      WifiDebugRingBufferStatus status,
      vec<WifiDebugRingEntryConnectivityEvent> entries);

  /** Power event data callback */
  oneway onDebugRingBufferPowerEventEntriesAvailable(
      WifiDebugRingBufferStatus status,
      vec<WifiDebugRingEntryPowerEvent> entries);

  /** Wakelock event data callback */
  oneway onDebugRingBufferWakelockEventEntriesAvailable(
      WifiDebugRingBufferStatus status,
      vec<WifiDebugRingEntryWakelockEvent> entries);

  /** Vendor data event data callback */
  oneway onDebugRingBufferVendorDataEntriesAvailable(
      WifiDebugRingBufferStatus status,
      vec<WifiDebugRingEntryVendorData> entries);
};
+542 −3

File changed.

Preview size limit exceeded, changes collapsed.