On 3/02/21 8:53 am, DooHyun Hwang wrote: > Since the total error history count is unknown because the error history > records only the number of UFS_EVENT_HIST_LENGTH, add a member to count > each error history. > > Signed-off-by: DooHyun Hwang <dh0421.hwang@xxxxxxxxxxx> Hi Please note that the following patch is already queued - see linux-next commit b6cacaf2044fd9b82e5ceac88d8d17e04a01982f Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jan 7 09:25:38 2021 +0200 scsi: ufs: ufs-debugfs: Add error counters People testing have a need to know how many errors might be occurring over time. Add error counters and expose them via debugfs. A module initcall is used to create a debugfs root directory for ufshcd-related items. In the case that modules are built-in, then initialization is done in link order, so move ufshcd-core to the top of the Makefile. Link: https://lore.kernel.org/r/20210107072538.21782-1-adrian.hunter@xxxxxxxxx Reviewed-by: Avri Altman <avri.altman@xxxxxxx> Reviewed-by: Bean Huo <beanhuo@xxxxxxxxxx> Reviewed-by: Can Guo <cang@xxxxxxxxxxxxxx> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> > --- > drivers/scsi/ufs/ufshcd.c | 3 +++ > drivers/scsi/ufs/ufshcd.h | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > index fb32d122f2e3..7ebc892553fc 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -437,6 +437,8 @@ static void ufshcd_print_evt(struct ufs_hba *hba, u32 id, > > if (!found) > dev_err(hba->dev, "No record of %s\n", err_name); > + else > + dev_err(hba->dev, "%s: total count=%u\n", err_name, e->count); > } > > static void ufshcd_print_evt_hist(struct ufs_hba *hba) > @@ -4544,6 +4546,7 @@ void ufshcd_update_evt_hist(struct ufs_hba *hba, u32 id, u32 val) > e->val[e->pos] = val; > e->tstamp[e->pos] = ktime_get(); > e->pos = (e->pos + 1) % UFS_EVENT_HIST_LENGTH; > + e->count++; > > ufshcd_vops_event_notify(hba, id, &val); > } > diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h > index aa9ea3552323..df28d3fc89a5 100644 > --- a/drivers/scsi/ufs/ufshcd.h > +++ b/drivers/scsi/ufs/ufshcd.h > @@ -450,6 +450,7 @@ struct ufs_event_hist { > int pos; > u32 val[UFS_EVENT_HIST_LENGTH]; > ktime_t tstamp[UFS_EVENT_HIST_LENGTH]; > + u32 count; > }; > > /** >