From bbe22a1056ea768ae1285bfeef6488c25a23ecd8 Mon Sep 17 00:00:00 2001 From: Hung-Yeh Lee Date: Thu, 19 Dec 2024 13:10:37 +0800 Subject: [PATCH] display-dump: update project-specific crtc sysfs node Refactor and rename project-specific dump Bug: 376426334 Test: adb bugreport Test: adb shell /vendor/bin/dump/dump_*_display Test: adb shell /vendor/bin/dump/dump_*_second_display Flag: EXEMPT bugfix Change-Id: I7bf470e5784e0fd726c49823b55aae6235aceaec --- display/Android.bp | 40 ++++++++++++++++--- .../{ => common}/dump_display_userdebug.sh | 0 display/dump_exynos_display.mk | 4 ++ display/dump_exynos_second_display.mk | 3 ++ display/{dump.mk => dump_pixel_display.mk} | 4 +- display/dump_pixel_second_display.mk | 3 ++ display/dump_second_display.mk | 3 -- display/{ => exynos}/dump_display.cpp | 2 +- display/{ => exynos}/dump_second_display.cpp | 2 +- display/pixel/dump_display.cpp | 29 ++++++++++++++ display/pixel/dump_second_display.cpp | 25 ++++++++++++ 11 files changed, 103 insertions(+), 12 deletions(-) rename display/{ => common}/dump_display_userdebug.sh (100%) create mode 100644 display/dump_exynos_display.mk create mode 100644 display/dump_exynos_second_display.mk rename display/{dump.mk => dump_pixel_display.mk} (69%) create mode 100644 display/dump_pixel_second_display.mk delete mode 100644 display/dump_second_display.mk rename display/{ => exynos}/dump_display.cpp (90%) rename display/{ => exynos}/dump_second_display.cpp (89%) create mode 100644 display/pixel/dump_display.cpp create mode 100644 display/pixel/dump_second_display.cpp diff --git a/display/Android.bp b/display/Android.bp index 63dd76e..1a90b51 100644 --- a/display/Android.bp +++ b/display/Android.bp @@ -4,14 +4,14 @@ package { sh_binary { name: "dump_display_userdebug.sh", - src: "dump_display_userdebug.sh", + src: "common/dump_display_userdebug.sh", vendor: true, sub_dir: "dump", } cc_binary { - name: "dump_display", - srcs: ["dump_display.cpp"], + name: "dump_exynos_display", + srcs: ["exynos/dump_display.cpp"], cflags: [ "-Wall", "-Wextra", @@ -26,8 +26,8 @@ cc_binary { } cc_binary { - name: "dump_second_display", - srcs: ["dump_second_display.cpp"], + name: "dump_exynos_second_display", + srcs: ["exynos/dump_second_display.cpp"], cflags: [ "-Wall", "-Wextra", @@ -40,3 +40,33 @@ cc_binary { relative_install_path: "dump", } +cc_binary { + name: "dump_pixel_display", + srcs: ["pixel/dump_display.cpp"], + cflags: [ + "-Wall", + "-Wextra", + "-Werror", + ], + shared_libs: [ + "libbase", + "libdump", + ], + vendor: true, + relative_install_path: "dump", +} + +cc_binary { + name: "dump_pixel_second_display", + srcs: ["pixel/dump_second_display.cpp"], + cflags: [ + "-Wall", + "-Wextra", + "-Werror", + ], + shared_libs: [ + "libdump", + ], + vendor: true, + relative_install_path: "dump", +} diff --git a/display/dump_display_userdebug.sh b/display/common/dump_display_userdebug.sh similarity index 100% rename from display/dump_display_userdebug.sh rename to display/common/dump_display_userdebug.sh diff --git a/display/dump_exynos_display.mk b/display/dump_exynos_display.mk new file mode 100644 index 0000000..d20ba9d --- /dev/null +++ b/display/dump_exynos_display.mk @@ -0,0 +1,4 @@ +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/display/sepolicy/exynos + +PRODUCT_PACKAGES_DEBUG += dump_display_userdebug.sh +PRODUCT_PACKAGES += dump_exynos_display diff --git a/display/dump_exynos_second_display.mk b/display/dump_exynos_second_display.mk new file mode 100644 index 0000000..5a6afe6 --- /dev/null +++ b/display/dump_exynos_second_display.mk @@ -0,0 +1,3 @@ +PRODUCT_PACKAGES += dump_exynos_second_display +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/display/sepolicy_second_display/exynos + diff --git a/display/dump.mk b/display/dump_pixel_display.mk similarity index 69% rename from display/dump.mk rename to display/dump_pixel_display.mk index 2af14da..e9e7b73 100644 --- a/display/dump.mk +++ b/display/dump_pixel_display.mk @@ -1,4 +1,4 @@ -BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/display/sepolicy +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/display/sepolicy/pixel PRODUCT_PACKAGES_DEBUG += dump_display_userdebug.sh -PRODUCT_PACKAGES += dump_display +PRODUCT_PACKAGES += dump_pixel_display diff --git a/display/dump_pixel_second_display.mk b/display/dump_pixel_second_display.mk new file mode 100644 index 0000000..15cf7fd --- /dev/null +++ b/display/dump_pixel_second_display.mk @@ -0,0 +1,3 @@ +PRODUCT_PACKAGES += dump_pixel_second_display +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/display/sepolicy_second_display/pixel + diff --git a/display/dump_second_display.mk b/display/dump_second_display.mk deleted file mode 100644 index dfab73e..0000000 --- a/display/dump_second_display.mk +++ /dev/null @@ -1,3 +0,0 @@ -PRODUCT_PACKAGES += dump_second_display -BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/display/sepolicy_second_display - diff --git a/display/dump_display.cpp b/display/exynos/dump_display.cpp similarity index 90% rename from display/dump_display.cpp rename to display/exynos/dump_display.cpp index f57a134..2e03a63 100644 --- a/display/dump_display.cpp +++ b/display/exynos/dump_display.cpp @@ -18,7 +18,7 @@ int main() { setbuf(stdout, NULL); - dumpFileContent("DECON-0 counters /sys/class/drm/card0/device/decon0/counters", "/sys/class/drm/card0/device/decon0/counters"); + dumpFileContent("DECON-0 counters", "/sys/class/drm/card0/device/decon0/counters"); dumpFileContent("CRTC-0 event log", "/sys/kernel/debug/dri/0/crtc-0/event"); runCommand("libdisplaycolor", "/vendor/bin/dumpsys displaycolor -v"); diff --git a/display/dump_second_display.cpp b/display/exynos/dump_second_display.cpp similarity index 89% rename from display/dump_second_display.cpp rename to display/exynos/dump_second_display.cpp index 9590c7f..c05ce9a 100644 --- a/display/dump_second_display.cpp +++ b/display/exynos/dump_second_display.cpp @@ -16,7 +16,7 @@ #include int main() { - dumpFileContent("DECON-1 counters /sys/class/drm/card0/device/decon1/counters", "/sys/class/drm/card0/device/decon1/counters"); + dumpFileContent("DECON-1 counters", "/sys/class/drm/card0/device/decon1/counters"); dumpFileContent("CRTC-1 event log", "/sys/kernel/debug/dri/0/crtc-1/event"); dumpFileContent("Secondary panel name", "/sys/class/drm/card0/device/secondary-panel/panel_name"); diff --git a/display/pixel/dump_display.cpp b/display/pixel/dump_display.cpp new file mode 100644 index 0000000..1014977 --- /dev/null +++ b/display/pixel/dump_display.cpp @@ -0,0 +1,29 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include +#include + +int main() { + setbuf(stdout, NULL); + dumpFileContent("CRTC-0 status", "/sys/kernel/debug/dri/0/crtc-0/status"); + runCommand("libdisplaycolor", "/vendor/bin/dumpsys displaycolor -v"); + + dumpFileContent("Primary panel name", "/sys/class/drm/card0/device/primary-panel/panel_name"); + dumpFileContent("Primary panel extra info", "/sys/class/drm/card0/device/primary-panel/panel_extinfo"); + dumpFileContent("Primary panel power Vreg", "/sys/class/drm/card0/device/primary-panel/panel_pwr_vreg"); + dumpFileContent("Primary panel power mode register", "/sys/class/drm/card0/device/primary-panel/power_mode"); + return 0; +} diff --git a/display/pixel/dump_second_display.cpp b/display/pixel/dump_second_display.cpp new file mode 100644 index 0000000..92e6e99 --- /dev/null +++ b/display/pixel/dump_second_display.cpp @@ -0,0 +1,25 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include + +int main() { + dumpFileContent("CRTC-1 status", "/sys/kernel/debug/dri/0/crtc-1/status"); + + dumpFileContent("Secondary panel name", "/sys/class/drm/card0/device/secondary-panel/panel_name"); + dumpFileContent("Secondary panel extra info", "/sys/class/drm/card0/device/secondary-panel/panel_extinfo"); + dumpFileContent("Secondary panel power mode register", "/sys/class/drm/card0/device/secondary-panel/power_mode"); + return 0; +}