* Re: libata PATA support - work items? [not found] ` <311601c9050101111929aef5ba@mail.gmail.com> @ 2005-01-04 23:41 ` Jeff Garzik 2005-01-05 0:50 ` Alan Cox 0 siblings, 1 reply; 6+ messages in thread From: Jeff Garzik @ 2005-01-04 23:41 UTC (permalink / raw) To: Eric Mudama, Bartlomiej Zolnierkiewicz, Alan Cox Cc: Albert Lee, IDE Linux, Doug Maxey, Linux Kernel, Jens Axboe Eric Mudama wrote: > On Thu, 30 Dec 2004 18:42:33 +0800, Albert Lee <albertcc@tw.ibm.com> wrote: > >> 2. C/H/S addressing; libata currently hardcoded to use LBA > > > > Are there really people who want to run a newer 2.4 or a 2.6 kernel, > who have disks that do not support LBA mode? CHS will never address > more than 32GB of the drive (unless you use vendor unique > implementations) and heck, most companies don't even build drives that > small anymore... CHS is very messy, LBA is so much simpler. Can we > just stick with that? Well....... :) Originally when I started libata, I targetted it at modern PCI IDE BMDMA (i.e. Intel ICH4-like) controllers, with an eye towards FIS-based controllers such as Intel AHCI or SiI 3124. As a result, I intentionally hardcoded several things such as LBA support, when writing libata. Over time, I have consistently seen these "hardcode it" decisions reversed, and the hardcoding removed, mainly to add support for controllers that are an existing PATA chip (with no SATA modifications) glued next to a PATA->SATA transparent bridge. These controllers essentially require PATA support. Also, in the community, Bart, Alan Cox, and others (hi Albert) have been interested in supporting some PATA controllers with libata. So while my original intention with libata was "Bart does the IDE driver for PATA, and I do the IDE driver for SATA", and make a clean break, it seems that libata is moving more and more towards eventually having full PATA support for many controllers, with all that entails. So, that said, I think it is important for libata to fully support PATA, if it is to support it at all. That means handling the errata that Alan always bugs me about, and that means handling C/H/S support as well. Jeff ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libata PATA support - work items? 2005-01-04 23:41 ` libata PATA support - work items? Jeff Garzik @ 2005-01-05 0:50 ` Alan Cox 2005-01-05 2:42 ` Jeff Garzik ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Alan Cox @ 2005-01-05 0:50 UTC (permalink / raw) To: Jeff Garzik Cc: Eric Mudama, Bartlomiej Zolnierkiewicz, Albert Lee, IDE Linux, Doug Maxey, Linux Kernel Mailing List, Jens Axboe On Maw, 2005-01-04 at 23:41, Jeff Garzik wrote: > So, that said, I think it is important for libata to fully support PATA, > if it is to support it at all. That means handling the errata that Alan > always bugs me about, and that means handling C/H/S support as well. I think so. If it supports all the features of the old IDE layer we get to have a party when we eliminate the need for drivers/ide once and for all. That means - Hotplug (controller and disk) - CHS - "Not quite generic" IDE DMA (eg CS5520) - VDMA (eg CS5520) - IORDY timers (not handled well in drivers/ide but needed) - Funky Maxtor "LBA48.. maybe" oddments - Missing slave detection - Controller errata hooks (modes, drives, timings, "dont touch during an I/O" etc) - Drive nIEN bugs - No nIEN cases - Drives that don't do some DMA/modes right - Crazy shit "Don't DMA from the page below 640K" (not handled by drivers/ide but an AMD errata fixed by using a PS/2 mouse) - Serialize (RZ1000, CMD640, some 469, etc) - Bandwidth arbiter (not in drivers/ide but needed) - Non PCI shared IRQ mess 8( Hopefully most of this can be buried away in a pata-errata.c 8) ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libata PATA support - work items? 2005-01-05 0:50 ` Alan Cox @ 2005-01-05 2:42 ` Jeff Garzik 2005-01-05 3:43 ` Alan Cox 2005-01-05 2:56 ` Andi Kleen 2005-01-05 12:59 ` Bartlomiej Zolnierkiewicz 2 siblings, 1 reply; 6+ messages in thread From: Jeff Garzik @ 2005-01-05 2:42 UTC (permalink / raw) To: Alan Cox Cc: Eric Mudama, Bartlomiej Zolnierkiewicz, Albert Lee, IDE Linux, Doug Maxey, Linux Kernel Mailing List, Jens Axboe Alan Cox wrote: > That means > - Hotplug (controller and disk) mostly either there, or easy to add > - CHS nod > - "Not quite generic" IDE DMA (eg CS5520) > - VDMA (eg CS5520) existing hooks can handle these > - IORDY timers (not handled well in drivers/ide but needed) I think I know what this is. > - Funky Maxtor "LBA48.. maybe" oddments details? > - Missing slave detection Not missing, master/slave has been working for ages. Needed for combined mode, where a SATA device can appear as a slave. > - Controller errata hooks (modes, drives, timings, "dont touch during an > I/O" etc) Controller hooks for most situations already exist, for the most part. Device hooks are what is lacking. > - Drive nIEN bugs ditto above ("device hooks are lacking") > - No nIEN cases already handled in at least one case (AHCI) > - Drives that don't do some DMA/modes right easily doable with existing hooks > - Crazy shit "Don't DMA from the page below 640K" (not handled by > drivers/ide but an AMD errata > fixed by using a PS/2 mouse) heh, interesting > - Serialize (RZ1000, CMD640, some 469, etc) non-trivial but doable (and planned-for) > - Bandwidth arbiter (not in drivers/ide but needed) interesting > - Non PCI shared IRQ mess 8( details? Thanks, Jeff ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libata PATA support - work items? 2005-01-05 2:42 ` Jeff Garzik @ 2005-01-05 3:43 ` Alan Cox 0 siblings, 0 replies; 6+ messages in thread From: Alan Cox @ 2005-01-05 3:43 UTC (permalink / raw) To: Jeff Garzik Cc: Eric Mudama, Bartlomiej Zolnierkiewicz, Albert Lee, IDE Linux, Doug Maxey, Linux Kernel Mailing List, Jens Axboe On Mer, 2005-01-05 at 02:42, Jeff Garzik wrote: > > - IORDY timers (not handled well in drivers/ide but needed) > I think I know what this is. The SII has support for this in the h/w btw (see the docs). Otherwise IDE as a protocol can get stuck if the drive enters rotating doorstop mode at the wrong moment. > > - Funky Maxtor "LBA48.. maybe" oddments > details? There are a couple of "yes we do LBA48" "no we don't do this command in LBA48" cases with maxtors (Cache flush is one, the stroke stuff triggers another) > > - Missing slave detection > > Not missing, master/slave has been working for ages. Needed for > combined mode, where a SATA device can appear as a slave. No no - some devices have a master and a slave on them when you detect but only one disk attached because they forgot to bother decoding it in the adapter (eg some pcmcia with microdrives). This causes bad shit especially with hal style automounting. > > - Bandwidth arbiter (not in drivers/ide but needed) > interesting Its effectively serialize I think that is needed but with >1 at a time. > > - Non PCI shared IRQ mess 8( > details? ISA IRQ lines - two controllers, one IRQ but edge triggered and not sharable directly. The core old IDE code actually supports all of this and people have run stuff like 6 ISA IDE controllers in a PC.[1] Alan [1] Seek medical advice before trying this at home ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libata PATA support - work items? 2005-01-05 0:50 ` Alan Cox 2005-01-05 2:42 ` Jeff Garzik @ 2005-01-05 2:56 ` Andi Kleen 2005-01-05 12:59 ` Bartlomiej Zolnierkiewicz 2 siblings, 0 replies; 6+ messages in thread From: Andi Kleen @ 2005-01-05 2:56 UTC (permalink / raw) To: Alan Cox; +Cc: linux-kernel Alan Cox <alan@lxorguk.ukuu.org.uk> writes: > - Crazy shit "Don't DMA from the page below 640K" (not handled by > drivers/ide but an AMD errata > fixed by using a PS/2 mouse) This is already fixed in setup.c by reserving a page. Since early CPU detect went in it should actually work now too. -Andi ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libata PATA support - work items? 2005-01-05 0:50 ` Alan Cox 2005-01-05 2:42 ` Jeff Garzik 2005-01-05 2:56 ` Andi Kleen @ 2005-01-05 12:59 ` Bartlomiej Zolnierkiewicz 2 siblings, 0 replies; 6+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2005-01-05 12:59 UTC (permalink / raw) To: Alan Cox Cc: Jeff Garzik, Eric Mudama, Albert Lee, IDE Linux, Doug Maxey, Linux Kernel Mailing List, Jens Axboe On Wed, 05 Jan 2005 00:50:05 +0000, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: > On Maw, 2005-01-04 at 23:41, Jeff Garzik wrote: > > So, that said, I think it is important for libata to fully support PATA, > > if it is to support it at all. That means handling the errata that Alan > > always bugs me about, and that means handling C/H/S support as well. > > I think so. If it supports all the features of the old IDE layer we get > to have a party when we eliminate the need for drivers/ide once and for > all. > > That means > - Hotplug (controller and disk) > - CHS > - "Not quite generic" IDE DMA (eg CS5520) > - VDMA (eg CS5520) > - IORDY timers (not handled well in drivers/ide but needed) > - Funky Maxtor "LBA48.. maybe" oddments > - Missing slave detection > - Controller errata hooks (modes, drives, timings, "dont touch during an > I/O" etc) > - Drive nIEN bugs > - No nIEN cases > - Drives that don't do some DMA/modes right > - Crazy shit "Don't DMA from the page below 640K" (not handled by > drivers/ide but an AMD errata > fixed by using a PS/2 mouse) > - Serialize (RZ1000, CMD640, some 469, etc) > - Bandwidth arbiter (not in drivers/ide but needed) > - Non PCI shared IRQ mess 8( > > Hopefully most of this can be buried away in a pata-errata.c 8) :-) few more: - Power Management for devices - 32 bit I/O support - Multiple Mode PIO support - Host Protected Area support (can be done from user-space but "coldplug" is needed) - ide-{cd,disk,floppy,tape}.c specific quirks ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-01-05 12:59 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <006301c4ee5c$49e6a230$95714109@tw.ibm.com>
[not found] ` <311601c9050101111929aef5ba@mail.gmail.com>
2005-01-04 23:41 ` libata PATA support - work items? Jeff Garzik
2005-01-05 0:50 ` Alan Cox
2005-01-05 2:42 ` Jeff Garzik
2005-01-05 3:43 ` Alan Cox
2005-01-05 2:56 ` Andi Kleen
2005-01-05 12:59 ` Bartlomiej Zolnierkiewicz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox