Pixelstats: add more UFS error count paths

The UFS resume flow also increase the reset count.
It makes the reset count cannot represent the real
error count. So we use other count instead of reset count

Bug: 199459367
Test: run storage-qa pixel/022
Change-Id: I853bd5da410b78a0f9a76beee2e4745f68ddba59
Signed-off-by: Ocean Chen <oceanchen@google.com>
This commit is contained in:
Ocean Chen 2021-09-09 02:56:32 +00:00 committed by TreeHugger Robot
parent 28fba1a966
commit fd961279ba

View file

@ -26,6 +26,7 @@ using android::hardware::google::pixel::SysfsCollector;
using android::hardware::google::pixel::UeventListener; using android::hardware::google::pixel::UeventListener;
#define UFSHC_PATH(filename) "/dev/sys/block/bootdevice/" #filename #define UFSHC_PATH(filename) "/dev/sys/block/bootdevice/" #filename
#define UFS_ERR_PATH(err_type) UFSHC_PATH(err_stats/) #err_type
const struct SysfsCollector::SysfsPaths sysfs_paths = { const struct SysfsCollector::SysfsPaths sysfs_paths = {
.SlowioReadCntPath = UFSHC_PATH(slowio_read_cnt), .SlowioReadCntPath = UFSHC_PATH(slowio_read_cnt),
.SlowioWriteCntPath = UFSHC_PATH(slowio_write_cnt), .SlowioWriteCntPath = UFSHC_PATH(slowio_write_cnt),
@ -35,7 +36,6 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = {
.UFSLifetimeA = UFSHC_PATH(health_descriptor/life_time_estimation_a), .UFSLifetimeA = UFSHC_PATH(health_descriptor/life_time_estimation_a),
.UFSLifetimeB = UFSHC_PATH(health_descriptor/life_time_estimation_b), .UFSLifetimeB = UFSHC_PATH(health_descriptor/life_time_estimation_b),
.UFSLifetimeC = UFSHC_PATH(health_descriptor/life_time_estimation_c), .UFSLifetimeC = UFSHC_PATH(health_descriptor/life_time_estimation_c),
.UFSHostResetPath = UFSHC_PATH(err_stats/dev_reset_count),
.F2fsStatsPath = "/sys/fs/f2fs/", .F2fsStatsPath = "/sys/fs/f2fs/",
.ImpedancePath = "/sys/devices/platform/audiometrics/speaker_impedance", .ImpedancePath = "/sys/devices/platform/audiometrics/speaker_impedance",
.CodecPath = "/sys/devices/platform/audiometrics/codec_state", .CodecPath = "/sys/devices/platform/audiometrics/codec_state",
@ -43,7 +43,16 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = {
.MitigationPath = "/sys/devices/virtual/pmic/mitigation", .MitigationPath = "/sys/devices/virtual/pmic/mitigation",
.SpeakerTemperaturePath = "/sys/devices/platform/audiometrics/speaker_temp", .SpeakerTemperaturePath = "/sys/devices/platform/audiometrics/speaker_temp",
.SpeakerExcursionPath = "/sys/devices/platform/audiometrics/speaker_excursion", .SpeakerExcursionPath = "/sys/devices/platform/audiometrics/speaker_excursion",
.SpeakerHeartBeatPath = "/sys/devices/platform/audiometrics/speaker_heartbeat" .SpeakerHeartBeatPath = "/sys/devices/platform/audiometrics/speaker_heartbeat",
.UFSErrStatsPath = {
UFS_ERR_PATH(pa_err_count),
UFS_ERR_PATH(dl_err_count),
UFS_ERR_PATH(nl_err_count),
UFS_ERR_PATH(tl_err_count),
UFS_ERR_PATH(dme_err_count),
UFS_ERR_PATH(fatal_err_count),
UFS_ERR_PATH(auto_hibern8_err_count)
}
}; };
const struct UeventListener::UeventPaths ueventPaths = { const struct UeventListener::UeventPaths ueventPaths = {