lkml.org 
[lkml]   [2016]   [Dec]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: mmc does not work in qemu n900
Date
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@gmail.com
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2016-12-14 22:27    [W:0.082 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site