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

Commit 4ffc5da2 authored by Michael Butler's avatar Michael Butler Committed by Automerger Merge Worker
Browse files

Cleanup how transport errors are handled in NN utils am: cca3e20e am: 9c51fc50

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1520619

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If5d805de06eebdfae54b0e9e1205d24f118a006d
parents e73eaaac 9c51fc50
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ nn::GeneralResult<nn::Capabilities> initCapabilities(V1_0::IDevice* device) {
    };

    const auto ret = device->getCapabilities(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -119,7 +119,8 @@ std::pair<uint32_t, uint32_t> Device::getNumberOfCacheFilesNeeded() const {

nn::GeneralResult<void> Device::wait() const {
    const auto ret = kDevice->ping();
    return hal::utils::handleTransportError(ret);
    HANDLE_TRANSPORT_FAILURE(ret);
    return {};
}

nn::GeneralResult<std::vector<bool>> Device::getSupportedOperations(const nn::Model& model) const {
@@ -148,7 +149,7 @@ nn::GeneralResult<std::vector<bool>> Device::getSupportedOperations(const nn::Mo
    };

    const auto ret = kDevice->getSupportedOperations(hidlModel, cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -168,7 +169,7 @@ nn::GeneralResult<nn::SharedPreparedModel> Device::prepareModel(
    const auto scoped = kDeathHandler.protectCallback(cb.get());

    const auto ret = kDevice->prepareModel(hidlModel, cb);
    const auto status = NN_TRY(hal::utils::handleTransportError(ret));
    const auto status = HANDLE_TRANSPORT_FAILURE(ret);
    if (status != ErrorStatus::NONE) {
        const auto canonical = nn::convert(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
        return NN_ERROR(canonical) << "prepareModel failed with " << toString(status);
+1 −2
Original line number Diff line number Diff line
@@ -67,8 +67,7 @@ nn::ExecutionResult<std::pair<std::vector<nn::OutputShape>, nn::Timing>> Prepare
    const auto scoped = kDeathHandler.protectCallback(cb.get());

    const auto ret = kPreparedModel->execute(hidlRequest, cb);
    const auto status =
            NN_TRY(hal::utils::makeExecutionFailure(hal::utils::handleTransportError(ret)));
    const auto status = HANDLE_TRANSPORT_FAILURE(ret);
    if (status != ErrorStatus::NONE) {
        const auto canonical = nn::convert(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
        return NN_ERROR(canonical) << "execute failed with " << toString(status);
+5 −4
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ nn::GeneralResult<nn::Capabilities> initCapabilities(V1_1::IDevice* device) {
    };

    const auto ret = device->getCapabilities_1_1(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -120,7 +120,8 @@ std::pair<uint32_t, uint32_t> Device::getNumberOfCacheFilesNeeded() const {

nn::GeneralResult<void> Device::wait() const {
    const auto ret = kDevice->ping();
    return hal::utils::handleTransportError(ret);
    HANDLE_TRANSPORT_FAILURE(ret);
    return {};
}

nn::GeneralResult<std::vector<bool>> Device::getSupportedOperations(const nn::Model& model) const {
@@ -150,7 +151,7 @@ nn::GeneralResult<std::vector<bool>> Device::getSupportedOperations(const nn::Mo
    };

    const auto ret = kDevice->getSupportedOperations_1_1(hidlModel, cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -171,7 +172,7 @@ nn::GeneralResult<nn::SharedPreparedModel> Device::prepareModel(
    const auto scoped = kDeathHandler.protectCallback(cb.get());

    const auto ret = kDevice->prepareModel_1_1(hidlModel, hidlPreference, cb);
    const auto status = NN_TRY(hal::utils::handleTransportError(ret));
    const auto status = HANDLE_TRANSPORT_FAILURE(ret);
    if (status != V1_0::ErrorStatus::NONE) {
        const auto canonical = nn::convert(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
        return NN_ERROR(canonical) << "prepareModel failed with " << toString(status);
+10 −9
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ nn::GeneralResult<nn::Capabilities> initCapabilities(V1_2::IDevice* device) {
    };

    const auto ret = device->getCapabilities_1_2(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -81,7 +81,7 @@ nn::GeneralResult<std::string> initVersionString(V1_2::IDevice* device) {
    };

    const auto ret = device->getVersionString(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -101,7 +101,7 @@ nn::GeneralResult<nn::DeviceType> initDeviceType(V1_2::IDevice* device) {
    };

    const auto ret = device->getType(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -121,7 +121,7 @@ nn::GeneralResult<std::vector<nn::Extension>> initExtensions(V1_2::IDevice* devi
    };

    const auto ret = device->getSupportedExtensions(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -144,7 +144,7 @@ nn::GeneralResult<std::pair<uint32_t, uint32_t>> initNumberOfCacheFilesNeeded(
    };

    const auto ret = device->getNumberOfCacheFilesNeeded(cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -217,7 +217,8 @@ std::pair<uint32_t, uint32_t> Device::getNumberOfCacheFilesNeeded() const {

nn::GeneralResult<void> Device::wait() const {
    const auto ret = kDevice->ping();
    return hal::utils::handleTransportError(ret);
    HANDLE_TRANSPORT_FAILURE(ret);
    return {};
}

nn::GeneralResult<std::vector<bool>> Device::getSupportedOperations(const nn::Model& model) const {
@@ -247,7 +248,7 @@ nn::GeneralResult<std::vector<bool>> Device::getSupportedOperations(const nn::Mo
    };

    const auto ret = kDevice->getSupportedOperations_1_2(hidlModel, cb);
    NN_TRY(hal::utils::handleTransportError(ret));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -272,7 +273,7 @@ nn::GeneralResult<nn::SharedPreparedModel> Device::prepareModel(

    const auto ret = kDevice->prepareModel_1_2(hidlModel, hidlPreference, hidlModelCache,
                                               hidlDataCache, hidlToken, cb);
    const auto status = NN_TRY(hal::utils::handleTransportError(ret));
    const auto status = HANDLE_TRANSPORT_FAILURE(ret);
    if (status != V1_0::ErrorStatus::NONE) {
        const auto canonical = nn::convert(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
        return NN_ERROR(canonical) << "prepareModel_1_2 failed with " << toString(status);
@@ -292,7 +293,7 @@ nn::GeneralResult<nn::SharedPreparedModel> Device::prepareModelFromCache(
    const auto scoped = kDeathHandler.protectCallback(cb.get());

    const auto ret = kDevice->prepareModelFromCache(hidlModelCache, hidlDataCache, hidlToken, cb);
    const auto status = NN_TRY(hal::utils::handleTransportError(ret));
    const auto status = HANDLE_TRANSPORT_FAILURE(ret);
    if (status != V1_0::ErrorStatus::NONE) {
        const auto canonical = nn::convert(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
        return NN_ERROR(canonical) << "prepareModelFromCache failed with " << toString(status);
+2 −3
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ PreparedModel::executeSynchronously(const V1_0::Request& request, MeasureTiming
    };

    const auto ret = kPreparedModel->executeSynchronously(request, measure, cb);
    NN_TRY(hal::utils::makeExecutionFailure(hal::utils::handleTransportError(ret)));
    HANDLE_TRANSPORT_FAILURE(ret);

    return result;
}
@@ -94,8 +94,7 @@ PreparedModel::executeAsynchronously(const V1_0::Request& request, MeasureTiming
    const auto scoped = kDeathHandler.protectCallback(cb.get());

    const auto ret = kPreparedModel->execute_1_2(request, measure, cb);
    const auto status =
            NN_TRY(hal::utils::makeExecutionFailure(hal::utils::handleTransportError(ret)));
    const auto status = HANDLE_TRANSPORT_FAILURE(ret);
    if (status != V1_0::ErrorStatus::NONE) {
        const auto canonical = nn::convert(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
        return NN_ERROR(canonical) << "execute failed with " << toString(status);
Loading