public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
* When bus width detection procedure takes place, kernel cannot lock on correct bus width
@ 2013-03-17 12:07 Chris Ball
  2013-03-22 17:06 ` Chris Ball
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Chris Ball @ 2013-03-17 12:07 UTC (permalink / raw)
  To: elad.yi; +Cc: linux-mmc, Philip Rakity

Hi Elad, I'm forwarding your bug report to the linux-mmc@ list.

- Chris.


I've been working on a bringup of an new board in Harmonic Inc.
This board uses Sandisk iNand eMMC flash.
I've noticed that the mmc driver keeps detecting 1 bit width although HW
supports 4 bit, looked into it, and found the problem. In line 571 at mmc.c:
There is:
    /* only compare read only fields */
    err = !((card->ext_csd.raw_partition_support ==
            bw_ext_csd[EXT_CSD_PARTITION_SUPPORT]) &&
        (card->ext_csd.raw_erased_mem_count ==
            bw_ext_csd[EXT_CSD_ERASED_MEM_CONT]) &&
        (card->ext_csd.rev ==
            bw_ext_csd[EXT_CSD_REV]) &&
        (card->ext_csd.raw_ext_csd_structure ==
                ...

The problem is that raw_partition_support is not the same when setting width of
4 bits instead of 1 bit, and shouldn't be compared at all although it is read
only.
this should be changed to:
    /* only compare read only fields */
    err = !((card->ext_csd.raw_erased_mem_count ==
            bw_ext_csd[EXT_CSD_ERASED_MEM_CONT]) &&
        (card->ext_csd.rev ==
            bw_ext_csd[EXT_CSD_REV]) &&
        (card->ext_csd.raw_ext_csd_structure ==
                ...

-- 
Chris Ball   <cjb@laptop.org>   <http://printf.net/>
One Laptop Per Child

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-04-04 19:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-17 12:07 When bus width detection procedure takes place, kernel cannot lock on correct bus width Chris Ball
2013-03-22 17:06 ` Chris Ball
2013-03-22 18:56 ` Philip Rakity
2013-03-26 15:54   ` Philip Rakity
2013-04-04 19:37 ` Chris Ball

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox