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

Commit c7e7cdeb authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge changes from topic 'am-076e19197ae1450594f07abb18015a3a'

* changes:
  wifi: Remove passthrough mode am: 23f9f303 am: 23baa7c2 am: 1f61ab5b am: 64d33efe
  wifi: Stub implementation of WifiNanIface methods am: 0c92d446 am: 9fe32608 am: da29240c am: 7d460286
  wifi: Stub implementation of WifiRttController methods am: 7913f5e4 am: ee5137a3 am: 2081143b am: 969c1258
  wifi: Stub implementation of WifiStaIface methods am: a04ba3fc am: e65ad430 am: 542e9b0b am: 5e4acfea
  wifi: Stub implementation of WifiChip methods am: 7d08d7a1 am: 3e8793aa am: eb00f233 am: 374a7051
  wifi: Use hidl_return_util functions in Iface/Rtt am: 907d4a23 am: dd5c2b89 am: e3e14bee am: c3ecc0d4
  wifi: Use hidl_return_util functions in WifiChip am: 3c86852a am: 70221582 am: 01f66f52 am: 81b9b066
  wifi: Helper functions for invoking hidl cont callbacks am: 56476658 am: 1ab8395a am: 8a9ab30d am: 5d599a8d
  wifi: Make methods deliver status synchronously (3/3) am: 734fea0d am: 815e6162 am: 8e951f23 am: 0f3073b9
  wifi: Make methods deliver status synchronously (2/3) am: 5c05546f am: dbfb6017 am: 611487eb am: 4473d435
  wifi: Make methods deliver status synchronously (1/3) am: 503582ed am: 40dac08a am: f3b2c4ab am: cbd64bc7
  wifi: Rename failure_reason_util to wifi_status_util am: 1922482a am: 5aaf0060 am: e9d98995 am: af2f0844
  wifi(interface): Add status for all methods am: 02caa1b8 am: bedd03bc am: 6a908348 am: 487d5662
  wifi(interface): Add wifi host debug wake up reason stats am: e0724f98 am: 3dd396eb am: 75ea50e9 am: 1f5a986e
  wifi(interface): Add wifi debug packet fate related interface am: fe9ad36c am: 17fe2cc0 am: ed5be10c am: d2ac24a2
  wifi(interface): Add wifi debug ring buffer related interface am: e3a02b07 am: ae802985 am: 4f4a3729 am: 1d176f5a
  wifi(interface): Move all StaIface types to types.hal am: 5e25466e am: c4b36d81 am: 80cb8bd1 am: d2e53fed
  wifi(interface): Fix compilation failure am: e03f736c am: 55aee951 am: 219f010a am: 041db52a
  wifi(interface): Rtt controller HIDL interface am: 18eec81a am: 4c0a4e5a am: b5db64a5 am: e88ab128
  wifi(interface): NAN HIDL interface am: 120f94c5 am: ea3058f9 am: 9fa7e1cc am: 90bb209b
  wifi(interface): Link layer stats collection am: 18680b7a am: d195f76d am: f958bb37 am: 10aa798b
  wifi(interface): Make methods synchronous am: a52dc732 am: 0f0a37f3 am: 9658a13c am: f90a6e42
  wifi(interface): Add status for every method am: 1f9073cf am: 556482ab am: c6d85104 am: 7faee98f
  wifi(interface): Add gscan/apf related API's am: 7b77747b am: 1f212a65 am: b5e5302f am: 3e37a671
parents 95104fbf ff4aab53
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -13,9 +13,12 @@ genrule {
        "IWifiEventCallback.hal",
        "IWifiIface.hal",
        "IWifiNanIface.hal",
        "IWifiNanIfaceEventCallback.hal",
        "IWifiP2pIface.hal",
        "IWifiRttController.hal",
        "IWifiRttControllerEventCallback.hal",
        "IWifiStaIface.hal",
        "IWifiStaIfaceEventCallback.hal",
    ],
    out: [
        "android/hardware/wifi/1.0/types.cpp",
@@ -26,9 +29,12 @@ genrule {
        "android/hardware/wifi/1.0/WifiEventCallbackAll.cpp",
        "android/hardware/wifi/1.0/WifiIfaceAll.cpp",
        "android/hardware/wifi/1.0/WifiNanIfaceAll.cpp",
        "android/hardware/wifi/1.0/WifiNanIfaceEventCallbackAll.cpp",
        "android/hardware/wifi/1.0/WifiP2pIfaceAll.cpp",
        "android/hardware/wifi/1.0/WifiRttControllerAll.cpp",
        "android/hardware/wifi/1.0/WifiRttControllerEventCallbackAll.cpp",
        "android/hardware/wifi/1.0/WifiStaIfaceAll.cpp",
        "android/hardware/wifi/1.0/WifiStaIfaceEventCallbackAll.cpp",
    ],
}

@@ -45,9 +51,12 @@ genrule {
        "IWifiEventCallback.hal",
        "IWifiIface.hal",
        "IWifiNanIface.hal",
        "IWifiNanIfaceEventCallback.hal",
        "IWifiP2pIface.hal",
        "IWifiRttController.hal",
        "IWifiRttControllerEventCallback.hal",
        "IWifiStaIface.hal",
        "IWifiStaIfaceEventCallback.hal",
    ],
    out: [
        "android/hardware/wifi/1.0/types.h",
@@ -86,6 +95,11 @@ genrule {
        "android/hardware/wifi/1.0/BnWifiNanIface.h",
        "android/hardware/wifi/1.0/BpWifiNanIface.h",
        "android/hardware/wifi/1.0/BsWifiNanIface.h",
        "android/hardware/wifi/1.0/IWifiNanIfaceEventCallback.h",
        "android/hardware/wifi/1.0/IHwWifiNanIfaceEventCallback.h",
        "android/hardware/wifi/1.0/BnWifiNanIfaceEventCallback.h",
        "android/hardware/wifi/1.0/BpWifiNanIfaceEventCallback.h",
        "android/hardware/wifi/1.0/BsWifiNanIfaceEventCallback.h",
        "android/hardware/wifi/1.0/IWifiP2pIface.h",
        "android/hardware/wifi/1.0/IHwWifiP2pIface.h",
        "android/hardware/wifi/1.0/BnWifiP2pIface.h",
@@ -96,11 +110,21 @@ genrule {
        "android/hardware/wifi/1.0/BnWifiRttController.h",
        "android/hardware/wifi/1.0/BpWifiRttController.h",
        "android/hardware/wifi/1.0/BsWifiRttController.h",
        "android/hardware/wifi/1.0/IWifiRttControllerEventCallback.h",
        "android/hardware/wifi/1.0/IHwWifiRttControllerEventCallback.h",
        "android/hardware/wifi/1.0/BnWifiRttControllerEventCallback.h",
        "android/hardware/wifi/1.0/BpWifiRttControllerEventCallback.h",
        "android/hardware/wifi/1.0/BsWifiRttControllerEventCallback.h",
        "android/hardware/wifi/1.0/IWifiStaIface.h",
        "android/hardware/wifi/1.0/IHwWifiStaIface.h",
        "android/hardware/wifi/1.0/BnWifiStaIface.h",
        "android/hardware/wifi/1.0/BpWifiStaIface.h",
        "android/hardware/wifi/1.0/BsWifiStaIface.h",
        "android/hardware/wifi/1.0/IWifiStaIfaceEventCallback.h",
        "android/hardware/wifi/1.0/IHwWifiStaIfaceEventCallback.h",
        "android/hardware/wifi/1.0/BnWifiStaIfaceEventCallback.h",
        "android/hardware/wifi/1.0/BpWifiStaIfaceEventCallback.h",
        "android/hardware/wifi/1.0/BsWifiStaIfaceEventCallback.h",
    ],
}

+4157 −109

File changed.

Preview size limit exceeded, changes collapsed.

+38 −11
Original line number Diff line number Diff line
@@ -34,10 +34,15 @@ interface IWifi {
   *
   * @param callback An instance of the |IWifiEventCallback| HIDL interface
   *        object.
   * @return status WifiStatus of the operation.
   *         Possible status codes:
   *         |WifiStatusCode.SUCCESS|,
   *         |WifiStatusCode.UNKNOWN|
   */
  @entry
  @callflow(next={"*"})
  oneway registerEventCallback(IWifiEventCallback callback);
  registerEventCallback(IWifiEventCallback callback)
      generates (WifiStatus status);

  /**
   * Get the current state of the HAL.
@@ -48,44 +53,66 @@ interface IWifi {

  /**
   * Perform any setup that is required to make use of the module. If the module
   * is already started then this must be a noop. The onStart callback must be
   * called when the setup completes or if the HAL is already started. If the
   * setup fails then onStartFailure must be called.
   * is already started then this must be a noop.
   * Must trigger |IWifiEventCallback.onStart| on success.
   *
   * @return status WifiStatus of the operation.
   *         Possible status codes:
   *         |WifiStatusCode.SUCCESS|,
   *         |WifiStatusCode.NOT_AVAILABLE|,
   *         |WifiStatusCode.UNKNOWN|
   */
  @entry
  @callflow(next={"registerEventCallback", "start", "stop", "getChip"})
  oneway start();
  start() generates (WifiStatus status);

  /**
   * Tear down any state, ongoing commands, etc. If the module is already
   * stopped then this must be a noop. If the HAL is already stopped or it
   * succeeds then onStop must be called. If the teardown fails onFailure must
   * be called. After calling this all IWifiChip objects will be considered
   * invalid.
   * succeeds then onStop must be called. After calling this all IWifiChip
   * objects will be considered invalid.
   * Must trigger |IWifiEventCallback.onStop| on success.
   * Must trigger |IWifiEventCallback.onFailure| on failure.
   *
   * Calling stop then start is a valid way of resetting state in the HAL,
   * driver, firmware.
   *
   * @return status WifiStatus of the operation.
   *         Possible status codes:
   *         |WifiStatusCode.SUCCESS|,
   *         |WifiStatusCode.NOT_STARTED|,
   *         |WifiStatusCode.UNKNOWN|
   */
  @exit
  @callflow(next={"registerEventCallback", "start", "stop"})
  oneway stop();
  stop() generates (WifiStatus status);

  /**
   * Retrieve the list of all chip Id's on the device.
   * The corresponding |IWifiChip| object for any chip can be
   * retrieved using |getChip| method.
   *
   * @return status WifiStatus of the operation.
   *         Possible status codes:
   *         |WifiStatusCode.SUCCESS|,
   *         |WifiStatusCode.NOT_STARTED|,
   *         |WifiStatusCode.UNKNOWN|
   * @return chipIds List of all chip Id's on the device.
   */
  @callflow(next={"*"})
  getChipIds() generates (vec<ChipId> chipIds);
  getChipIds() generates (WifiStatus status, vec<ChipId> chipIds);

  /**
   * Gets a HIDL interface object for the chip corresponding to the
   * provided chipId.
   *
   * @return status WifiStatus of the operation.
   *         Possible status codes:
   *         |WifiStatusCode.SUCCESS|,
   *         |WifiStatusCode.NOT_STARTED|,
   *         |WifiStatusCode.UNKNOWN|
   * @return chip HIDL interface object representing the chip.
   */
  @callflow(next={"*"})
  getChip(ChipId chipId) generates (IWifiChip chip);
  getChip(ChipId chipId) generates (WifiStatus status, IWifiChip chip);
};
+308 −46

File changed.

Preview size limit exceeded, changes collapsed.

+35 −58
Original line number Diff line number Diff line
@@ -29,68 +29,45 @@ interface IWifiChipEventCallback {
  oneway onChipReconfigured(ChipModeId modeId);

  /**
   * If this happens then the chips is now in an undefined state and
   * configureChip must be called again. Any interface indexes will be
   * assumed to be invalid.
   * Callbacks for reporting debug ring buffer data.
   *
   * @param modeId The mode that the chip failed switched to, corresponding to
   *        the id property of the target ChipMode.
   * @param reason Failure reason code.
   */
  oneway onChipReconfigureFailure(ChipModeId modeId, FailureReason reason);

  /**
   * Information about the version of the driver and firmware running this chip.
   * 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.
   *
   * This information is vendor specific and does not need to take any
   * particular format. It will be dumped as part of the bug report.
   * @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.
   */
  struct ChipDebugInfo {
    string driverDescription;
    string firmwareDescription;
  };
  /** Connectivity event data callback */
  oneway onDebugRingBufferConnectivityEventEntriesAvailable(
      WifiDebugRingBufferStatus status,
      vec<WifiDebugRingEntryConnectivityEvent> entries);

  /**
   * Callback with debug information about this chip
   *
   * @param info Instance of |ChipDebugInfo|.
   */
  oneway onChipDebugInfoAvailable(ChipDebugInfo info);
  /** Power event data callback */
  oneway onDebugRingBufferPowerEventEntriesAvailable(
      WifiDebugRingBufferStatus status,
      vec<WifiDebugRingEntryPowerEvent> entries);

  /**
   * Callback to be invoked on failure to fetch debug info about this chip.
   *
   * @param reason Failure reason code.
   */
  oneway onChipDebugInfoFailure(FailureReason reason);
  /** Wakelock event data callback */
  oneway onDebugRingBufferWakelockEventEntriesAvailable(
      WifiDebugRingBufferStatus status,
      vec<WifiDebugRingEntryWakelockEvent> entries);

  /**
   * Callback with a vendor specific debug blob from the driver.
   * This blob will be dumped as part of the bug report.
   *
   * @param blob Vector of bytes retrieved from the driver.
   */
  oneway onDriverDebugDumpAvailable(vec<uint8_t> blob);

  /**
   * Callback to be invoked on failure to fetch debug blob from driver.
   *
   * @param reason Failure reason code.
   */
  oneway onDriverDebugDumpFailure(FailureReason reason);

  /**
   * Callback with a vendor specific debug blob from the driver.
   * This blob will be dumped as part of the bug report.
   *
   * @param blob Vector of bytes retrieved from the driver.
   */
  oneway onFirmwareDebugDumpAvailable(vec<uint8_t> blob);

  /**
   * Callback to be invoked on failure to fetch debug blob from driver.
   *
   * @param reason Failure reason code.
   */
  oneway onFirmwareDebugDumpFailure(FailureReason reason);
  /** Vendor data event data callback */
  oneway onDebugRingBufferVendorDataEntriesAvailable(
      WifiDebugRingBufferStatus status,
      vec<WifiDebugRingEntryVendorData> entries);
};
Loading