On Tue, May 04, 2010 at 04:46:06PM -0700, akpm@xxxxxxxxxxxxxxxxxxxx wrote: > > The patch titled > mmc: s3c6410: add new quirk in sdhci driver and update ADMA descriptor build. > has been added to the -mm tree. Its filename is > s3c6410-add-new-quirk-in-sdhci-driver-and-update-adma-descriptor-build.patch > > Before you just go and hit "reply", please: > a) Consider who else should be cc'ed > b) Prefer to cc a suitable mailing list as well > c) Ideally: find the original patch on the mailing list and do a > reply-to-all to that, adding suitable additional cc's > > *** Remember to use Documentation/SubmitChecklist when testing your code *** > > See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find > out what to do about this > > The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ > > ------------------------------------------------------ > Subject: mmc: s3c6410: add new quirk in sdhci driver and update ADMA descriptor build. > From: Maurus Cuelenaere <mcuelenaere@xxxxxxxxx> originally from Thomas Abraham <thomas.ab@xxxxxxxxxxx> and resent by Maurus Cuelenaere <mcuelenaere@xxxxxxxxx> see also same with second patch. > The s3c6410 sdhci controller does not support the 'End' attribute and NOP > attribute in the same 8-Byte ADMA descriptor. This patch adds a new quirk > to identify sdhci host contollers with such behaviour. In addition to > this, for controllers using the new quirk, the last entry in the ADMA > descritor table is marked with the 'End' attribute (instead of using a NOP > descriptor with 'End' attribute). > > Signed-off-by: Maurus Cuelenaere <mcuelenaere@xxxxxxxxx> > Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx> > Acked-by: Ben Dooks <ben-linux@xxxxxxxxx> > Cc: <linux-mmc@xxxxxxxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > --- > > drivers/mmc/host/sdhci.c | 20 +++++++++++++++----- > drivers/mmc/host/sdhci.h | 2 ++ > 2 files changed, 17 insertions(+), 5 deletions(-) > > diff -puN drivers/mmc/host/sdhci.c~s3c6410-add-new-quirk-in-sdhci-driver-and-update-adma-descriptor-build drivers/mmc/host/sdhci.c > --- a/drivers/mmc/host/sdhci.c~s3c6410-add-new-quirk-in-sdhci-driver-and-update-adma-descriptor-build > +++ a/drivers/mmc/host/sdhci.c > @@ -496,12 +496,22 @@ static int sdhci_adma_table_pre(struct s > WARN_ON((desc - host->adma_desc) > (128 * 2 + 1) * 4); > } > > - /* > - * Add a terminating entry. > - */ > + if (host->quirks & SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC) { > + /* > + * Mark the last descriptor as the terminating descriptor > + */ > + if (desc != host->adma_desc) { > + desc -= 8; > + desc[0] |= 0x2; /* end */ > + } > + } else { > + /* > + * Add a terminating entry. > + */ > > - /* nop, end, valid */ > - sdhci_set_adma_desc(desc, 0, 0, 0x3); > + /* nop, end, valid */ > + sdhci_set_adma_desc(desc, 0, 0, 0x3); > + } > > /* > * Resync align buffer as we might have changed it. > diff -puN drivers/mmc/host/sdhci.h~s3c6410-add-new-quirk-in-sdhci-driver-and-update-adma-descriptor-build drivers/mmc/host/sdhci.h > --- a/drivers/mmc/host/sdhci.h~s3c6410-add-new-quirk-in-sdhci-driver-and-update-adma-descriptor-build > +++ a/drivers/mmc/host/sdhci.h > @@ -238,6 +238,8 @@ struct sdhci_host { > #define SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK (1<<24) > /* Controller reports wrong base clock capability */ > #define SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN (1<<25) > +/* Controller cannot support End Attribute in NOP ADMA descriptor */ > +#define SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC (1<<26) > > int irq; /* Device IRQ */ > void __iomem * ioaddr; /* Mapped address */ > _ > > Patches currently in -mm which might be from mcuelenaere@xxxxxxxxx are > > s3c6410-add-new-quirk-in-sdhci-driver-and-update-adma-descriptor-build.patch > s3c6410-enable-adma-feature-in-6410-sdhci-controller.patch > sdhci-enable-multiblock-transfers-in-sdhci-s3c.patch > s3c-rtc-driver-add-support-for-s3c64xx.patch > -- -- Ben Q: What's a light-year? A: One-third less calories than a regular year. -- 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