Re: [patch 5/7] SDHCI: Samsung SDHCI (HSMMC) driver

Ben Dooks
2008-11-16T00:03:18Z

On Fri, Nov 14, 2008 at 10:48:13PM +0100, Pierre Ossman wrote:
> On Mon, 03 Nov 2008 20:09:49 +0000
> Ben Dooks <ben-linux@fluff.org> wrote:
>
> > +static void sdhci_s3c_sel_sclk(struct sdhci_host *host)
> > +{
> > + struct sdhci_s3c *ourhost = to_s3c(host);
> > +
> > + /* select sclk */
> > + u32 tmp = readl(host->ioaddr + 0x80);
> > +
> > + if ((tmp & (3 << 4)) == (2 << 4))
> > + return;
> > +
> > + tmp &= ~(3<<4);
> > + tmp |= (2 << 4);
> > + writel(tmp, host->ioaddr + 0x80);
> > +}
>
> No defines for this? This is not terribly readable.

it was only temporary to ensure that if people bisected before
the clock callback was added the host would at least work even
if it was locked to one clock input.

> > + if (pdata->cfg_card)
> > + pdata->cfg_card(ourhost->pdev, host->ioaddr,
> > + ios, host->mmc->card);
>
> What's the deal here? Hosts shouldn't know more about the card than the
> MMC core tells them.

Depending on exactly which version, there's a number of configurations
in the extra configuration registers that get changed, such as delays
used for clock feedback which are meant to be chnaged when the speed
of the card is changed. Unfortunately this changes depending on the
chip model and possibly also on the board it is on.

The other is that it is possible that depending on the chip and board
combination things like the GPIO driver-strength controls will need to
be changed.

> Since I have no hardware for this, could you take it upon you to handle
> support for these chips? I'd like a MAINTAINERS patch for that as well.

ok, i'll add it to the list.