Re: When bus width detection procedure takes place, kernel cannot lock on correct bus width

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Elad,

Please supply the name of the spec which shows that this field is dependent on bit width.

I checked my sd / emmc specs and do not see this.

regards,

Philip


On Mar 17, 2013, at 5:07 AM, Chris Ball <cjb@xxxxxxxxxx> wrote:

> 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@xxxxxxxxxx>   <http://printf.net/>
> One Laptop Per Child

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux