Message ID | 1495126660-25044-1-git-send-email-srinath.mannam@broadcom.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 18/05/17 19:57, Srinath Mannam wrote: > The stingray SDHCI hardware supports ACMD12 and automatically > issues after multi block transfer completed. > > If ACMD12 in SDHCI is disabled, spurious tx done interrupts are seen > on multi block read command with below error message: > > Got data interrupt 0x00000002 even though no data > operation was in progress. > > This patch uses SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 to enable > ACM12 support in SDHCI hardware and suppress spurious interrupt. > > Signed-off-by: Srinath Mannam <srinath.mannam@broadcom.com> > Reviewed-by: Ray Jui <ray.jui@broadcom.com> > Reviewed-by: Scott Branden <scott.branden@broadcom.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> > > diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c > index 3275d49..61666d2 100644 > --- a/drivers/mmc/host/sdhci-iproc.c > +++ b/drivers/mmc/host/sdhci-iproc.c > @@ -187,7 +187,8 @@ static const struct sdhci_iproc_data iproc_cygnus_data = { > }; > > static const struct sdhci_pltfm_data sdhci_iproc_pltfm_data = { > - .quirks = SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK, > + .quirks = SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK | > + SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12, > .quirks2 = SDHCI_QUIRK2_ACMD23_BROKEN, > .ops = &sdhci_iproc_ops, > }; >
On Fri, May 19, 2017 at 11:55 AM, Adrian Hunter <adrian.hunter@intel.com> wrote: > On 18/05/17 19:57, Srinath Mannam wrote: >> The stingray SDHCI hardware supports ACMD12 and automatically >> issues after multi block transfer completed. >> >> If ACMD12 in SDHCI is disabled, spurious tx done interrupts are seen >> on multi block read command with below error message: >> >> Got data interrupt 0x00000002 even though no data >> operation was in progress. >> >> This patch uses SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 to enable >> ACM12 support in SDHCI hardware and suppress spurious interrupt. >> >> Signed-off-by: Srinath Mannam <srinath.mannam@broadcom.com> >> Reviewed-by: Ray Jui <ray.jui@broadcom.com> >> Reviewed-by: Scott Branden <scott.branden@broadcom.com> > > Acked-by: Adrian Hunter <adrian.hunter@intel.com> Thanks Adrian... Will it be possible to take this for Linux-4.12?? Regards, Srinath
On 22 May 2017 at 13:52, Srinath Mannam <srinath.mannam@broadcom.com> wrote: > On Fri, May 19, 2017 at 11:55 AM, Adrian Hunter <adrian.hunter@intel.com> wrote: >> On 18/05/17 19:57, Srinath Mannam wrote: >>> The stingray SDHCI hardware supports ACMD12 and automatically >>> issues after multi block transfer completed. >>> >>> If ACMD12 in SDHCI is disabled, spurious tx done interrupts are seen >>> on multi block read command with below error message: >>> >>> Got data interrupt 0x00000002 even though no data >>> operation was in progress. >>> >>> This patch uses SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 to enable >>> ACM12 support in SDHCI hardware and suppress spurious interrupt. >>> >>> Signed-off-by: Srinath Mannam <srinath.mannam@broadcom.com> >>> Reviewed-by: Ray Jui <ray.jui@broadcom.com> >>> Reviewed-by: Scott Branden <scott.branden@broadcom.com> >> >> Acked-by: Adrian Hunter <adrian.hunter@intel.com> > > Thanks Adrian... > > Will it be possible to take this for Linux-4.12?? It's queued for 4.13, however are you saying it's a regression for 4.12? Then what commit fixes it? Perhaps you even want this to go stable? Kind regards Uffe
On Mon, May 22, 2017 at 5:31 PM, Ulf Hansson <ulf.hansson@linaro.org> wrote: > On 22 May 2017 at 13:52, Srinath Mannam <srinath.mannam@broadcom.com> wrote: >> On Fri, May 19, 2017 at 11:55 AM, Adrian Hunter <adrian.hunter@intel.com> wrote: >>> On 18/05/17 19:57, Srinath Mannam wrote: >>>> The stingray SDHCI hardware supports ACMD12 and automatically >>>> issues after multi block transfer completed. >>>> >>>> If ACMD12 in SDHCI is disabled, spurious tx done interrupts are seen >>>> on multi block read command with below error message: >>>> >>>> Got data interrupt 0x00000002 even though no data >>>> operation was in progress. >>>> >>>> This patch uses SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 to enable >>>> ACM12 support in SDHCI hardware and suppress spurious interrupt. >>>> >>>> Signed-off-by: Srinath Mannam <srinath.mannam@broadcom.com> >>>> Reviewed-by: Ray Jui <ray.jui@broadcom.com> >>>> Reviewed-by: Scott Branden <scott.branden@broadcom.com> >>> >>> Acked-by: Adrian Hunter <adrian.hunter@intel.com> >> >> Thanks Adrian... >> >> Will it be possible to take this for Linux-4.12?? > > It's queued for 4.13, however are you saying it's a regression for > 4.12? Then what commit fixes it? > > Perhaps you even want this to go stable? > > Kind regards > Uffe Yes, this is regression for 4.12. Fixes: b580c52d58d9 ("mmc: sdhci-iproc: add IPROC SDHCI driver") Yes we want this to go in stable. Thank you. Regards, Srinath.
On 22 May 2017 at 15:33, Srinath Mannam <srinath.mannam@broadcom.com> wrote: > On Mon, May 22, 2017 at 5:31 PM, Ulf Hansson <ulf.hansson@linaro.org> wrote: >> On 22 May 2017 at 13:52, Srinath Mannam <srinath.mannam@broadcom.com> wrote: >>> On Fri, May 19, 2017 at 11:55 AM, Adrian Hunter <adrian.hunter@intel.com> wrote: >>>> On 18/05/17 19:57, Srinath Mannam wrote: >>>>> The stingray SDHCI hardware supports ACMD12 and automatically >>>>> issues after multi block transfer completed. >>>>> >>>>> If ACMD12 in SDHCI is disabled, spurious tx done interrupts are seen >>>>> on multi block read command with below error message: >>>>> >>>>> Got data interrupt 0x00000002 even though no data >>>>> operation was in progress. >>>>> >>>>> This patch uses SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 to enable >>>>> ACM12 support in SDHCI hardware and suppress spurious interrupt. >>>>> >>>>> Signed-off-by: Srinath Mannam <srinath.mannam@broadcom.com> >>>>> Reviewed-by: Ray Jui <ray.jui@broadcom.com> >>>>> Reviewed-by: Scott Branden <scott.branden@broadcom.com> >>>> >>>> Acked-by: Adrian Hunter <adrian.hunter@intel.com> >>> >>> Thanks Adrian... >>> >>> Will it be possible to take this for Linux-4.12?? >> >> It's queued for 4.13, however are you saying it's a regression for >> 4.12? Then what commit fixes it? >> >> Perhaps you even want this to go stable? >> >> Kind regards >> Uffe > > Yes, this is regression for 4.12. > Fixes: b580c52d58d9 ("mmc: sdhci-iproc: add IPROC SDHCI driver") > Yes we want this to go in stable. > Alright, applied for fixes and added a stable tag. Kind regards Uffe
diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c index 3275d49..61666d2 100644 --- a/drivers/mmc/host/sdhci-iproc.c +++ b/drivers/mmc/host/sdhci-iproc.c @@ -187,7 +187,8 @@ static const struct sdhci_iproc_data iproc_cygnus_data = { }; static const struct sdhci_pltfm_data sdhci_iproc_pltfm_data = { - .quirks = SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK, + .quirks = SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK | + SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12, .quirks2 = SDHCI_QUIRK2_ACMD23_BROKEN, .ops = &sdhci_iproc_ops, };