Re: mmc does not work in qemu n900
From: Pali RohÃr
Date: Wed Dec 14 2016 - 16:27:37 EST
On Friday 30 January 2015 15:23:34 Pali RohÃr wrote:
> On Tuesday 27 January 2015 10:17:39 Pali RohÃr wrote:
> > On Tuesday 27 January 2015 00:21:04 Aaro Koskinen wrote:
> > > Hi,
> > >
> > > On Mon, Jan 26, 2015 at 10:04:59PM +0100, Pali RohÃr wrote:
> > > > problem? Why any of these two patches fix problem when mmc
> > > > is not detected by kernel in qemu (machine n900)?
> > > > Detection of mmc fails because function
> > > > mmc_send_op_cond() without one of above patches fails.
> > >
> > > Has it ever worked? It could be just that QEMU's emulation
> > > is broken. Since the kernel works on actual HW, you
> > > probably should contact QEMU maintainers.
> > >
> > > I don't see n900 in Debian's QEMU. There's n800 and n810 but
> > > I couldn't boot any of my kernels with those...
> > >
> > > A.
> >
> > It worked with stock Nokia kernel (2.6.28).
> >
> > N900 qemu support is not in upstream qemu project, but in
> > linaro qemu version. You can find it e.g. in ubuntu:
> > http://packages.ubuntu.com/source/precise-updates/qemu-linaro
>
> Here is another alternative patch which enable internal eMMC
> support in qemu n900:
>
> diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
> index 9584bff..225df49 100644
> --- a/drivers/mmc/core/core.c
> +++ b/drivers/mmc/core/core.c
> @@ -2330,13 +2330,13 @@ static int mmc_rescan_try_freq(struct
> mmc_host *host, unsigned freq)
> sdio_reset(host);
> mmc_go_idle(host);
>
> - mmc_send_if_cond(host, host->ocr_avail);
> -
> - /* Order's important: probe SDIO, then SD, then MMC */
> - if (!mmc_attach_sdio(host))
> - return 0;
> - if (!mmc_attach_sd(host))
> - return 0;
> +// mmc_send_if_cond(host, host->ocr_avail);
> +//
> +// /* Order's important: probe SDIO, then SD, then MMC */
> +// if (!mmc_attach_sdio(host))
> +// return 0;
> +// if (!mmc_attach_sd(host))
> +// return 0;
> if (!mmc_attach_mmc(host))
> return 0;
>
> It just disable SDIO and SD code. It looks like using some SDIO
> or SD commands on mmc controller in qemu cause problems...
>
> Any idea?
Now there are DT flags no-sdio and no-sd which skips mmc_attach_sdio()
and mmc_attach_sd() calls. Same result as my commented code above...
I will send patch for Nokia N900 which will disable SDIO and SD.
--
Pali RohÃr
pali.rohar@xxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part.