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

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

Remove DEBUG_ capabilities from ChipCapabilityMask.

Also update the IWifiChip VTS test to reflect
this change.

Bug: 266521428
Test: atest VtsHalWifiChipTargetTest
Change-Id: I537588c405d8a01091a6818020084acbe2679e14
parent 76aadb37
Loading
Loading
Loading
Loading
+16 −24
Original line number Diff line number Diff line
@@ -85,22 +85,14 @@ interface IWifiChip {
  const int NO_POWER_CAP_CONSTANT = 0x7FFFFFFF;
  @Backing(type="int") @VintfStability
  enum ChipCapabilityMask {
    DEBUG_MEMORY_FIRMWARE_DUMP = (1 << 0),
    DEBUG_MEMORY_DRIVER_DUMP = (1 << 1),
    DEBUG_RING_BUFFER_CONNECT_EVENT = (1 << 2),
    DEBUG_RING_BUFFER_POWER_EVENT = (1 << 3),
    DEBUG_RING_BUFFER_WAKELOCK_EVENT = (1 << 4),
    DEBUG_RING_BUFFER_VENDOR_DATA = (1 << 5),
    DEBUG_HOST_WAKE_REASON_STATS = (1 << 6),
    DEBUG_ERROR_ALERTS = (1 << 7),
    SET_TX_POWER_LIMIT = (1 << 8),
    D2D_RTT = (1 << 9),
    D2AP_RTT = (1 << 10),
    USE_BODY_HEAD_SAR = (1 << 11),
    SET_LATENCY_MODE = (1 << 12),
    P2P_RAND_MAC = (1 << 13),
    WIGIG = (1 << 14),
    SET_AFC_CHANNEL_ALLOWANCE = (1 << 15),
    SET_TX_POWER_LIMIT = (1 << 0) /* 1 */,
    D2D_RTT = (1 << 1) /* 2 */,
    D2AP_RTT = (1 << 2) /* 4 */,
    USE_BODY_HEAD_SAR = (1 << 3) /* 8 */,
    SET_LATENCY_MODE = (1 << 4) /* 16 */,
    P2P_RAND_MAC = (1 << 5) /* 32 */,
    WIGIG = (1 << 6) /* 64 */,
    SET_AFC_CHANNEL_ALLOWANCE = (1 << 7) /* 128 */,
  }
  @VintfStability
  parcelable ChipConcurrencyCombinationLimit {
@@ -132,9 +124,9 @@ interface IWifiChip {
  }
  @Backing(type="int") @VintfStability
  enum CoexRestriction {
    WIFI_DIRECT = (1 << 0),
    SOFTAP = (1 << 1),
    WIFI_AWARE = (1 << 2),
    WIFI_DIRECT = (1 << 0) /* 1 */,
    SOFTAP = (1 << 1) /* 2 */,
    WIFI_AWARE = (1 << 2) /* 4 */,
  }
  @VintfStability
  parcelable CoexUnsafeChannel {
@@ -162,13 +154,13 @@ interface IWifiChip {
  }
  @Backing(type="int") @VintfStability
  enum UsableChannelFilter {
    CELLULAR_COEXISTENCE = (1 << 0),
    CONCURRENCY = (1 << 1),
    NAN_INSTANT_MODE = (1 << 2),
    CELLULAR_COEXISTENCE = (1 << 0) /* 1 */,
    CONCURRENCY = (1 << 1) /* 2 */,
    NAN_INSTANT_MODE = (1 << 2) /* 4 */,
  }
  @Backing(type="int") @VintfStability
  enum ChannelCategoryMask {
    INDOOR_CHANNEL = (1 << 0),
    DFS_CHANNEL = (1 << 1),
    INDOOR_CHANNEL = (1 << 0) /* 1 */,
    DFS_CHANNEL = (1 << 1) /* 2 */,
  }
}
+8 −42
Original line number Diff line number Diff line
@@ -45,72 +45,39 @@ interface IWifiChip {
    @VintfStability
    @Backing(type="int")
    enum ChipCapabilityMask {
        /**
         * Memory dump of Firmware.
         */
        DEBUG_MEMORY_FIRMWARE_DUMP = 1 << 0,
        /**
         * Memory dump of Driver.
         */
        DEBUG_MEMORY_DRIVER_DUMP = 1 << 1,
        /**
         * Connectivity events reported via debug ring buffer.
         */
        DEBUG_RING_BUFFER_CONNECT_EVENT = 1 << 2,
        /**
         * Power events reported via debug ring buffer.
         */
        DEBUG_RING_BUFFER_POWER_EVENT = 1 << 3,
        /**
         * Wakelock events reported via debug ring buffer.
         */
        DEBUG_RING_BUFFER_WAKELOCK_EVENT = 1 << 4,
        /**
         * Vendor data reported via debug ring buffer.
         * This mostly contains firmware event logs.
         */
        DEBUG_RING_BUFFER_VENDOR_DATA = 1 << 5,
        /**
         * Host wake reasons stats collection.
         */
        DEBUG_HOST_WAKE_REASON_STATS = 1 << 6,
        /**
         * Error alerts.
         */
        DEBUG_ERROR_ALERTS = 1 << 7,
        /**
         * Set/Reset Tx Power limits.
         */
        SET_TX_POWER_LIMIT = 1 << 8,
        SET_TX_POWER_LIMIT = 1 << 0,
        /**
         * Device to Device RTT.
         */
        D2D_RTT = 1 << 9,
        D2D_RTT = 1 << 1,
        /**
         * Device to AP RTT.
         */
        D2AP_RTT = 1 << 10,
        D2AP_RTT = 1 << 2,
        /**
         * Set/Reset Tx Power limits.
         */
        USE_BODY_HEAD_SAR = 1 << 11,
        USE_BODY_HEAD_SAR = 1 << 3,
        /**
         * Set Latency Mode.
         */
        SET_LATENCY_MODE = 1 << 12,
        SET_LATENCY_MODE = 1 << 4,
        /**
         * Support P2P MAC randomization.
         */
        P2P_RAND_MAC = 1 << 13,
        P2P_RAND_MAC = 1 << 5,
        /**
         * Chip can operate in the 60GHz band (WiGig chip).
         */
        WIGIG = 1 << 14,
        WIGIG = 1 << 6,
        /**
         * Chip supports setting allowed channels along with PSD in 6GHz band
         * for AFC purposes.
         */
        SET_AFC_CHANNEL_ALLOWANCE = 1 << 15,
        SET_AFC_CHANNEL_ALLOWANCE = 1 << 7,
    }

    /**
@@ -540,7 +507,6 @@ interface IWifiChip {
     * API to enable/disable alert notifications from the chip.
     * These alerts must be used to notify the framework of any fatal error events
     * that the chip encounters via |IWifiChipEventCallback.onDebugErrorAlert| method.
     * Must fail if |ChipCapabilityMask.DEBUG_ERROR_ALERTS| is not set.
     *
     * @param enable true to enable, false to disable.
     * @throws ServiceSpecificException with one of the following values:
+13 −55
Original line number Diff line number Diff line
@@ -131,16 +131,6 @@ class WifiChipAidlTest : public testing::TestWithParam<std::string> {
        return {iface1, iface2};
    }

    bool hasAnyRingBufferCapabilities(int32_t caps) {
        return caps &
               (static_cast<int32_t>(
                        IWifiChip::ChipCapabilityMask::DEBUG_RING_BUFFER_CONNECT_EVENT) |
                static_cast<int32_t>(IWifiChip::ChipCapabilityMask::DEBUG_RING_BUFFER_POWER_EVENT) |
                static_cast<int32_t>(
                        IWifiChip::ChipCapabilityMask::DEBUG_RING_BUFFER_WAKELOCK_EVENT) |
                static_cast<int32_t>(IWifiChip::ChipCapabilityMask::DEBUG_RING_BUFFER_VENDOR_DATA));
    }

    const char* getInstanceName() { return GetParam().c_str(); }

    std::shared_ptr<IWifiChip> wifi_chip_;
@@ -452,14 +442,9 @@ TEST_P(WifiChipAidlTest, RequestChipDebugInfo) {
 */
TEST_P(WifiChipAidlTest, RequestFirmwareDebugDump) {
    configureChipForConcurrencyType(IfaceConcurrencyType::STA);
    int32_t caps = getChipCapabilities(wifi_chip_);
    std::vector<uint8_t> debug_dump;
    auto status = wifi_chip_->requestFirmwareDebugDump(&debug_dump);
    if (caps & static_cast<int32_t>(IWifiChip::ChipCapabilityMask::DEBUG_MEMORY_FIRMWARE_DUMP)) {
        EXPECT_TRUE(status.isOk());
    } else {
        EXPECT_TRUE(checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
    }
    EXPECT_TRUE(status.isOk() || checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
}

/*
@@ -467,14 +452,9 @@ TEST_P(WifiChipAidlTest, RequestFirmwareDebugDump) {
 */
TEST_P(WifiChipAidlTest, RequestDriverDebugDump) {
    configureChipForConcurrencyType(IfaceConcurrencyType::STA);
    int32_t caps = getChipCapabilities(wifi_chip_);
    std::vector<uint8_t> debug_dump;
    auto status = wifi_chip_->requestDriverDebugDump(&debug_dump);
    if (caps & static_cast<int32_t>(IWifiChip::ChipCapabilityMask::DEBUG_MEMORY_DRIVER_DUMP)) {
        EXPECT_TRUE(status.isOk());
    } else {
        EXPECT_TRUE(checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
    }
    EXPECT_TRUE(status.isOk() || checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
}

/*
@@ -482,17 +462,14 @@ TEST_P(WifiChipAidlTest, RequestDriverDebugDump) {
 */
TEST_P(WifiChipAidlTest, GetDebugRingBuffersStatus) {
    configureChipForConcurrencyType(IfaceConcurrencyType::STA);
    int32_t caps = getChipCapabilities(wifi_chip_);
    std::vector<WifiDebugRingBufferStatus> ring_buffer_status;
    auto status = wifi_chip_->getDebugRingBuffersStatus(&ring_buffer_status);
    if (hasAnyRingBufferCapabilities(caps)) {
        EXPECT_TRUE(status.isOk());
    EXPECT_TRUE(status.isOk() || checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
    if (status.isOk()) {
        ASSERT_NE(ring_buffer_status.size(), 0);
        for (const auto& ring_buffer : ring_buffer_status) {
            EXPECT_NE(ring_buffer.ringName.size(), 0);
        }
    } else {
        EXPECT_TRUE(checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
    }
}

@@ -501,14 +478,9 @@ TEST_P(WifiChipAidlTest, GetDebugRingBuffersStatus) {
 */
TEST_P(WifiChipAidlTest, GetDebugHostWakeReasonStats) {
    configureChipForConcurrencyType(IfaceConcurrencyType::STA);
    int32_t caps = getChipCapabilities(wifi_chip_);
    WifiDebugHostWakeReasonStats wake_reason_stats = {};
    auto status = wifi_chip_->getDebugHostWakeReasonStats(&wake_reason_stats);
    if (caps & static_cast<int32_t>(IWifiChip::ChipCapabilityMask::DEBUG_HOST_WAKE_REASON_STATS)) {
        EXPECT_TRUE(status.isOk());
    } else {
        EXPECT_TRUE(checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
    }
    EXPECT_TRUE(status.isOk() || checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
}

/*
@@ -516,26 +488,19 @@ TEST_P(WifiChipAidlTest, GetDebugHostWakeReasonStats) {
 */
TEST_P(WifiChipAidlTest, StartLoggingToDebugRingBuffer) {
    configureChipForConcurrencyType(IfaceConcurrencyType::STA);
    int32_t caps = getChipCapabilities(wifi_chip_);
    std::string ring_name;
    std::vector<WifiDebugRingBufferStatus> ring_buffer_status;
    auto status = wifi_chip_->getDebugRingBuffersStatus(&ring_buffer_status);

    if (hasAnyRingBufferCapabilities(caps)) {
        EXPECT_TRUE(status.isOk());
    auto status = wifi_chip_->getDebugRingBuffersStatus(&ring_buffer_status);
    EXPECT_TRUE(status.isOk() || checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
    if (status.isOk()) {
        ASSERT_NE(ring_buffer_status.size(), 0);
        ring_name = ring_buffer_status[0].ringName;
    } else {
        EXPECT_TRUE(checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
    }

    status = wifi_chip_->startLoggingToDebugRingBuffer(
            ring_name, WifiDebugRingBufferVerboseLevel::VERBOSE, 5, 1024);
    if (hasAnyRingBufferCapabilities(caps)) {
        EXPECT_TRUE(status.isOk());
    } else {
        EXPECT_TRUE(checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
    }
    EXPECT_TRUE(status.isOk() || checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
}

/*
@@ -543,25 +508,18 @@ TEST_P(WifiChipAidlTest, StartLoggingToDebugRingBuffer) {
 */
TEST_P(WifiChipAidlTest, ForceDumpToDebugRingBuffer) {
    configureChipForConcurrencyType(IfaceConcurrencyType::STA);
    int32_t caps = getChipCapabilities(wifi_chip_);
    std::string ring_name;
    std::vector<WifiDebugRingBufferStatus> ring_buffer_status;
    auto status = wifi_chip_->getDebugRingBuffersStatus(&ring_buffer_status);

    if (hasAnyRingBufferCapabilities(caps)) {
        EXPECT_TRUE(status.isOk());
    auto status = wifi_chip_->getDebugRingBuffersStatus(&ring_buffer_status);
    EXPECT_TRUE(status.isOk() || checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
    if (status.isOk()) {
        ASSERT_NE(ring_buffer_status.size(), 0);
        ring_name = ring_buffer_status[0].ringName;
    } else {
        EXPECT_TRUE(checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
    }

    status = wifi_chip_->forceDumpToDebugRingBuffer(ring_name);
    if (hasAnyRingBufferCapabilities(caps)) {
        EXPECT_TRUE(status.isOk());
    } else {
        EXPECT_TRUE(checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
    }
    EXPECT_TRUE(status.isOk() || checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED));
}

/*