public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* uniform flash using cmdset_0002
@ 2008-07-09  7:16 Uwe Kleine-König
  2008-09-22 22:08 ` Christopher Moore
  0 siblings, 1 reply; 2+ messages in thread
From: Uwe Kleine-König @ 2008-07-09  7:16 UTC (permalink / raw)
  To: linux-mtd

Hello,

I have an AM29LV641DH NOR flash in my machine that results in the following
printks if DEBUG_CFI_FEATURES is defined in
drivers/mtd/chips/cfi_cmdset_0002.c:

	physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
	 Amd/Fujitsu Extended Query Table at 0x0040
	  Silicon revision: 0
	  Address sensitive unlock: Required
	  Erase Suspend: Read/write
	  Block protection: 4 sectors per group
	  Temporary block unprotect: Supported
	  Block protect/unprotect scheme: 4
	  Number of simultaneous operations: 0
	  Burst mode: Not supported
	  Page mode: Not supported
	  Vpp Supply Minimum Program/Erase Voltage: 11.5 V
	  Vpp Supply Maximum Program/Erase Voltage: 12.5 V
	  Top/Bottom Boot Block: Uniform, Top WP
	physmap-flash.0: CFI does not contain boot bank location. Assuming top.

The last message comes from the following code in
cfi_cmdset_0002() (drivers/mtd/chips/cfi_cmdset_0002.c):

	bootloc = extp->TopBottom;
	if ((bootloc != 2) && (bootloc != 3)) {
		printk(KERN_WARNING "%s: CFI does not contain boot "
		       "bank location. Assuming top.\n", map->name);
		bootloc = 2;
	}

For that chip extp->TopBottom is 5.

I wonder what is intended here.  The only other usage of bootloc (which
is a local variable for cfi_cmdset_0002()) is

	if (bootloc == 3 && something_else) {
		...

So if ((bootloc != 2) && (bootloc != 3)) setting bootloc = 2 doesn't
change anything!?

If I didn't oversee something I suggest to delete the if containing the
warning.

Best regards
Uwe

-- 
Uwe Kleine-König, Software Engineer
Digi International GmbH Branch Breisach, Küferstrasse 8, 79206 Breisach, Germany
Tax: 315/5781/0242 / VAT: DE153662976 / Reg. Amtsgericht Dortmund HRB 13962

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

* Re: uniform flash using cmdset_0002
  2008-07-09  7:16 uniform flash using cmdset_0002 Uwe Kleine-König
@ 2008-09-22 22:08 ` Christopher Moore
  0 siblings, 0 replies; 2+ messages in thread
From: Christopher Moore @ 2008-09-22 22:08 UTC (permalink / raw)
  To: linux-mtd

Uwe Kleine-König <Uwe.Kleine-Koenig <at> digi.com> writes:

[snip]
> 	physmap-flash.0: CFI does not contain boot bank location. Assuming top.
> 
> The last message comes from the following code in
> cfi_cmdset_0002() (drivers/mtd/chips/cfi_cmdset_0002.c):
> 
> 	bootloc = extp->TopBottom;
> 	if ((bootloc != 2) && (bootloc != 3)) {
> 		printk(KERN_WARNING "%s: CFI does not contain boot "
> 		       "bank location. Assuming top.\n", map->name);
> 		bootloc = 2;
> 	}
> 
> For that chip extp->TopBottom is 5.
> 
> I wonder what is intended here.  The only other usage of bootloc (which
> is a local variable for cfi_cmdset_0002()) is
> 
> 	if (bootloc == 3 && something_else) {
> 		...
> 
> So if ((bootloc != 2) && (bootloc != 3)) setting bootloc = 2 doesn't
> change anything!?
> 
> If I didn't oversee something I suggest to delete the if containing the
> warning.
> 

Full ACK.

Nice catch, Uwe.

The worst thing is that it says "Assuming top" but sets bootloc to
bottom (2) :(

I figure that:
- this code was intended for early chips with an AMD/Fujitsu V1.0 CFI PRI
which does not contain TopBottom (such AMD chips are now handled in
fixup_amd_bootblock()),
- an earlier version of this code must have set bootloc to top (3) which
would have had some effect.

However the effect would possibly be undesirable in cases such as yours :(

I see you sent a patch to linux-mtd but it seems to have been completely
ignored :(

Do you know where I can find your patch in a form where I can reply to it?
If so I shall add my ACK (FWIW) and ping it.

Cheers,
Chris

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

end of thread, other threads:[~2008-09-22 22:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-09  7:16 uniform flash using cmdset_0002 Uwe Kleine-König
2008-09-22 22:08 ` Christopher Moore

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