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

Commit bff0e408 authored by Gabriel Biren's avatar Gabriel Biren
Browse files

Remove any references to DEBUG_ capabilities

in the Vendor HAL service.

Bug: 266521428
Test: Vendor HAL gTest suite
      (see the modified test case)
Change-Id: I86e0c465b9f9d2f31413d75727e36b42c2b6b88a
parent e35e7e46
Loading
Loading
Loading
Loading
+1 −37
Original line number Diff line number Diff line
@@ -41,23 +41,6 @@ inline std::vector<int32_t> uintToIntVec(const std::vector<uint32_t>& in) {
    return std::vector<int32_t>(in.begin(), in.end());
}

IWifiChip::ChipCapabilityMask convertLegacyLoggerFeatureToAidlChipCapability(uint32_t feature) {
    switch (feature) {
        case legacy_hal::WIFI_LOGGER_MEMORY_DUMP_SUPPORTED:
            return IWifiChip::ChipCapabilityMask::DEBUG_MEMORY_FIRMWARE_DUMP;
        case legacy_hal::WIFI_LOGGER_DRIVER_DUMP_SUPPORTED:
            return IWifiChip::ChipCapabilityMask::DEBUG_MEMORY_DRIVER_DUMP;
        case legacy_hal::WIFI_LOGGER_CONNECT_EVENT_SUPPORTED:
            return IWifiChip::ChipCapabilityMask::DEBUG_RING_BUFFER_CONNECT_EVENT;
        case legacy_hal::WIFI_LOGGER_POWER_EVENT_SUPPORTED:
            return IWifiChip::ChipCapabilityMask::DEBUG_RING_BUFFER_POWER_EVENT;
        case legacy_hal::WIFI_LOGGER_WAKE_LOCK_SUPPORTED:
            return IWifiChip::ChipCapabilityMask::DEBUG_RING_BUFFER_WAKELOCK_EVENT;
    };
    CHECK(false) << "Unknown legacy feature: " << feature;
    return {};
}

IWifiStaIface::StaIfaceCapabilityMask convertLegacyLoggerFeatureToAidlStaIfaceCapability(
        uint32_t feature) {
    switch (feature) {
@@ -125,23 +108,11 @@ IWifiStaIface::StaIfaceCapabilityMask convertLegacyFeatureToAidlStaIfaceCapabili
    return {};
}

bool convertLegacyFeaturesToAidlChipCapabilities(uint64_t legacy_feature_set,
                                                 uint32_t legacy_logger_feature_set,
                                                 uint32_t* aidl_caps) {
bool convertLegacyFeaturesToAidlChipCapabilities(uint64_t legacy_feature_set, uint32_t* aidl_caps) {
    if (!aidl_caps) {
        return false;
    }
    *aidl_caps = {};
    for (const auto feature : {legacy_hal::WIFI_LOGGER_MEMORY_DUMP_SUPPORTED,
                               legacy_hal::WIFI_LOGGER_DRIVER_DUMP_SUPPORTED,
                               legacy_hal::WIFI_LOGGER_CONNECT_EVENT_SUPPORTED,
                               legacy_hal::WIFI_LOGGER_POWER_EVENT_SUPPORTED,
                               legacy_hal::WIFI_LOGGER_WAKE_LOCK_SUPPORTED}) {
        if (feature & legacy_logger_feature_set) {
            *aidl_caps |=
                    static_cast<uint32_t>(convertLegacyLoggerFeatureToAidlChipCapability(feature));
        }
    }
    std::vector<uint64_t> features = {WIFI_FEATURE_SET_TX_POWER_LIMIT,
                                      WIFI_FEATURE_USE_BODY_HEAD_SAR,
                                      WIFI_FEATURE_D2D_RTT,
@@ -156,13 +127,6 @@ bool convertLegacyFeaturesToAidlChipCapabilities(uint64_t legacy_feature_set,
        }
    }

    // There are no flags for these 3 in the legacy feature set. Adding them to
    // the set because all the current devices support it.
    *aidl_caps |=
            static_cast<uint32_t>(IWifiChip::ChipCapabilityMask::DEBUG_RING_BUFFER_VENDOR_DATA);
    *aidl_caps |=
            static_cast<uint32_t>(IWifiChip::ChipCapabilityMask::DEBUG_HOST_WAKE_REASON_STATS);
    *aidl_caps |= static_cast<uint32_t>(IWifiChip::ChipCapabilityMask::DEBUG_ERROR_ALERTS);
    return true;
}

+1 −3
Original line number Diff line number Diff line
@@ -37,9 +37,7 @@ namespace wifi {
namespace aidl_struct_util {

// Chip conversion methods.
bool convertLegacyFeaturesToAidlChipCapabilities(uint64_t legacy_feature_set,
                                                 uint32_t legacy_logger_feature_set,
                                                 uint32_t* aidl_caps);
bool convertLegacyFeaturesToAidlChipCapabilities(uint64_t legacy_feature_set, uint32_t* aidl_caps);
bool convertLegacyDebugRingBufferStatusToAidl(
        const legacy_hal::wifi_ring_buffer_status& legacy_status,
        WifiDebugRingBufferStatus* aidl_status);
+3 −9
Original line number Diff line number Diff line
@@ -661,18 +661,12 @@ TEST_F(AidlStructUtilTest, CanConvertLegacyFeaturesToAidl) {
    using AidlChipCaps = IWifiChip::ChipCapabilityMask;

    uint32_t aidl_caps;

    uint32_t legacy_feature_set = WIFI_FEATURE_D2D_RTT | WIFI_FEATURE_SET_LATENCY_MODE;
    uint32_t legacy_logger_feature_set = legacy_hal::WIFI_LOGGER_DRIVER_DUMP_SUPPORTED;

    ASSERT_TRUE(aidl_struct_util::convertLegacyFeaturesToAidlChipCapabilities(
            legacy_feature_set, legacy_logger_feature_set, &aidl_caps));
    ASSERT_TRUE(aidl_struct_util::convertLegacyFeaturesToAidlChipCapabilities(legacy_feature_set,
                                                                              &aidl_caps));

    EXPECT_EQ((uint32_t)AidlChipCaps::DEBUG_RING_BUFFER_VENDOR_DATA |
                      (uint32_t)AidlChipCaps::DEBUG_HOST_WAKE_REASON_STATS |
                      (uint32_t)AidlChipCaps::DEBUG_ERROR_ALERTS | (uint32_t)AidlChipCaps::D2D_RTT |
                      (uint32_t)AidlChipCaps::SET_LATENCY_MODE |
                      (uint32_t)AidlChipCaps::DEBUG_MEMORY_DRIVER_DUMP,
    EXPECT_EQ((uint32_t)AidlChipCaps::D2D_RTT | (uint32_t)AidlChipCaps::SET_LATENCY_MODE,
              aidl_caps);
}

+2 −2
Original line number Diff line number Diff line
@@ -769,8 +769,8 @@ std::pair<IWifiChip::ChipCapabilityMask, ndk::ScopedAStatus> WifiChip::getCapabi
        legacy_logger_feature_set = 0;
    }
    uint32_t aidl_caps;
    if (!aidl_struct_util::convertLegacyFeaturesToAidlChipCapabilities(
                legacy_feature_set, legacy_logger_feature_set, &aidl_caps)) {
    if (!aidl_struct_util::convertLegacyFeaturesToAidlChipCapabilities(legacy_feature_set,
                                                                       &aidl_caps)) {
        return {IWifiChip::ChipCapabilityMask{}, createWifiStatus(WifiStatusCode::ERROR_UNKNOWN)};
    }
    return {static_cast<IWifiChip::ChipCapabilityMask>(aidl_caps), ndk::ScopedAStatus::ok()};