Re: [PATCH] omap-hsmmc: Implementation of i761 errata

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

 



On Mon, Aug 20, 2012 at 12:08 PM, S, Venkatraman <svenkatr@xxxxxx> wrote:
>
> On Fri, Aug 17, 2012 at 11:43 PM, Puttagunta, Viswanath <vishp@xxxxxx>
> wrote:
> > On Fri, Aug 17, 2012 at 12:28 PM, S, Venkatraman <svenkatr@xxxxxx>
> > wrote:
> >> On Fri, Aug 17, 2012 at 9:35 PM, Semen Protsenko
> >> <semen.protsenko@xxxxxx> wrote:
> >>> Errata description:
> >>> Due to a bad behavior of an internal signal, the Card Error interrupt
> >>> bit
> >>> MMCHS_STAT[28] CERR may not be set sometimes when an error occurred in
> >>> the
> >>> card response.
> >>>
> >>> Workaround:
> >>> After responses of type R1/R1b for all cards and responses of type
> >>> R5/R5b/R6
> >>> for SD and SDIO cards, software must read two registers: MMCHS_RSP10
> >>> and
> >>> MMCHS_CSRE. When a MMCHS_CSRE[i] bit is set to 1, if the corresponding
> >>> bit at
> >>> the same position in the response MMCHS_RSP10[i] is set to 1, the host
> >>> controller indicates a card error and software should proceed in the
> >>> same way
> >>> as if a CERR interrupt would have been detected in the MMCHS_STAT
> >>> register.
> >>>
> >>> Note:
> >>> This errata is applicable for omap44xx.
> >>>
> >>> Signed-off-by: Semen Protsenko <semen.protsenko@xxxxxx>
> >>
> >> The implementation looks fine, but can we simply not set the errata
> >> flag and make this as default
> >> behaviour ? I suppose the documented behaviour with CSRE and RSP10 is
> >> independent of the
> >> errata..
> >>
> >> Also, please send it to the linux-mmc list as well.
> >
> > Vish>> We don't know if this errata effects OMAP5 as well. So, I think
> > we should only do this if we are OMAP4.
> >
> That's precisely why the code shouldn't check for cpu_() flags. There are
> other
> OMAP variants as well and we can't check all of them
> What I mean is to make the check for RSP10 and CSRE all the time as part
> of the IRQ check.
>   Then it equally applies to silcon with or without errata.

Apart from above comment, please don't add the cpu_is_xxx() check inside
device driver. You can pass that information from platform code
while registering the MMC controllers using a flag and then just
use that flag to enable/disable errata in the driver.

Regards
Santosh
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux