From fc014f5792053a3a5712d1f6f65d55994dce24f4 Mon Sep 17 00:00:00 2001 From: Roman Stratiienko Date: Thu, 23 Dec 2021 19:04:29 +0200 Subject: [PATCH] drm_hwcomposer: CI: Set clang-tidy level to NORMAL for some files Some of files require small adjustments to move into NORMAL checks list. Signed-off-by: Roman Stratiienko --- .ci/Makefile | 79 +++++++++++++++++---------------- .clang-tidy | 4 ++ DrmHwcTwo.cpp | 12 ++--- backend/Backend.cpp | 2 +- backend/Backend.h | 12 ++--- backend/BackendManager.cpp | 2 +- backend/BackendRCarDu.cpp | 2 +- bufferinfo/BufferInfoGetter.cpp | 8 ++-- bufferinfo/BufferInfoGetter.h | 3 ++ bufferinfo/BufferInfoMapperMetadata.cpp | 18 ++++---- compositor/DrmDisplayComposition.cpp | 2 +- compositor/DrmDisplayCompositor.cpp | 2 +- compositor/Planner.cpp | 4 +- compositor/Planner.h | 18 ++++---- drm/DrmCrtc.cpp | 6 +-- drm/DrmDevice.cpp | 8 ---- drm/DrmDevice.h | 1 - drm/DrmFbImporter.h | 2 +- drm/DrmPlane.cpp | 12 ++--- drm/DrmPlane.h | 6 +-- drm/ResourceManager.cpp | 12 ++--- drm/ResourceManager.h | 4 +- include/drmhwcgralloc.h | 18 ++++---- include/drmhwcomposer.h | 8 ++-- utils/autolock.cpp | 4 +- utils/hwcutils.cpp | 16 +++---- 26 files changed, 130 insertions(+), 135 deletions(-) diff --git a/.ci/Makefile b/.ci/Makefile index 17c163b..07ce83a 100644 --- a/.ci/Makefile +++ b/.ci/Makefile @@ -41,26 +41,26 @@ BUILD_FILES := \ tests/worker_test.cpp \ utils/autolock.cpp \ utils/Worker.cpp \ + utils/hwcutils.cpp \ #bufferinfo/BufferInfoMapperMetadata.cpp -#utils/hwcutils.cpp TIDY_CHECKS_NORMAL := * \ -hicpp-* -llvmlibc-* -fuchsia-* -altera-* \ - -llvm-header-guard \ -cppcoreguidelines-special-member-functions \ - -cppcoreguidelines-pro-type-cstyle-cast \ - -cppcoreguidelines-macro-usage \ + -llvm-header-guard \ -cppcoreguidelines-avoid-c-arrays \ + -cppcoreguidelines-pro-type-vararg \ + -cppcoreguidelines-pro-bounds-array-to-pointer-decay \ + -cppcoreguidelines-pro-bounds-constant-array-index \ + -cppcoreguidelines-avoid-magic-numbers \ -google-readability-braces-around-statements \ -google-readability-casting \ -misc-non-private-member-variables-in-classes \ -modernize-avoid-c-arrays \ + -modernize-use-nodiscard \ -modernize-use-trailing-return-type \ -readability-braces-around-statements \ - -readability-convert-member-functions-to-static \ - -readability-implicit-bool-conversion \ - -readability-identifier-naming \ TIDY_CHECKS_COARSE := \ $(TIDY_CHECKS_NORMAL) \ @@ -90,48 +90,48 @@ TIDY_CHECKS_COARSE := \ -readability-use-anyofallof \ TIDY_FILES := \ - drm/UEventListener.h:COARSE \ + drm/UEventListener.h:NORMAL \ drm/DrmFbImporter.h:FINE \ - drm/ResourceManager.h:COARSE \ + drm/ResourceManager.h:NORMAL \ drm/DrmMode.h:COARSE \ drm/DrmDevice.h:COARSE \ drm/DrmProperty.h:COARSE \ drm/DrmConnector.h:COARSE \ drm/DrmCrtc.h:COARSE \ - drm/VSyncWorker.h:COARSE \ - drm/DrmPlane.h:COARSE \ + drm/VSyncWorker.h:NORMAL \ + drm/DrmPlane.h:NORMAL \ drm/DrmUnique.h:FINE \ drm/DrmEncoder.h:COARSE \ - bufferinfo/legacy/BufferInfoMinigbm.h:COARSE \ - bufferinfo/legacy/BufferInfoLibdrm.h:COARSE \ - bufferinfo/legacy/BufferInfoMaliMediatek.h:COARSE \ - bufferinfo/legacy/BufferInfoMaliHisi.h:COARSE \ - bufferinfo/legacy/BufferInfoImagination.h:COARSE \ - bufferinfo/legacy/BufferInfoMaliMeson.h:COARSE \ - bufferinfo/BufferInfoGetter.h:COARSE \ - bufferinfo/BufferInfoMapperMetadata.h:COARSE \ - include/drmhwcgralloc.h:COARSE \ - include/drmhwcomposer.h:COARSE \ + bufferinfo/legacy/BufferInfoMinigbm.h:NORMAL \ + bufferinfo/legacy/BufferInfoLibdrm.h:NORMAL \ + bufferinfo/legacy/BufferInfoMaliMediatek.h:NORMAL \ + bufferinfo/legacy/BufferInfoMaliHisi.h:NORMAL \ + bufferinfo/legacy/BufferInfoImagination.h:NORMAL \ + bufferinfo/legacy/BufferInfoMaliMeson.h:NORMAL \ + bufferinfo/BufferInfoGetter.h:NORMAL \ + bufferinfo/BufferInfoMapperMetadata.h:NORMAL \ + include/drmhwcgralloc.h:NORMAL \ + include/drmhwcomposer.h:NORMAL \ utils/Worker.h:COARSE \ utils/UniqueFd.h:FINE \ - utils/autolock.h:COARSE \ + utils/autolock.h:NORMAL \ utils/log.h:FINE \ utils/properties.h:FINE \ compositor/DrmDisplayCompositor.h:COARSE \ - compositor/Planner.h:COARSE \ + compositor/Planner.h:NORMAL \ compositor/DrmDisplayComposition.h:COARSE \ backend/BackendManager.h:COARSE \ - backend/BackendClient.h:COARSE \ - backend/Backend.h:COARSE \ - backend/BackendRCarDu.h:COARSE \ + backend/BackendClient.h:NORMAL \ + backend/Backend.h:NORMAL \ + backend/BackendRCarDu.h:NORMAL \ DrmHwcTwo.h:COARSE \ TIDY_FILES += \ - backend/BackendClient.cpp:COARSE \ - backend/Backend.cpp:COARSE \ - backend/BackendManager.cpp:COARSE \ - backend/BackendRCarDu.cpp:COARSE \ - bufferinfo/BufferInfoGetter.cpp:COARSE \ + backend/BackendClient.cpp:NORMAL \ + backend/Backend.cpp:NORMAL \ + backend/BackendManager.cpp:NORMAL \ + backend/BackendRCarDu.cpp:NORMAL \ + bufferinfo/BufferInfoGetter.cpp:NORMAL \ bufferinfo/legacy/BufferInfoImagination.cpp:COARSE \ bufferinfo/legacy/BufferInfoLibdrm.cpp:COARSE \ bufferinfo/legacy/BufferInfoMaliHisi.cpp:COARSE \ @@ -140,22 +140,23 @@ TIDY_FILES += \ bufferinfo/legacy/BufferInfoMinigbm.cpp:COARSE \ compositor/DrmDisplayComposition.cpp:COARSE \ compositor/DrmDisplayCompositor.cpp:COARSE \ - compositor/Planner.cpp:COARSE \ + compositor/Planner.cpp:NORMAL \ drm/DrmConnector.cpp:COARSE \ - drm/DrmCrtc.cpp:COARSE \ + drm/DrmCrtc.cpp:NORMAL \ drm/DrmDevice.cpp:COARSE \ - drm/DrmEncoder.cpp:COARSE \ - drm/DrmFbImporter.cpp:COARSE \ - drm/DrmMode.cpp:COARSE \ + drm/DrmEncoder.cpp:NORMAL \ + drm/DrmFbImporter.cpp:NORMAL \ + drm/DrmMode.cpp:NORMAL \ drm/DrmPlane.cpp:COARSE \ drm/DrmProperty.cpp:COARSE \ DrmHwcTwo.cpp:COARSE \ - drm/ResourceManager.cpp:COARSE \ + drm/ResourceManager.cpp:NORMAL \ drm/UEventListener.cpp:COARSE \ drm/VSyncWorker.cpp:COARSE \ tests/worker_test.cpp:COARSE \ - utils/autolock.cpp:COARSE \ - utils/Worker.cpp:COARSE \ + utils/autolock.cpp:NORMAL \ + utils/Worker.cpp:NORMAL \ + utils/hwcutils.cpp:NORMAL \ .PHONY: all build tidy tidy-fine clean diff --git a/.clang-tidy b/.clang-tidy index 300a2fe..ab83758 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -65,3 +65,7 @@ CheckOptions: value: lower_case - key: readability-identifier-naming.IgnoreMainLikeFunctions value: 1 + - key: cppcoreguidelines-macro-usage.AllowedRegexp + value: "LOG_TAG|ATRACE_TAG" + - key: readability-magic-numbers.IgnoredFloatingPointValues + value: '1000.0' diff --git a/DrmHwcTwo.cpp b/DrmHwcTwo.cpp index f94937f..fe4c2ad 100644 --- a/DrmHwcTwo.cpp +++ b/DrmHwcTwo.cpp @@ -79,7 +79,7 @@ HWC2::Error DrmHwcTwo::Init() { } HWC2::Error ret = HWC2::Error::None; - for (int i = 0; i < resource_manager_.getDisplayCount(); i++) { + for (int i = 0; i < resource_manager_.GetDisplayCount(); i++) { ret = CreateDisplay(i, HWC2::DisplayType::Physical); if (ret != HWC2::Error::None) { ALOGE("Failed to create display %d with error %d", i, ret); @@ -192,7 +192,7 @@ HWC2::Error DrmHwcTwo::RegisterCallback(int32_t descriptor, case HWC2::Callback::Hotplug: { hotplug_callback_ = std::make_pair(HWC2_PFN_HOTPLUG(function), data); lock.unlock(); - const auto &drm_devices = resource_manager_.getDrmDevices(); + const auto &drm_devices = resource_manager_.GetDrmDevices(); for (const auto &device : drm_devices) HandleInitialHotplugState(device.get()); break; @@ -260,9 +260,9 @@ HWC2::Error DrmHwcTwo::HwcDisplay::Init(std::vector *planes) { "1"); bool use_overlay_planes = strtol(use_overlay_planes_prop, nullptr, 10); for (auto &plane : *planes) { - if (plane->type() == DRM_PLANE_TYPE_PRIMARY) + if (plane->GetType() == DRM_PLANE_TYPE_PRIMARY) primary_planes_.push_back(plane); - else if (use_overlay_planes && (plane)->type() == DRM_PLANE_TYPE_OVERLAY) + else if (use_overlay_planes && (plane)->GetType() == DRM_PLANE_TYPE_OVERLAY) overlay_planes_.push_back(plane); } @@ -840,7 +840,7 @@ HWC2::Error DrmHwcTwo::HwcDisplay::SetClientTarget(buffer_handle_t target, /* TODO: Do not update source_crop every call. * It makes sense to do it once after every hotplug event. */ - hwc_drm_bo bo{}; + HwcDrmBo bo{}; BufferInfoGetter::GetInstance()->ConvertBoInfo(target, &bo); hwc_frect_t source_crop = {.left = 0.0F, @@ -1264,7 +1264,7 @@ void DrmHwcTwo::HandleInitialHotplugState(DrmDevice *drmDevice) { } void DrmHwcTwo::HandleHotplugUEvent() { - for (const auto &drm : resource_manager_.getDrmDevices()) { + for (const auto &drm : resource_manager_.GetDrmDevices()) { for (const auto &conn : drm->connectors()) { drmModeConnection old_state = conn->state(); drmModeConnection cur_state = conn->UpdateModes() diff --git a/backend/Backend.cpp b/backend/Backend.cpp index ce606dd..6f334c7 100644 --- a/backend/Backend.cpp +++ b/backend/Backend.cpp @@ -63,7 +63,7 @@ HWC2::Error Backend::ValidateDisplay(DrmHwcTwo::HwcDisplay *display, client_size); display->total_stats().total_pixops_ += CalcPixOps(layers, 0, layers.size()); - return *num_types ? HWC2::Error::HasChanges : HWC2::Error::None; + return *num_types != 0 ? HWC2::Error::HasChanges : HWC2::Error::None; } std::tuple Backend::GetClientLayers( diff --git a/backend/Backend.h b/backend/Backend.h index fc9a733..38376aa 100644 --- a/backend/Backend.h +++ b/backend/Backend.h @@ -34,12 +34,12 @@ class Backend { DrmHwcTwo::HwcLayer *layer); protected: - bool HardwareSupportsLayerType(HWC2::Composition comp_type); - uint32_t CalcPixOps(const std::vector &layers, - size_t first_z, size_t size); - void MarkValidated(std::vector &layers, - size_t client_first_z, size_t client_size); - std::tuple GetExtraClientRange( + static bool HardwareSupportsLayerType(HWC2::Composition comp_type); + static uint32_t CalcPixOps(const std::vector &layers, + size_t first_z, size_t size); + static void MarkValidated(std::vector &layers, + size_t client_first_z, size_t client_size); + static std::tuple GetExtraClientRange( DrmHwcTwo::HwcDisplay *display, const std::vector &layers, int client_start, size_t client_size); diff --git a/backend/BackendManager.cpp b/backend/BackendManager.cpp index 7b89761..36fb55f 100644 --- a/backend/BackendManager.cpp +++ b/backend/BackendManager.cpp @@ -49,7 +49,7 @@ int BackendManager::SetBackendForDisplay(DrmHwcTwo::HwcDisplay *display) { std::string backend_name(backend_override); display->set_backend(GetBackendByName(backend_name)); - if (!display->backend()) { + if (display->backend() == nullptr) { ALOGE("Failed to set backend '%s' for '%s' and driver '%s'", backend_name.c_str(), display->connector()->name().c_str(), driver_name.c_str()); diff --git a/backend/BackendRCarDu.cpp b/backend/BackendRCarDu.cpp index b012797..9adfa62 100644 --- a/backend/BackendRCarDu.cpp +++ b/backend/BackendRCarDu.cpp @@ -28,7 +28,7 @@ bool BackendRCarDu::IsClientLayer(DrmHwcTwo::HwcDisplay *display, int ret = BufferInfoGetter::GetInstance()->ConvertBoInfo(layer->buffer(), &bo); - if (ret) + if (ret != 0) return true; if (bo.format == DRM_FORMAT_ABGR8888) diff --git a/bufferinfo/BufferInfoGetter.cpp b/bufferinfo/BufferInfoGetter.cpp index c284365..0cfd7e5 100644 --- a/bufferinfo/BufferInfoGetter.cpp +++ b/bufferinfo/BufferInfoGetter.cpp @@ -62,9 +62,11 @@ bool BufferInfoGetter::IsHandleUsable(buffer_handle_t handle) { } int LegacyBufferInfoGetter::Init() { - int ret = hw_get_module(GRALLOC_HARDWARE_MODULE_ID, - (const hw_module_t **)&gralloc_); - if (ret) { + int ret = hw_get_module( + GRALLOC_HARDWARE_MODULE_ID, + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) + reinterpret_cast(&gralloc_)); + if (ret != 0) { ALOGE("Failed to open gralloc module"); return ret; } diff --git a/bufferinfo/BufferInfoGetter.h b/bufferinfo/BufferInfoGetter.h index 694b0f2..59184a4 100644 --- a/bufferinfo/BufferInfoGetter.h +++ b/bufferinfo/BufferInfoGetter.h @@ -55,12 +55,15 @@ class LegacyBufferInfoGetter : public BufferInfoGetter { static std::unique_ptr CreateInstance(); static uint32_t ConvertHalFormatToDrm(uint32_t hal_format); + + // NOLINTNEXTLINE:(readability-identifier-naming) const gralloc_module_t *gralloc_; }; #ifdef DISABLE_LEGACY_GETTERS #define LEGACY_BUFFER_INFO_GETTER(getter_) #else +// NOLINTNEXTLINE(cppcoreguidelines-macro-usage) #define LEGACY_BUFFER_INFO_GETTER(getter_) \ std::unique_ptr \ LegacyBufferInfoGetter::CreateInstance() { \ diff --git a/bufferinfo/BufferInfoMapperMetadata.cpp b/bufferinfo/BufferInfoMapperMetadata.cpp index a8e95e7..2f08a76 100644 --- a/bufferinfo/BufferInfoMapperMetadata.cpp +++ b/bufferinfo/BufferInfoMapperMetadata.cpp @@ -54,7 +54,7 @@ BufferInfoMapperMetadata::GetFds(buffer_handle_t handle, hwc_drm_bo_t *bo) { return android::BAD_VALUE; } - for (int i = 0; i < HWC_DRM_BO_MAX_PLANES; i++) { + for (int i = 0; i < kHwcDrmBoMaxPlanes; i++) { /* If no size, we're out of usable planes */ if (bo->sizes[i] <= 0) { if (i == 0) { @@ -89,12 +89,12 @@ BufferInfoMapperMetadata::GetFds(buffer_handle_t handle, hwc_drm_bo_t *bo) { int BufferInfoMapperMetadata::ConvertBoInfo(buffer_handle_t handle, hwc_drm_bo_t *bo) { GraphicBufferMapper &mapper = GraphicBufferMapper::getInstance(); - if (!handle) + if (handle == nullptr) return -EINVAL; uint64_t usage = 0; int err = mapper.getUsage(handle, &usage); - if (err) { + if (err != 0) { ALOGE("Failed to get usage err=%d", err); return err; } @@ -102,27 +102,27 @@ int BufferInfoMapperMetadata::ConvertBoInfo(buffer_handle_t handle, ui::PixelFormat hal_format; err = mapper.getPixelFormatRequested(handle, &hal_format); - if (err) { + if (err != 0) { ALOGE("Failed to get HAL Pixel Format err=%d", err); return err; } bo->hal_format = static_cast(hal_format); err = mapper.getPixelFormatFourCC(handle, &bo->format); - if (err) { + if (err != 0) { ALOGE("Failed to get FourCC format err=%d", err); return err; } err = mapper.getPixelFormatModifier(handle, &bo->modifiers[0]); - if (err) { + if (err != 0) { ALOGE("Failed to get DRM Modifier err=%d", err); return err; } uint64_t width = 0; err = mapper.getWidth(handle, &width); - if (err) { + if (err != 0) { ALOGE("Failed to get Width err=%d", err); return err; } @@ -130,7 +130,7 @@ int BufferInfoMapperMetadata::ConvertBoInfo(buffer_handle_t handle, uint64_t height = 0; err = mapper.getHeight(handle, &height); - if (err) { + if (err != 0) { ALOGE("Failed to get Height err=%d", err); return err; } @@ -138,7 +138,7 @@ int BufferInfoMapperMetadata::ConvertBoInfo(buffer_handle_t handle, std::vector layouts; err = mapper.getPlaneLayouts(handle, &layouts); - if (err) { + if (err != 0) { ALOGE("Failed to get Plane Layouts err=%d", err); return err; } diff --git a/compositor/DrmDisplayComposition.cpp b/compositor/DrmDisplayComposition.cpp index a1c0e69..41589c5 100644 --- a/compositor/DrmDisplayComposition.cpp +++ b/compositor/DrmDisplayComposition.cpp @@ -74,7 +74,7 @@ int DrmDisplayComposition::Plan(std::vector *primary_planes, continue; std::vector *container = nullptr; - if (i.plane()->type() == DRM_PLANE_TYPE_PRIMARY) + if (i.plane()->GetType() == DRM_PLANE_TYPE_PRIMARY) container = primary_planes; else container = overlay_planes; diff --git a/compositor/DrmDisplayCompositor.cpp b/compositor/DrmDisplayCompositor.cpp index 6b8a92b..a26f2df 100644 --- a/compositor/DrmDisplayCompositor.cpp +++ b/compositor/DrmDisplayCompositor.cpp @@ -161,7 +161,7 @@ auto DrmDisplayCompositor::CommitFrame(AtomicCommitArgs &args) -> int { } DrmHwcLayer &layer = layers[source_layer]; - new_frame_state.used_framebuffers.emplace_back(layer.FbIdHandle); + new_frame_state.used_framebuffers.emplace_back(layer.fb_id_handle); new_frame_state.used_planes.emplace_back(plane); /* Remove from 'unused' list, since plane is re-used */ diff --git a/compositor/Planner.cpp b/compositor/Planner.cpp index 6c0785a..2d24499 100644 --- a/compositor/Planner.cpp +++ b/compositor/Planner.cpp @@ -57,7 +57,7 @@ std::tuple> Planner::ProvisionPlanes( // Go through the provisioning stages and provision planes int ret = ProvisionPlanesInternal(&composition, layers, &planes); - if (ret) { + if (ret != 0) { ALOGV("Failed provision stage with ret %d", ret); return std::make_tuple(ret, std::vector()); } @@ -75,7 +75,7 @@ int Planner::ProvisionPlanesInternal( if (ret == -ENOENT) break; - if (ret) { + if (ret != 0) { ALOGV("Failed to emplace layer %zu, dropping it", i->first); return ret; } diff --git a/compositor/Planner.h b/compositor/Planner.h index c148b6e..af75954 100644 --- a/compositor/Planner.h +++ b/compositor/Planner.h @@ -49,16 +49,16 @@ class Planner { DrmPlane *plane = PopPlane(planes); std::vector unused_planes; int ret = -ENOENT; - while (plane) { + while (plane != nullptr) { ret = plane->IsValidForLayer(layer.second) ? 0 : -EINVAL; - if (!ret) + if (ret == 0) break; - if (!plane->zpos_property().is_immutable()) + if (!plane->GetZPosProperty().is_immutable()) unused_planes.push_back(plane); plane = PopPlane(planes); } - if (!ret) { + if (ret == 0) { composition->emplace_back(plane, layer.first); planes->insert(planes->begin(), unused_planes.begin(), unused_planes.end()); @@ -67,9 +67,9 @@ class Planner { return ret; } - int ProvisionPlanesInternal(std::vector *composition, - std::map &layers, - std::vector *planes); + static int ProvisionPlanesInternal( + std::vector *composition, + std::map &layers, std::vector *planes); public: // Creates a planner instance @@ -84,13 +84,13 @@ class Planner { // // Returns: A tuple with the status of the operation (0 for success) and // a vector of the resulting plan (ie: layer->plane mapping). - std::tuple> ProvisionPlanes( + static std::tuple> ProvisionPlanes( std::map &layers, DrmCrtc *crtc, std::vector *primary_planes, std::vector *overlay_planes); private: - std::vector GetUsablePlanes( + static std::vector GetUsablePlanes( DrmCrtc *crtc, std::vector *primary_planes, std::vector *overlay_planes); }; diff --git a/drm/DrmCrtc.cpp b/drm/DrmCrtc.cpp index 4da08fe..08a1922 100644 --- a/drm/DrmCrtc.cpp +++ b/drm/DrmCrtc.cpp @@ -33,19 +33,19 @@ DrmCrtc::DrmCrtc(DrmDevice *drm, drmModeCrtcPtr c, unsigned pipe) int DrmCrtc::Init() { int ret = drm_->GetCrtcProperty(*this, "ACTIVE", &active_property_); - if (ret) { + if (ret != 0) { ALOGE("Failed to get ACTIVE property"); return ret; } ret = drm_->GetCrtcProperty(*this, "MODE_ID", &mode_property_); - if (ret) { + if (ret != 0) { ALOGE("Failed to get MODE_ID property"); return ret; } ret = drm_->GetCrtcProperty(*this, "OUT_FENCE_PTR", &out_fence_ptr_property_); - if (ret) { + if (ret != 0) { ALOGE("Failed to get OUT_FENCE_PTR property"); return ret; } diff --git a/drm/DrmDevice.cpp b/drm/DrmDevice.cpp index 8dee817..a679bf5 100644 --- a/drm/DrmDevice.cpp +++ b/drm/DrmDevice.cpp @@ -391,14 +391,6 @@ DrmCrtc *DrmDevice::GetCrtcForDisplay(int display) const { return nullptr; } -DrmPlane *DrmDevice::GetPlane(uint32_t id) const { - for (const auto &plane : planes_) { - if (plane->id() == id) - return plane.get(); - } - return nullptr; -} - const std::vector> &DrmDevice::crtcs() const { return crtcs_; } diff --git a/drm/DrmDevice.h b/drm/DrmDevice.h index b5508af..d3effc2 100644 --- a/drm/DrmDevice.h +++ b/drm/DrmDevice.h @@ -63,7 +63,6 @@ class DrmDevice { DrmConnector *GetWritebackConnectorForDisplay(int display) const; DrmConnector *AvailableWritebackConnector(int display) const; DrmCrtc *GetCrtcForDisplay(int display) const; - DrmPlane *GetPlane(uint32_t id) const; int GetCrtcProperty(const DrmCrtc &crtc, const char *prop_name, DrmProperty *property) const; diff --git a/drm/DrmFbImporter.h b/drm/DrmFbImporter.h index 167aa60..efeb457 100644 --- a/drm/DrmFbImporter.h +++ b/drm/DrmFbImporter.h @@ -57,7 +57,7 @@ class DrmFbIdHandle { const std::shared_ptr drm_; uint32_t fb_id_{}; - std::array gem_handles_{}; + std::array gem_handles_{}; }; class DrmFbImporter { diff --git a/drm/DrmPlane.cpp b/drm/DrmPlane.cpp index f6ddad2..8114234 100644 --- a/drm/DrmPlane.cpp +++ b/drm/DrmPlane.cpp @@ -133,10 +133,6 @@ int DrmPlane::Init() { return 0; } -uint32_t DrmPlane::id() const { - return id_; -} - bool DrmPlane::GetCrtcSupported(const DrmCrtc &crtc) const { return ((1 << crtc.pipe()) & possible_crtc_mask_) != 0; } @@ -176,7 +172,7 @@ bool DrmPlane::IsValidForLayer(DrmHwcLayer *layer) { return true; } -uint32_t DrmPlane::type() const { +uint32_t DrmPlane::GetType() const { return type_; } @@ -212,7 +208,7 @@ static uint64_t ToDrmRotation(DrmHwcTransform transform) { auto DrmPlane::AtomicSetState(drmModeAtomicReq &pset, DrmHwcLayer &layer, uint32_t zpos, uint32_t crtc_id) -> int { - if (!layer.FbIdHandle) { + if (!layer.fb_id_handle) { ALOGE("Expected a valid framebuffer for pset"); return -EINVAL; } @@ -234,7 +230,7 @@ auto DrmPlane::AtomicSetState(drmModeAtomicReq &pset, DrmHwcLayer &layer, } if (!crtc_property_.AtomicSet(pset, crtc_id) || - !fb_property_.AtomicSet(pset, layer.FbIdHandle->GetFbId()) || + !fb_property_.AtomicSet(pset, layer.fb_id_handle->GetFbId()) || !crtc_x_property_.AtomicSet(pset, layer.display_frame.left) || !crtc_y_property_.AtomicSet(pset, layer.display_frame.top) || !crtc_w_property_.AtomicSet(pset, layer.display_frame.right - @@ -289,7 +285,7 @@ auto DrmPlane::AtomicDisablePlane(drmModeAtomicReq &pset) -> int { return 0; } -const DrmProperty &DrmPlane::zpos_property() const { +const DrmProperty &DrmPlane::GetZPosProperty() const { return zpos_property_; } diff --git a/drm/DrmPlane.h b/drm/DrmPlane.h index 6487776..e1ee920 100644 --- a/drm/DrmPlane.h +++ b/drm/DrmPlane.h @@ -39,12 +39,10 @@ class DrmPlane { int Init(); - uint32_t id() const; - bool GetCrtcSupported(const DrmCrtc &crtc) const; bool IsValidForLayer(DrmHwcLayer *layer); - uint32_t type() const; + uint32_t GetType() const; bool IsFormatSupported(uint32_t format) const; bool HasNonRgbFormat() const; @@ -52,7 +50,7 @@ class DrmPlane { auto AtomicSetState(drmModeAtomicReq &pset, DrmHwcLayer &layer, uint32_t zpos, uint32_t crtc_id) -> int; auto AtomicDisablePlane(drmModeAtomicReq &pset) -> int; - const DrmProperty &zpos_property() const; + const DrmProperty &GetZPosProperty() const; private: DrmDevice *drm_; diff --git a/drm/ResourceManager.cpp b/drm/ResourceManager.cpp index 2cd393f..46f77e4 100644 --- a/drm/ResourceManager.cpp +++ b/drm/ResourceManager.cpp @@ -49,12 +49,12 @@ int ResourceManager::Init() { ret = AddDrmDevice(std::string(path_pattern)); } else { path_pattern[path_len - 1] = '\0'; - for (int idx = 0; !ret; ++idx) { + for (int idx = 0; ret == 0; ++idx) { std::ostringstream path; path << path_pattern << idx; struct stat buf {}; - if (stat(path.str().c_str(), &buf)) + if (stat(path.str().c_str(), &buf) != 0) break; if (DrmDevice::IsKMSDev(path.str().c_str())) @@ -62,22 +62,22 @@ int ResourceManager::Init() { } } - if (!num_displays_) { + if (num_displays_ == 0) { ALOGE("Failed to initialize any displays"); - return ret ? -EINVAL : ret; + return ret != 0 ? -EINVAL : ret; } char scale_with_gpu[PROPERTY_VALUE_MAX]; property_get("vendor.hwc.drm.scale_with_gpu", scale_with_gpu, "0"); scale_with_gpu_ = bool(strncmp(scale_with_gpu, "0", 1)); - if (!BufferInfoGetter::GetInstance()) { + if (BufferInfoGetter::GetInstance() == nullptr) { ALOGE("Failed to initialize BufferInfoGetter"); return -EINVAL; } ret = uevent_listener_.Init(); - if (ret) { + if (ret != 0) { ALOGE("Can't initialize event listener %d", ret); return ret; } diff --git a/drm/ResourceManager.h b/drm/ResourceManager.h index b02bf36..773b350 100644 --- a/drm/ResourceManager.h +++ b/drm/ResourceManager.h @@ -34,10 +34,10 @@ class ResourceManager { int Init(); DrmDevice *GetDrmDevice(int display); - const std::vector> &getDrmDevices() const { + const std::vector> &GetDrmDevices() const { return drms_; } - int getDisplayCount() const { + int GetDisplayCount() const { return num_displays_; } bool ForcedScalingWithGpu() const { diff --git a/include/drmhwcgralloc.h b/include/drmhwcgralloc.h index 958a636..949912d 100644 --- a/include/drmhwcgralloc.h +++ b/include/drmhwcgralloc.h @@ -19,22 +19,24 @@ #include -#define HWC_DRM_BO_MAX_PLANES 4 -struct hwc_drm_bo { +constexpr int kHwcDrmBoMaxPlanes = 4; + +struct HwcDrmBo { uint32_t width; uint32_t height; uint32_t format; /* DRM_FORMAT_* from drm_fourcc.h */ uint32_t hal_format; /* HAL_PIXEL_FORMAT_* */ uint32_t usage; - uint32_t pitches[HWC_DRM_BO_MAX_PLANES]; - uint32_t offsets[HWC_DRM_BO_MAX_PLANES]; + uint32_t pitches[kHwcDrmBoMaxPlanes]; + uint32_t offsets[kHwcDrmBoMaxPlanes]; /* sizes[] is used only by mapper@4 metadata getter for internal purposes */ - uint32_t sizes[HWC_DRM_BO_MAX_PLANES]; - int prime_fds[HWC_DRM_BO_MAX_PLANES]; - uint64_t modifiers[HWC_DRM_BO_MAX_PLANES]; + uint32_t sizes[kHwcDrmBoMaxPlanes]; + int prime_fds[kHwcDrmBoMaxPlanes]; + uint64_t modifiers[kHwcDrmBoMaxPlanes]; int acquire_fence_fd; }; -using hwc_drm_bo_t = hwc_drm_bo; +// NOLINTNEXTLINE(readability-identifier-naming) +using hwc_drm_bo_t = HwcDrmBo; #endif // ANDROID_DRMHWCGRALLOC_H_ diff --git a/include/drmhwcomposer.h b/include/drmhwcomposer.h index 75a5b39..4fb0efd 100644 --- a/include/drmhwcomposer.h +++ b/include/drmhwcomposer.h @@ -63,12 +63,12 @@ enum class DrmHwcBlending : int32_t { struct DrmHwcLayer { buffer_handle_t sf_handle = nullptr; hwc_drm_bo_t buffer_info{}; - std::shared_ptr FbIdHandle; + std::shared_ptr fb_id_handle; int gralloc_buffer_usage = 0; DrmHwcTransform transform{}; DrmHwcBlending blending = DrmHwcBlending::kNone; - uint16_t alpha = 0xffff; + uint16_t alpha = UINT16_MAX; hwc_frect_t source_crop; hwc_rect_t display_frame; DrmHwcColorSpace color_space; @@ -76,9 +76,9 @@ struct DrmHwcLayer { UniqueFd acquire_fence; - int ImportBuffer(DrmDevice *drmDevice); + int ImportBuffer(DrmDevice *drm_device); - bool protected_usage() const { + bool IsProtected() const { return (gralloc_buffer_usage & GRALLOC_USAGE_PROTECTED) == GRALLOC_USAGE_PROTECTED; } diff --git a/utils/autolock.cpp b/utils/autolock.cpp index 3342e46..3afe488 100644 --- a/utils/autolock.cpp +++ b/utils/autolock.cpp @@ -33,7 +33,7 @@ int AutoLock::Lock() { return -EINVAL; } int ret = pthread_mutex_lock(mutex_); - if (ret) { + if (ret != 0) { ALOGE("Failed to acquire %s lock %d", name_, ret); return ret; } @@ -47,7 +47,7 @@ int AutoLock::Unlock() { return -EINVAL; } int ret = pthread_mutex_unlock(mutex_); - if (ret) { + if (ret != 0) { ALOGE("Failed to release %s lock %d", name_, ret); return ret; } diff --git a/utils/hwcutils.cpp b/utils/hwcutils.cpp index 5a46e9b..c537b99 100644 --- a/utils/hwcutils.cpp +++ b/utils/hwcutils.cpp @@ -17,30 +17,28 @@ #define ATRACE_TAG ATRACE_TAG_GRAPHICS #define LOG_TAG "hwc-drm-utils" -#include -#include -#include +#include + +#include #include "bufferinfo/BufferInfoGetter.h" #include "drm/DrmFbImporter.h" #include "drmhwcomposer.h" -#define UNUSED(x) (void)(x) - namespace android { -int DrmHwcLayer::ImportBuffer(DrmDevice *drmDevice) { +int DrmHwcLayer::ImportBuffer(DrmDevice *drm_device) { buffer_info = hwc_drm_bo_t{}; int ret = BufferInfoGetter::GetInstance()->ConvertBoInfo(sf_handle, &buffer_info); - if (ret) { + if (ret != 0) { ALOGE("Failed to convert buffer info %d", ret); return ret; } - FbIdHandle = drmDevice->GetDrmFbImporter().GetOrCreateFbId(&buffer_info); - if (!FbIdHandle) { + fb_id_handle = drm_device->GetDrmFbImporter().GetOrCreateFbId(&buffer_info); + if (!fb_id_handle) { ALOGE("Failed to import buffer"); return -EINVAL; } -- 2.11.0