linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [2.6 patch] select ATA_SFF
@ 2008-04-21 21:31 Adrian Bunk
  2008-04-22 11:39 ` Jens Axboe
  2008-04-22 13:10 ` Sergei Shtylyov
  0 siblings, 2 replies; 25+ messages in thread
From: Adrian Bunk @ 2008-04-21 21:31 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-kernel, linux-ide

Making ATA_SFF a user-visible option with the drivers needing it
depending on it caused the following problems:
- people lose their driver when accidentally disabling it
- people not requiring it needlessly enable it

Fortunately, we don't have to bother the user with this option at all
since we can simply select it when it's required.

Signed-off-by: Adrian Bunk <bunk@kernel.org>

---

This patch has been sent on:
- 13 Apr 2008

 drivers/ata/Kconfig |   90 ++++++++++++++++++++++++++++++++++----------
 1 file changed, 71 insertions(+), 19 deletions(-)

c845cb43fdd7d61130fb838132be961cae104bfc diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index 292aa9a..7b8c80b 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -74,28 +74,12 @@ config SATA_FSL
 	  If unsure, say N.
 
 config ATA_SFF
-	bool "ATA SFF support"
-	default y
-	help
-	  This option adds support for ATA controllers with SFF
-	  compliant or similar programming interface.
-
-	  SFF is the legacy IDE interface that has been around since
-	  the dawn of time.  Almost all PATA controllers have an
-	  SFF interface.  Many SATA controllers have an SFF interface
-	  when configured into a legacy compatibility mode.
-
-	  For users with exclusively modern controllers like AHCI,
-	  Silicon Image 3124, or Marvell 6440, you may choose to
-	  disable this uneeded SFF support.
-
-	  If unsure, say Y.
-
-if ATA_SFF
+	bool
 
 config SATA_SVW
 	tristate "ServerWorks Frodo / Apple K2 SATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for Broadcom/Serverworks/Apple K2
 	  SATA support.
@@ -105,6 +89,7 @@ config SATA_SVW
 config ATA_PIIX
 	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for ICH5/6/7/8 Serial ATA
 	  and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
@@ -115,6 +100,7 @@ config ATA_PIIX
 config SATA_MV
 	tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)"
 	depends on EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the Marvell Serial ATA family.
 	  Currently supports 88SX[56]0[48][01] chips.
@@ -124,6 +110,7 @@ config SATA_MV
 config SATA_NV
 	tristate "NVIDIA SATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for NVIDIA Serial ATA.
 
@@ -132,6 +119,7 @@ config SATA_NV
 config PDC_ADMA
 	tristate "Pacific Digital ADMA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for Pacific Digital ADMA controllers
 
@@ -140,6 +128,7 @@ config PDC_ADMA
 config SATA_QSTOR
 	tristate "Pacific Digital SATA QStor support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for Pacific Digital Serial ATA QStor.
 
@@ -148,6 +137,7 @@ config SATA_QSTOR
 config SATA_PROMISE
 	tristate "Promise SATA TX2/TX4 support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for Promise Serial ATA TX2/TX4.
 
@@ -156,6 +146,7 @@ config SATA_PROMISE
 config SATA_SX4
 	tristate "Promise SATA SX4 support"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for Promise Serial ATA SX4.
 
@@ -164,6 +155,7 @@ config SATA_SX4
 config SATA_SIL
 	tristate "Silicon Image SATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for Silicon Image Serial ATA.
 
@@ -173,6 +165,7 @@ config SATA_SIS
 	tristate "SiS 964/965/966/180 SATA support"
 	depends on PCI
 	select PATA_SIS
+	select ATA_SFF
 	help
 	  This option enables support for SiS Serial ATA on
 	  SiS 964/965/966/180 and Parallel ATA on SiS 180.
@@ -183,6 +176,7 @@ config SATA_SIS
 config SATA_ULI
 	tristate "ULi Electronics SATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for ULi Electronics SATA.
 
@@ -191,6 +185,7 @@ config SATA_ULI
 config SATA_VIA
 	tristate "VIA SATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for VIA Serial ATA.
 
@@ -199,6 +194,7 @@ config SATA_VIA
 config SATA_VITESSE
 	tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
 
@@ -207,12 +203,14 @@ config SATA_VITESSE
 config SATA_INIC162X
 	tristate "Initio 162x SATA support (HIGHLY EXPERIMENTAL)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for Initio 162x Serial ATA.
 
 config PATA_ACPI
 	tristate "ACPI firmware driver for PATA"
 	depends on ATA_ACPI
+	select ATA_SFF
 	help
 	  This option enables an ACPI method driver which drives
 	  motherboard PATA controller interfaces through the ACPI
@@ -222,6 +220,7 @@ config PATA_ACPI
 config PATA_ALI
 	tristate "ALi PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the ALi ATA interfaces
 	  found on the many ALi chipsets.
@@ -231,6 +230,7 @@ config PATA_ALI
 config PATA_AMD
 	tristate "AMD/NVidia PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the AMD and NVidia PATA
 	  interfaces found on the chipsets for Athlon/Athlon64.
@@ -240,6 +240,7 @@ config PATA_AMD
 config PATA_ARTOP
 	tristate "ARTOP 6210/6260 PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for ARTOP PATA controllers.
 
@@ -248,6 +249,7 @@ config PATA_ARTOP
 config PATA_AT32
 	tristate "Atmel AVR32 PATA support (Experimental)"
 	depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the IDE devices on the
 	  Atmel AT32AP platform.
@@ -257,6 +259,7 @@ config PATA_AT32
 config PATA_ATIIXP
 	tristate "ATI PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the ATI ATA interfaces
 	  found on the many ATI chipsets.
@@ -266,6 +269,7 @@ config PATA_ATIIXP
 config PATA_CMD640_PCI
 	tristate "CMD640 PCI PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the CMD640 PCI IDE
 	  interface chip. Only the primary channel is currently
@@ -276,6 +280,7 @@ config PATA_CMD640_PCI
 config PATA_CMD64X
 	tristate "CMD64x PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the CMD64x series chips
 	  except for the CMD640.
@@ -285,6 +290,7 @@ config PATA_CMD64X
 config PATA_CS5520
 	tristate "CS5510/5520 PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the Cyrix 5510/5520
 	  companion chip used with the MediaGX/Geode processor family.
@@ -294,6 +300,7 @@ config PATA_CS5520
 config PATA_CS5530
 	tristate "CS5530 PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the Cyrix/NatSemi/AMD CS5530
 	  companion chip used with the MediaGX/Geode processor family.
@@ -303,6 +310,7 @@ config PATA_CS5530
 config PATA_CS5535
 	tristate "CS5535 PATA support (Experimental)"
 	depends on PCI && X86 && !X86_64 && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the NatSemi/AMD CS5535
 	  companion chip used with the Geode processor family.
@@ -312,6 +320,7 @@ config PATA_CS5535
 config PATA_CS5536
 	tristate "CS5536 PATA support (Experimental)"
 	depends on PCI && X86 && !X86_64 && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the AMD CS5536
 	  companion chip used with the Geode LX processor family.
@@ -321,6 +330,7 @@ config PATA_CS5536
 config PATA_CYPRESS
 	tristate "Cypress CY82C693 PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the Cypress/Contaq CY82C693
 	  chipset found in some Alpha systems
@@ -330,6 +340,7 @@ config PATA_CYPRESS
 config PATA_EFAR
 	tristate "EFAR SLC90E66 support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the EFAR SLC90E66
 	  IDE controller found on some older machines.
@@ -339,6 +350,7 @@ config PATA_EFAR
 config ATA_GENERIC
 	tristate "Generic ATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for generic BIOS configured
 	  ATA controllers via the new ATA layer
@@ -348,6 +360,7 @@ config ATA_GENERIC
 config PATA_HPT366
 	tristate "HPT 366/368 PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the HPT 366 and 368
 	  PATA controllers via the new ATA layer.
@@ -357,6 +370,7 @@ config PATA_HPT366
 config PATA_HPT37X
 	tristate "HPT 370/370A/371/372/374/302 PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the majority of the later HPT
 	  PATA controllers via the new ATA layer.
@@ -366,6 +380,7 @@ config PATA_HPT37X
 config PATA_HPT3X2N
 	tristate "HPT 372N/302N PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the N variant HPT PATA
 	  controllers via the new ATA layer
@@ -375,6 +390,7 @@ config PATA_HPT3X2N
 config PATA_HPT3X3
 	tristate "HPT 343/363 PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the HPT 343/363
 	  PATA controllers via the new ATA layer
@@ -384,6 +400,7 @@ config PATA_HPT3X3
 config PATA_HPT3X3_DMA
 	bool "HPT 343/363 DMA support (Experimental)"
 	depends on PATA_HPT3X3
+	select ATA_SFF
 	help
 	  This option enables DMA support for the HPT343/363
 	  controllers. Enable with care as there are still some
@@ -392,6 +409,7 @@ config PATA_HPT3X3_DMA
 config PATA_ISAPNP
 	tristate "ISA Plug and Play PATA support (Experimental)"
 	depends on EXPERIMENTAL && ISAPNP
+	select ATA_SFF
 	help
 	  This option enables support for ISA plug & play ATA
 	  controllers such as those found on old soundcards.
@@ -401,6 +419,7 @@ config PATA_ISAPNP
 config PATA_IT821X
 	tristate "IT8211/2 PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the ITE 8211 and 8212
 	  PATA controllers via the new ATA layer, including RAID
@@ -411,6 +430,7 @@ config PATA_IT821X
 config PATA_IT8213
 	tristate "IT8213 PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the ITE 821 PATA
           controllers via the new ATA layer.
@@ -420,6 +440,7 @@ config PATA_IT8213
 config PATA_JMICRON
 	tristate "JMicron PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  Enable support for the JMicron IDE controller, via the new
 	  ATA layer.
@@ -429,6 +450,7 @@ config PATA_JMICRON
 config PATA_LEGACY
 	tristate "Legacy ISA PATA support (Experimental)"
 	depends on ISA && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for ISA/VLB bus legacy PATA
 	  ports and allows them to be accessed via the new ATA layer.
@@ -438,6 +460,7 @@ config PATA_LEGACY
 config PATA_TRIFLEX
 	tristate "Compaq Triflex PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  Enable support for the Compaq 'Triflex' IDE controller as found
 	  on many Compaq Pentium-Pro systems, via the new ATA layer.
@@ -447,6 +470,7 @@ config PATA_TRIFLEX
 config PATA_MARVELL
 	tristate "Marvell PATA support via legacy mode"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables limited support for the Marvell 88SE6145 ATA
 	  controller.
@@ -456,6 +480,7 @@ config PATA_MARVELL
 config PATA_MPC52xx
 	tristate "Freescale MPC52xx SoC internal IDE"
 	depends on PPC_MPC52xx
+	select ATA_SFF
 	help
 	  This option enables support for integrated IDE controller
 	  of the Freescale MPC52xx SoC.
@@ -465,6 +490,7 @@ config PATA_MPC52xx
 config PATA_MPIIX
 	tristate "Intel PATA MPIIX support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for MPIIX PATA support.
 
@@ -473,6 +499,7 @@ config PATA_MPIIX
 config PATA_OLDPIIX
 	tristate "Intel PATA old PIIX support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for early PIIX PATA support.
 
@@ -481,6 +508,7 @@ config PATA_OLDPIIX
 config PATA_NETCELL
 	tristate "NETCELL Revolution RAID support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the Netcell Revolution RAID
 	  PATA controller.
@@ -490,6 +518,7 @@ config PATA_NETCELL
 config PATA_NINJA32
 	tristate "Ninja32/Delkin Cardbus ATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the Ninja32, Delkin and
 	  possibly other brands of Cardbus ATA adapter
@@ -499,6 +528,7 @@ config PATA_NINJA32
 config PATA_NS87410
 	tristate "Nat Semi NS87410 PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the National Semiconductor
 	  NS87410 PCI-IDE controller.
@@ -508,6 +538,7 @@ config PATA_NS87410
 config PATA_NS87415
 	tristate "Nat Semi NS87415 PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the National Semiconductor
 	  NS87415 PCI-IDE controller.
@@ -517,6 +548,7 @@ config PATA_NS87415
 config PATA_OPTI
 	tristate "OPTI621/6215 PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables full PIO support for the early Opti ATA
 	  controllers found on some old motherboards.
@@ -526,6 +558,7 @@ config PATA_OPTI
 config PATA_OPTIDMA
 	tristate "OPTI FireStar PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables DMA/PIO support for the later OPTi
 	  controllers found on some old motherboards and in some
@@ -536,6 +569,7 @@ config PATA_OPTIDMA
 config PATA_PCMCIA
 	tristate "PCMCIA PATA support"
 	depends on PCMCIA
+	select ATA_SFF
 	help
 	  This option enables support for PCMCIA ATA interfaces, including
 	  compact flash card adapters via the new ATA layer.
@@ -545,6 +579,7 @@ config PATA_PCMCIA
 config PATA_PDC_OLD
 	tristate "Older Promise PATA controller support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the Promise 20246, 20262, 20263,
 	  20265 and 20267 adapters.
@@ -554,12 +589,14 @@ config PATA_PDC_OLD
 config PATA_QDI
 	tristate "QDI VLB PATA support"
 	depends on ISA
+	select ATA_SFF
 	help
 	  Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
 
 config PATA_RADISYS
 	tristate "RADISYS 82600 PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the RADISYS 82600
 	  PATA controllers via the new ATA layer
@@ -569,6 +606,7 @@ config PATA_RADISYS
 config PATA_RB500
 	tristate "RouterBoard 500 PATA CompactFlash support"
 	depends on MIKROTIK_RB500
+	select ATA_SFF
 	help
 	  This option enables support for the RouterBoard 500
 	  PATA CompactFlash controller.
@@ -578,6 +616,7 @@ config PATA_RB500
 config PATA_RZ1000
 	tristate "PC Tech RZ1000 PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables basic support for the PC Tech RZ1000/1
 	  PATA controllers via the new ATA layer
@@ -587,6 +626,7 @@ config PATA_RZ1000
 config PATA_SC1200
 	tristate "SC1200 PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the NatSemi/AMD SC1200 SoC
 	  companion chip used with the Geode processor family.
@@ -596,6 +636,7 @@ config PATA_SC1200
 config PATA_SERVERWORKS
 	tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the Serverworks OSB4/CSB5/CSB6 and
 	  HT1000 PATA controllers, via the new ATA layer.
@@ -605,6 +646,7 @@ config PATA_SERVERWORKS
 config PATA_PDC2027X
 	tristate "Promise PATA 2027x support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
 
@@ -613,6 +655,7 @@ config PATA_PDC2027X
 config PATA_SIL680
 	tristate "CMD / Silicon Image 680 PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for CMD / Silicon Image 680 PATA.
 
@@ -621,6 +664,7 @@ config PATA_SIL680
 config PATA_SIS
 	tristate "SiS PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for SiS PATA controllers
 
@@ -629,6 +673,7 @@ config PATA_SIS
 config PATA_VIA
 	tristate "VIA PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the VIA PATA interfaces
 	  found on the many VIA chipsets.
@@ -638,6 +683,7 @@ config PATA_VIA
 config PATA_WINBOND
 	tristate "Winbond SL82C105 PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for SL82C105 PATA devices found in the
 	  Netwinder and some other systems
@@ -647,6 +693,7 @@ config PATA_WINBOND
 config PATA_WINBOND_VLB
 	tristate "Winbond W83759A VLB PATA support (Experimental)"
 	depends on ISA && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  Support for the Winbond W83759A controller on Vesa Local Bus
 	  systems.
@@ -654,6 +701,7 @@ config PATA_WINBOND_VLB
 config PATA_PLATFORM
 	tristate "Generic platform device PATA support"
 	depends on EMBEDDED || ARCH_RPC || PPC
+	select ATA_SFF
 	help
 	  This option enables support for generic directly connected ATA
 	  devices commonly found on embedded systems.
@@ -663,6 +711,7 @@ config PATA_PLATFORM
 config PATA_OF_PLATFORM
 	tristate "OpenFirmware platform device PATA support"
 	depends on PATA_PLATFORM && PPC_OF
+	select ATA_SFF
 	help
 	  This option enables support for generic directly connected ATA
 	  devices commonly found on embedded systems with OpenFirmware
@@ -673,6 +722,7 @@ config PATA_OF_PLATFORM
 config PATA_ICSIDE
 	tristate "Acorn ICS PATA support"
 	depends on ARM && ARCH_ACORN
+	select ATA_SFF
 	help
 	  On Acorn systems, say Y here if you wish to use the ICS PATA
 	  interface card.  This is not required for ICS partition support.
@@ -681,6 +731,7 @@ config PATA_ICSIDE
 config PATA_IXP4XX_CF
 	tristate "IXP4XX Compact Flash support"
 	depends on ARCH_IXP4XX
+	select ATA_SFF
 	help
 	  This option enables support for a Compact Flash connected on
 	  the ixp4xx expansion bus. This driver had been written for
@@ -691,6 +742,7 @@ config PATA_IXP4XX_CF
 config PATA_SCC
 	tristate "Toshiba's Cell Reference Set IDE support"
 	depends on PCI && PPC_CELLEB
+	select ATA_SFF
 	help
 	  This option enables support for the built-in IDE controller on
 	  Toshiba Cell Reference Board.
@@ -700,11 +752,11 @@ config PATA_SCC
 config PATA_BF54X
 	tristate "Blackfin 54x ATAPI support"
 	depends on BF542 || BF548 || BF549
+	select ATA_SFF
 	help
 	  This option enables support for the built-in ATAPI controller on
 	  Blackfin 54x family chips.
 
 	  If unsure, say N.
 
-endif # ATA_SFF
 endif # ATA


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

* Re: [2.6 patch] select ATA_SFF
  2008-04-21 21:31 [2.6 patch] select ATA_SFF Adrian Bunk
@ 2008-04-22 11:39 ` Jens Axboe
  2008-04-22 13:10 ` Sergei Shtylyov
  1 sibling, 0 replies; 25+ messages in thread
From: Jens Axboe @ 2008-04-22 11:39 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Jeff Garzik, linux-kernel, linux-ide

On Tue, Apr 22 2008, Adrian Bunk wrote:
> Making ATA_SFF a user-visible option with the drivers needing it
> depending on it caused the following problems:
> - people lose their driver when accidentally disabling it
> - people not requiring it needlessly enable it
> 
> Fortunately, we don't have to bother the user with this option at all
> since we can simply select it when it's required.

Hear hear, the newly introduced ATA_SFF config is a mess, this is much
better.

-- 
Jens Axboe


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

* Re: [2.6 patch] select ATA_SFF
  2008-04-21 21:31 [2.6 patch] select ATA_SFF Adrian Bunk
  2008-04-22 11:39 ` Jens Axboe
@ 2008-04-22 13:10 ` Sergei Shtylyov
  2008-04-22 13:24   ` Tejun Heo
  1 sibling, 1 reply; 25+ messages in thread
From: Sergei Shtylyov @ 2008-04-22 13:10 UTC (permalink / raw)
  To: Jeff Garzik, htejun; +Cc: Adrian Bunk, linux-kernel, linux-ide

Hello.

Adrian Bunk wrote:

> Making ATA_SFF a user-visible option with the drivers needing it
> depending on it caused the following problems:
> - people lose their driver when accidentally disabling it
> - people not requiring it needlessly enable it

> Fortunately, we don't have to bother the user with this option at all
> since we can simply select it when it's required.

> Signed-off-by: Adrian Bunk <bunk@kernel.org>

[...]

> @@ -132,6 +119,7 @@ config SATA_NV
>  config PDC_ADMA
>  	tristate "Pacific Digital ADMA support"
>  	depends on PCI
> +	select ATA_SFF
>  	help
>  	  This option enables support for Pacific Digital ADMA controllers

    ADMA is not SFF-8038i compilant, it's the IDE DMA spec of its own. And I'm 
seeing references to libata-sff.c... confusing.

> @@ -248,6 +249,7 @@ config PATA_ARTOP
>  config PATA_AT32
>  	tristate "Atmel AVR32 PATA support (Experimental)"
>  	depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
> +	select ATA_SFF
>  	help
>  	  This option enables support for the IDE devices on the
>  	  Atmel AT32AP platform.

    I'm seeing no DMA support here... yet there are calls to

> @@ -266,6 +269,7 @@ config PATA_ATIIXP
>  config PATA_CMD640_PCI
>  	tristate "CMD640 PCI PATA support (Very Experimental)"
>  	depends on PCI && EXPERIMENTAL
> +	select ATA_SFF
>  	help
>  	  This option enables support for the CMD640 PCI IDE
>  	  interface chip. Only the primary channel is currently

    PIO only chip... yet its driver seems to call libata-sff.c...

> @@ -285,6 +290,7 @@ config PATA_CMD64X
>  config PATA_CS5520
>  	tristate "CS5510/5520 PATA support"
>  	depends on PCI
> +	select ATA_SFF
>  	help
>  	  This option enables support for the Cyrix 5510/5520
>  	  companion chip used with the MediaGX/Geode processor family.

    These chips are PIO only. Yet the driver calls libata-sff.c, hm...

> @@ -375,6 +390,7 @@ config PATA_HPT3X2N
>  config PATA_HPT3X3
>  	tristate "HPT 343/363 PATA support"
>  	depends on PCI
> +	select ATA_SFF
>  	help
>  	  This option enables support for the HPT 343/363
>  	  PATA controllers via the new ATA layer
> @@ -384,6 +400,7 @@ config PATA_HPT3X3
>  config PATA_HPT3X3_DMA
>  	bool "HPT 343/363 DMA support (Experimental)"
>  	depends on PATA_HPT3X3
> +	select ATA_SFF

    I don't think this 'select' is needed, since it's not on option that 
enables the driver itself, just DMA support in it.

>  	help
>  	  This option enables DMA support for the HPT343/363
>  	  controllers. Enable with care as there are still some
> @@ -392,6 +409,7 @@ config PATA_HPT3X3_DMA
>  config PATA_ISAPNP
>  	tristate "ISA Plug and Play PATA support (Experimental)"
>  	depends on EXPERIMENTAL && ISAPNP
> +	select ATA_SFF
>  	help
>  	  This option enables support for ISA plug & play ATA
>  	  controllers such as those found on old soundcards.

    PnP IDE is not SFF-8038i compliant, and not DMA capable, IIUC.

> @@ -429,6 +450,7 @@ config PATA_JMICRON
>  config PATA_LEGACY
>  	tristate "Legacy ISA PATA support (Experimental)"
>  	depends on ISA && EXPERIMENTAL
> +	select ATA_SFF
>  	help
>  	  This option enables support for ISA/VLB bus legacy PATA
>  	  ports and allows them to be accessed via the new ATA layer.

    PIO only driver, no SFF-8038i stuff... but calls libata-sff.c, hm...

> @@ -456,6 +480,7 @@ config PATA_MARVELL
>  config PATA_MPC52xx
>  	tristate "Freescale MPC52xx SoC internal IDE"
>  	depends on PPC_MPC52xx
> +	select ATA_SFF
>  	help
>  	  This option enables support for integrated IDE controller
>  	  of the Freescale MPC52xx SoC.

    DMA is not SFF-8038i compliant -- however it calls libata-sff.c...

> @@ -465,6 +490,7 @@ config PATA_MPC52xx
>  config PATA_MPIIX
>  	tristate "Intel PATA MPIIX support"
>  	depends on PCI
> +	select ATA_SFF
>  	help
>  	  This option enables support for MPIIX PATA support.

    PIO only, no SFF-8038i compliant registers. Yet it calls liabat-sff.c...

> @@ -490,6 +518,7 @@ config PATA_NETCELL
>  config PATA_NINJA32
>  	tristate "Ninja32/Delkin Cardbus ATA support (Experimental)"
>  	depends on PCI && EXPERIMENTAL
> +	select ATA_SFF
>  	help
>  	  This option enables support for the Ninja32, Delkin and
>  	  possibly other brands of Cardbus ATA adapter

    BMDMA here is not SFF-8038i compatible. Uses libata-sff.c though, it seems...

> @@ -499,6 +528,7 @@ config PATA_NINJA32
>  config PATA_NS87410
>  	tristate "Nat Semi NS87410 PATA support (Experimental)"
>  	depends on PCI && EXPERIMENTAL
> +	select ATA_SFF
>  	help
>  	  This option enables support for the National Semiconductor
>  	  NS87410 PCI-IDE controller.

    PIO only driver, no SFF-8038i compatible registers. Seems to be calling 
libata-sff.c though...

> @@ -517,6 +548,7 @@ config PATA_NS87415
>  config PATA_OPTI
>  	tristate "OPTI621/6215 PATA support (Very Experimental)"
>  	depends on PCI && EXPERIMENTAL
> +	select ATA_SFF
>  	help
>  	  This option enables full PIO support for the early Opti ATA
>  	  controllers found on some old motherboards.

    PIO only driver, not SFF-8038i compliant. Seems to be calling libata-sff.c...

> @@ -536,6 +569,7 @@ config PATA_OPTIDMA
>  config PATA_PCMCIA
>  	tristate "PCMCIA PATA support"
>  	depends on PCMCIA
> +	select ATA_SFF
>  	help
>  	  This option enables support for PCMCIA ATA interfaces, including
>  	  compact flash card adapters via the new ATA layer.

    PCMCIA driver is PIO only, not SFF-8038i "by definition" since it's not 
PCI. Yet seems to call libab-sff.c...

> @@ -554,12 +589,14 @@ config PATA_PDC_OLD
>  config PATA_QDI
>  	tristate "QDI VLB PATA support"
>  	depends on ISA
> +	select ATA_SFF
>  	help
>  	  Support for QDI 6500 and 6580 PATA controllers on VESA local bus.

    QDI6580 is VLB PIO only driver -- therefore not SFF-8038i compliant.

> @@ -578,6 +616,7 @@ config PATA_RB500
>  config PATA_RZ1000
>  	tristate "PC Tech RZ1000 PATA support"
>  	depends on PCI
> +	select ATA_SFF
>  	help
>  	  This option enables basic support for the PC Tech RZ1000/1
>  	  PATA controllers via the new ATA layer

    RZ1000 is PIO only, IIRC -- no SFF-8038i registers.

> @@ -647,6 +693,7 @@ config PATA_WINBOND
>  config PATA_WINBOND_VLB
>  	tristate "Winbond W83759A VLB PATA support (Experimental)"
>  	depends on ISA && EXPERIMENTAL
> +	select ATA_SFF
>  	help
>  	  Support for the Winbond W83759A controller on Vesa Local Bus
>  	  systems.

    This is VLB PIO only driver -- no SFF-8038i. Seems to call libata-sff.c 
though...

> @@ -673,6 +722,7 @@ config PATA_OF_PLATFORM
>  config PATA_ICSIDE
>  	tristate "Acorn ICS PATA support"
>  	depends on ARM && ARCH_ACORN
> +	select ATA_SFF
>  	help
>  	  On Acorn systems, say Y here if you wish to use the ICS PATA
>  	  interface card.  This is not required for ICS partition support.

    ICS is not SFF-8038i compliant. However it calls libata-sff.c... go figure.

> @@ -691,6 +742,7 @@ config PATA_IXP4XX_CF
>  config PATA_SCC
>  	tristate "Toshiba's Cell Reference Set IDE support"
>  	depends on PCI && PPC_CELLEB
> +	select ATA_SFF

    SCC PATA is not SFF-8038i compliant. Seem to calls libata-sff.c however...

>  	help
>  	  This option enables support for the built-in IDE controller on
>  	  Toshiba Cell Reference Board.

    Looks like there's no clean separation within libata-sff.c itself between 
SFF-8038i (BMDMA spec) and IDE registers itself -- that confused me: at first 
I thought there's a big issue with a patch. :-/

    Jeff, Tejun, what "sff" in the file name actually means? Isn't it strange 
that the drivers lacking DMA support or not really compliant with SFF-8038i 
have to link with this file?

MBR, Sergei

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 13:10 ` Sergei Shtylyov
@ 2008-04-22 13:24   ` Tejun Heo
  2008-04-22 13:36     ` Sergei Shtylyov
  0 siblings, 1 reply; 25+ messages in thread
From: Tejun Heo @ 2008-04-22 13:24 UTC (permalink / raw)
  To: Sergei Shtylyov; +Cc: Jeff Garzik, Adrian Bunk, linux-kernel, linux-ide

Hi,

Sergei Shtylyov wrote:
>    ADMA is not SFF-8038i compilant, it's the IDE DMA spec of its own. 
> And I'm seeing references to libata-sff.c... confusing.

In libata, SFF is used for controllers which have TF interface and BMDMA 
is used for the BMDMA part of SFF-8038i.  I think this is the source of 
confusion here.

>    Looks like there's no clean separation within libata-sff.c itself 
> between SFF-8038i (BMDMA spec) and IDE registers itself -- that confused 
> me: at first I thought there's a big issue with a patch. :-/
> 
>    Jeff, Tejun, what "sff" in the file name actually means? Isn't it 
> strange that the drivers lacking DMA support or not really compliant 
> with SFF-8038i have to link with this file?

Maybe it should be libata-tf and libata-bmdma, but sff (sans bmdma) and 
bmdma is acceptable, hopefully, right?

Thanks.

-- 
tejun

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 13:24   ` Tejun Heo
@ 2008-04-22 13:36     ` Sergei Shtylyov
  2008-04-22 13:41       ` Tejun Heo
  0 siblings, 1 reply; 25+ messages in thread
From: Sergei Shtylyov @ 2008-04-22 13:36 UTC (permalink / raw)
  To: Tejun Heo; +Cc: Jeff Garzik, Adrian Bunk, linux-kernel, linux-ide

Tejun Heo wrote:

>>    ADMA is not SFF-8038i compilant, it's the IDE DMA spec of its own. 
>> And I'm seeing references to libata-sff.c... confusing.

> In libata, SFF is used for controllers which have TF interface

    I can't figure out to which SFF specs this refers then... althought I'm 
not really familiar with them well enough.

> and BMDMA 
> is used for the BMDMA part of SFF-8038i.

    Is there any other part in it? One concerning PCI?

>  I think this is the source of confusion here.

    Yes.

>>    Looks like there's no clean separation within libata-sff.c itself 
>> between SFF-8038i (BMDMA spec) and IDE registers itself -- that 
>> confused me: at first I thought there's a big issue with a patch. :-/

>>    Jeff, Tejun, what "sff" in the file name actually means? Isn't it 
>> strange that the drivers lacking DMA support or not really compliant 
>> with SFF-8038i have to link with this file?

> Maybe it should be libata-tf and libata-bmdma, but sff (sans bmdma)
> and bmdma is acceptable, hopefully, right?

    What's sff sans bmdma?

> Thanks.

WBR, Sergei

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 13:36     ` Sergei Shtylyov
@ 2008-04-22 13:41       ` Tejun Heo
  2008-04-22 14:35         ` Mark Lord
  2008-04-24 11:35         ` Alan Cox
  0 siblings, 2 replies; 25+ messages in thread
From: Tejun Heo @ 2008-04-22 13:41 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Jeff Garzik, Adrian Bunk, linux-kernel, linux-ide, Alan Cox

Sergei Shtylyov wrote:
>>>    Jeff, Tejun, what "sff" in the file name actually means? Isn't it 
>>> strange that the drivers lacking DMA support or not really compliant 
>>> with SFF-8038i have to link with this file?
> 
>> Maybe it should be libata-tf and libata-bmdma, but sff (sans bmdma)
>> and bmdma is acceptable, hopefully, right?
> 
>    What's sff sans bmdma?

Supposed to be TF interface.  IIRC, the SFF term was first from Alan 
although it's entirely possible that I misunderstood it and used it in 
the wrong way.  Alan, can you please clear up the confusion?

-- 
tejun

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 13:41       ` Tejun Heo
@ 2008-04-22 14:35         ` Mark Lord
  2008-04-22 14:38           ` Tejun Heo
  2008-04-22 14:43           ` Sergei Shtylyov
  2008-04-24 11:35         ` Alan Cox
  1 sibling, 2 replies; 25+ messages in thread
From: Mark Lord @ 2008-04-22 14:35 UTC (permalink / raw)
  To: Tejun Heo
  Cc: Sergei Shtylyov, Jeff Garzik, Adrian Bunk, linux-kernel,
	linux-ide, Alan Cox

Tejun Heo wrote:
> Sergei Shtylyov wrote:
>>>>    Jeff, Tejun, what "sff" in the file name actually means? Isn't it 
>>>> strange that the drivers lacking DMA support or not really compliant 
>>>> with SFF-8038i have to link with this file?
>>
>>> Maybe it should be libata-tf and libata-bmdma, but sff (sans bmdma)
>>> and bmdma is acceptable, hopefully, right?
>>
>>    What's sff sans bmdma?
> 
> Supposed to be TF interface.  IIRC, the SFF term was first from Alan 
> although it's entirely possible that I misunderstood it and used it in 
> the wrong way.  Alan, can you please clear up the confusion?
..

SFF stands for "Small Form Factor", as in the "SFF Committee Information
Specification for Bus Master Programming Interface for IDE ATA Controllers Rev 1.0"
from May 16, 1994.

That document is basically a committee rubber-stamp of the earlier Intel
"PCI IDE Controller Specification Revision 1.0" dated 3/4/94.

Would anyone like copies ?

Cheers

 


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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 14:35         ` Mark Lord
@ 2008-04-22 14:38           ` Tejun Heo
  2008-04-22 14:44             ` Mark Lord
  2008-04-22 14:43           ` Sergei Shtylyov
  1 sibling, 1 reply; 25+ messages in thread
From: Tejun Heo @ 2008-04-22 14:38 UTC (permalink / raw)
  To: Mark Lord
  Cc: Sergei Shtylyov, Jeff Garzik, Adrian Bunk, linux-kernel,
	linux-ide, Alan Cox

Mark Lord wrote:
> Tejun Heo wrote:
>> Sergei Shtylyov wrote:
>>>>>    Jeff, Tejun, what "sff" in the file name actually means? Isn't 
>>>>> it strange that the drivers lacking DMA support or not really 
>>>>> compliant with SFF-8038i have to link with this file?
>>>
>>>> Maybe it should be libata-tf and libata-bmdma, but sff (sans bmdma)
>>>> and bmdma is acceptable, hopefully, right?
>>>
>>>    What's sff sans bmdma?
>>
>> Supposed to be TF interface.  IIRC, the SFF term was first from Alan 
>> although it's entirely possible that I misunderstood it and used it in 
>> the wrong way.  Alan, can you please clear up the confusion?
> ..
> 
> SFF stands for "Small Form Factor", as in the "SFF Committee Information
> Specification for Bus Master Programming Interface for IDE ATA 
> Controllers Rev 1.0"
> from May 16, 1994.
> 
> That document is basically a committee rubber-stamp of the earlier Intel
> "PCI IDE Controller Specification Revision 1.0" dated 3/4/94.

Ah.. that means we have the whole naming thing wrong.  Yewwww....

-- 
tejun

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 14:35         ` Mark Lord
  2008-04-22 14:38           ` Tejun Heo
@ 2008-04-22 14:43           ` Sergei Shtylyov
  2008-04-22 14:51             ` Mark Lord
  1 sibling, 1 reply; 25+ messages in thread
From: Sergei Shtylyov @ 2008-04-22 14:43 UTC (permalink / raw)
  To: Mark Lord
  Cc: Tejun Heo, Jeff Garzik, Adrian Bunk, linux-kernel, linux-ide,
	Alan Cox

Hello.

Mark Lord wrote:

> SFF stands for "Small Form Factor", as in the "SFF Committee Information
> Specification for Bus Master Programming Interface for IDE ATA 
> Controllers Rev 1.0"
> from May 16, 1994.

> That document is basically a committee rubber-stamp of the earlier Intel
> "PCI IDE Controller Specification Revision 1.0" dated 3/4/94.

> Would anyone like copies ?

http://ata.wiki.kernel.org/index.php/Developer_Resources

asks for a link to this spec. Me, I have it of course. :-)

> Cheers

MBR, Sergei

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 14:38           ` Tejun Heo
@ 2008-04-22 14:44             ` Mark Lord
  2008-04-22 15:00               ` Tejun Heo
  2008-04-22 15:04               ` Sergei Shtylyov
  0 siblings, 2 replies; 25+ messages in thread
From: Mark Lord @ 2008-04-22 14:44 UTC (permalink / raw)
  To: Tejun Heo
  Cc: Sergei Shtylyov, Jeff Garzik, Adrian Bunk, linux-kernel,
	linux-ide, Alan Cox

Tejun Heo wrote:
> Mark Lord wrote:
>> Tejun Heo wrote:
>>> Sergei Shtylyov wrote:
>>>>>>    Jeff, Tejun, what "sff" in the file name actually means? Isn't 
>>>>>> it strange that the drivers lacking DMA support or not really 
>>>>>> compliant with SFF-8038i have to link with this file?
>>>>
>>>>> Maybe it should be libata-tf and libata-bmdma, but sff (sans bmdma)
>>>>> and bmdma is acceptable, hopefully, right?
>>>>
>>>>    What's sff sans bmdma?
>>>
>>> Supposed to be TF interface.  IIRC, the SFF term was first from Alan 
>>> although it's entirely possible that I misunderstood it and used it 
>>> in the wrong way.  Alan, can you please clear up the confusion?
>> ..
>>
>> SFF stands for "Small Form Factor", as in the "SFF Committee Information
>> Specification for Bus Master Programming Interface for IDE ATA 
>> Controllers Rev 1.0"
>> from May 16, 1994.
>>
>> That document is basically a committee rubber-stamp of the earlier Intel
>> "PCI IDE Controller Specification Revision 1.0" dated 3/4/94.
> 
> Ah.. that means we have the whole naming thing wrong.  Yewwww....
..

I suppose.   If we were needlessly pedantic, then perhaps
the libata-bmdma.c should be renamed to libata-sff.c,
and the libata-sff.c should be renamed libata-tf.c

But there's probably been a document or two since then,
where the SFF folks have documented the TF interfaces, too.

So.. whatever.  :)

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 14:43           ` Sergei Shtylyov
@ 2008-04-22 14:51             ` Mark Lord
  0 siblings, 0 replies; 25+ messages in thread
From: Mark Lord @ 2008-04-22 14:51 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Tejun Heo, Jeff Garzik, Adrian Bunk, linux-kernel, linux-ide,
	Alan Cox

Sergei Shtylyov wrote:
> Hello.
> 
> Mark Lord wrote:
> 
>> SFF stands for "Small Form Factor", as in the "SFF Committee Information
>> Specification for Bus Master Programming Interface for IDE ATA 
>> Controllers Rev 1.0"
>> from May 16, 1994.
> 
>> That document is basically a committee rubber-stamp of the earlier Intel
>> "PCI IDE Controller Specification Revision 1.0" dated 3/4/94.
> 
>> Would anyone like copies ?
> 
> http://ata.wiki.kernel.org/index.php/Developer_Resources
> 
> asks for a link to this spec. Me, I have it of course. :-)
...

Google seems to have no problems finding the second one:

http://suif.stanford.edu/~csapuntz/specs/pciide.ps

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 14:44             ` Mark Lord
@ 2008-04-22 15:00               ` Tejun Heo
  2008-04-22 15:04               ` Sergei Shtylyov
  1 sibling, 0 replies; 25+ messages in thread
From: Tejun Heo @ 2008-04-22 15:00 UTC (permalink / raw)
  To: Mark Lord
  Cc: Sergei Shtylyov, Jeff Garzik, Adrian Bunk, linux-kernel,
	linux-ide, Alan Cox

Mark Lord wrote:
>> Ah.. that means we have the whole naming thing wrong.  Yewwww....
> ..
> 
> I suppose.   If we were needlessly pedantic, then perhaps
> the libata-bmdma.c should be renamed to libata-sff.c,
> and the libata-sff.c should be renamed libata-tf.c
> 
> But there's probably been a document or two since then,
> where the SFF folks have documented the TF interfaces, too.

Fingers and toes and whatever else crossed.

> So.. whatever.  :)

Yeah, that's the spirit.  :-)

-- 
tejun

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 14:44             ` Mark Lord
  2008-04-22 15:00               ` Tejun Heo
@ 2008-04-22 15:04               ` Sergei Shtylyov
  2008-04-22 18:54                 ` Sergei Shtylyov
  1 sibling, 1 reply; 25+ messages in thread
From: Sergei Shtylyov @ 2008-04-22 15:04 UTC (permalink / raw)
  To: Mark Lord
  Cc: Tejun Heo, Jeff Garzik, Adrian Bunk, linux-kernel, linux-ide,
	Alan Cox

Mark Lord wrote:

>>> SFF stands for "Small Form Factor", as in the "SFF Committee Information
>>> Specification for Bus Master Programming Interface for IDE ATA 
>>> Controllers Rev 1.0"
>>> from May 16, 1994.

>>> That document is basically a committee rubber-stamp of the earlier Intel
>>> "PCI IDE Controller Specification Revision 1.0" dated 3/4/94.

>> Ah.. that means we have the whole naming thing wrong.  Yewwww....

> ..

> I suppose.   If we were needlessly pedantic, then perhaps
> the libata-bmdma.c should be renamed to libata-sff.c,
> and the libata-sff.c should be renamed libata-tf.c

    Which branch has libata-bmdma.c?

> But there's probably been a document or two since then,
> where the SFF folks have documented the TF interfaces, too.

    Don't know, at least I haven't encountered such spec. Unless you mean 
SFF-8020i (ATAPI CD-ROM spec).

> So.. whatever.  :)

MBR, Sergei

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 15:04               ` Sergei Shtylyov
@ 2008-04-22 18:54                 ` Sergei Shtylyov
  2008-04-23  2:16                   ` Tejun Heo
  0 siblings, 1 reply; 25+ messages in thread
From: Sergei Shtylyov @ 2008-04-22 18:54 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Mark Lord, Tejun Heo, Jeff Garzik, Adrian Bunk, linux-kernel,
	linux-ide, Alan Cox

Hello, I wrote:

>> I suppose.   If we were needlessly pedantic, then perhaps
>> the libata-bmdma.c should be renamed to libata-sff.c,

    It *was* renamed to libata-sff.c, back in 2006. :-)

>> and the libata-sff.c should be renamed libata-tf.c

    Not before splitting SFF-8038i stuff from it.

>> But there's probably been a document or two since then,
>> where the SFF folks have documented the TF interfaces, too.

>    Don't know, at least I haven't encountered such spec. Unless you mean 
> SFF-8020i (ATAPI CD-ROM spec).

    I've looked thru the list of their spec. and it didn't seem to have any 
about taskfile specifically. SFF-8070 (ATAPI CD-RW) refers to ATA/PI-4 for 
that matter.

MBR, Sergei


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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 18:54                 ` Sergei Shtylyov
@ 2008-04-23  2:16                   ` Tejun Heo
  2008-04-23  4:21                     ` Jeff Garzik
  0 siblings, 1 reply; 25+ messages in thread
From: Tejun Heo @ 2008-04-23  2:16 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Mark Lord, Jeff Garzik, Adrian Bunk, linux-kernel, linux-ide,
	Alan Cox

Sergei Shtylyov wrote:
> Hello, I wrote:
> 
>>> I suppose.   If we were needlessly pedantic, then perhaps
>>> the libata-bmdma.c should be renamed to libata-sff.c,
> 
>    It *was* renamed to libata-sff.c, back in 2006. :-)
> 
>>> and the libata-sff.c should be renamed libata-tf.c
> 
>    Not before splitting SFF-8038i stuff from it.
> 
>>> But there's probably been a document or two since then,
>>> where the SFF folks have documented the TF interfaces, too.
> 
>>    Don't know, at least I haven't encountered such spec. Unless you 
>> mean SFF-8020i (ATAPI CD-ROM spec).
> 
>    I've looked thru the list of their spec. and it didn't seem to have 
> any about taskfile specifically. SFF-8070 (ATAPI CD-RW) refers to 
> ATA/PI-4 for that matter.

Aik... We can do s/sff/tf/ and leave bmdma alone to avoid even more 
confusion but sff has meant tf base interface for quite some time now in 
libata and I think it'll be better to remember that sff is the new tf. 
Sorry about the mess.

Thanks.

-- 
tejun

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-23  2:16                   ` Tejun Heo
@ 2008-04-23  4:21                     ` Jeff Garzik
  2008-04-23 11:16                       ` Sergei Shtylyov
  2008-04-23 13:30                       ` Mark Lord
  0 siblings, 2 replies; 25+ messages in thread
From: Jeff Garzik @ 2008-04-23  4:21 UTC (permalink / raw)
  To: Tejun Heo
  Cc: Sergei Shtylyov, Mark Lord, Adrian Bunk, linux-kernel, linux-ide,
	Alan Cox

Tejun Heo wrote:
> Aik... We can do s/sff/tf/ and leave bmdma alone to avoid even more 
> confusion but sff has meant tf base interface for quite some time now in 
> libata and I think it'll be better to remember that sff is the new tf. 
> Sorry about the mess.


This renaming was discussed at the time on lkml and linux-ide, the 
patches and git pushes were CC'd, and I do not recall these complaints 
being raised at the time.

At this point, it's too ingrained in libata.  Another rename would IMO 
just cause more needless churn.

	Jeff



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

* Re: [2.6 patch] select ATA_SFF
  2008-04-23  4:21                     ` Jeff Garzik
@ 2008-04-23 11:16                       ` Sergei Shtylyov
  2008-04-23 13:30                       ` Mark Lord
  1 sibling, 0 replies; 25+ messages in thread
From: Sergei Shtylyov @ 2008-04-23 11:16 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Tejun Heo, Mark Lord, Adrian Bunk, linux-kernel, linux-ide,
	Alan Cox

Jeff Garzik wrote:

>> Aik... We can do s/sff/tf/ and leave bmdma alone to avoid even more 
>> confusion but sff has meant tf base interface for quite some time now 
>> in libata and I think it'll be better to remember that sff is the new 
>> tf. Sorry about the mess.

> This renaming was discussed at the time on lkml and linux-ide, the 
> patches and git pushes were CC'd, and I do not recall these complaints 
> being raised at the time.

    I wasn't watching libata activity even to such a small extent that I'm 
doing it now, and I haven't found the discussion now.

> At this point, it's too ingrained in libata.  Another rename would IMO 
> just cause more needless churn.

    Well, renaming -bmdma to -sff was logical.  What's not so logical is that 
module covering not only BMDMA activities but also taskfile access.

>     Jeff

MBR, Sergei

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-23  4:21                     ` Jeff Garzik
  2008-04-23 11:16                       ` Sergei Shtylyov
@ 2008-04-23 13:30                       ` Mark Lord
  1 sibling, 0 replies; 25+ messages in thread
From: Mark Lord @ 2008-04-23 13:30 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Tejun Heo, Sergei Shtylyov, Adrian Bunk, linux-kernel, linux-ide,
	Alan Cox

Jeff Garzik wrote:
> Tejun Heo wrote:
>> Aik... We can do s/sff/tf/ and leave bmdma alone to avoid even more 
>> confusion but sff has meant tf base interface for quite some time now 
>> in libata and I think it'll be better to remember that sff is the new 
>> tf. Sorry about the mess.
> 
> 
> This renaming was discussed at the time on lkml and linux-ide, the 
> patches and git pushes were CC'd, and I do not recall these complaints 
> being raised at the time.
> 
> At this point, it's too ingrained in libata.  Another rename would IMO 
> just cause more needless churn.
..

I heartily agree.

Besides, we all seem to understand that -sff means the register level
programming interface for ATA, with and without the old style bmdma.

As opposed to some funky modern host queue style of interface.

It's as good a split as any.

cheers

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-22 13:41       ` Tejun Heo
  2008-04-22 14:35         ` Mark Lord
@ 2008-04-24 11:35         ` Alan Cox
  2008-04-24 12:45           ` Sergei Shtylyov
  1 sibling, 1 reply; 25+ messages in thread
From: Alan Cox @ 2008-04-24 11:35 UTC (permalink / raw)
  To: Tejun Heo
  Cc: Sergei Shtylyov, Jeff Garzik, Adrian Bunk, linux-kernel,
	linux-ide

On Tue, 22 Apr 2008 22:41:51 +0900
Tejun Heo <htejun@gmail.com> wrote:

> Sergei Shtylyov wrote:
> >>>    Jeff, Tejun, what "sff" in the file name actually means? Isn't it 
> >>> strange that the drivers lacking DMA support or not really compliant 
> >>> with SFF-8038i have to link with this file?
> > 
> >> Maybe it should be libata-tf and libata-bmdma, but sff (sans bmdma)
> >> and bmdma is acceptable, hopefully, right?
> > 
> >    What's sff sans bmdma?
> 
> Supposed to be TF interface.  IIRC, the SFF term was first from Alan 
> although it's entirely possible that I misunderstood it and used it in 
> the wrong way.  Alan, can you please clear up the confusion?

The SFF/Intel spec is for PCI IDE (BMDMA or otherwise), so it covers and
defines all the common bits of the IDE interface on PCI (and in defining
the legacy interface conveniently documents the extended ST-412 interface
used by ATA and "pre-ATA" IDE/EIDE controllers).

Alan

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-24 11:35         ` Alan Cox
@ 2008-04-24 12:45           ` Sergei Shtylyov
  2008-04-24 12:50             ` Mark Lord
  2008-04-24 14:27             ` Alan Cox
  0 siblings, 2 replies; 25+ messages in thread
From: Sergei Shtylyov @ 2008-04-24 12:45 UTC (permalink / raw)
  To: Alan Cox; +Cc: Tejun Heo, Jeff Garzik, Adrian Bunk, linux-kernel, linux-ide

Alan Cox wrote:

>>Sergei Shtylyov wrote:

>>>>>   Jeff, Tejun, what "sff" in the file name actually means? Isn't it 
>>>>>strange that the drivers lacking DMA support or not really compliant 
>>>>>with SFF-8038i have to link with this file?

>>>>Maybe it should be libata-tf and libata-bmdma, but sff (sans bmdma)
>>>>and bmdma is acceptable, hopefully, right?

>>>   What's sff sans bmdma?

>>Supposed to be TF interface.  IIRC, the SFF term was first from Alan 
>>although it's entirely possible that I misunderstood it and used it in 
>>the wrong way.  Alan, can you please clear up the confusion?

> The SFF/Intel spec is for PCI IDE (BMDMA or otherwise), so it covers and
> defines all the common bits of the IDE interface on PCI (and in defining
> the legacy interface conveniently documents the extended ST-412 interface
> used by ATA and "pre-ATA" IDE/EIDE controllers).

    If you mean SFF-8038i (which can indeed be named "SFF/Intel"), it
documents *only* BMDMA.  If you mean something else, please be more precise.

> Alan

WBR, Sergei

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-24 12:45           ` Sergei Shtylyov
@ 2008-04-24 12:50             ` Mark Lord
  2008-04-24 13:00               ` Sergei Shtylyov
  2008-04-24 14:27             ` Alan Cox
  1 sibling, 1 reply; 25+ messages in thread
From: Mark Lord @ 2008-04-24 12:50 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Alan Cox, Tejun Heo, Jeff Garzik, Adrian Bunk, linux-kernel,
	linux-ide

Sergei Shtylyov wrote:
> Alan Cox wrote:
> 
>>> Sergei Shtylyov wrote:
> 
>>>>>>   Jeff, Tejun, what "sff" in the file name actually means? Isn't 
>>>>>> it strange that the drivers lacking DMA support or not really 
>>>>>> compliant with SFF-8038i have to link with this file?
> 
>>>>> Maybe it should be libata-tf and libata-bmdma, but sff (sans bmdma)
>>>>> and bmdma is acceptable, hopefully, right?
> 
>>>>   What's sff sans bmdma?
> 
>>> Supposed to be TF interface.  IIRC, the SFF term was first from Alan 
>>> although it's entirely possible that I misunderstood it and used it 
>>> in the wrong way.  Alan, can you please clear up the confusion?
> 
>> The SFF/Intel spec is for PCI IDE (BMDMA or otherwise), so it covers and
>> defines all the common bits of the IDE interface on PCI (and in defining
>> the legacy interface conveniently documents the extended ST-412 interface
>> used by ATA and "pre-ATA" IDE/EIDE controllers).
> 
>    If you mean SFF-8038i (which can indeed be named "SFF/Intel"), it
> documents *only* BMDMA.  If you mean something else, please be more 
> precise.
..

The "Intel PCI IDE Controller Specification Revision 1.0 3/4/94" doesn't mention
bmdma at all, but does document the taskfile register addresses.
It defers to ATA-1 for actual taskfile descriptions/functionality, though.

There's nothing particularly bad about the current naming we use, though.

Cheers

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-24 12:50             ` Mark Lord
@ 2008-04-24 13:00               ` Sergei Shtylyov
  0 siblings, 0 replies; 25+ messages in thread
From: Sergei Shtylyov @ 2008-04-24 13:00 UTC (permalink / raw)
  To: Mark Lord
  Cc: Alan Cox, Tejun Heo, Jeff Garzik, Adrian Bunk, linux-kernel,
	linux-ide

Mark Lord wrote:

>>>>>>>   Jeff, Tejun, what "sff" in the file name actually means? Isn't 
>>>>>>> it strange that the drivers lacking DMA support or not really 
>>>>>>> compliant with SFF-8038i have to link with this file?

>>>>>> Maybe it should be libata-tf and libata-bmdma, but sff (sans bmdma)
>>>>>> and bmdma is acceptable, hopefully, right?

>>>>>   What's sff sans bmdma?

>>>> Supposed to be TF interface.  IIRC, the SFF term was first from Alan 
>>>> although it's entirely possible that I misunderstood it and used it 
>>>> in the wrong way.  Alan, can you please clear up the confusion?

>>> The SFF/Intel spec is for PCI IDE (BMDMA or otherwise), so it covers and
>>> defines all the common bits of the IDE interface on PCI (and in defining
>>> the legacy interface conveniently documents the extended ST-412 
>>> interface
>>> used by ATA and "pre-ATA" IDE/EIDE controllers).

>>    If you mean SFF-8038i (which can indeed be named "SFF/Intel"), it
>> documents *only* BMDMA.  If you mean something else, please be more 
>> precise.

> ..

> The "Intel PCI IDE Controller Specification Revision 1.0 3/4/94" doesn't 

    This is not an SFF spec.

> mention
> bmdma at all, but does document the taskfile register addresses.
> It defers to ATA-1 for actual taskfile descriptions/functionality, though.

    Yes, it only describes deviation from "historical" IDE, i.e. the missing 
drive address register (port 0x3[7F]7).

> There's nothing particularly bad about the current naming we use, though.

    There wouldn't have been anything bad if that file wasn't covering both 
taskfile and  BMDMA stuff.  This way, it looks misleading (at least for me).

> Cheers

WBR, Sergei

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-24 12:45           ` Sergei Shtylyov
  2008-04-24 12:50             ` Mark Lord
@ 2008-04-24 14:27             ` Alan Cox
  2008-04-24 15:30               ` Sergei Shtylyov
  1 sibling, 1 reply; 25+ messages in thread
From: Alan Cox @ 2008-04-24 14:27 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Tejun Heo, Jeff Garzik, Adrian Bunk, linux-kernel, linux-ide

>     If you mean SFF-8038i (which can indeed be named "SFF/Intel"), it
> documents *only* BMDMA.  If you mean something else, please be more precise.

It documents where the PIO spaces are mapped, the class codes and then
documents the rest by inheriting it from the other specs. That makes it
the definitive spec for PCI "standard" controllers both PIO and DMA and
it is indeed followed literally by just about every PCI ATA controller
except the CS5520

Alan

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-24 15:30               ` Sergei Shtylyov
@ 2008-04-24 15:15                 ` Alan Cox
  0 siblings, 0 replies; 25+ messages in thread
From: Alan Cox @ 2008-04-24 15:15 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Tejun Heo, Jeff Garzik, Adrian Bunk, linux-kernel, linux-ide

>     You probaly mean PC targeted controllers, since quite many non-PC chips do 
> ignore that spec (IOC4, PowerMac, Toshiba SCC)... As for CS5520, what's the 
> deviation here -- BMDMA regisrters at BAR2 only?

BMDMA at BAR 2, different class code, IDE side effectively not PCI (as
with the MPIIX)

Alan

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

* Re: [2.6 patch] select ATA_SFF
  2008-04-24 14:27             ` Alan Cox
@ 2008-04-24 15:30               ` Sergei Shtylyov
  2008-04-24 15:15                 ` Alan Cox
  0 siblings, 1 reply; 25+ messages in thread
From: Sergei Shtylyov @ 2008-04-24 15:30 UTC (permalink / raw)
  To: Alan Cox; +Cc: Tejun Heo, Jeff Garzik, Adrian Bunk, linux-kernel, linux-ide

Alan Cox wrote:

>>    If you mean SFF-8038i (which can indeed be named "SFF/Intel"), it
>>documents *only* BMDMA.  If you mean something else, please be more precise.

> It documents where the PIO spaces are mapped, the class codes and then

    I'd like to know what do you mean by "it" since it's certainly not in 
8038i spec I have.

> documents the rest by inheriting it from the other specs. That makes it
> the definitive spec for PCI "standard" controllers both PIO and DMA and

    That looks like ""Intel PCI IDE Controller Specification".

> it is indeed followed literally by just about every PCI ATA controller
> except the CS5520

    You probaly mean PC targeted controllers, since quite many non-PC chips do 
ignore that spec (IOC4, PowerMac, Toshiba SCC)... As for CS5520, what's the 
deviation here -- BMDMA regisrters at BAR2 only?

> Alan

MBR, Sergei

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

end of thread, other threads:[~2008-04-24 15:43 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-21 21:31 [2.6 patch] select ATA_SFF Adrian Bunk
2008-04-22 11:39 ` Jens Axboe
2008-04-22 13:10 ` Sergei Shtylyov
2008-04-22 13:24   ` Tejun Heo
2008-04-22 13:36     ` Sergei Shtylyov
2008-04-22 13:41       ` Tejun Heo
2008-04-22 14:35         ` Mark Lord
2008-04-22 14:38           ` Tejun Heo
2008-04-22 14:44             ` Mark Lord
2008-04-22 15:00               ` Tejun Heo
2008-04-22 15:04               ` Sergei Shtylyov
2008-04-22 18:54                 ` Sergei Shtylyov
2008-04-23  2:16                   ` Tejun Heo
2008-04-23  4:21                     ` Jeff Garzik
2008-04-23 11:16                       ` Sergei Shtylyov
2008-04-23 13:30                       ` Mark Lord
2008-04-22 14:43           ` Sergei Shtylyov
2008-04-22 14:51             ` Mark Lord
2008-04-24 11:35         ` Alan Cox
2008-04-24 12:45           ` Sergei Shtylyov
2008-04-24 12:50             ` Mark Lord
2008-04-24 13:00               ` Sergei Shtylyov
2008-04-24 14:27             ` Alan Cox
2008-04-24 15:30               ` Sergei Shtylyov
2008-04-24 15:15                 ` Alan Cox

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).