linux-mmc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* power class selection fails on 3.5-rc1
@ 2012-06-04 16:35 Marc Dietrich
  2012-06-05 12:36 ` Ulf Hansson
  2012-06-08 12:41 ` S, Venkatraman
  0 siblings, 2 replies; 12+ messages in thread
From: Marc Dietrich @ 2012-06-04 16:35 UTC (permalink / raw)
  To: linux-mmc

[-- Attachment #1: Type: text/plain, Size: 2785 bytes --]

Hi,

somehow I hope this would go away by itself, but it didn't :-( I reported this 
problem some time ago (see: http://www.mail-archive.com/linux-
mmc@vger.kernel.org/msg13688.html ) but got no clear answer or fix.

In addition to the information I posted on the thread above, I also dumped the 
contents of the ext_csd register file (where reg values are not zero):

reg       Sandisk         Toshiba   
241     10      0x0a    50      0x32
239     0       0x00    51      0x33
238     0       0x00    119     0x77
234     0       0x00    30      0x1e
232     1       0x01    4       0x04
231     21      0x15    21      0x15
230     150     0x96    16      0x10
229     150     0x96    66      0x42
228     1       0x01    7       0x07
226     8       0x08    16      0x10
225     6       0x06    7       0x07
224     4       0x04    8       0x08
223     1       0x01    2       0x02
222     8       0x08    16      0x10
221     16      0x10    1       0x01
220     8       0x08    7       0x07
219     7       0x07    7       0x07
217     16      0x10    17      0x11
215     1       0x01    0       0x00
214     218     0xda    238     0xee
213     160     0xa0    128     0x80
210     10      0x0a    0       0x00
209     10      0x0a    60      0x3c
208     10      0x0a    0       0x00
207     10      0x0a    60      0x3c
206     10      0x0a    0       0x00
205     10      0x0a    30      0x1e
203     0       0x00    51      0x33
202     0       0x00    51      0x33
201     0       0x00    119     0x77
200     0       0x00    119     0x77
196     3       0x03    7       0x07
194     2       0x02    2       0x02
192     5       0x05    5       0x05
185     1       0x01    1       0x01
181     0       0x00    1       0x01
179     0       0x00    1       0x01
175     0       0x00    1       0x01
169     1       0x01    0       0x00
168     0       0x00    2       0x02
160     3       0x03    3       0x03
158     0       0x00    3       0x03
157     237     0xed    186     0xba

The second and the third column is from a device with a Sandisk eMCC which 
works fine, while the last two columns are from a Toshiba eMMC which shows the 
error. Looking into it, I found that only the Toshiba eMMC specifies a 
powerclass in registers 203-200 while Sandisk does not, so the powerclass is 
not changed in the latter case and the problem cannot be triggered there.

I also attached a boot log with mmc debug enabled. I think there is not much I 
can do else. Either this eMMC is just bogus and needs blacklisting or there is 
some problem in the driver code.

I hope this problem can be fixed or if it can't, I hope that commit 3d93576e 
(mmc: core: skip card initialization if power class selection fails) is 
reverted until the issues are sorted out.

Greetings,

	Marc

[-- Attachment #2: mmc_debug.log --]
[-- Type: text/x-log, Size: 30970 bytes --]

[    1.493210] sdhci: Secure Digital Host Controller Interface driver
[    1.502081] sdhci: Copyright(c) Pierre Ossman
[    1.509128] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.746274] mmc1: Invalid maximum block size, assuming 512 bytes
[    1.746304] mmc1: no vmmc regulator found
[    1.746310] sdhci: =========== REGISTER DUMP (mmc1)===========
[    1.746315] sdhci: Sys addr: 0x00000000 | Version:  0x00000001
[    1.746319] sdhci: Blk size: 0x00000000 | Blk cnt:  0x00000000
[    1.746323] sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
[    1.746327] sdhci: Present:  0x1fff0000 | Host ctl: 0x00000000
[    1.746330] sdhci: Power:    0x00000000 | Blk gap:  0x00000000
[    1.746334] sdhci: Wake-up:  0x00000000 | Clock:    0x00000000
[    1.746337] sdhci: Timeout:  0x00000000 | Int stat: 0x00000000
[    1.746341] sdhci: Int enab: 0x00ff0003 | Sig enab: 0x00fc0003
[    1.746345] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[    1.746349] sdhci: Caps:     0x61ff30b0 | Caps_1:   0x00000000
[    1.746352] sdhci: Cmd:      0x00000000 | Max curr: 0x00000001
[    1.746354] sdhci: Host ctl2: 0x00000000
[    1.746358] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000
[    1.746360] sdhci: ===========================================
[    1.746540] Registered led device: mmc1::
[    1.746763] mmc1: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 0 timing 0
[    1.766240] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
[    1.940369] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018001
[    1.944030] mmc1: SDHCI controller on sdhci-tegra.3 [sdhci-tegra.3] using ADMA

mmc0 stuff filtered out.

[    3.553372] mmc1: mmc_rescan_try_freq: trying to init card at 400000 Hz
[    3.553376] mmc1: starting CMD52 arg 00000c00 flags 00000195
[    3.562783] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.562795] mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[    3.562806] mmc1: starting CMD52 arg 80000c08 flags 00000195
[    3.571132] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.571143] mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[    3.571155] mmc1: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
[    3.572167] mmc1: starting CMD0 arg 00000000 flags 000000c0
[    3.580191] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.580205] mmc1: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[    3.580220] psmouse serio0: elantech: synaptics_send_cmd query 0x01 failed.
[    3.581214] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
[    3.582226] mmc1: starting CMD8 arg 000001aa flags 000002f5
[    3.590067] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.590185] mmc1: req done (CMD8): -110: 00000000 00000000 00000000 00000000
[    3.590197] mmc1: starting CMD5 arg 00000000 flags 000002e1
[    3.598522] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.598538] mmc1: req failed (CMD5): -110, retrying...
[    3.607568] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.607690] mmc1: req failed (CMD5): -110, retrying...
[    3.615567] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.615582] mmc1: req failed (CMD5): -110, retrying...
[    3.624604] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.624616] mmc1: req done (CMD5): -110: 00000000 00000000 00000000 00000000
[    3.624628] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    3.632501] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.632511] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    3.632523] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    3.641526] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.641537] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    3.641554] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    3.649424] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.649434] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    3.649445] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    3.658459] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.658470] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    3.658482] mmc1: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
[    3.658489] mmc1: starting CMD1 arg 00000000 flags 000000e1
[    3.668284] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.668296] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    3.668310] mmc1: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    3.668318] mmc1: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    3.668324] mmc1: clock 400000Hz busmode 1 powermode 2 cs 1 Vdd 20 width 0 timing 0
[    3.669327] mmc1: starting CMD0 arg 00000000 flags 000000c0
[    3.676678] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.676687] mmc1: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[    3.677697] mmc1: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    3.678700] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    3.685672] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.685798] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    3.711555] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    3.713099] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.713109] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    3.741556] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    3.750086] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.750095] mmc1: req done (CMD1): 0: c0ff8080 00000000 00000000 00000000
[    3.750106] mmc1: starting CMD2 arg 00000000 flags 00000067
[    3.758430] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.758444] mmc1: req done (CMD2): 0: 1101004d 4d433038 47030e18 24996d00
[    3.758465] mmc1: starting CMD3 arg 00010000 flags 00000015
[    3.767386] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.767397] mmc1: req done (CMD3): 0: 00000500 00000000 00000000 00000000
[    3.767410] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    3.767417] mmc1: starting CMD9 arg 00010000 flags 00000007
[    3.777230] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.777248] mmc1: req done (CMD9): 0: 900e0032 0f5903ff ffffffe7 96400000
[    3.777262] mmc1: starting CMD7 arg 00010000 flags 00000015
[    3.787637] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.787767] mmc1: req done (CMD7): 0: 00000700 00000000 00000000 00000000
[    3.787789] mmc1: starting CMD8 arg 00000000 flags 000000b5
[    3.787794] mmc1:     blksz 512 blocks 1 flags 00000200 tsac 10 ms nsac 0
[    3.796032] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.804985] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000002
[    3.805123] mmc1: req done (CMD8): 0: 00000900 00000000 00000000 00000000
[    3.805126] mmc1:     512 bytes transferred: 0
[    3.805144] mmc1: starting CMD6 arg 03af0101 flags 0000049d
[    3.814867] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000003
[    3.814877] mmc1: req done (CMD6): 0: 00000800 00000000 00000000 00000000
[    3.814890] mmc1: starting CMD13 arg 00010000 flags 00000195
[    3.824705] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.824717] mmc1: req done (CMD13): 0: 00000900 00000000 00000000 00000000
[    3.824729] mmc1: starting CMD6 arg 03b90101 flags 0000049d
[    3.834020] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000003
[    3.834030] mmc1: req done (CMD6): 0: 00000800 00000000 00000000 00000000
[    3.834041] mmc1: starting CMD13 arg 00010000 flags 00000195
[    3.842346] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.842360] mmc1: req done (CMD13): 0: 00000900 00000000 00000000 00000000
[    3.842373] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 1
[    3.842382] mmc1: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 1
[    3.842390] mmc1: starting CMD6 arg 03bb0301 flags 0000049d
[    3.851273] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000003
[    3.851282] mmc1: req done (CMD6): 0: 00000800 00000000 00000000 00000000
[    3.851294] mmc1: starting CMD13 arg 00010000 flags 00000195
[    3.861089] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.861101] mmc1: req done (CMD13): 0: 00000980 00000000 00000000 00000000
[    3.861111] mmc1: power class selection for ext_csd_bus_width 2 failed
[    3.861115] mmc1: error -74 whilst initialising MMC card
[    3.861120] mmc1: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
[    3.862136] mmc1: mmc_rescan_try_freq: trying to init card at 300000 Hz
[    3.862141] mmc1: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 0 timing 0
[    3.863977] Registered led device: paz00-led
[    3.881562] mmc1: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
[    3.900782] mmc1: starting CMD52 arg 00000c00 flags 00000195
[    3.906916] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.907055] mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[    3.907075] mmc1: starting CMD52 arg 80000c08 flags 00000195
[    3.916030] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.916048] mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[    3.916064] mmc1: clock 300000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
[    3.917068] mmc1: starting CMD0 arg 00000000 flags 000000c0
[    3.925544] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    3.925558] mmc1: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[    3.926568] mmc1: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
[    3.927572] mmc1: starting CMD8 arg 000001aa flags 000002f5
[    3.935240] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.935258] mmc1: req done (CMD8): -110: 00000000 00000000 00000000 00000000
[    3.935270] mmc1: starting CMD5 arg 00000000 flags 000002e1
[    3.945665] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.945688] mmc1: req failed (CMD5): -110, retrying...
[    3.953973] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.953996] mmc1: req failed (CMD5): -110, retrying...
[    3.962999] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.963021] mmc1: req failed (CMD5): -110, retrying...
[    3.972819] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.972843] mmc1: req done (CMD5): -110: 00000000 00000000 00000000 00000000
[    3.972858] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    3.981163] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.981181] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    3.981195] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    3.990197] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.990341] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    3.990353] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    3.998210] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    3.998226] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    3.998238] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    4.007235] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.007377] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    4.007392] mmc1: clock 300000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
[    4.007399] mmc1: starting CMD1 arg 00000000 flags 000000e1
[    4.015248] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.015264] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    4.015279] mmc1: clock 300000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    4.015286] mmc1: clock 300000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    4.015293] mmc1: clock 300000Hz busmode 1 powermode 2 cs 1 Vdd 20 width 0 timing 0
[    4.016296] mmc1: starting CMD0 arg 00000000 flags 000000c0
[    4.024281] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.024295] mmc1: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[    4.025316] mmc1: clock 300000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    4.026320] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    4.032158] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.032174] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    4.059424] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    4.068382] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.068394] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    4.081587] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    4.086623] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.086732] mmc1: req done (CMD1): 0: c0ff8080 00000000 00000000 00000000
[    4.086749] mmc1: starting CMD2 arg 00000000 flags 00000067
[    4.095712] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.095726] mmc1: req done (CMD2): 0: 1101004d 4d433038 47030e18 24996d00
[    4.095757] mmc1: starting CMD3 arg 00010000 flags 00000015
[    4.105591] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.105701] mmc1: req done (CMD3): 0: 00000500 00000000 00000000 00000000
[    4.105719] mmc1: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    4.105727] mmc1: starting CMD9 arg 00010000 flags 00000007
[    4.114058] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.114072] mmc1: req done (CMD9): 0: 900e0032 0f5903ff ffffffe7 96400000
[    4.114089] mmc1: starting CMD7 arg 00010000 flags 00000015
[    4.123046] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.123056] mmc1: req done (CMD7): 0: 00000700 00000000 00000000 00000000
[    4.123083] mmc1: starting CMD8 arg 00000000 flags 000000b5
[    4.123088] mmc1:     blksz 512 blocks 1 flags 00000200 tsac 10 ms nsac 0
[    4.132921] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.150214] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000002
[    4.150231] mmc1: req done (CMD8): 0: 00000900 00000000 00000000 00000000
[    4.150234] mmc1:     512 bytes transferred: 0
[    4.150255] mmc1: starting CMD6 arg 03af0101 flags 0000049d
[    4.160089] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000003
[    4.160099] mmc1: req done (CMD6): 0: 00000800 00000000 00000000 00000000
[    4.160116] mmc1: starting CMD13 arg 00010000 flags 00000195
[    4.170486] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.170499] mmc1: req done (CMD13): 0: 00000900 00000000 00000000 00000000
[    4.170515] mmc1: starting CMD6 arg 03b90101 flags 0000049d
[    4.178771] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000003
[    4.178786] mmc1: req done (CMD6): 0: 00000800 00000000 00000000 00000000
[    4.178802] mmc1: starting CMD13 arg 00010000 flags 00000195
[    4.187766] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.187900] mmc1: req done (CMD13): 0: 00000900 00000000 00000000 00000000
[    4.187917] mmc1: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 1
[    4.187925] mmc1: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 1
[    4.187933] mmc1: starting CMD6 arg 03bb0301 flags 0000049d
[    4.197393] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000003
[    4.197404] mmc1: req done (CMD6): 0: 00000800 00000000 00000000 00000000
[    4.197420] mmc1: starting CMD13 arg 00010000 flags 00000195
[    4.207786] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.207918] mmc1: req done (CMD13): 0: 00000980 00000000 00000000 00000000
[    4.207932] mmc1: power class selection for ext_csd_bus_width 2 failed
[    4.207937] mmc1: error -74 whilst initialising MMC card
[    4.207942] mmc1: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
[    4.208951] mmc1: mmc_rescan_try_freq: trying to init card at 200000 Hz
[    4.208955] mmc1: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 0 timing 0
[    4.221589] mmc1: clock 200000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
[    4.241568] mmc1: starting CMD52 arg 00000c00 flags 00000195
[    4.245273] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.245289] mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[    4.245305] mmc1: starting CMD52 arg 80000c08 flags 00000195
[    4.254605] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.254616] mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[    4.254633] mmc1: clock 200000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
[    4.255636] mmc1: starting CMD0 arg 00000000 flags 000000c0
[    4.264830] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.264841] mmc1: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[    4.265855] mmc1: clock 200000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
[    4.266859] mmc1: starting CMD8 arg 000001aa flags 000002f5
[    4.272955] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.272965] mmc1: req done (CMD8): -110: 00000000 00000000 00000000 00000000
[    4.272981] mmc1: starting CMD5 arg 00000000 flags 000002e1
[    4.281788] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.281920] mmc1: req failed (CMD5): -110, retrying...
[    4.291248] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.291266] mmc1: req failed (CMD5): -110, retrying...
[    4.299366] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.299385] mmc1: req failed (CMD5): -110, retrying...
[    4.308189] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.308322] mmc1: req done (CMD5): -110: 00000000 00000000 00000000 00000000
[    4.308338] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    4.317673] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.317684] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    4.317700] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    4.325795] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.325807] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    4.325823] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    4.334619] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.334630] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    4.334645] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    4.343981] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.343993] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    4.344010] mmc1: clock 200000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
[    4.344016] mmc1: starting CMD1 arg 00000000 flags 000000e1
[    4.352100] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.352110] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    4.352127] mmc1: clock 200000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    4.352134] mmc1: clock 200000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    4.352141] mmc1: clock 200000Hz busmode 1 powermode 2 cs 1 Vdd 20 width 0 timing 0
[    4.353144] mmc1: starting CMD0 arg 00000000 flags 000000c0
[    4.360908] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.360918] mmc1: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[    4.361961] mmc1: clock 200000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    4.362965] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    4.370269] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.370280] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    4.381584] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    4.387220] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.387355] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    4.401564] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    4.406944] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.407073] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    4.421564] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    4.424047] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.424059] mmc1: req done (CMD1): 0: c0ff8080 00000000 00000000 00000000
[    4.424074] mmc1: starting CMD2 arg 00000000 flags 00000067
[    4.433444] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.433456] mmc1: req done (CMD2): 0: 1101004d 4d433038 47030e18 24996d00
[    4.433480] mmc1: starting CMD3 arg 00010000 flags 00000015
[    4.441591] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.441607] mmc1: req done (CMD3): 0: 00000500 00000000 00000000 00000000
[    4.441623] mmc1: clock 200000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    4.441630] mmc1: starting CMD9 arg 00010000 flags 00000007
[    4.450434] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.450445] mmc1: req done (CMD9): 0: 900e0032 0f5903ff ffffffe7 96400000
[    4.450461] mmc1: starting CMD7 arg 00010000 flags 00000015
[    4.459799] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.459810] mmc1: req done (CMD7): 0: 00000700 00000000 00000000 00000000
[    4.459835] mmc1: starting CMD8 arg 00000000 flags 000000b5
[    4.459840] mmc1:     blksz 512 blocks 1 flags 00000200 tsac 10 ms nsac 0
[    4.467922] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.486052] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000002
[    4.486185] mmc1: req done (CMD8): 0: 00000900 00000000 00000000 00000000
[    4.486188] mmc1:     512 bytes transferred: 0
[    4.486209] mmc1: starting CMD6 arg 03af0101 flags 0000049d
[    4.495004] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000003
[    4.495016] mmc1: req done (CMD6): 0: 00000800 00000000 00000000 00000000
[    4.495032] mmc1: starting CMD13 arg 00010000 flags 00000195
[    4.504435] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.504562] mmc1: req done (CMD13): 0: 00000900 00000000 00000000 00000000
[    4.504578] mmc1: starting CMD6 arg 03b90101 flags 0000049d
[    4.511589] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000003
[    4.511599] mmc1: req done (CMD6): 0: 00000800 00000000 00000000 00000000
[    4.511614] mmc1: starting CMD13 arg 00010000 flags 00000195
[    4.519736] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.519747] mmc1: req done (CMD13): 0: 00000900 00000000 00000000 00000000
[    4.519764] mmc1: clock 200000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 1
[    4.519771] mmc1: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 1
[    4.519779] mmc1: starting CMD6 arg 03bb0301 flags 0000049d
[    4.528601] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000003
[    4.528611] mmc1: req done (CMD6): 0: 00000800 00000000 00000000 00000000
[    4.528627] mmc1: starting CMD13 arg 00010000 flags 00000195
[    4.537981] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.537992] mmc1: req done (CMD13): 0: 00000980 00000000 00000000 00000000
[    4.538006] mmc1: power class selection for ext_csd_bus_width 2 failed
[    4.538010] mmc1: error -74 whilst initialising MMC card
[    4.538015] mmc1: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
[    4.539022] mmc1: mmc_rescan_try_freq: trying to init card at 187500 Hz
[    4.539027] mmc1: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 0 timing 0
[    4.551589] mmc1: clock 187500Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
[    4.572548] mmc1: starting CMD52 arg 00000c00 flags 00000195
[    4.581325] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.581342] mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[    4.590725] mmc1: starting CMD52 arg 80000c08 flags 00000195
[    4.598986] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.598999] mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[    4.599019] mmc1: clock 187500Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
[    4.600023] mmc1: starting CMD0 arg 00000000 flags 000000c0
[    4.607800] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.607931] mmc1: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[    4.608945] mmc1: clock 187500Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
[    4.609949] mmc1: starting CMD8 arg 000001aa flags 000002f5
[    4.617346] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.617359] mmc1: req done (CMD8): -110: 00000000 00000000 00000000 00000000
[    4.617375] mmc1: starting CMD5 arg 00000000 flags 000002e1
[    4.627580] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.627600] mmc1: req failed (CMD5): -110, retrying...
[    4.637983] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.638005] mmc1: req failed (CMD5): -110, retrying...
[    4.646100] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.646123] mmc1: req failed (CMD5): -110, retrying...
[    4.654932] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.654945] mmc1: req done (CMD5): -110: 00000000 00000000 00000000 00000000
[    4.654961] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    4.664294] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.664305] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    4.664321] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    4.672502] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.672514] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    4.672530] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    4.681304] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.681313] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    4.681328] mmc1: starting CMD55 arg 00000000 flags 000000f5
[    4.690720] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00018001
[    4.690838] mmc1: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[    4.690855] mmc1: clock 187500Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
[    4.690861] mmc1: starting CMD1 arg 00000000 flags 000000e1
[    4.699895] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.699905] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    4.699923] mmc1: clock 187500Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    4.699930] mmc1: clock 187500Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    4.699937] mmc1: clock 187500Hz busmode 1 powermode 2 cs 1 Vdd 20 width 0 timing 0
[    4.700939] mmc1: starting CMD0 arg 00000000 flags 000000c0
[    4.707711] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.707826] mmc1: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[    4.708840] mmc1: clock 187500Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    4.709844] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    4.717486] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.717496] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    4.731594] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    4.736368] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.736380] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    4.751565] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    4.753395] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.753407] mmc1: req done (CMD1): 0: 00ff8080 00000000 00000000 00000000
[    4.771567] mmc1: starting CMD1 arg 40300000 flags 000000e1
[    4.780294] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.780309] mmc1: req done (CMD1): 0: c0ff8080 00000000 00000000 00000000
[    4.780326] mmc1: starting CMD2 arg 00000000 flags 00000067
[    4.788622] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.788738] mmc1: req done (CMD2): 0: 1101004d 4d433038 47030e18 24996d00
[    4.788763] mmc1: starting CMD3 arg 00010000 flags 00000015
[    4.797674] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.797684] mmc1: req done (CMD3): 0: 00000500 00000000 00000000 00000000
[    4.797701] mmc1: clock 187500Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
[    4.797708] mmc1: starting CMD9 arg 00010000 flags 00000007
[    4.807503] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.807622] mmc1: req done (CMD9): 0: 900e0032 0f5903ff ffffffe7 96400000
[    4.807638] mmc1: starting CMD7 arg 00010000 flags 00000015
[    4.817986] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.817996] mmc1: req done (CMD7): 0: 00000700 00000000 00000000 00000000
[    4.818021] mmc1: starting CMD8 arg 00000000 flags 000000b5
[    4.818026] mmc1:     blksz 512 blocks 1 flags 00000200 tsac 10 ms nsac 0
[    4.826268] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.844734] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000002
[    4.844754] mmc1: req done (CMD8): 0: 00000900 00000000 00000000 00000000
[    4.844757] mmc1:     512 bytes transferred: 0
[    4.844777] mmc1: starting CMD6 arg 03af0101 flags 0000049d
[    4.855166] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000003
[    4.855177] mmc1: req done (CMD6): 0: 00000800 00000000 00000000 00000000
[    4.855193] mmc1: starting CMD13 arg 00010000 flags 00000195
[    4.863479] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.863490] mmc1: req done (CMD13): 0: 00000900 00000000 00000000 00000000
[    4.863506] mmc1: starting CMD6 arg 03b90101 flags 0000049d
[    4.872501] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000003
[    4.872511] mmc1: req done (CMD6): 0: 00000800 00000000 00000000 00000000
[    4.872527] mmc1: starting CMD13 arg 00010000 flags 00000195
[    4.882331] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.882440] mmc1: req done (CMD13): 0: 00000900 00000000 00000000 00000000
[    4.882456] mmc1: clock 187500Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 1
[    4.882465] mmc1: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 1
[    4.882472] mmc1: starting CMD6 arg 03bb0301 flags 0000049d
[    4.890746] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000003
[    4.890756] mmc1: req done (CMD6): 0: 00000800 00000000 00000000 00000000
[    4.890771] mmc1: starting CMD13 arg 00010000 flags 00000195
[    4.899774] sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
[    4.899784] mmc1: req done (CMD13): 0: 00000980 00000000 00000000 00000000
[    4.899799] mmc1: power class selection for ext_csd_bus_width 2 failed
[    4.899803] mmc1: error -74 whilst initialising MMC card
[    4.899807] mmc1: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0

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

* Re: power class selection fails on 3.5-rc1
  2012-06-04 16:35 power class selection fails on 3.5-rc1 Marc Dietrich
@ 2012-06-05 12:36 ` Ulf Hansson
  2012-06-06  9:44   ` Subhash Jadavani
  2012-06-29 13:13   ` Marc Dietrich
  2012-06-08 12:41 ` S, Venkatraman
  1 sibling, 2 replies; 12+ messages in thread
From: Ulf Hansson @ 2012-06-05 12:36 UTC (permalink / raw)
  To: Marc Dietrich, Subhash Jadavani; +Cc: linux-mmc@vger.kernel.org

Hi Marc,

Maybe we can have some input from Subhash on this matter. I believe a 
revert can be feasible until a working solution exist.

Kind regards
Ulf Hansson

On 06/04/2012 06:35 PM, Marc Dietrich wrote:
> Hi,
>
> somehow I hope this would go away by itself, but it didn't :-( I reported this
> problem some time ago (see: http://www.mail-archive.com/linux-
> mmc@vger.kernel.org/msg13688.html ) but got no clear answer or fix.
>
> In addition to the information I posted on the thread above, I also dumped the
> contents of the ext_csd register file (where reg values are not zero):
>
> reg       Sandisk         Toshiba
> 241     10      0x0a    50      0x32
> 239     0       0x00    51      0x33
> 238     0       0x00    119     0x77
> 234     0       0x00    30      0x1e
> 232     1       0x01    4       0x04
> 231     21      0x15    21      0x15
> 230     150     0x96    16      0x10
> 229     150     0x96    66      0x42
> 228     1       0x01    7       0x07
> 226     8       0x08    16      0x10
> 225     6       0x06    7       0x07
> 224     4       0x04    8       0x08
> 223     1       0x01    2       0x02
> 222     8       0x08    16      0x10
> 221     16      0x10    1       0x01
> 220     8       0x08    7       0x07
> 219     7       0x07    7       0x07
> 217     16      0x10    17      0x11
> 215     1       0x01    0       0x00
> 214     218     0xda    238     0xee
> 213     160     0xa0    128     0x80
> 210     10      0x0a    0       0x00
> 209     10      0x0a    60      0x3c
> 208     10      0x0a    0       0x00
> 207     10      0x0a    60      0x3c
> 206     10      0x0a    0       0x00
> 205     10      0x0a    30      0x1e
> 203     0       0x00    51      0x33
> 202     0       0x00    51      0x33
> 201     0       0x00    119     0x77
> 200     0       0x00    119     0x77
> 196     3       0x03    7       0x07
> 194     2       0x02    2       0x02
> 192     5       0x05    5       0x05
> 185     1       0x01    1       0x01
> 181     0       0x00    1       0x01
> 179     0       0x00    1       0x01
> 175     0       0x00    1       0x01
> 169     1       0x01    0       0x00
> 168     0       0x00    2       0x02
> 160     3       0x03    3       0x03
> 158     0       0x00    3       0x03
> 157     237     0xed    186     0xba
>
> The second and the third column is from a device with a Sandisk eMCC which
> works fine, while the last two columns are from a Toshiba eMMC which shows the
> error. Looking into it, I found that only the Toshiba eMMC specifies a
> powerclass in registers 203-200 while Sandisk does not, so the powerclass is
> not changed in the latter case and the problem cannot be triggered there.
>
> I also attached a boot log with mmc debug enabled. I think there is not much I
> can do else. Either this eMMC is just bogus and needs blacklisting or there is
> some problem in the driver code.
>
> I hope this problem can be fixed or if it can't, I hope that commit 3d93576e
> (mmc: core: skip card initialization if power class selection fails) is
> reverted until the issues are sorted out.
>
> Greetings,
>
> 	Marc


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

* RE: power class selection fails on 3.5-rc1
  2012-06-05 12:36 ` Ulf Hansson
@ 2012-06-06  9:44   ` Subhash Jadavani
  2012-06-07  9:34     ` Marc Dietrich
  2012-06-29 13:13   ` Marc Dietrich
  1 sibling, 1 reply; 12+ messages in thread
From: Subhash Jadavani @ 2012-06-06  9:44 UTC (permalink / raw)
  To: 'Ulf Hansson', 'Marc Dietrich', Girish K S,
	saugata.das
  Cc: linux-mmc

<Girish / Saugata needs to comment on one point>

Comments inline:

> -----Original Message-----
> From: Ulf Hansson [mailto:ulf.hansson@stericsson.com]
> Sent: Tuesday, June 05, 2012 6:06 PM
> To: Marc Dietrich; Subhash Jadavani
> Cc: linux-mmc@vger.kernel.org
> Subject: Re: power class selection fails on 3.5-rc1
> 
> Hi Marc,
> 
> Maybe we can have some input from Subhash on this matter. I believe a
revert
> can be feasible until a working solution exist.
> 
> Kind regards
> Ulf Hansson
> 
> On 06/04/2012 06:35 PM, Marc Dietrich wrote:
> > Hi,
> >
> > somehow I hope this would go away by itself, but it didn't :-( I
> > reported this problem some time ago (see:
> > http://www.mail-archive.com/linux-
> > mmc@vger.kernel.org/msg13688.html ) but got no clear answer or fix.
> >
> > In addition to the information I posted on the thread above, I also
> > dumped the contents of the ext_csd register file (where reg values are
not
> zero):
> >
> > reg       Sandisk         Toshiba
> > 241     10      0x0a    50      0x32
> > 239     0       0x00    51      0x33
> > 238     0       0x00    119     0x77
> > 234     0       0x00    30      0x1e
> > 232     1       0x01    4       0x04
> > 231     21      0x15    21      0x15
> > 230     150     0x96    16      0x10
> > 229     150     0x96    66      0x42
> > 228     1       0x01    7       0x07
> > 226     8       0x08    16      0x10
> > 225     6       0x06    7       0x07
> > 224     4       0x04    8       0x08
> > 223     1       0x01    2       0x02
> > 222     8       0x08    16      0x10
> > 221     16      0x10    1       0x01
> > 220     8       0x08    7       0x07
> > 219     7       0x07    7       0x07
> > 217     16      0x10    17      0x11
> > 215     1       0x01    0       0x00
> > 214     218     0xda    238     0xee
> > 213     160     0xa0    128     0x80
> > 210     10      0x0a    0       0x00
> > 209     10      0x0a    60      0x3c
> > 208     10      0x0a    0       0x00
> > 207     10      0x0a    60      0x3c
> > 206     10      0x0a    0       0x00
> > 205     10      0x0a    30      0x1e
> > 203     0       0x00    51      0x33
> > 202     0       0x00    51      0x33
> > 201     0       0x00    119     0x77
> > 200     0       0x00    119     0x77
> > 196     3       0x03    7       0x07
> > 194     2       0x02    2       0x02
> > 192     5       0x05    5       0x05
> > 185     1       0x01    1       0x01
> > 181     0       0x00    1       0x01
> > 179     0       0x00    1       0x01
> > 175     0       0x00    1       0x01
> > 169     1       0x01    0       0x00
> > 168     0       0x00    2       0x02
> > 160     3       0x03    3       0x03
> > 158     0       0x00    3       0x03
> > 157     237     0xed    186     0xba
> >
> > The second and the third column is from a device with a Sandisk eMCC
> > which works fine, while the last two columns are from a Toshiba eMMC
> > which shows the error. Looking into it, I found that only the Toshiba
> > eMMC specifies a powerclass in registers 203-200 while Sandisk does
> > not, so the powerclass is not changed in the latter case and the problem
> cannot be triggered there.
> >
> > I also attached a boot log with mmc debug enabled. I think there is
> > not much I can do else. Either this eMMC is just bogus and needs
> > blacklisting or there is some problem in the driver code.

I checked the power class specification and MMC core driver handing, I don't
see any issue with it. As you mentioned the PWR_CL_* fields are having
non-zero values which means SWITCH (CMD6) will be sent to change the
POWER_CLASS and from the logs you have attached, this switch command tries
to set the POWER_CLASS to 3 which is resulting in SWITCH_ERROR in card and
that's why it fails.

If the PWR_CL_* fields are 0s (that's the case with SanDisk eMMC as you
mentioned), SWITCH(cmd6) is not sent to the card.

I was trying to check analyze more from logs and the above EXT_CSD fields
for Toshiba card.

EXT_CSD[203] => PWR_CL_26_360 => 0x33
EXT_CSD[202] => PWR_CL_52_360 => 0x33
EXT_CSD[201] => PWR_CL_26_195 => 0x77
EXT_CSD[200] => PWR_CL_52_195 => 0x77

>> [    3.842382] mmc1: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 20
width 0 timing 1
Logs shows that clock = 48MHz, bus_width = 8-Bit, SDR mode, VDD = High
voltage range. This would mean power class for this configuration will be in
higher nibble of PWR_CL_52_360 field (EXT_CSD[202]) which is 0x3.

>> [    3.842390] mmc1: starting CMD6 arg 03bb0301 flags 0000049d
"arg" field from this logs show that we are trying to set the POWER_CLASS
(EXT_CSD[187]) field to value 0x3 which is resulting in switch error which
ideally shouldn't.

Just for experiment, can we hack the value set to POWER_CLASS field to 0x7
instead of 0x3? If this doesn't work, you may try other values (starting
from 1 till 15) to see setting any of the non-zero value succeeds or not.

diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 2d4a4b7..b26913a 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -713,7 +713,7 @@ static int mmc_select_powerclass(struct mmc_card *card,
        if (pwrclass_val > 0) {
                err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
                                 EXT_CSD_POWER_CLASS,
-                                pwrclass_val,
+                                0x7,
                                 card->ext_csd.generic_cmd6_time);
        }


> >
> > I hope this problem can be fixed or if it can't, I hope that commit
> > 3d93576e
> > (mmc: core: skip card initialization if power class selection fails)
> > is reverted until the issues are sorted out.

3d93576e is really not the issue here. Reverting that patch is just a bad
workaround to the problem. We should actually try to find why exactly
setting the POWER_CLASS field is failing?

Originally, Girish had added power class selection base patch. I am not sure
whether he ever got a change to test eMMC cards which expose the non-zero
values in PWR_CL_* fields.
Girish, Can you please comment on what type of testing was done at that
time?

> >
> > Greetings,
> >
> > 	Marc



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

* Re: power class selection fails on 3.5-rc1
  2012-06-06  9:44   ` Subhash Jadavani
@ 2012-06-07  9:34     ` Marc Dietrich
  2012-06-07 10:23       ` Subhash Jadavani
  0 siblings, 1 reply; 12+ messages in thread
From: Marc Dietrich @ 2012-06-07  9:34 UTC (permalink / raw)
  To: Subhash Jadavani
  Cc: 'Ulf Hansson', Girish K S, saugata.das, linux-mmc

On Wednesday 06 June 2012 15:14:48 Subhash Jadavani wrote:
> > On 06/04/2012 06:35 PM, Marc Dietrich wrote:
> > > Hi,
> > > 
> > > somehow I hope this would go away by itself, but it didn't :-( I
> > > reported this problem some time ago (see:
> > > http://www.mail-archive.com/linux-
> > > mmc@vger.kernel.org/msg13688.html ) but got no clear answer or fix.
> > > 
> > > In addition to the information I posted on the thread above, I also
> > > dumped the contents of the ext_csd register file (where reg values are
> > > not zero):
> > >
> > > reg       Sandisk         Toshiba
> > > 241     10      0x0a    50      0x32
> > > 239     0       0x00    51      0x33
> > > 238     0       0x00    119     0x77
> > > 234     0       0x00    30      0x1e
> > > 232     1       0x01    4       0x04
> > > 231     21      0x15    21      0x15
> > > 230     150     0x96    16      0x10
> > > 229     150     0x96    66      0x42
> > > 228     1       0x01    7       0x07
> > > 226     8       0x08    16      0x10
> > > 225     6       0x06    7       0x07
> > > 224     4       0x04    8       0x08
> > > 223     1       0x01    2       0x02
> > > 222     8       0x08    16      0x10
> > > 221     16      0x10    1       0x01
> > > 220     8       0x08    7       0x07
> > > 219     7       0x07    7       0x07
> > > 217     16      0x10    17      0x11
> > > 215     1       0x01    0       0x00
> > > 214     218     0xda    238     0xee
> > > 213     160     0xa0    128     0x80
> > > 210     10      0x0a    0       0x00
> > > 209     10      0x0a    60      0x3c
> > > 208     10      0x0a    0       0x00
> > > 207     10      0x0a    60      0x3c
> > > 206     10      0x0a    0       0x00
> > > 205     10      0x0a    30      0x1e
> > > 203     0       0x00    51      0x33
> > > 202     0       0x00    51      0x33
> > > 201     0       0x00    119     0x77
> > > 200     0       0x00    119     0x77
> > > 196     3       0x03    7       0x07
> > > 194     2       0x02    2       0x02
> > > 192     5       0x05    5       0x05
> > > 185     1       0x01    1       0x01
> > > 181     0       0x00    1       0x01
> > > 179     0       0x00    1       0x01
> > > 175     0       0x00    1       0x01
> > > 169     1       0x01    0       0x00
> > > 168     0       0x00    2       0x02
> > > 160     3       0x03    3       0x03
> > > 158     0       0x00    3       0x03
> > > 157     237     0xed    186     0xba
> > > 
> > > The second and the third column is from a device with a Sandisk eMCC
> > > which works fine, while the last two columns are from a Toshiba eMMC
> > > which shows the error. Looking into it, I found that only the Toshiba
> > > eMMC specifies a powerclass in registers 203-200 while Sandisk does
> > > not, so the powerclass is not changed in the latter case and the problem
> > > cannot be triggered there.
> > >
> > > I also attached a boot log with mmc debug enabled. I think there is
> > > not much I can do else. Either this eMMC is just bogus and needs
> > > blacklisting or there is some problem in the driver code.
> 
> I checked the power class specification and MMC core driver handing, I don't
> see any issue with it. As you mentioned the PWR_CL_* fields are having
> non-zero values which means SWITCH (CMD6) will be sent to change the
> POWER_CLASS and from the logs you have attached, this switch command tries
> to set the POWER_CLASS to 3 which is resulting in SWITCH_ERROR in card and
> that's why it fails.
> 
> If the PWR_CL_* fields are 0s (that's the case with SanDisk eMMC as you
> mentioned), SWITCH(cmd6) is not sent to the card.
> 
> I was trying to check analyze more from logs and the above EXT_CSD fields
> for Toshiba card.
> 
> EXT_CSD[203] => PWR_CL_26_360 => 0x33
> EXT_CSD[202] => PWR_CL_52_360 => 0x33
> EXT_CSD[201] => PWR_CL_26_195 => 0x77
> EXT_CSD[200] => PWR_CL_52_195 => 0x77
> 
> >> [    3.842382] mmc1: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 20
> 
> width 0 timing 1
> Logs shows that clock = 48MHz, bus_width = 8-Bit, SDR mode, VDD = High
> voltage range. This would mean power class for this configuration will be in
> higher nibble of PWR_CL_52_360 field (EXT_CSD[202]) which is 0x3.
> 
> >> [    3.842390] mmc1: starting CMD6 arg 03bb0301 flags 0000049d
> 
> "arg" field from this logs show that we are trying to set the POWER_CLASS
> (EXT_CSD[187]) field to value 0x3 which is resulting in switch error which
> ideally shouldn't.
> 
> Just for experiment, can we hack the value set to POWER_CLASS field to 0x7
> instead of 0x3? If this doesn't work, you may try other values (starting
> from 1 till 15) to see setting any of the non-zero value succeeds or not.

I tried 1 to 10 (as this is a 4.41 card) and none of them worked (including 
7).

> > > I hope this problem can be fixed or if it can't, I hope that commit
> > > 3d93576e (mmc: core: skip card initialization if power class selection
> > > fails) is reverted until the issues are sorted out.
> 
> 3d93576e is really not the issue here. Reverting that patch is just a bad
> workaround to the problem. We should actually try to find why exactly
> setting the POWER_CLASS field is failing?

sure, that would be the best solution...

Marc



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

* RE: power class selection fails on 3.5-rc1
  2012-06-07  9:34     ` Marc Dietrich
@ 2012-06-07 10:23       ` Subhash Jadavani
  2012-06-08 11:46         ` Girish K S
  0 siblings, 1 reply; 12+ messages in thread
From: Subhash Jadavani @ 2012-06-07 10:23 UTC (permalink / raw)
  To: 'Marc Dietrich'
  Cc: 'Ulf Hansson', 'Girish K S', saugata.das,
	linux-mmc

> > Just for experiment, can we hack the value set to POWER_CLASS field to
> > 0x7 instead of 0x3? If this doesn't work, you may try other values
> > (starting from 1 till 15) to see setting any of the non-zero value
succeeds or
> not.
> 
> I tried 1 to 10 (as this is a 4.41 card) and none of them worked
(including 7).

Oh, that's not good.

Girish / Saugata,
Do you have any comments on this? Can you please comment on what type of
testing was done when we had initially added this power class selection?

Regards,
Subhash

> -----Original Message-----
> From: linux-mmc-owner@vger.kernel.org [mailto:linux-mmc-
> owner@vger.kernel.org] On Behalf Of Marc Dietrich
> Sent: Thursday, June 07, 2012 3:05 PM
> To: Subhash Jadavani
> Cc: 'Ulf Hansson'; Girish K S; saugata.das@linaro.org; linux-
> mmc@vger.kernel.org
> Subject: Re: power class selection fails on 3.5-rc1
> 
> On Wednesday 06 June 2012 15:14:48 Subhash Jadavani wrote:
> > > On 06/04/2012 06:35 PM, Marc Dietrich wrote:
> > > > Hi,
> > > >
> > > > somehow I hope this would go away by itself, but it didn't :-( I
> > > > reported this problem some time ago (see:
> > > > http://www.mail-archive.com/linux-
> > > > mmc@vger.kernel.org/msg13688.html ) but got no clear answer or fix.
> > > >
> > > > In addition to the information I posted on the thread above, I
> > > > also dumped the contents of the ext_csd register file (where reg
> > > > values are not zero):
> > > >
> > > > reg       Sandisk         Toshiba
> > > > 241     10      0x0a    50      0x32
> > > > 239     0       0x00    51      0x33
> > > > 238     0       0x00    119     0x77
> > > > 234     0       0x00    30      0x1e
> > > > 232     1       0x01    4       0x04
> > > > 231     21      0x15    21      0x15
> > > > 230     150     0x96    16      0x10
> > > > 229     150     0x96    66      0x42
> > > > 228     1       0x01    7       0x07
> > > > 226     8       0x08    16      0x10
> > > > 225     6       0x06    7       0x07
> > > > 224     4       0x04    8       0x08
> > > > 223     1       0x01    2       0x02
> > > > 222     8       0x08    16      0x10
> > > > 221     16      0x10    1       0x01
> > > > 220     8       0x08    7       0x07
> > > > 219     7       0x07    7       0x07
> > > > 217     16      0x10    17      0x11
> > > > 215     1       0x01    0       0x00
> > > > 214     218     0xda    238     0xee
> > > > 213     160     0xa0    128     0x80
> > > > 210     10      0x0a    0       0x00
> > > > 209     10      0x0a    60      0x3c
> > > > 208     10      0x0a    0       0x00
> > > > 207     10      0x0a    60      0x3c
> > > > 206     10      0x0a    0       0x00
> > > > 205     10      0x0a    30      0x1e
> > > > 203     0       0x00    51      0x33
> > > > 202     0       0x00    51      0x33
> > > > 201     0       0x00    119     0x77
> > > > 200     0       0x00    119     0x77
> > > > 196     3       0x03    7       0x07
> > > > 194     2       0x02    2       0x02
> > > > 192     5       0x05    5       0x05
> > > > 185     1       0x01    1       0x01
> > > > 181     0       0x00    1       0x01
> > > > 179     0       0x00    1       0x01
> > > > 175     0       0x00    1       0x01
> > > > 169     1       0x01    0       0x00
> > > > 168     0       0x00    2       0x02
> > > > 160     3       0x03    3       0x03
> > > > 158     0       0x00    3       0x03
> > > > 157     237     0xed    186     0xba
> > > >
> > > > The second and the third column is from a device with a Sandisk
> > > > eMCC which works fine, while the last two columns are from a
> > > > Toshiba eMMC which shows the error. Looking into it, I found that
> > > > only the Toshiba eMMC specifies a powerclass in registers 203-200
> > > > while Sandisk does not, so the powerclass is not changed in the
> > > > latter case and the problem cannot be triggered there.
> > > >
> > > > I also attached a boot log with mmc debug enabled. I think there
> > > > is not much I can do else. Either this eMMC is just bogus and
> > > > needs blacklisting or there is some problem in the driver code.
> >
> > I checked the power class specification and MMC core driver handing, I
> > don't see any issue with it. As you mentioned the PWR_CL_* fields are
> > having non-zero values which means SWITCH (CMD6) will be sent to
> > change the POWER_CLASS and from the logs you have attached, this
> > switch command tries to set the POWER_CLASS to 3 which is resulting in
> > SWITCH_ERROR in card and that's why it fails.
> >
> > If the PWR_CL_* fields are 0s (that's the case with SanDisk eMMC as
> > you mentioned), SWITCH(cmd6) is not sent to the card.
> >
> > I was trying to check analyze more from logs and the above EXT_CSD
> > fields for Toshiba card.
> >
> > EXT_CSD[203] => PWR_CL_26_360 => 0x33
> > EXT_CSD[202] => PWR_CL_52_360 => 0x33
> > EXT_CSD[201] => PWR_CL_26_195 => 0x77
> > EXT_CSD[200] => PWR_CL_52_195 => 0x77
> >
> > >> [    3.842382] mmc1: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd
> 20
> >
> > width 0 timing 1
> > Logs shows that clock = 48MHz, bus_width = 8-Bit, SDR mode, VDD = High
> > voltage range. This would mean power class for this configuration will
> > be in higher nibble of PWR_CL_52_360 field (EXT_CSD[202]) which is 0x3.
> >
> > >> [    3.842390] mmc1: starting CMD6 arg 03bb0301 flags 0000049d
> >
> > "arg" field from this logs show that we are trying to set the
> > POWER_CLASS
> > (EXT_CSD[187]) field to value 0x3 which is resulting in switch error
> > which ideally shouldn't.
> >
> > Just for experiment, can we hack the value set to POWER_CLASS field to
> > 0x7 instead of 0x3? If this doesn't work, you may try other values
> > (starting from 1 till 15) to see setting any of the non-zero value
succeeds or
> not.
> 
> I tried 1 to 10 (as this is a 4.41 card) and none of them worked
(including 7).
> 
> > > > I hope this problem can be fixed or if it can't, I hope that
> > > > commit 3d93576e (mmc: core: skip card initialization if power
> > > > class selection
> > > > fails) is reverted until the issues are sorted out.
> >
> > 3d93576e is really not the issue here. Reverting that patch is just a
> > bad workaround to the problem. We should actually try to find why
> > exactly setting the POWER_CLASS field is failing?
> 
> sure, that would be the best solution...
> 
> Marc
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body
> of a message to majordomo@vger.kernel.org More majordomo info at
> http://vger.kernel.org/majordomo-info.html


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

* Re: power class selection fails on 3.5-rc1
  2012-06-07 10:23       ` Subhash Jadavani
@ 2012-06-08 11:46         ` Girish K S
  2012-06-08 13:27           ` Subhash Jadavani
  2012-06-14 12:32           ` Leon Romanovsky
  0 siblings, 2 replies; 12+ messages in thread
From: Girish K S @ 2012-06-08 11:46 UTC (permalink / raw)
  To: Subhash Jadavani; +Cc: Marc Dietrich, Ulf Hansson, saugata.das, linux-mmc

On 7 June 2012 15:53, Subhash Jadavani <subhashj@codeaurora.org> wrote:
>> > Just for experiment, can we hack the value set to POWER_CLASS field to
>> > 0x7 instead of 0x3? If this doesn't work, you may try other values
>> > (starting from 1 till 15) to see setting any of the non-zero value
> succeeds or
>> not.
>>
>> I tried 1 to 10 (as this is a 4.41 card) and none of them worked
> (including 7).
>
> Oh, that's not good.
>
> Girish / Saugata,
> Do you have any comments on this? Can you please comment on what type of
> testing was done when we had initially added this power class selection?
Today i tried om the eMMC 4.5 sample.
I forced the values from 1- 10
I was able to successfully set the power class value without any error
return value. It failed for the for the value 0xf.
>
> Regards,
> Subhash
>
>> -----Original Message-----
>> From: linux-mmc-owner@vger.kernel.org [mailto:linux-mmc-
>> owner@vger.kernel.org] On Behalf Of Marc Dietrich
>> Sent: Thursday, June 07, 2012 3:05 PM
>> To: Subhash Jadavani
>> Cc: 'Ulf Hansson'; Girish K S; saugata.das@linaro.org; linux-
>> mmc@vger.kernel.org
>> Subject: Re: power class selection fails on 3.5-rc1
>>
>> On Wednesday 06 June 2012 15:14:48 Subhash Jadavani wrote:
>> > > On 06/04/2012 06:35 PM, Marc Dietrich wrote:
>> > > > Hi,
>> > > >
>> > > > somehow I hope this would go away by itself, but it didn't :-( I
>> > > > reported this problem some time ago (see:
>> > > > http://www.mail-archive.com/linux-
>> > > > mmc@vger.kernel.org/msg13688.html ) but got no clear answer or fix.
>> > > >
>> > > > In addition to the information I posted on the thread above, I
>> > > > also dumped the contents of the ext_csd register file (where reg
>> > > > values are not zero):
>> > > >
>> > > > reg       Sandisk         Toshiba
>> > > > 241     10      0x0a    50      0x32
>> > > > 239     0       0x00    51      0x33
>> > > > 238     0       0x00    119     0x77
>> > > > 234     0       0x00    30      0x1e
>> > > > 232     1       0x01    4       0x04
>> > > > 231     21      0x15    21      0x15
>> > > > 230     150     0x96    16      0x10
>> > > > 229     150     0x96    66      0x42
>> > > > 228     1       0x01    7       0x07
>> > > > 226     8       0x08    16      0x10
>> > > > 225     6       0x06    7       0x07
>> > > > 224     4       0x04    8       0x08
>> > > > 223     1       0x01    2       0x02
>> > > > 222     8       0x08    16      0x10
>> > > > 221     16      0x10    1       0x01
>> > > > 220     8       0x08    7       0x07
>> > > > 219     7       0x07    7       0x07
>> > > > 217     16      0x10    17      0x11
>> > > > 215     1       0x01    0       0x00
>> > > > 214     218     0xda    238     0xee
>> > > > 213     160     0xa0    128     0x80
>> > > > 210     10      0x0a    0       0x00
>> > > > 209     10      0x0a    60      0x3c
>> > > > 208     10      0x0a    0       0x00
>> > > > 207     10      0x0a    60      0x3c
>> > > > 206     10      0x0a    0       0x00
>> > > > 205     10      0x0a    30      0x1e
>> > > > 203     0       0x00    51      0x33
>> > > > 202     0       0x00    51      0x33
>> > > > 201     0       0x00    119     0x77
>> > > > 200     0       0x00    119     0x77
>> > > > 196     3       0x03    7       0x07
>> > > > 194     2       0x02    2       0x02
>> > > > 192     5       0x05    5       0x05
>> > > > 185     1       0x01    1       0x01
>> > > > 181     0       0x00    1       0x01
>> > > > 179     0       0x00    1       0x01
>> > > > 175     0       0x00    1       0x01
>> > > > 169     1       0x01    0       0x00
>> > > > 168     0       0x00    2       0x02
>> > > > 160     3       0x03    3       0x03
>> > > > 158     0       0x00    3       0x03
>> > > > 157     237     0xed    186     0xba
>> > > >
>> > > > The second and the third column is from a device with a Sandisk
>> > > > eMCC which works fine, while the last two columns are from a
>> > > > Toshiba eMMC which shows the error. Looking into it, I found that
>> > > > only the Toshiba eMMC specifies a powerclass in registers 203-200
>> > > > while Sandisk does not, so the powerclass is not changed in the
>> > > > latter case and the problem cannot be triggered there.
>> > > >
>> > > > I also attached a boot log with mmc debug enabled. I think there
>> > > > is not much I can do else. Either this eMMC is just bogus and
>> > > > needs blacklisting or there is some problem in the driver code.
>> >
>> > I checked the power class specification and MMC core driver handing, I
>> > don't see any issue with it. As you mentioned the PWR_CL_* fields are
>> > having non-zero values which means SWITCH (CMD6) will be sent to
>> > change the POWER_CLASS and from the logs you have attached, this
>> > switch command tries to set the POWER_CLASS to 3 which is resulting in
>> > SWITCH_ERROR in card and that's why it fails.
>> >
>> > If the PWR_CL_* fields are 0s (that's the case with SanDisk eMMC as
>> > you mentioned), SWITCH(cmd6) is not sent to the card.
>> >
>> > I was trying to check analyze more from logs and the above EXT_CSD
>> > fields for Toshiba card.
>> >
>> > EXT_CSD[203] => PWR_CL_26_360 => 0x33
>> > EXT_CSD[202] => PWR_CL_52_360 => 0x33
>> > EXT_CSD[201] => PWR_CL_26_195 => 0x77
>> > EXT_CSD[200] => PWR_CL_52_195 => 0x77
>> >
>> > >> [    3.842382] mmc1: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd
>> 20
>> >
>> > width 0 timing 1
>> > Logs shows that clock = 48MHz, bus_width = 8-Bit, SDR mode, VDD = High
>> > voltage range. This would mean power class for this configuration will
>> > be in higher nibble of PWR_CL_52_360 field (EXT_CSD[202]) which is 0x3.
>> >
>> > >> [    3.842390] mmc1: starting CMD6 arg 03bb0301 flags 0000049d
>> >
>> > "arg" field from this logs show that we are trying to set the
>> > POWER_CLASS
>> > (EXT_CSD[187]) field to value 0x3 which is resulting in switch error
>> > which ideally shouldn't.
>> >
>> > Just for experiment, can we hack the value set to POWER_CLASS field to
>> > 0x7 instead of 0x3? If this doesn't work, you may try other values
>> > (starting from 1 till 15) to see setting any of the non-zero value
> succeeds or
>> not.
>>
>> I tried 1 to 10 (as this is a 4.41 card) and none of them worked
> (including 7).
>>
>> > > > I hope this problem can be fixed or if it can't, I hope that
>> > > > commit 3d93576e (mmc: core: skip card initialization if power
>> > > > class selection
>> > > > fails) is reverted until the issues are sorted out.
>> >
>> > 3d93576e is really not the issue here. Reverting that patch is just a
>> > bad workaround to the problem. We should actually try to find why
>> > exactly setting the POWER_CLASS field is failing?
>>
>> sure, that would be the best solution...
>>
>> Marc
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body
>> of a message to majordomo@vger.kernel.org More majordomo info at
>> http://vger.kernel.org/majordomo-info.html
>

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

* Re: power class selection fails on 3.5-rc1
  2012-06-04 16:35 power class selection fails on 3.5-rc1 Marc Dietrich
  2012-06-05 12:36 ` Ulf Hansson
@ 2012-06-08 12:41 ` S, Venkatraman
  2012-06-08 13:49   ` Girish K S
  2012-06-08 14:21   ` Marc Dietrich
  1 sibling, 2 replies; 12+ messages in thread
From: S, Venkatraman @ 2012-06-08 12:41 UTC (permalink / raw)
  To: Marc Dietrich; +Cc: linux-mmc

On Mon, Jun 4, 2012 at 10:05 PM, Marc Dietrich <marvin24@gmx.de> wrote:
> Hi,
>
> somehow I hope this would go away by itself, but it didn't :-( I reported this
> problem some time ago (see: http://www.mail-archive.com/linux-
> mmc@vger.kernel.org/msg13688.html ) but got no clear answer or fix.
>
> In addition to the information I posted on the thread above, I also dumped the
> contents of the ext_csd register file (where reg values are not zero):
>
> reg       Sandisk         Toshiba
> 241     10      0x0a    50      0x32
> 239     0       0x00    51      0x33
> 238     0       0x00    119     0x77
> 234     0       0x00    30      0x1e
> 232     1       0x01    4       0x04
> 231     21      0x15    21      0x15
> 230     150     0x96    16      0x10
> 229     150     0x96    66      0x42
> 228     1       0x01    7       0x07
> 226     8       0x08    16      0x10
> 225     6       0x06    7       0x07
> 224     4       0x04    8       0x08
> 223     1       0x01    2       0x02
> 222     8       0x08    16      0x10
> 221     16      0x10    1       0x01
> 220     8       0x08    7       0x07
> 219     7       0x07    7       0x07
> 217     16      0x10    17      0x11
> 215     1       0x01    0       0x00
> 214     218     0xda    238     0xee
> 213     160     0xa0    128     0x80
> 210     10      0x0a    0       0x00
> 209     10      0x0a    60      0x3c
> 208     10      0x0a    0       0x00
> 207     10      0x0a    60      0x3c
> 206     10      0x0a    0       0x00
> 205     10      0x0a    30      0x1e
> 203     0       0x00    51      0x33
> 202     0       0x00    51      0x33
> 201     0       0x00    119     0x77
> 200     0       0x00    119     0x77
> 196     3       0x03    7       0x07
> 194     2       0x02    2       0x02
> 192     5       0x05    5       0x05
> 185     1       0x01    1       0x01
> 181     0       0x00    1       0x01
> 179     0       0x00    1       0x01
> 175     0       0x00    1       0x01
> 169     1       0x01    0       0x00
> 168     0       0x00    2       0x02
> 160     3       0x03    3       0x03
> 158     0       0x00    3       0x03
> 157     237     0xed    186     0xba
>
> The second and the third column is from a device with a Sandisk eMCC which
> works fine, while the last two columns are from a Toshiba eMMC which shows the
> error. Looking into it, I found that only the Toshiba eMMC specifies a
> powerclass in registers 203-200 while Sandisk does not, so the powerclass is
> not changed in the latter case and the problem cannot be triggered there.
>
> I also attached a boot log with mmc debug enabled. I think there is not much I
> can do else. Either this eMMC is just bogus and needs blacklisting or there is
> some problem in the driver code.
>
I am a bit rusty here, so bear with me.
According to the ext_csd, the power class value that should be sent to
the card was 0x7. (Upper nibble of ext_csd[201]).

What I saw in the attached debug Log:
[    3.842390] mmc1: starting CMD6 arg 03bb0301 flags 0000049d
This means write 0x03 into 0xBB register, and not 0x7 which is what is needed.

While Marc has tried all values from 0 to 10, this wouldn't be the
definite issue, but I am wondering is there is some other problem.

Or have I got it all wrong ?
~Venkat.

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

* RE: power class selection fails on 3.5-rc1
  2012-06-08 11:46         ` Girish K S
@ 2012-06-08 13:27           ` Subhash Jadavani
  2012-06-14 12:32           ` Leon Romanovsky
  1 sibling, 0 replies; 12+ messages in thread
From: Subhash Jadavani @ 2012-06-08 13:27 UTC (permalink / raw)
  To: 'Girish K S'
  Cc: 'Marc Dietrich', 'Ulf Hansson', saugata.das,
	linux-mmc



> -----Original Message-----
> From: Girish K S [mailto:girish.shivananjappa@linaro.org]
> Sent: Friday, June 08, 2012 5:16 PM
> To: Subhash Jadavani
> Cc: Marc Dietrich; Ulf Hansson; saugata.das@linaro.org; linux-
> mmc@vger.kernel.org
> Subject: Re: power class selection fails on 3.5-rc1
> 
> On 7 June 2012 15:53, Subhash Jadavani <subhashj@codeaurora.org> wrote:
> >> > Just for experiment, can we hack the value set to POWER_CLASS field
> >> > to
> >> > 0x7 instead of 0x3? If this doesn't work, you may try other values
> >> > (starting from 1 till 15) to see setting any of the non-zero value
> > succeeds or
> >> not.
> >>
> >> I tried 1 to 10 (as this is a 4.41 card) and none of them worked
> > (including 7).
> >
> > Oh, that's not good.
> >
> > Girish / Saugata,
> > Do you have any comments on this? Can you please comment on what type
> > of testing was done when we had initially added this power class
selection?
> Today i tried om the eMMC 4.5 sample.

Thanks Girish for trying this out. Does this particular eMMC4.5 sample is
supporting HS200? If yes, then can you please undefine MMC_CAP2_HS200 and
try? I guess Marc's card don't support HS200 so it will take different code
path then yours. In HS200 case, device bus width is first selected and then
power class selection field is written. Where as in Marc's case, if card
doesn't support HS200, first power class is selected and then card bus width
would be changed.

Regards,
Subhash

> I forced the values from 1- 10
> I was able to successfully set the power class value without any error
return
> value. It failed for the for the value 0xf.



> >
> > Regards,
> > Subhash
> >
> >> -----Original Message-----
> >> From: linux-mmc-owner@vger.kernel.org [mailto:linux-mmc-
> >> owner@vger.kernel.org] On Behalf Of Marc Dietrich
> >> Sent: Thursday, June 07, 2012 3:05 PM
> >> To: Subhash Jadavani
> >> Cc: 'Ulf Hansson'; Girish K S; saugata.das@linaro.org; linux-
> >> mmc@vger.kernel.org
> >> Subject: Re: power class selection fails on 3.5-rc1
> >>
> >> On Wednesday 06 June 2012 15:14:48 Subhash Jadavani wrote:
> >> > > On 06/04/2012 06:35 PM, Marc Dietrich wrote:
> >> > > > Hi,
> >> > > >
> >> > > > somehow I hope this would go away by itself, but it didn't :-(
> >> > > > I reported this problem some time ago (see:
> >> > > > http://www.mail-archive.com/linux-
> >> > > > mmc@vger.kernel.org/msg13688.html ) but got no clear answer or
fix.
> >> > > >
> >> > > > In addition to the information I posted on the thread above, I
> >> > > > also dumped the contents of the ext_csd register file (where
> >> > > > reg values are not zero):
> >> > > >
> >> > > > reg       Sandisk         Toshiba
> >> > > > 241     10      0x0a    50      0x32
> >> > > > 239     0       0x00    51      0x33
> >> > > > 238     0       0x00    119     0x77
> >> > > > 234     0       0x00    30      0x1e
> >> > > > 232     1       0x01    4       0x04
> >> > > > 231     21      0x15    21      0x15
> >> > > > 230     150     0x96    16      0x10
> >> > > > 229     150     0x96    66      0x42
> >> > > > 228     1       0x01    7       0x07
> >> > > > 226     8       0x08    16      0x10
> >> > > > 225     6       0x06    7       0x07
> >> > > > 224     4       0x04    8       0x08
> >> > > > 223     1       0x01    2       0x02
> >> > > > 222     8       0x08    16      0x10
> >> > > > 221     16      0x10    1       0x01
> >> > > > 220     8       0x08    7       0x07
> >> > > > 219     7       0x07    7       0x07
> >> > > > 217     16      0x10    17      0x11
> >> > > > 215     1       0x01    0       0x00
> >> > > > 214     218     0xda    238     0xee
> >> > > > 213     160     0xa0    128     0x80
> >> > > > 210     10      0x0a    0       0x00
> >> > > > 209     10      0x0a    60      0x3c
> >> > > > 208     10      0x0a    0       0x00
> >> > > > 207     10      0x0a    60      0x3c
> >> > > > 206     10      0x0a    0       0x00
> >> > > > 205     10      0x0a    30      0x1e
> >> > > > 203     0       0x00    51      0x33
> >> > > > 202     0       0x00    51      0x33
> >> > > > 201     0       0x00    119     0x77
> >> > > > 200     0       0x00    119     0x77
> >> > > > 196     3       0x03    7       0x07
> >> > > > 194     2       0x02    2       0x02
> >> > > > 192     5       0x05    5       0x05
> >> > > > 185     1       0x01    1       0x01
> >> > > > 181     0       0x00    1       0x01
> >> > > > 179     0       0x00    1       0x01
> >> > > > 175     0       0x00    1       0x01
> >> > > > 169     1       0x01    0       0x00
> >> > > > 168     0       0x00    2       0x02
> >> > > > 160     3       0x03    3       0x03
> >> > > > 158     0       0x00    3       0x03
> >> > > > 157     237     0xed    186     0xba
> >> > > >
> >> > > > The second and the third column is from a device with a Sandisk
> >> > > > eMCC which works fine, while the last two columns are from a
> >> > > > Toshiba eMMC which shows the error. Looking into it, I found
> >> > > > that only the Toshiba eMMC specifies a powerclass in registers
> >> > > > 203-200 while Sandisk does not, so the powerclass is not
> >> > > > changed in the latter case and the problem cannot be triggered
there.
> >> > > >
> >> > > > I also attached a boot log with mmc debug enabled. I think
> >> > > > there is not much I can do else. Either this eMMC is just bogus
> >> > > > and needs blacklisting or there is some problem in the driver
code.
> >> >
> >> > I checked the power class specification and MMC core driver
> >> > handing, I don't see any issue with it. As you mentioned the
> >> > PWR_CL_* fields are having non-zero values which means SWITCH
> >> > (CMD6) will be sent to change the POWER_CLASS and from the logs you
> >> > have attached, this switch command tries to set the POWER_CLASS to
> >> > 3 which is resulting in SWITCH_ERROR in card and that's why it fails.
> >> >
> >> > If the PWR_CL_* fields are 0s (that's the case with SanDisk eMMC as
> >> > you mentioned), SWITCH(cmd6) is not sent to the card.
> >> >
> >> > I was trying to check analyze more from logs and the above EXT_CSD
> >> > fields for Toshiba card.
> >> >
> >> > EXT_CSD[203] => PWR_CL_26_360 => 0x33 EXT_CSD[202] =>
> PWR_CL_52_360
> >> > => 0x33 EXT_CSD[201] => PWR_CL_26_195 => 0x77 EXT_CSD[200] =>
> >> > PWR_CL_52_195 => 0x77
> >> >
> >> > >> [    3.842382] mmc1: clock 48000000Hz busmode 2 powermode 2 cs 0
> >> > >> Vdd
> >> 20
> >> >
> >> > width 0 timing 1
> >> > Logs shows that clock = 48MHz, bus_width = 8-Bit, SDR mode, VDD =
> >> > High voltage range. This would mean power class for this
> >> > configuration will be in higher nibble of PWR_CL_52_360 field
> (EXT_CSD[202]) which is 0x3.
> >> >
> >> > >> [    3.842390] mmc1: starting CMD6 arg 03bb0301 flags 0000049d
> >> >
> >> > "arg" field from this logs show that we are trying to set the
> >> > POWER_CLASS
> >> > (EXT_CSD[187]) field to value 0x3 which is resulting in switch
> >> > error which ideally shouldn't.
> >> >
> >> > Just for experiment, can we hack the value set to POWER_CLASS field
> >> > to
> >> > 0x7 instead of 0x3? If this doesn't work, you may try other values
> >> > (starting from 1 till 15) to see setting any of the non-zero value
> > succeeds or
> >> not.
> >>
> >> I tried 1 to 10 (as this is a 4.41 card) and none of them worked
> > (including 7).
> >>
> >> > > > I hope this problem can be fixed or if it can't, I hope that
> >> > > > commit 3d93576e (mmc: core: skip card initialization if power
> >> > > > class selection
> >> > > > fails) is reverted until the issues are sorted out.
> >> >
> >> > 3d93576e is really not the issue here. Reverting that patch is just
> >> > a bad workaround to the problem. We should actually try to find why
> >> > exactly setting the POWER_CLASS field is failing?
> >>
> >> sure, that would be the best solution...
> >>
> >> Marc
> >>
> >>
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe linux-mmc"
> >> in
> > the body
> >> of a message to majordomo@vger.kernel.org More majordomo info at
> >> http://vger.kernel.org/majordomo-info.html
> >


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

* Re: power class selection fails on 3.5-rc1
  2012-06-08 12:41 ` S, Venkatraman
@ 2012-06-08 13:49   ` Girish K S
  2012-06-08 14:21   ` Marc Dietrich
  1 sibling, 0 replies; 12+ messages in thread
From: Girish K S @ 2012-06-08 13:49 UTC (permalink / raw)
  To: S, Venkatraman; +Cc: Marc Dietrich, linux-mmc

On 8 June 2012 18:11, S, Venkatraman <svenkatr@ti.com> wrote:
> On Mon, Jun 4, 2012 at 10:05 PM, Marc Dietrich <marvin24@gmx.de> wrote:
>> Hi,
>>
>> somehow I hope this would go away by itself, but it didn't :-( I reported this
>> problem some time ago (see: http://www.mail-archive.com/linux-
>> mmc@vger.kernel.org/msg13688.html ) but got no clear answer or fix.
>>
>> In addition to the information I posted on the thread above, I also dumped the
>> contents of the ext_csd register file (where reg values are not zero):
>>
>> reg       Sandisk         Toshiba
>> 241     10      0x0a    50      0x32
>> 239     0       0x00    51      0x33
>> 238     0       0x00    119     0x77
>> 234     0       0x00    30      0x1e
>> 232     1       0x01    4       0x04
>> 231     21      0x15    21      0x15
>> 230     150     0x96    16      0x10
>> 229     150     0x96    66      0x42
>> 228     1       0x01    7       0x07
>> 226     8       0x08    16      0x10
>> 225     6       0x06    7       0x07
>> 224     4       0x04    8       0x08
>> 223     1       0x01    2       0x02
>> 222     8       0x08    16      0x10
>> 221     16      0x10    1       0x01
>> 220     8       0x08    7       0x07
>> 219     7       0x07    7       0x07
>> 217     16      0x10    17      0x11
>> 215     1       0x01    0       0x00
>> 214     218     0xda    238     0xee
>> 213     160     0xa0    128     0x80
>> 210     10      0x0a    0       0x00
>> 209     10      0x0a    60      0x3c
>> 208     10      0x0a    0       0x00
>> 207     10      0x0a    60      0x3c
>> 206     10      0x0a    0       0x00
>> 205     10      0x0a    30      0x1e
>> 203     0       0x00    51      0x33
>> 202     0       0x00    51      0x33
>> 201     0       0x00    119     0x77
>> 200     0       0x00    119     0x77
>> 196     3       0x03    7       0x07
>> 194     2       0x02    2       0x02
>> 192     5       0x05    5       0x05
>> 185     1       0x01    1       0x01
>> 181     0       0x00    1       0x01
>> 179     0       0x00    1       0x01
>> 175     0       0x00    1       0x01
>> 169     1       0x01    0       0x00
>> 168     0       0x00    2       0x02
>> 160     3       0x03    3       0x03
>> 158     0       0x00    3       0x03
>> 157     237     0xed    186     0xba
>>
>> The second and the third column is from a device with a Sandisk eMCC which
>> works fine, while the last two columns are from a Toshiba eMMC which shows the
>> error. Looking into it, I found that only the Toshiba eMMC specifies a
>> powerclass in registers 203-200 while Sandisk does not, so the powerclass is
>> not changed in the latter case and the problem cannot be triggered there.
>>
>> I also attached a boot log with mmc debug enabled. I think there is not much I
>> can do else. Either this eMMC is just bogus and needs blacklisting or there is
>> some problem in the driver code.
>>
> I am a bit rusty here, so bear with me.
> According to the ext_csd, the power class value that should be sent to
> the card was 0x7. (Upper nibble of ext_csd[201]).
>
> What I saw in the attached debug Log:
> [    3.842390] mmc1: starting CMD6 arg 03bb0301 flags 0000049d
> This means write 0x03 into 0xBB register, and not 0x7 which is what is needed.
>
> While Marc has tried all values from 0 to 10, this wouldn't be the
> definite issue, but I am wondering is there is some other problem.
>
> Or have I got it all wrong ?
> ~Venkat.
i was forcing 0x7b (for 8 bit width) upper nibble and i get it correct
as below
i got
[    1.172784] mmc0: starting CMD6 arg 03bb0701 flags 0000049d
[    1.172799] mmc_host mmc0: Bus speed (slot 0) = 66000000Hz (slot req 52000000
[    1.176925] mmc0: req done (CMD6): 0: 00000900 00000000 00000000 00000000

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

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

* Re: power class selection fails on 3.5-rc1
  2012-06-08 12:41 ` S, Venkatraman
  2012-06-08 13:49   ` Girish K S
@ 2012-06-08 14:21   ` Marc Dietrich
  1 sibling, 0 replies; 12+ messages in thread
From: Marc Dietrich @ 2012-06-08 14:21 UTC (permalink / raw)
  To: S, Venkatraman; +Cc: linux-mmc

On Friday 08 June 2012 18:11:20 S, Venkatraman wrote:
> On Mon, Jun 4, 2012 at 10:05 PM, Marc Dietrich <marvin24@gmx.de> wrote:
> > Hi,
> > 
> > somehow I hope this would go away by itself, but it didn't :-( I reported
> > this problem some time ago (see: http://www.mail-archive.com/linux-
> > mmc@vger.kernel.org/msg13688.html ) but got no clear answer or fix.
> > 
> > In addition to the information I posted on the thread above, I also dumped
> > the contents of the ext_csd register file (where reg values are not
> > zero):
> > 
> > reg       Sandisk         Toshiba
> > 241     10      0x0a    50      0x32
> > 239     0       0x00    51      0x33
> > 238     0       0x00    119     0x77
> > 234     0       0x00    30      0x1e
> > 232     1       0x01    4       0x04
> > 231     21      0x15    21      0x15
> > 230     150     0x96    16      0x10
> > 229     150     0x96    66      0x42
> > 228     1       0x01    7       0x07
> > 226     8       0x08    16      0x10
> > 225     6       0x06    7       0x07
> > 224     4       0x04    8       0x08
> > 223     1       0x01    2       0x02
> > 222     8       0x08    16      0x10
> > 221     16      0x10    1       0x01
> > 220     8       0x08    7       0x07
> > 219     7       0x07    7       0x07
> > 217     16      0x10    17      0x11
> > 215     1       0x01    0       0x00
> > 214     218     0xda    238     0xee
> > 213     160     0xa0    128     0x80
> > 210     10      0x0a    0       0x00
> > 209     10      0x0a    60      0x3c
> > 208     10      0x0a    0       0x00
> > 207     10      0x0a    60      0x3c
> > 206     10      0x0a    0       0x00
> > 205     10      0x0a    30      0x1e
> > 203     0       0x00    51      0x33
> > 202     0       0x00    51      0x33
> > 201     0       0x00    119     0x77
> > 200     0       0x00    119     0x77
> > 196     3       0x03    7       0x07
> > 194     2       0x02    2       0x02
> > 192     5       0x05    5       0x05
> > 185     1       0x01    1       0x01
> > 181     0       0x00    1       0x01
> > 179     0       0x00    1       0x01
> > 175     0       0x00    1       0x01
> > 169     1       0x01    0       0x00
> > 168     0       0x00    2       0x02
> > 160     3       0x03    3       0x03
> > 158     0       0x00    3       0x03
> > 157     237     0xed    186     0xba
> > 
> > The second and the third column is from a device with a Sandisk eMCC which
> > works fine, while the last two columns are from a Toshiba eMMC which shows
> > the error. Looking into it, I found that only the Toshiba eMMC specifies
> > a powerclass in registers 203-200 while Sandisk does not, so the
> > powerclass is not changed in the latter case and the problem cannot be
> > triggered there.
> > 
> > I also attached a boot log with mmc debug enabled. I think there is not
> > much I can do else. Either this eMMC is just bogus and needs blacklisting
> > or there is some problem in the driver code.
> 
> I am a bit rusty here, so bear with me.
> According to the ext_csd, the power class value that should be sent to
> the card was 0x7. (Upper nibble of ext_csd[201]).

The card runs on 48 MHz, which means the 52 MHz value is choosen. The card is 
also a "dual-voltage" one (reg 196 = 7), which confuses me which value to 
select. But vdd reports 0x20 (3.2 - 3.3 V) so register 202 is the one to 
choose (contains 0x33) or "3" for a nibble.

But as I said before, neither 3 or 7 works.

Marc


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

* Re: power class selection fails on 3.5-rc1
  2012-06-08 11:46         ` Girish K S
  2012-06-08 13:27           ` Subhash Jadavani
@ 2012-06-14 12:32           ` Leon Romanovsky
  1 sibling, 0 replies; 12+ messages in thread
From: Leon Romanovsky @ 2012-06-14 12:32 UTC (permalink / raw)
  To: Girish K S
  Cc: Subhash Jadavani, Marc Dietrich, Ulf Hansson, saugata.das,
	linux-mmc

Hi Girish,

On Fri, Jun 8, 2012 at 2:46 PM, Girish K S
<girish.shivananjappa@linaro.org> wrote:
> Today i tried om the eMMC 4.5 sample.

Please note that according CSD register, this is eMMC 4.41 revision:
192     5       0x05    5       0x05

--
Leon Romanovsky | Independent Linux Consultant
        www.leon.nu | leon@leon.nu

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

* Re: Re: power class selection fails on 3.5-rc1
  2012-06-05 12:36 ` Ulf Hansson
  2012-06-06  9:44   ` Subhash Jadavani
@ 2012-06-29 13:13   ` Marc Dietrich
  1 sibling, 0 replies; 12+ messages in thread
From: Marc Dietrich @ 2012-06-29 13:13 UTC (permalink / raw)
  To: linux-mmc@vger.kernel.org
  Cc: Subhash Jadavani, Girish K S, S, Venkatraman, Ulf Hansson

Hi folks,

Am Dienstag, 5. Juni 2012, 14:36:14 schrieb Ulf Hansson:
> Hi Marc,
> 
> Maybe we can have some input from Subhash on this matter. I believe a
> revert can be feasible until a working solution exist.

it seems there is no easy solution. So can you please revert commit
3d93576 "skip card initialization if power class selection fails", please?

Marc

> On 06/04/2012 06:35 PM, Marc Dietrich wrote:
> > Hi,
> > 
> > somehow I hope this would go away by itself, but it didn't :-( I reported
> > this problem some time ago (see: http://www.mail-archive.com/linux-
> > mmc@vger.kernel.org/msg13688.html ) but got no clear answer or fix.
> > 
> > In addition to the information I posted on the thread above, I also dumped
> > the contents of the ext_csd register file (where reg values are not
> > zero):
> > 
> > reg       Sandisk         Toshiba
> > 241     10      0x0a    50      0x32
> > 239     0       0x00    51      0x33
> > 238     0       0x00    119     0x77
> > 234     0       0x00    30      0x1e
> > 232     1       0x01    4       0x04
> > 231     21      0x15    21      0x15
> > 230     150     0x96    16      0x10
> > 229     150     0x96    66      0x42
> > 228     1       0x01    7       0x07
> > 226     8       0x08    16      0x10
> > 225     6       0x06    7       0x07
> > 224     4       0x04    8       0x08
> > 223     1       0x01    2       0x02
> > 222     8       0x08    16      0x10
> > 221     16      0x10    1       0x01
> > 220     8       0x08    7       0x07
> > 219     7       0x07    7       0x07
> > 217     16      0x10    17      0x11
> > 215     1       0x01    0       0x00
> > 214     218     0xda    238     0xee
> > 213     160     0xa0    128     0x80
> > 210     10      0x0a    0       0x00
> > 209     10      0x0a    60      0x3c
> > 208     10      0x0a    0       0x00
> > 207     10      0x0a    60      0x3c
> > 206     10      0x0a    0       0x00
> > 205     10      0x0a    30      0x1e
> > 203     0       0x00    51      0x33
> > 202     0       0x00    51      0x33
> > 201     0       0x00    119     0x77
> > 200     0       0x00    119     0x77
> > 196     3       0x03    7       0x07
> > 194     2       0x02    2       0x02
> > 192     5       0x05    5       0x05
> > 185     1       0x01    1       0x01
> > 181     0       0x00    1       0x01
> > 179     0       0x00    1       0x01
> > 175     0       0x00    1       0x01
> > 169     1       0x01    0       0x00
> > 168     0       0x00    2       0x02
> > 160     3       0x03    3       0x03
> > 158     0       0x00    3       0x03
> > 157     237     0xed    186     0xba
> > 
> > The second and the third column is from a device with a Sandisk eMCC which
> > works fine, while the last two columns are from a Toshiba eMMC which shows
> > the error. Looking into it, I found that only the Toshiba eMMC specifies
> > a powerclass in registers 203-200 while Sandisk does not, so the
> > powerclass is not changed in the latter case and the problem cannot be
> > triggered there.
> > 
> > I also attached a boot log with mmc debug enabled. I think there is not
> > much I can do else. Either this eMMC is just bogus and needs blacklisting
> > or there is some problem in the driver code.
> > 
> > I hope this problem can be fixed or if it can't, I hope that commit
> > 3d93576e (mmc: core: skip card initialization if power class selection
> > fails) is reverted until the issues are sorted out.
> > 
> > Greetings,
> > 
> > 	Marc

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

end of thread, other threads:[~2012-06-29 13:13 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-04 16:35 power class selection fails on 3.5-rc1 Marc Dietrich
2012-06-05 12:36 ` Ulf Hansson
2012-06-06  9:44   ` Subhash Jadavani
2012-06-07  9:34     ` Marc Dietrich
2012-06-07 10:23       ` Subhash Jadavani
2012-06-08 11:46         ` Girish K S
2012-06-08 13:27           ` Subhash Jadavani
2012-06-14 12:32           ` Leon Romanovsky
2012-06-29 13:13   ` Marc Dietrich
2012-06-08 12:41 ` S, Venkatraman
2012-06-08 13:49   ` Girish K S
2012-06-08 14:21   ` Marc Dietrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).