All of lore.kernel.org
 help / color / mirror / Atom feed
* CFA 4.0 patch
@ 2012-05-15  4:57 Andre Hedrick (anhedric)
  2012-05-15 10:15 ` Sergei Shtylyov
  2012-05-15 11:37 ` Sergei Shtylyov
  0 siblings, 2 replies; 10+ messages in thread
From: Andre Hedrick (anhedric) @ 2012-05-15  4:57 UTC (permalink / raw)
  To: jgarzik, linux-ide, lkml

This is a missing part of the CFA 4.0 and above support.

6.2.1.6.1 Word 0: General Configuration
	This field indicates the general characteristics of the device.
When Word 0 of the Identify drive information is 848Ah then the device
is a CompactFlash Storage Card and complies with the CFA specification
and CFA command set. It is recommended that PC Card modes of operation
report only the 848Ah value as they are always intended as removable
devices.

Bits 15-0: CF Standard Configuration Value
Word 0 is 848Ah. This is the recommended value of Word 0.
	Some operating systems require Bit 6 of Word 0 to be set to 1
(Non-removable device) to use the card as the root storage device. The
Card must be the root storage device when a host completely replaces
conventional disk storage with a CompactFlash Card in True IDE mode. To
support this requirement and provide capability for any future removable
media Cards, alternate handling of Word 0 is permitted.

Bits 15-0: CF Preferred Alternate Configuration Values

044Ah: This is the alternate value of Word 0 turns on ATA device and
turns off Removable Media and Removable Device while 	preserving all
Retired bits in the word.

0040h: This is the alternate value of Word 0 turns on ATA device and
turns off Removable Media and Removable Device while 	zeroing all
Retired bits in the word

Cheers,
Andre
--------------------
The Linux X-ATA/SATA guy


--- linux-2.6.32.orig/include/linux/ata.h	Mon May 14 15:48:24 2012
+++ linux-2.6.32/include/linux/ata.h	Mon May 14 15:51:42 2012
@@ -819,6 +819,10 @@
 {
 	if (id[ATA_ID_CONFIG] == 0x848A)	/* Traditional CF */
 		return 1;
+	if (id[ATA_ID_CONFIG] == 0x044A)	/* Alternative CF w/
removable turned off, preserving retired bits */
+		return 1;
+	if (id[ATA_ID_CONFIG] == 0x0040)	/* Alternative CF w/
removable turned off, zeroing retired bits*/
+		return 1;
 	/*
 	 * CF specs don't require specific value in the word 0 anymore
and yet
 	 * they forbid to report the ATA version in the word 80 and
require the

^ permalink raw reply	[flat|nested] 10+ messages in thread
* CFA 4.0 patch
@ 2012-05-15  5:17 Andre Hedrick (anhedric)
  2012-05-15 14:38 ` Alan Cox
  0 siblings, 1 reply; 10+ messages in thread
From: Andre Hedrick (anhedric) @ 2012-05-15  5:17 UTC (permalink / raw)
  To: linux-kernel

This is a missing part of the CFA 4.0 and above support.

6.2.1.6.1 Word 0: General Configuration
	This field indicates the general characteristics of the device.
When Word 0 of the Identify drive information is 848Ah then the device
is a CompactFlash Storage Card and complies with the CFA specification
and CFA command set. It is recommended that PC Card modes of operation
report only the 848Ah value as they are always intended as removable
devices.

Bits 15-0: CF Standard Configuration Value
Word 0 is 848Ah. This is the recommended value of Word 0.
	Some operating systems require Bit 6 of Word 0 to be set to 1
(Non-removable device) to use the card as the root storage device. The
Card must be the root storage device when a host completely replaces
conventional disk storage with a CompactFlash Card in True IDE mode. To
support this requirement and provide capability for any future removable
media Cards, alternate handling of Word 0 is permitted.

Bits 15-0: CF Preferred Alternate Configuration Values

044Ah: This is the alternate value of Word 0 turns on ATA device and
turns off Removable Media and Removable Device while 	preserving all
Retired bits in the word.

0040h: This is the alternate value of Word 0 turns on ATA device and
turns off Removable Media and Removable Device while 	zeroing all
Retired bits in the word

Cheers,
Andre
--------------------
The Linux X-ATA/SATA guy


--- linux-2.6.32.orig/include/linux/ata.h	Mon May 14 15:48:24 2012
+++ linux-2.6.32/include/linux/ata.h	Mon May 14 15:51:42 2012
@@ -819,6 +819,10 @@
 {
 	if (id[ATA_ID_CONFIG] == 0x848A)	/* Traditional CF */
 		return 1;
+	if (id[ATA_ID_CONFIG] == 0x044A)	/* Alternative CF w/
removable turned off, preserving retired bits */
+		return 1;
+	if (id[ATA_ID_CONFIG] == 0x0040)	/* Alternative CF w/
removable turned off, zeroing retired bits*/
+		return 1;
 	/*
 	 * CF specs don't require specific value in the word 0 anymore
and yet
 	 * they forbid to report the ATA version in the word 80 and
require the

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

end of thread, other threads:[~2012-05-16 12:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-15  4:57 CFA 4.0 patch Andre Hedrick (anhedric)
2012-05-15 10:15 ` Sergei Shtylyov
2012-05-15 11:07   ` Andre Hedrick (anhedric)
2012-05-15 11:37 ` Sergei Shtylyov
2012-05-15 19:20   ` Andre Hedrick (anhedric)
2012-05-16 12:26     ` Sergei Shtylyov
  -- strict thread matches above, loose matches on Subject: below --
2012-05-15  5:17 Andre Hedrick (anhedric)
2012-05-15 14:38 ` Alan Cox
2012-05-15 18:35   ` Andre Hedrick (anhedric)
2012-05-16 11:32     ` Alan Cox

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.