dumpstate: add HWC fence state, error log, and debug dump files

Add some HWC log files in /data/vendor/log/hwc to dumpstate, i.e.

[1] hwc_fence_state.txt: contains the dump of fence state when there's
a fence leak warning. We can also execute `vndservice call
Exynos.HWCService 11 i32 0 i32 308 i32 1` to trigger the dump to this
file. The size of this file is limited to about 1 MB.

[2] hwc_error_log.txt: contains some early logs of ALOGE() from HWC.
The size of this file is limited to about 1 MB.

[3] {display_name}_hwc_debug0.dump - {display_name}_hwc_debug9.dump:
contain the debug dumps when there are some failures in HWC (e.g.
failures in validateDisplay() or presentDisplay()). HWC will only limit
up to first 10 debug dumps per display to be saved in separated files.

Bug: 230361290
Test: adb bugreport
Change-Id: If2158a326faef96c0e0cd4e93a17ec420409bf1e
This commit is contained in:
Wiwit Rifa'i 2022-08-16 13:02:49 +08:00 committed by TreeHugger Robot
parent d50d07b1a0
commit be25a86c46

View file

@ -963,6 +963,14 @@ void DumpstateDevice::dumpDisplaySection(int fd) {
CommandOptions::WithTimeout(2).Build());
DumpFileToFd(fd, "Primary panel extra info", "/sys/devices/platform/exynos-drm/primary-panel/panel_extinfo");
DumpFileToFd(fd, "secondary panel extra info", "/sys/devices/platform/exynos-drm/secondary-panel/panel_extinfo");
if (!PropertiesHelper::IsUserBuild()) {
DumpFileToFd(fd, "HWC Fence State", "/data/vendor/log/hwc/hwc_fence_state.txt");
DumpFileToFd(fd, "HWC Error Log", "/data/vendor/log/hwc/hwc_error_log.txt");
RunCommandToFd(fd, "HWC Debug Dumps", {"/vendor/bin/sh", "-c",
"for f in $(ls /data/vendor/log/hwc/*_hwc_debug*.dump); do "
"echo $f ; cat $f ; done"},
CommandOptions::WithTimeout(2).Build());
}
}
// Dump items related to AoC