PATA drivers in libata?

2005-02-13 Thread Jeff Garzik
I wanted to open a discussion on libata and PATA.
libata-dev now has two drivers that support PATA, pata_pdc2027x and 
ata_piix, and the core is getting close (DMA blacklist in, C/H/S support 
close).

What are the opinions on issues relating to making PATA libata support 
available in the upstream kernel?  Here's my random list.

* I think CONFIG_IDE should continue to be the default answer for "what 
driver do I use for PATA?"

* Should there be a config option similar to CONFIG_BLK_DEV_IDE_SATA, 
called CONFIG_SCSI_ATA_PATA?  A runtime 'pata' module option?  Should we 
include 'DANGER DANGER conflicts with CONFIG_IDE' in the Kconfig 
description?

* With ATA passthru (in libata-dev currently), libata supports SMART and 
the HDIO_CMD/HDIO_TASK generalized ioctls.  Should I care about 
supporting other ioctls?

* pci_enable_device() issues?
* power management differences?
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[SATA] libata-dev queue updated

2005-02-13 Thread Jeff Garzik
A minor update since the last post.  Recent changes:
* updated to 2.6.11-rc4, posted patch (see attached).
* turned on ATAPI by default.  If you got an S/ATAPI DVD burner for 
Christmas, you'll like this.

WARNING DANGER WARNING:  Some drivers such as sata_promise and ahci have 
not yet been updated to support ATAPI.

More details on patch/BK/changes attached.
BK users:

bk pull bk://gkernel.bkbits.net/libata-dev-2.6

Patch:
http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.6.11-rc4-libata-dev1.patch.bz2

This will update the following files:

 drivers/scsi/Kconfig |   18 -
 drivers/scsi/Makefile|2 
 drivers/scsi/ata_adma.c  |  636 
 drivers/scsi/libata-core.c   |  174 +++---
 drivers/scsi/libata-scsi.c   |  409 +++
 drivers/scsi/libata.h|6 
 drivers/scsi/pata_pdc2027x.c |  742 +++
 drivers/scsi/sata_promise.c  |   84 
 drivers/scsi/sata_via.c  |  202 ---
 include/linux/ata.h  |1 
 include/linux/libata.h   |4 
 include/scsi/scsi.h  |3 
 12 files changed, 2096 insertions(+), 185 deletions(-)

through these ChangeSets:

:
  o [libata scsi] support 12-byte passthru CDB
  o [libata scsi] passthru CDB check condition processing
  o T10/04-262 ATA pass thru - patch

:
  o [libata sata_promise] support PATA ports on SATA controllers

Adam J. Richter:
  o ata_pci_remove_one used freed memory

Albert Lee:
  o pdc2027x timing register bug fix
  o [libata pdc2027x] fix incorrect pio and mwdma masks
  o [libata pdc2027x] remove quirks and ROM enable
  o [libata] add driver for Promise PATA 2027x

Brad Campbell:
  o libata basic detection and errata for PATA->SATA bridges

Jeff Garzik:
  o [libata] turn on ATAPI support
  o [libata sata_promise] merge Tobias Lorenz' pdc20619 patch, part 2
  o [libata] small cleanups
  o [libata] remove unused execute-device-diagnostic reset method
  o [libata] add new driver ata_adma
  o [libata sata_via] add support for VT6421 SATA
  o [libata sata_via] minor cleanups
  o [libata pdc2027x] update for upstream struct device conversion
  o [libata sata_promise] fix merge bugs
  o [libata] fix build breakage
  o [libata] fix SATA->PATA bridge detect compile breakage
  o [libata] fix printk warning

John W. Linville:
  o libata: SMART support via ATA pass-thru

Tobias Lorenz:
  o [libata sata_promise] pdc20619 (PATA) support
  o libata-scsi: get-identity ioctl support



Re: PATA drivers in libata?

2005-02-13 Thread Mark Hahn
> * With ATA passthru (in libata-dev currently), libata supports SMART and 
> the HDIO_CMD/HDIO_TASK generalized ioctls.  Should I care about 
> supporting other ioctls?

is there some other mechanism to en/disable write caching?

-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: PATA drivers in libata?

2005-02-13 Thread Jeff Garzik
Mark Hahn wrote:
* With ATA passthru (in libata-dev currently), libata supports SMART and 
the HDIO_CMD/HDIO_TASK generalized ioctls.  Should I care about 
supporting other ioctls?

is there some other mechanism to en/disable write caching?
Besides the SG_IO | HDIO_DRIVE_CMD | HDIO_DRIVE_TASK | 
HDIO_DRIVE_TASKFILE ioctls?  Nope.

Jeff

-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: PATA drivers in libata?

2005-02-13 Thread Alan Cox
On Sul, 2005-02-13 at 18:51, Jeff Garzik wrote:
> libata-dev now has two drivers that support PATA, pata_pdc2027x and 
> ata_piix, and the core is getting close (DMA blacklist in, C/H/S support 
> close).

Do you have DMA change down sorted - CRC error, drop speed and/or switch
to PIO then later flip back. Thats one real horror to get right and one
thats badly screwy in the current IDE code (-ac IDE can hang the box for
ages, base will sometimes crash)

> * With ATA passthru (in libata-dev currently), libata supports SMART and 
> the HDIO_CMD/HDIO_TASK generalized ioctls.  Should I care about 
> supporting other ioctls?

I'd rather the libata driver just had the sane ioctls

> * pci_enable_device() issues?

Nothing really special there, pci_disable_device can be funny thats all.

> * power management differences?

AFAIK only the "I have a cache but no flush command" issue

I'm all for burying the old IDE layer

-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: PATA drivers in libata?

2005-02-13 Thread Jeff Garzik
Alan Cox wrote:
On Sul, 2005-02-13 at 18:51, Jeff Garzik wrote:
libata-dev now has two drivers that support PATA, pata_pdc2027x and 
ata_piix, and the core is getting close (DMA blacklist in, C/H/S support 
close).

Do you have DMA change down sorted - CRC error, drop speed and/or switch
to PIO then later flip back. Thats one real horror to get right and one
thats badly screwy in the current IDE code (-ac IDE can hang the box for
ages, base will sometimes crash)
Error handling is -very- stupid simple right now:  if we get an error, 
report that error in the struct request [based on your ATA -> SCSI sense 
conversion] back to upper layer.

It needs to be fleshed out into separate host bus / ATA bus / device 
errors, and handled accordingly.

Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: PATA drivers in libata?

2005-02-13 Thread Doug Maxey

On Sun, 13 Feb 2005 17:01:51 EST, Jeff Garzik wrote:
>Mark Hahn wrote:
>>>* With ATA passthru (in libata-dev currently), libata supports SMART and 
>>>the HDIO_CMD/HDIO_TASK generalized ioctls.  Should I care about 
>>>supporting other ioctls?
>> 
>> 
>> is there some other mechanism to en/disable write caching?
>
>Besides the SG_IO | HDIO_DRIVE_CMD | HDIO_DRIVE_TASK | 
>HDIO_DRIVE_TASKFILE ioctls?  Nope.
>
>   Jeff

One thing that I would hope for is the ability to recognize that a drive
may prefer the use of write cache be set by the drive, defaulting to off,
and not have to come back later and turn it off.  Certain drives destined
to be used in server class machines will be coming that way.

++doug


-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: PATA drivers in libata?

2005-02-13 Thread Jeff Garzik
On Sun, Feb 13, 2005 at 06:19:31PM -0600, Doug Maxey wrote:
> 
> On Sun, 13 Feb 2005 17:01:51 EST, Jeff Garzik wrote:
> >Mark Hahn wrote:
> >>>* With ATA passthru (in libata-dev currently), libata supports SMART and 
> >>>the HDIO_CMD/HDIO_TASK generalized ioctls.  Should I care about 
> >>>supporting other ioctls?
> >> 
> >> 
> >> is there some other mechanism to en/disable write caching?
> >
> >Besides the SG_IO | HDIO_DRIVE_CMD | HDIO_DRIVE_TASK | 
> >HDIO_DRIVE_TASKFILE ioctls?  Nope.
> >
> > Jeff
> 
> One thing that I would hope for is the ability to recognize that a drive
> may prefer the use of write cache be set by the drive, defaulting to off,
> and not have to come back later and turn it off.  Certain drives destined
> to be used in server class machines will be coming that way.

Chuckle.  I saw you had this discussion with Bart also.

Although libata doesn't touch the write-cache setting right now, I
reserve the right to do so in the future.

Therefore, situations where the write cache is to be disabled should
modify their initscripts, just like you would if you wish to tune your
drive at boot using hdparm(1) or blktool(1).

Jeff



-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html