Re: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl esdhc
> > I would do it in the IO accessors. > > > > Thanks, > Any update for your comment? It is still valid. You can go that road. -- Pengutronix e.K. | Wolfram Sang| Industrial Linux Solutions | http://www.pengutronix.de/ | signature.asc Description: Digital signature ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
RE: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl esdhc
> -Original Message- > From: Anton Vorontsov [mailto:cbouatmai...@gmail.com] > Sent: Friday, August 12, 2011 18:05 PM > To: Zang Roy-R61911 > Cc: linux-...@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; akpm@linux- > foundation.org; Xu Lei-B33228; Kumar Gala; Wood Scott-B07421 > Subject: Re: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl > esdhc > > Hello, > > On Fri, Aug 12, 2011 at 09:44:26AM +, Zang Roy-R61911 wrote: > [...] > > > We try to not pollute generic sdhci.c driver with chip-specific > > > quirks. > > > > > > Maybe you can do the fixups via IO accessors? Or by introducing > > > some additional sdhci op? > > Anton, > > thanks for the comment, as we discussed, the original code use 8 bit byte > operation, > > while in fact, on some powerpc platform, 32 bit operation is needed. > > should it be possible fixed by adding some wrapper in IO accessors or > introduce additional sdhci op? > > I would do it in the IO accessors. > > Thanks, Any update for your comment? Roy ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
RE: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl esdhc
> -Original Message- > From: Anton Vorontsov [mailto:cbouatmai...@gmail.com] > Sent: Friday, August 12, 2011 18:05 PM > To: Zang Roy-R61911 > Cc: linux-...@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; akpm@linux- > foundation.org; Xu Lei-B33228; Kumar Gala; Wood Scott-B07421 > Subject: Re: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl > esdhc > > Hello, > > On Fri, Aug 12, 2011 at 09:44:26AM +, Zang Roy-R61911 wrote: > [...] > > > We try to not pollute generic sdhci.c driver with chip-specific > > > quirks. > > > > > > Maybe you can do the fixups via IO accessors? Or by introducing > > > some additional sdhci op? > > Anton, > > thanks for the comment, as we discussed, the original code use 8 bit byte > operation, > > while in fact, on some powerpc platform, 32 bit operation is needed. > > should it be possible fixed by adding some wrapper in IO accessors or > introduce additional sdhci op? > > I would do it in the IO accessors. I may miss your email. I never see your patch about " I would do it in the IO accessors ". Thanks. Roy ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
RE: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl esdhc
> -Original Message- > From: Anton Vorontsov [mailto:cbouatmai...@gmail.com] > Sent: Friday, August 12, 2011 18:05 PM > To: Zang Roy-R61911 > Cc: linux-...@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; akpm@linux- > foundation.org; Xu Lei-B33228; Kumar Gala; Wood Scott-B07421 > Subject: Re: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl > esdhc > > Hello, > > On Fri, Aug 12, 2011 at 09:44:26AM +, Zang Roy-R61911 wrote: > [...] > > > We try to not pollute generic sdhci.c driver with chip-specific > > > quirks. > > > > > > Maybe you can do the fixups via IO accessors? Or by introducing > > > some additional sdhci op? > > Anton, > > thanks for the comment, as we discussed, the original code use 8 bit byte > operation, > > while in fact, on some powerpc platform, 32 bit operation is needed. > > should it be possible fixed by adding some wrapper in IO accessors or > introduce additional sdhci op? > > I would do it in the IO accessors. I am looking forward to your patch. Roy ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl esdhc
Hello, On Fri, Aug 12, 2011 at 09:44:26AM +, Zang Roy-R61911 wrote: [...] > > We try to not pollute generic sdhci.c driver with chip-specific > > quirks. > > > > Maybe you can do the fixups via IO accessors? Or by introducing > > some additional sdhci op? > Anton, > thanks for the comment, as we discussed, the original code use 8 bit byte > operation, > while in fact, on some powerpc platform, 32 bit operation is needed. > should it be possible fixed by adding some wrapper in IO accessors or > introduce additional sdhci op? I would do it in the IO accessors. Thanks, -- Anton Vorontsov Email: cbouatmai...@gmail.com ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
RE: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl esdhc
> -Original Message- > From: linux-mmc-ow...@vger.kernel.org [mailto:linux-mmc-ow...@vger.kernel.org] > On Behalf Of Anton Vorontsov > Sent: Friday, July 22, 2011 18:15 PM > To: Zang Roy-R61911 > Cc: linux-...@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; akpm@linux- > foundation.org; Xu Lei-B33228; Kumar Gala > Subject: Re: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl > esdhc > > On Fri, Jul 22, 2011 at 06:15:17PM +0800, Roy Zang wrote: > [...] > > if (host->version >= SDHCI_SPEC_200) { > > - ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); > > - ctrl &= ~SDHCI_CTRL_DMA_MASK; > > - if ((host->flags & SDHCI_REQ_USE_DMA) && > > - (host->flags & SDHCI_USE_ADMA)) > > - ctrl |= SDHCI_CTRL_ADMA32; > > - else > > - ctrl |= SDHCI_CTRL_SDMA; > > - sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); > > + if (host->quirks & SDHCI_QUIRK_QORIQ_PROCTL_WEIRD) { > > +#define ESDHCI_PROCTL_DMAS_MASK0x0300 > > +#define ESDHCI_PROCTL_ADMA32 0x0200 > > +#define ESDHCI_PROCTL_SDMA 0x > > + ctrl = sdhci_readl(host, SDHCI_HOST_CONTROL); > > + ctrl &= ~ESDHCI_PROCTL_DMAS_MASK; > > + if ((host->flags & SDHCI_REQ_USE_DMA) && > > + (host->flags & SDHCI_USE_ADMA)) > > + ctrl |= ESDHCI_PROCTL_ADMA32; > > + else > > + ctrl |= ESDHCI_PROCTL_SDMA; > > + sdhci_writel(host, ctrl, SDHCI_HOST_CONTROL); > > + } else { > > + ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); > > + ctrl &= ~SDHCI_CTRL_DMA_MASK; > > + if ((host->flags & SDHCI_REQ_USE_DMA) && > > + (host->flags & SDHCI_USE_ADMA)) > > + ctrl |= SDHCI_CTRL_ADMA32; > > + else > > + ctrl |= SDHCI_CTRL_SDMA; > > + sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); > > We try to not pollute generic sdhci.c driver with chip-specific > quirks. > > Maybe you can do the fixups via IO accessors? Or by introducing > some additional sdhci op? Anton, thanks for the comment, as we discussed, the original code use 8 bit byte operation, while in fact, on some powerpc platform, 32 bit operation is needed. should it be possible fixed by adding some wrapper in IO accessors or introduce additional sdhci op? Please advice more. Thanks. Roy ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
RE: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl esdhc
> -Original Message- > From: linux-mmc-ow...@vger.kernel.org [mailto:linux-mmc-ow...@vger.kernel.org] > On Behalf Of Anton Vorontsov > Sent: Friday, July 22, 2011 18:15 PM > To: Zang Roy-R61911 > Cc: linux-...@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; akpm@linux- > foundation.org; Xu Lei-B33228; Kumar Gala > Subject: Re: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl > esdhc > > On Fri, Jul 22, 2011 at 06:15:17PM +0800, Roy Zang wrote: > [...] > > if (host->version >= SDHCI_SPEC_200) { > > - ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); > > - ctrl &= ~SDHCI_CTRL_DMA_MASK; > > - if ((host->flags & SDHCI_REQ_USE_DMA) && > > - (host->flags & SDHCI_USE_ADMA)) > > - ctrl |= SDHCI_CTRL_ADMA32; > > - else > > - ctrl |= SDHCI_CTRL_SDMA; > > - sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); > > + if (host->quirks & SDHCI_QUIRK_QORIQ_PROCTL_WEIRD) { > > +#define ESDHCI_PROCTL_DMAS_MASK0x0300 > > +#define ESDHCI_PROCTL_ADMA32 0x0200 > > +#define ESDHCI_PROCTL_SDMA 0x > > + ctrl = sdhci_readl(host, SDHCI_HOST_CONTROL); > > + ctrl &= ~ESDHCI_PROCTL_DMAS_MASK; > > + if ((host->flags & SDHCI_REQ_USE_DMA) && > > + (host->flags & SDHCI_USE_ADMA)) > > + ctrl |= ESDHCI_PROCTL_ADMA32; > > + else > > + ctrl |= ESDHCI_PROCTL_SDMA; > > + sdhci_writel(host, ctrl, SDHCI_HOST_CONTROL); > > + } else { > > + ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); > > + ctrl &= ~SDHCI_CTRL_DMA_MASK; > > + if ((host->flags & SDHCI_REQ_USE_DMA) && > > + (host->flags & SDHCI_USE_ADMA)) > > + ctrl |= SDHCI_CTRL_ADMA32; > > + else > > + ctrl |= SDHCI_CTRL_SDMA; > > + sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); > > We try to not pollute generic sdhci.c driver with chip-specific > quirks. > > Maybe you can do the fixups via IO accessors? Or by introducing > some additional sdhci op? > > [...] > > if (power != (unsigned short)-1) { > > switch (1 << power) { > > +#defineESDHCI_FSL_POWER_MASK 0x40 > > +#defineESDHCI_FSL_POWER_1800x00 > > +#defineESDHCI_FSL_POWER_3000x40 > > Same here. The driver will rot quickly if everyone would start > putting chip-specific quirks into sdhci.c. Please don't. IO accessors or sdhci op might work, but it will look ugly and less performance efficient for io access. If you search sdhci.c, you will see other board specific quirks. Thanks. Roy ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 2/2 v2] eSDHC: Fix errors when booting kernel with fsl esdhc
On Fri, Jul 22, 2011 at 06:15:17PM +0800, Roy Zang wrote: [...] > if (host->version >= SDHCI_SPEC_200) { > - ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); > - ctrl &= ~SDHCI_CTRL_DMA_MASK; > - if ((host->flags & SDHCI_REQ_USE_DMA) && > - (host->flags & SDHCI_USE_ADMA)) > - ctrl |= SDHCI_CTRL_ADMA32; > - else > - ctrl |= SDHCI_CTRL_SDMA; > - sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); > + if (host->quirks & SDHCI_QUIRK_QORIQ_PROCTL_WEIRD) { > +#define ESDHCI_PROCTL_DMAS_MASK 0x0300 > +#define ESDHCI_PROCTL_ADMA32 0x0200 > +#define ESDHCI_PROCTL_SDMA 0x > + ctrl = sdhci_readl(host, SDHCI_HOST_CONTROL); > + ctrl &= ~ESDHCI_PROCTL_DMAS_MASK; > + if ((host->flags & SDHCI_REQ_USE_DMA) && > + (host->flags & SDHCI_USE_ADMA)) > + ctrl |= ESDHCI_PROCTL_ADMA32; > + else > + ctrl |= ESDHCI_PROCTL_SDMA; > + sdhci_writel(host, ctrl, SDHCI_HOST_CONTROL); > + } else { > + ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); > + ctrl &= ~SDHCI_CTRL_DMA_MASK; > + if ((host->flags & SDHCI_REQ_USE_DMA) && > + (host->flags & SDHCI_USE_ADMA)) > + ctrl |= SDHCI_CTRL_ADMA32; > + else > + ctrl |= SDHCI_CTRL_SDMA; > + sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); We try to not pollute generic sdhci.c driver with chip-specific quirks. Maybe you can do the fixups via IO accessors? Or by introducing some additional sdhci op? [...] > if (power != (unsigned short)-1) { > switch (1 << power) { > +#define ESDHCI_FSL_POWER_MASK 0x40 > +#define ESDHCI_FSL_POWER_1800x00 > +#define ESDHCI_FSL_POWER_3000x40 Same here. The driver will rot quickly if everyone would start putting chip-specific quirks into sdhci.c. Please don't. Thanks, -- Anton Vorontsov Email: cbouatmai...@gmail.com ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev