diff options
author | Naseer Ahmed <naseer@codeaurora.org> | 2017-05-30 17:01:44 -0400 |
---|---|---|
committer | Naseer Ahmed <naseer@codeaurora.org> | 2017-06-29 19:47:35 -0400 |
commit | 878959394bd5863b8fb1272d1db62f36a1b73401 (patch) | |
tree | 62da268216b4049e41a50d20c021b50a72a9f388 /sdm/libs/core/fb/hw_device.cpp | |
parent | 0b1ad3537b0c5f790be4222263146da266cbdc9e (diff) | |
download | display-878959394bd5863b8fb1272d1db62f36a1b73401.tar.gz |
sdm: Save debug logs on pingpong timeout
Save xlogs in /data/vendor/display on pingpong timeout for
userdebug/eng builds
Change-Id: I8a60452af44797c8a425e84706375d3209612692
Diffstat (limited to 'sdm/libs/core/fb/hw_device.cpp')
-rw-r--r-- | sdm/libs/core/fb/hw_device.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/sdm/libs/core/fb/hw_device.cpp b/sdm/libs/core/fb/hw_device.cpp index 773845b4..21a23160 100644 --- a/sdm/libs/core/fb/hw_device.cpp +++ b/sdm/libs/core/fb/hw_device.cpp @@ -1359,5 +1359,33 @@ DisplayError HWDevice::GetMixerAttributes(HWMixerAttributes *mixer_attributes) { return kErrorNone; } +DisplayError HWDevice::DumpDebugData() { + DLOGW("Pingpong timeout occurred in the driver."); +#ifdef USER_DEBUG + // Save the xlogs on ping pong time out + std::ofstream dst("/data/vendor/display/mdp_xlog"); + dst << "+++ MDP:XLOG +++" << std::endl; + std::ifstream src("/sys/kernel/debug/mdp/xlog/dump"); + dst << src.rdbuf() << std::endl; + src.close(); + + dst << "+++ MDP:REG_XLOG +++" << std::endl; + src.open("/sys/kernel/debug/mdp/xlog/reg_xlog"); + dst << src.rdbuf() << std::endl; + src.close(); + + dst << "+++ MDP:DBGBUS_XLOG +++" << std::endl; + src.open("/sys/kernel/debug/mdp/xlog/dbgbus_xlog"); + dst << src.rdbuf() << std::endl; + src.close(); + + dst << "+++ MDP:VBIF_DBGBUS_XLOG +++" << std::endl; + src.open("/sys/kernel/debug/mdp/xlog/vbif_dbgbus_xlog"); + dst << src.rdbuf() << std::endl; + src.close(); +#endif + return kErrorNone; +} + } // namespace sdm |