drm_hwcomposer: CI: Bump-up clang toolchain to v15
Address new clang-tidy findings, in most cases 'misc-const-correctness'
check was addressed by adding 'const' modifier, or in some cases changed
to 'auto' (where it's better for formatting).
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
diff --git a/drm/DrmAtomicStateManager.cpp b/drm/DrmAtomicStateManager.cpp
index 5d2eebd..3582b82 100644
--- a/drm/DrmAtomicStateManager.cpp
+++ b/drm/DrmAtomicStateManager.cpp
@@ -44,6 +44,7 @@
// NOLINTNEXTLINE (readability-function-cognitive-complexity): Fixme
auto DrmAtomicStateManager::CommitFrame(AtomicCommitArgs &args) -> int {
+ // NOLINTNEXTLINE(misc-const-correctness)
ATRACE_CALL();
if (args.active && *args.active == active_frame_state_.crtc_active_state) {
@@ -141,10 +142,11 @@
}
if (last_present_fence_) {
+ // NOLINTNEXTLINE(misc-const-correctness)
ATRACE_NAME("WaitPriorFramePresented");
constexpr int kTimeoutMs = 500;
- int err = sync_wait(last_present_fence_.Get(), kTimeoutMs);
+ const int err = sync_wait(last_present_fence_.Get(), kTimeoutMs);
if (err != 0) {
ALOGE("sync_wait(fd=%i) returned: %i (errno: %i)",
last_present_fence_.Get(), err, errno);
@@ -157,7 +159,7 @@
flags |= DRM_MODE_ATOMIC_NONBLOCK;
}
- int err = drmModeAtomicCommit(drm->GetFd(), pset.get(), flags, drm);
+ auto err = drmModeAtomicCommit(drm->GetFd(), pset.get(), flags, drm);
if (err != 0) {
ALOGE("Failed to commit pset ret=%d\n", err);
@@ -223,9 +225,10 @@
}
{
+ // NOLINTNEXTLINE(misc-const-correctness)
ATRACE_NAME("AsyncWaitForBuffersSwap");
constexpr int kTimeoutMs = 500;
- int err = sync_wait(present_fence.Get(), kTimeoutMs);
+ auto err = sync_wait(present_fence.Get(), kTimeoutMs);
if (err != 0) {
ALOGE("sync_wait(fd=%i) returned: %i (errno: %i)", present_fence.Get(),
err, errno);
@@ -233,7 +236,7 @@
}
{
- std::unique_lock lk(*mutex_);
+ const std::unique_lock lk(*mutex_);
if (st_man_ == nullptr) {
break;
}
@@ -250,6 +253,7 @@
assert(frames_staged_ - frames_tracked_ == 1);
assert(last_present_fence_);
+ // NOLINTNEXTLINE(misc-const-correctness)
ATRACE_NAME("CleanupPriorFrameResources");
frames_tracked_++;
active_frame_state_ = std::move(staged_frame_state_);
@@ -257,7 +261,7 @@
}
auto DrmAtomicStateManager::ExecuteAtomicCommit(AtomicCommitArgs &args) -> int {
- int err = CommitFrame(args);
+ auto err = CommitFrame(args);
if (!args.test_only) {
if (err != 0) {
diff --git a/drm/DrmConnector.cpp b/drm/DrmConnector.cpp
index 4737316..69d029d 100644
--- a/drm/DrmConnector.cpp
+++ b/drm/DrmConnector.cpp
@@ -177,7 +177,7 @@
}
if (!exists) {
- modes_.emplace_back(DrmMode(&connector_->modes[i]));
+ modes_.emplace_back(&connector_->modes[i]);
}
}
diff --git a/drm/DrmDevice.cpp b/drm/DrmDevice.cpp
index 0f73f1f..33adf2a 100644
--- a/drm/DrmDevice.cpp
+++ b/drm/DrmDevice.cpp
@@ -161,7 +161,7 @@
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-cstyle-cast)
create_blob.data = (__u64)data;
- int ret = drmIoctl(GetFd(), DRM_IOCTL_MODE_CREATEPROPBLOB, &create_blob);
+ auto ret = drmIoctl(GetFd(), DRM_IOCTL_MODE_CREATEPROPBLOB, &create_blob);
if (ret != 0) {
ALOGE("Failed to create mode property blob %d", ret);
return {};
@@ -171,8 +171,8 @@
new uint32_t(create_blob.blob_id), [this](const uint32_t *it) {
struct drm_mode_destroy_blob destroy_blob {};
destroy_blob.blob_id = (__u32)*it;
- int err = drmIoctl(GetFd(), DRM_IOCTL_MODE_DESTROYPROPBLOB,
- &destroy_blob);
+ auto err = drmIoctl(GetFd(), DRM_IOCTL_MODE_DESTROYPROPBLOB,
+ &destroy_blob);
if (err != 0) {
ALOGE("Failed to destroy mode property blob %" PRIu32 "/%d", *it,
err);
@@ -231,7 +231,7 @@
return false;
}
- bool is_kms = res->count_crtcs > 0 && res->count_connectors > 0 &&
+ auto is_kms = res->count_crtcs > 0 && res->count_connectors > 0 &&
res->count_encoders > 0;
return is_kms;
diff --git a/drm/DrmDisplayPipeline.cpp b/drm/DrmDisplayPipeline.cpp
index e81544d..7973529 100644
--- a/drm/DrmDisplayPipeline.cpp
+++ b/drm/DrmDisplayPipeline.cpp
@@ -171,9 +171,9 @@
std::vector<std::shared_ptr<BindingOwner<DrmPlane>>> planes;
planes.emplace_back(primary_plane);
- static bool use_overlay_planes = ReadUseOverlayProperty();
+ const static bool kUseOverlayPlanes = ReadUseOverlayProperty();
- if (use_overlay_planes) {
+ if (kUseOverlayPlanes) {
for (const auto &plane : device->GetPlanes()) {
if (plane->IsCrtcSupported(*crtc->Get())) {
if (plane->GetType() == DRM_PLANE_TYPE_OVERLAY) {
diff --git a/drm/DrmFbImporter.cpp b/drm/DrmFbImporter.cpp
index 585b789..f0be32f 100644
--- a/drm/DrmFbImporter.cpp
+++ b/drm/DrmFbImporter.cpp
@@ -37,6 +37,7 @@
auto DrmFbIdHandle::CreateInstance(BufferInfo *bo, GemHandle first_gem_handle,
DrmDevice &drm)
-> std::shared_ptr<DrmFbIdHandle> {
+ // NOLINTNEXTLINE(misc-const-correctness)
ATRACE_NAME("Import dmabufs and register FB");
// NOLINTNEXTLINE(cppcoreguidelines-owning-memory): priv. constructor usage
@@ -61,7 +62,7 @@
}
}
- bool has_modifiers = bo->modifiers[0] != DRM_FORMAT_MOD_NONE &&
+ auto has_modifiers = bo->modifiers[0] != DRM_FORMAT_MOD_NONE &&
bo->modifiers[0] != DRM_FORMAT_MOD_INVALID;
if (!drm.HasAddFb2ModifiersSupport() && has_modifiers) {
@@ -92,6 +93,7 @@
}
DrmFbIdHandle::~DrmFbIdHandle() {
+ // NOLINTNEXTLINE(misc-const-correctness)
ATRACE_NAME("Close FB and dmabufs");
/* Destroy framebuffer object */
@@ -116,7 +118,7 @@
continue;
}
gem_close.handle = gem_handles_[i];
- int32_t err = drmIoctl(drm_->GetFd(), DRM_IOCTL_GEM_CLOSE, &gem_close);
+ auto err = drmIoctl(drm_->GetFd(), DRM_IOCTL_GEM_CLOSE, &gem_close);
if (err != 0) {
ALOGE("Failed to close gem handle %d, errno: %d", gem_handles_[i], errno);
}
@@ -127,8 +129,7 @@
-> std::shared_ptr<DrmFbIdHandle> {
/* Lookup DrmFbIdHandle in cache first. First handle serves as a cache key. */
GemHandle first_handle = 0;
- int32_t err = drmPrimeFDToHandle(drm_->GetFd(), bo->prime_fds[0],
- &first_handle);
+ auto err = drmPrimeFDToHandle(drm_->GetFd(), bo->prime_fds[0], &first_handle);
if (err != 0) {
ALOGE("Failed to import prime fd %d ret=%d", bo->prime_fds[0], err);
diff --git a/drm/DrmPlane.cpp b/drm/DrmPlane.cpp
index 5051d35..76a2c6e 100644
--- a/drm/DrmPlane.cpp
+++ b/drm/DrmPlane.cpp
@@ -169,6 +169,11 @@
}
bool DrmPlane::IsValidForLayer(LayerData *layer) {
+ if (layer == nullptr || !layer->bi) {
+ ALOGE("%s: Invalid parameters", __func__);
+ return false;
+ }
+
if (!rotation_property_) {
if (layer->pi.transform != LayerTransform::kIdentity) {
ALOGV("No rotation property on plane %d", GetId());
@@ -193,7 +198,7 @@
return false;
}
- uint32_t format = layer->bi->format;
+ auto format = layer->bi->format;
if (!IsFormatSupported(format)) {
ALOGV("Plane %d does not supports %c%c%c%c format", GetId(), format,
format >> 8, format >> 16, format >> 24);
@@ -241,8 +246,8 @@
auto DrmPlane::AtomicSetState(drmModeAtomicReq &pset, LayerData &layer,
uint32_t zpos, uint32_t crtc_id) -> int {
- if (!layer.fb) {
- ALOGE("Expected a valid framebuffer for pset");
+ if (!layer.fb || !layer.bi) {
+ ALOGE("%s: Invalid arguments", __func__);
return -EINVAL;
}
@@ -317,8 +322,8 @@
auto DrmPlane::GetPlaneProperty(const char *prop_name, DrmProperty &property,
Presence presence) -> bool {
- int err = drm_->GetProperty(GetId(), DRM_MODE_OBJECT_PLANE, prop_name,
- &property);
+ auto err = drm_->GetProperty(GetId(), DRM_MODE_OBJECT_PLANE, prop_name,
+ &property);
if (err != 0) {
if (presence == Presence::kMandatory) {
ALOGE("Could not get mandatory property \"%s\" from plane %d", prop_name,
diff --git a/drm/DrmProperty.cpp b/drm/DrmProperty.cpp
index 32f1c62..e0bf25e 100644
--- a/drm/DrmProperty.cpp
+++ b/drm/DrmProperty.cpp
@@ -50,7 +50,7 @@
values_.emplace_back(p->values[i]);
for (int i = 0; i < p->count_enums; ++i)
- enums_.emplace_back(DrmPropertyEnum(&p->enums[i]));
+ enums_.emplace_back(&p->enums[i]);
for (int i = 0; i < p->count_blobs; ++i)
blob_ids_.emplace_back(p->blob_ids[i]);
diff --git a/drm/ResourceManager.cpp b/drm/ResourceManager.cpp
index dbf0993..fb5c32b 100644
--- a/drm/ResourceManager.cpp
+++ b/drm/ResourceManager.cpp
@@ -54,8 +54,8 @@
char path_pattern[PROPERTY_VALUE_MAX];
// Could be a valid path or it can have at the end of it the wildcard %
// which means that it will try open all devices until an error is met.
- int path_len = property_get("vendor.hwc.drm.device", path_pattern,
- "/dev/dri/card%");
+ auto path_len = property_get("vendor.hwc.drm.device", path_pattern,
+ "/dev/dri/card%");
if (path_pattern[path_len - 1] != '%') {
auto dev = DrmDevice::CreateInstance(path_pattern, this);
if (dev) {
@@ -123,8 +123,8 @@
for (auto *conn : ordered_connectors) {
conn->UpdateModes();
- bool connected = conn->IsConnected();
- bool attached = attached_pipelines_.count(conn) != 0;
+ auto connected = conn->IsConnected();
+ auto attached = attached_pipelines_.count(conn) != 0;
if (connected != attached) {
ALOGI("%s connector %s", connected ? "Attaching" : "Detaching",
diff --git a/drm/UEventListener.cpp b/drm/UEventListener.cpp
index b56b8e1..79f23c4 100644
--- a/drm/UEventListener.cpp
+++ b/drm/UEventListener.cpp
@@ -47,8 +47,8 @@
if (!hotplug_handler_ || !uevent_str)
continue;
- bool drm_event = uevent_str->find("DEVTYPE=drm_minor") != std::string::npos;
- bool hotplug_event = uevent_str->find("HOTPLUG=1") != std::string::npos;
+ auto drm_event = uevent_str->find("DEVTYPE=drm_minor") != std::string::npos;
+ auto hotplug_event = uevent_str->find("HOTPLUG=1") != std::string::npos;
if (drm_event && hotplug_event) {
constexpr useconds_t kDelayAfterUeventUs = 200000;
diff --git a/drm/VSyncWorker.cpp b/drm/VSyncWorker.cpp
index ed41189..7b4fae4 100644
--- a/drm/VSyncWorker.cpp
+++ b/drm/VSyncWorker.cpp
@@ -84,10 +84,10 @@
refresh = pipe_->connector->Get()->GetActiveMode().v_refresh();
}
- int64_t phased_timestamp = GetPhasedVSync(kOneSecondNs /
- static_cast<int>(refresh),
- vsync.tv_sec * kOneSecondNs +
- vsync.tv_nsec);
+ auto phased_timestamp = GetPhasedVSync(kOneSecondNs /
+ static_cast<int>(refresh),
+ vsync.tv_sec * kOneSecondNs +
+ vsync.tv_nsec);
vsync.tv_sec = phased_timestamp / kOneSecondNs;
vsync.tv_nsec = int(phased_timestamp - (vsync.tv_sec * kOneSecondNs));
do {
@@ -120,8 +120,8 @@
drmVBlank vblank{};
if (pipe != nullptr) {
- uint32_t high_crtc = (pipe->crtc->Get()->GetIndexInResArray()
- << DRM_VBLANK_HIGH_CRTC_SHIFT);
+ auto high_crtc = (pipe->crtc->Get()->GetIndexInResArray()
+ << DRM_VBLANK_HIGH_CRTC_SHIFT);
vblank.request.type = (drmVBlankSeqType)(DRM_VBLANK_RELATIVE |
(high_crtc &