RE: [PATCH V4 6/7] mmc: sdhci: Set error state for mmc driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> Sent: Wednesday, March 16, 2022 11:28 AM
> To: Sajida Bhanu (Temp) (QUIC) <quic_c_sbhanu@xxxxxxxxxxx>; Asutosh
> Das (asd) <asutoshd@xxxxxxxxxxx>; ulf.hansson@xxxxxxxxxx;
> agross@xxxxxxxxxx; bjorn.andersson@xxxxxxxxxx; linux-
> mmc@xxxxxxxxxxxxxxx; linux-arm-msm@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Cc: Veerabhadrarao Badiganti (QUIC) <quic_vbadigan@xxxxxxxxxxx>; Ram
> Prakash Gupta (QUIC) <quic_rampraka@xxxxxxxxxxx>; Pradeep Pragallapati
> (QUIC) <quic_pragalla@xxxxxxxxxxx>; Sarthak Garg (QUIC)
> <quic_sartgarg@xxxxxxxxxxx>; Nitin Rawat (QUIC)
> <quic_nitirawa@xxxxxxxxxxx>; Sayali Lokhande (QUIC)
> <quic_sayalil@xxxxxxxxxxx>; Sayali Lokhande <sayalil@xxxxxxxxxxxxxx>; Bao
> D . Nguyen <nguyenb@xxxxxxxxxxxxxx>
> Subject: Re: [PATCH V4 6/7] mmc: sdhci: Set error state for mmc driver
> 
> On 12/03/2022 20:15, Sajida Bhanu (Temp) (QUIC) wrote:
> > Hi,
> >
> > Thanks for the review.
> >
> > Please find the inline comments.
> >
> > Thanks,
> > Sajida
> >> -----Original Message-----
> >> From: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> >> Sent: Tuesday, March 8, 2022 3:36 PM
> >> To: Sajida Bhanu (Temp) (QUIC) <quic_c_sbhanu@xxxxxxxxxxx>; Asutosh
> >> Das (asd) <asutoshd@xxxxxxxxxxx>; ulf.hansson@xxxxxxxxxx;
> >> agross@xxxxxxxxxx; bjorn.andersson@xxxxxxxxxx; linux-
> >> mmc@xxxxxxxxxxxxxxx; linux-arm-msm@xxxxxxxxxxxxxxx; linux-
> >> kernel@xxxxxxxxxxxxxxx
> >> Cc: Veerabhadrarao Badiganti (QUIC) <quic_vbadigan@xxxxxxxxxxx>; Ram
> >> Prakash Gupta (QUIC) <quic_rampraka@xxxxxxxxxxx>; Pradeep
> >> Pragallapati
> >> (QUIC) <quic_pragalla@xxxxxxxxxxx>; Sarthak Garg (QUIC)
> >> <quic_sartgarg@xxxxxxxxxxx>; Nitin Rawat (QUIC)
> >> <quic_nitirawa@xxxxxxxxxxx>; Sayali Lokhande (QUIC)
> >> <quic_sayalil@xxxxxxxxxxx>; Sayali Lokhande <sayalil@xxxxxxxxxxxxxx>;
> >> Bao D . Nguyen <nguyenb@xxxxxxxxxxxxxx>
> >> Subject: Re: [PATCH V4 6/7] mmc: sdhci: Set error state for mmc
> >> driver
> >>
> >> On 2.3.2022 15.03, Shaik Sajida Bhanu wrote:
> >>> Set error state if any errors observed in eMMC and SD card driver level.
> >>>
> >>> Signed-off-by: Liangliang Lu <luliang@xxxxxxxxxxxxxx>
> >>> Signed-off-by: Sayali Lokhande <sayalil@xxxxxxxxxxxxxx>
> >>> Signed-off-by: Bao D. Nguyen <nguyenb@xxxxxxxxxxxxxx>
> >>> Signed-off-by: Ram Prakash Gupta <quic_rampraka@xxxxxxxxxxx>
> >>> Signed-off-by: Shaik Sajida Bhanu <quic_c_sbhanu@xxxxxxxxxxx>
> >>> ---
> >>>  drivers/mmc/host/sdhci.c | 22 ++++++++++++++++++++++
> >>>  1 file changed, 22 insertions(+)
> >>>
> >>> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> >>> index
> >>> 741fb06..4ba3797 100644
> >>> --- a/drivers/mmc/host/sdhci.c
> >>> +++ b/drivers/mmc/host/sdhci.c
> >>> @@ -224,6 +224,8 @@ void sdhci_reset(struct sdhci_host *host, u8
> mask)
> >>>  		if (timedout) {
> >>>  			pr_err("%s: Reset 0x%x never completed.\n",
> >>>  				mmc_hostname(host->mmc), (int)mask);
> >>> +			if (host->mmc && !host->mmc->err_state)
> >>> +				mmc_debugfs_err_stats_enable(host-
> >>> mmc);
> >>
> >> I really do not understand why this cannot be another err_stats entry
> >> such as MMC_ERR_DRIVER and then as below?
> >>
> >> 			sdhci_err_stats_inc(host, DRIVER);
> >>
> >>
> > Hi,
> >
> > err_stats having all the error types.
> > err_state is not the error type, if err_state set means some errors occurred
> in driver and we will go and check err_stats to know exact error.
> 
> 
> In sdhci.c use only sdhci_err_stats_inc() adding err_stats entries as needed.
> Seems like there are controller timeouts (say MMC_ERR_CTRL_TIMEOUT)
> and unexpected interrupts (say MMC_ERR_UNEXPECTED_IRQ)
> 
> In drivers/mmc/core/debugfs.c calculate err_state as needed e.g.
> 
> static int mmc_err_state_get(void *data, u64 *val) {
> 	struct mmc_host *host = data;
> 
> 	*val = host->err_stats[MMC_ERR_REQ_TIMEOUT] ||
> 	       host->err_stats[MMC_ERR_CTRL_TIMEOUT] ||
> 	       host->err_stats[MMC_ERR_UNEXPECTED_IRQ] ||
> 	       <etc>
> 
> 	return 0;
> }
Hi,

Thank you for the suggestion, sure will make the changes.

Thanks,
Sajida




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux