[automerger skipped] Merge "Merge Android 14 QPR2 to AOSP main" into main am: a472b80e89 -s ours am: aad4d204c2 -s ours
am skip reason: Merged-In I066009b95fd0c17cedd33b7200c7e7187572670e with SHA-1 1e882cccdd is already in history
Original change: https://android-review.googlesource.com/c/platform/hardware/libhardware_legacy/+/2990910
Change-Id: I445709e7f416ea78d0b9591025387747f633a6cc
Signed-off-by: Automerger Merge Worker <[email protected]>
diff --git a/include/hardware_legacy/rtt.h b/include/hardware_legacy/rtt.h
index 63c3325..426abe0 100644
--- a/include/hardware_legacy/rtt.h
+++ b/include/hardware_legacy/rtt.h
@@ -121,12 +121,10 @@
/* RTT configuration v3 (11az support)*/
typedef struct {
wifi_rtt_config rtt_config;
- byte ntb_min_measurement_time_millis; // 11az Non-Trigger-based (non-TB) minimum measurement
- // time in milliseconds
- byte ntb_max_measurement_time_millis; // 11az Non-Trigger-based (non-TB) maximum measurement
- // time in milliseconds
- byte tx_ltf_repetition_count; // Multiple transmissions of HE-LTF symbols in an HE
- // Ranging NDP. A value of 1 indicates no repetition.
+ u64 ntb_min_measurement_time; // 11az Non-Trigger-based (non-TB) minimum measurement time in
+ // units of 100 microseconds
+ u64 ntb_max_measurement_time; // 11az Non-Trigger-based (non-TB) maximum measurement time in
+ // units of 10 milliseconds
} wifi_rtt_config_v3;
/* RTT results */
@@ -184,11 +182,19 @@
/* RTT results v3 (11az support)*/
typedef struct {
wifi_rtt_result_v2 rtt_result;
- int tx_ltf_repetition_count; // 11az Transmit LTF repetitions used to get this result.
- int ntb_min_measurement_time_millis; // Minimum non-trigger based (non-TB) dynamic measurement
- // time in milliseconds assigned by the 11az responder.
- int ntb_max_measurement_time_millis; // Maximum non-trigger based (non-TB) dynamic measurement
- // time in milliseconds assigned by the 11az responder.
+ byte i2r_tx_ltf_repetition_count;// Multiple transmissions of HE-LTF symbols in an HE (I2R)
+ // Ranging NDP. An HE-LTF repetition value of 1 indicates no
+ // repetitions.
+ byte r2i_tx_ltf_repetition_count;// Multiple transmissions of HE-LTF symbols in an HE (R2I)
+ // Ranging NDP. An HE-LTF repetition value of 1 indicates no
+ // repetitions.
+ u64 ntb_min_measurement_time; // Minimum non-trigger based (non-TB) dynamic measurement time
+ // in units of 100 microseconds assigned by the 11az responder.
+ u64 ntb_max_measurement_time; // Maximum non-trigger based (non-TB) dynamic measurement
+ // time in units of 10 milliseconds assigned by the 11az
+ // responder.
+ byte num_tx_sts; // Number of transmit space-time streams used.
+ byte num_rx_sts; // Number of receive space-time streams used.
} wifi_rtt_result_v3;
@@ -305,8 +311,6 @@
byte az_bw_support; // bit mask indicates what BW is supported by 11az initiator
byte ntb_initiator_supported; // if 11az non-TB initiator is supported
byte ntb_responder_supported; // if 11az non-TB responder is supported
- byte max_tx_ltf_repetition_count;// maximum HE LTF repetitions the 11az initiator is capable of
- // transmitting in the preamble of I2R NDP
} wifi_rtt_capabilities_v3;
/* RTT capabilities v3 of the device (11az support) */
diff --git a/include/hardware_legacy/wifi_hal.h b/include/hardware_legacy/wifi_hal.h
index 9c82e80..cf3fee8 100644
--- a/include/hardware_legacy/wifi_hal.h
+++ b/include/hardware_legacy/wifi_hal.h
@@ -417,6 +417,24 @@
wifi_iface_combination iface_combinations[MAX_IFACE_COMBINATIONS];
} wifi_iface_concurrency_matrix;
+/* Wifi OUI data */
+typedef struct {
+ /* OUI : 24-bit organizationally unique identifier to identify the Vendor/OEM */
+ u32 oui;
+ /* Length of the data buffer */
+ u32 data_len;
+ /* Vendor-specific data */
+ const u8 *data;
+} oui_keyed_data;
+
+/* Wifi Vendor data list */
+typedef struct {
+ /* Number of OUI Keyed Data objects */
+ u32 num_oui_keyed_data;
+ /* List of OUI Keyed Data */
+ oui_keyed_data *oui_data;
+} wifi_vendor_data;
+
/* Initialize/Cleanup */
wifi_error wifi_initialize(wifi_handle *handle);
@@ -1170,7 +1188,7 @@
* @param config_id: configuration ID of TWT request
* @return Synchronous wifi_error
*
- * Note: This function is deprecated by wifi_twt_session_clear_stats
+ * Note: This function is deprecated.
*/
wifi_error (*wifi_twt_clear_stats)(wifi_interface_handle iface, u8 config_id);
@@ -1373,6 +1391,18 @@
*/
wifi_error (*wifi_set_mlo_mode)(wifi_handle handle, wifi_mlo_mode mode);
+ /**@brief wifi_virtual_interface_create_with_vendor_data
+ * Create new virtual interface using vendor data.
+ * @param handle: global wifi_handle
+ * @param ifname: name of interface to be created.
+ * @param iface_type: one of interface types from wifi_interface_type.
+ * @param vendor_data: vendor data to apply on this interface.
+ * @return Synchronous wifi_error
+ */
+ wifi_error (*wifi_virtual_interface_create_with_vendor_data)
+ (wifi_handle handle, const char* ifname,
+ wifi_interface_type iface_type, wifi_vendor_data* vendor_data);
+
/*
* when adding new functions make sure to add stubs in
* wifi_legacy_hal_stubs.cpp::initHalFuncTableWithStubs
diff --git a/include/hardware_legacy/wifi_twt.h b/include/hardware_legacy/wifi_twt.h
index 1a787ef..cb11c78 100644
--- a/include/hardware_legacy/wifi_twt.h
+++ b/include/hardware_legacy/wifi_twt.h
@@ -31,8 +31,8 @@
u8 is_flexible_twt_supported; // 0 for not supporting flexible twt schedules
u32 min_wake_duration_micros; // minimum twt wake duration capable in microseconds
u32 max_wake_duration_micros; // maximum twt wake duration capable in microseconds
- u32 min_wake_interval_micros; // minimum twt wake interval capable in microseconds
- u32 max_wake_interval_micros; // maximum twt wake interval capable in microseconds
+ u64 min_wake_interval_micros; // minimum twt wake interval capable in microseconds
+ u64 max_wake_interval_micros; // maximum twt wake interval capable in microseconds
} wifi_twt_capabilities;
/* TWT request parameters to setup or update a TWT session */
@@ -41,8 +41,8 @@
// Otherwise UNSPECIFIED.
u32 min_wake_duration_micros; // minimum twt wake duration in microseconds
u32 max_wake_duration_micros; // maximum twt wake duration in microseconds
- u32 min_wake_interval_micros; // minimum twt wake interval in microseconds
- u32 max_wake_interval_micros; // maximum twt wake interval in microseconds
+ u64 min_wake_interval_micros; // minimum twt wake interval in microseconds
+ u64 max_wake_interval_micros; // maximum twt wake interval in microseconds
} wifi_twt_request;
/* TWT negotiation types */
@@ -56,7 +56,7 @@
u32 session_id; // a unique identifier for the session
s8 mlo_link_id; // link id in case of MLO connection. Otherwise UNSPECIFIED.
u32 wake_duration_micros; // TWT service period in microseconds
- u32 wake_interval_micros; // TWT wake interval for this session in microseconds
+ u64 wake_interval_micros; // TWT wake interval for this session in microseconds
wifi_twt_negotiation_type negotiation_type; // TWT negotiation type
u8 is_trigger_enabled; // 0 if this TWT session is not trigger enabled
u8 is_announced; // 0 if this TWT session is not announced