* Serial ATA (SATA) for Linux status report @ 2003-12-03 20:44 Jeff Garzik 2003-12-03 23:27 ` Andre Tomt ` (5 more replies) 0 siblings, 6 replies; 37+ messages in thread From: Jeff Garzik @ 2003-12-03 20:44 UTC (permalink / raw) To: linux-kernel, linux-ide, linux-scsi Editor's preface: This is clearly a first draft, only covering the basics. In order for this document to be effective, I request that users and developers send me (or post) their SATA driver questions and issues. I will do my best to address them here. Serial ATA (SATA) for Linux status report Dec 3, 2003 Hardware support ================ Intel ICH5 ---------- Summary: No TCQ. Looks like a PATA controller, but with a few added, non-standard SATA port controls. libata driver status: Production, but see issue #2, #3. drivers/ide driver status: Production, but see issue #1, #2. Issue #1: Depending on BIOS settings, IDE driver may lock up computer when probing drives. Issue #2: Excessive interrupts are seen in some configurations. Issue #3: "Enhanced mode" or "SATA-only mode" may need to be set in BIOS. Intel ICH6 ("AHCI") ------------------- Summary: Per-device queues, full SATA control including hotplug and PM. libata driver status: In development. Promise ------- Summary: Per-host queues on all controllers. Full SATA control including hotplug and PM on all but one controller. libata driver status: Beta. Silicon Image 3112 ------------------ Summary: No TCQ. Looks like a PATA controller, but with full SATA control including hotplug and PM. libata driver status: Alpha. drivers/ide driver status: Production, but see issue #4. Issue #4: Need to have the most recent fixes posted to lkml, for stable operation and full performance (where possible). Broadcom/ServerWorks/Apple -------------------------- Summary: Huge per-device queues, full SATA control including hotplug and PM. libata driver status: Beta. VIA --- Summary: No TCQ. Looks like a PATA controller, but with full SATA control including hotplug and PM. libata driver status: Beta. Software support ================ Basic Serial ATA support ------------------------ The "ATA host state machine", the core of the entire driver, is considered production-stable. The error handling is _very_ simple, but at this stage that is an advantage. Error handling code anywhere is inevitably both complex and sorely under-tested. libata error handling is intentionally simple. Positives: Easy to review and verify correctness. Never data corruption. Negatives: if an error occurs, libata will simply send the error back the block layer. There are limited retries by the block layer, depending on the type of error, but there is never a bus reset. Or in other words: "it's better to stop talking to the disk than compound existing problems with further problems." As Serial ATA matures, and host- and device-side errata become apparent, the error handling will be slowly refined. I am planning to work with a few (kind!) disk vendors, to obtain special drives/firmwares that allow me to inject faults, and otherwise exercise error handling code. Queueing support ---------------- Even though some SATA host controllers on the market already support command queueing (a.k.a. "TCQ"), libata does not yet support it. However, libata was designed from the ground-up to support queueing, so I need only change a few lines of code, and write two functions, to enable this behavior. Queueing will be enabled in libata soon, but to do so requires a long stretch of testing on a large variety of controllers and drives. This is very time-intensive, and is the largest part of this task. Tangent: Host-based queueing and Native Command Queueing Queueing is the process of sending multiple commands to a single device, without waiting for prior commands to finish. This increases performance and reduces latency. There are three types of queueing in the ATA world: 1) "legacy TCQ" -- some PATA devices support this. Just ignore it, it's going away. 2) "host-based TCQ" -- the host controller supports a queue of drive commands, whether or not the drive supports it. 3) "Native Command Queueing" -- both host and drive cooperate in the queueing and execution of drive commands. This should provide the highest performance and lowest latency of all three options. #1 is support by drivers/ide _only_. libata will not support this. #2 will soon be supported by libata. #3 will be supported by libata when hardware is available from drive manufacturers. Hotplug support --------------- All SATA is hotplug. libata does not support hotplug... yet. Power Management support ------------------------ Over and above the power management specified in the ATA/ATAPI specification, one can aggressively control the power consumption of SATA hosts, the SATA bus, and the SATA device. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-03 20:44 Serial ATA (SATA) for Linux status report Jeff Garzik @ 2003-12-03 23:27 ` Andre Tomt 2003-12-03 23:36 ` Jeff Garzik 2003-12-04 8:17 ` Arnaud Launay ` (4 subsequent siblings) 5 siblings, 1 reply; 37+ messages in thread From: Andre Tomt @ 2003-12-03 23:27 UTC (permalink / raw) To: Jeff Garzik; +Cc: linux-kernel, linux-ide, linux-scsi On Wed, 2003-12-03 at 21:44, Jeff Garzik wrote: > Intel ICH5 > ---------- > Summary: No TCQ. Looks like a PATA controller, but with a few added, > non-standard SATA port controls. <snip> > Intel ICH6 ("AHCI") > ------------------- > Summary: Per-device queues, full SATA control including hotplug > and PM. Hi jeff! :) One question - with "including hotplug", does that mean some set hotplug standard? Reason I'm asking is, we have a few servers from SuperMicro, with a ICH5R S-ATA controller that claims it's supporting hotplug, but hotplug is not in your ICH5-summary. PS, libata works great on those systems, good work! ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-03 23:27 ` Andre Tomt @ 2003-12-03 23:36 ` Jeff Garzik 2003-12-04 0:21 ` Miquel van Smoorenburg ` (3 more replies) 0 siblings, 4 replies; 37+ messages in thread From: Jeff Garzik @ 2003-12-03 23:36 UTC (permalink / raw) To: Andre Tomt; +Cc: linux-kernel, linux-ide, linux-scsi Andre Tomt wrote: > On Wed, 2003-12-03 at 21:44, Jeff Garzik wrote: > >>Intel ICH5 >>---------- >>Summary: No TCQ. Looks like a PATA controller, but with a few added, >>non-standard SATA port controls. > One question - with "including hotplug", does that mean some set hotplug > standard? Reason I'm asking is, we have a few servers from SuperMicro, > with a ICH5R S-ATA controller that claims it's supporting hotplug, but > hotplug is not in your ICH5-summary. Alas, there is no hotplug support in the ICH5 or ICH5-R SATA hardware. One could argue there is "coldplug" support in that hardware -- disable the entire interface, including any active devices, then re-enable and re-scan -- but it's a bit of a hack. If there's enough demand, I could write some code for that. It would involve something like # /sbin/sata off { plug in or remove a device } # /sbin/sata on You really, really, really don't want to actually unplug a SATA drive while it's active, on ICH5 hardware. Jeff ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-03 23:36 ` Jeff Garzik @ 2003-12-04 0:21 ` Miquel van Smoorenburg 2003-12-04 0:59 ` Samuel Flory ` (2 subsequent siblings) 3 siblings, 0 replies; 37+ messages in thread From: Miquel van Smoorenburg @ 2003-12-04 0:21 UTC (permalink / raw) To: linux-scsi, linux-kernel In article <3FCE737C.1080105@pobox.com>, Jeff Garzik <jgarzik@pobox.com> wrote: >Andre Tomt wrote: >> On Wed, 2003-12-03 at 21:44, Jeff Garzik wrote: >> >>>Intel ICH5 >>>---------- >>>Summary: No TCQ. Looks like a PATA controller, but with a few added, >>>non-standard SATA port controls. > >> One question - with "including hotplug", does that mean some set hotplug >> standard? Reason I'm asking is, we have a few servers from SuperMicro, >> with a ICH5R S-ATA controller that claims it's supporting hotplug, but >> hotplug is not in your ICH5-summary. > >Alas, there is no hotplug support in the ICH5 or ICH5-R SATA hardware. > >One could argue there is "coldplug" support in that hardware -- disable >the entire interface, including any active devices, then re-enable and >re-scan -- but it's a bit of a hack. If there's enough demand, I could >write some code for that. Please. Several vendors now have 1U boxes with 2 swappable SATA drives, and many of those vendors (e.g. supermicro) use motherboards with the ICH5 SATA chipset. We're about to buy a few too, and we intend to use the drivers in RAID0 mode. The ability to swap a drive without powering down the whole box is quite essential. Mike. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-03 23:36 ` Jeff Garzik 2003-12-04 0:21 ` Miquel van Smoorenburg @ 2003-12-04 0:59 ` Samuel Flory 2003-12-04 1:02 ` Andre Tomt 2003-12-04 13:38 ` Justin Cormack 3 siblings, 0 replies; 37+ messages in thread From: Samuel Flory @ 2003-12-04 0:59 UTC (permalink / raw) To: Jeff Garzik; +Cc: Andre Tomt, linux-kernel, linux-ide, linux-scsi Jeff Garzik wrote: > Andre Tomt wrote: > >> On Wed, 2003-12-03 at 21:44, Jeff Garzik wrote: >> >>> Intel ICH5 >>> ---------- >>> Summary: No TCQ. Looks like a PATA controller, but with a few added, >>> non-standard SATA port controls. > > >> One question - with "including hotplug", does that mean some set hotplug >> standard? Reason I'm asking is, we have a few servers from SuperMicro, >> with a ICH5R S-ATA controller that claims it's supporting hotplug, but >> hotplug is not in your ICH5-summary. > > > Alas, there is no hotplug support in the ICH5 or ICH5-R SATA hardware. > > One could argue there is "coldplug" support in that hardware -- disable > the entire interface, including any active devices, then re-enable and > re-scan -- but it's a bit of a hack. If there's enough demand, I could > write some code for that. It would involve something like > > # /sbin/sata off > { plug in or remove a device } > # /sbin/sata on > > You really, really, really don't want to actually unplug a SATA drive > while it's active, on ICH5 hardware. > In theroy the scsi driver allows you kill a drive, and do rescan by echoing to /proc/scsi.scsi. I know it worked under 2.4 with sca drive on a hotswap backplane. This was over a year ago. So it may have been broken. scsi.c: * Usage: echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi * with "0 1 2 3" replaced by your "Host Channel Id Lun". /* * Usage: echo "scsi remove-single-device 0 1 2 3" >/proc/scsi/scsi * with "0 1 2 3" replaced by your "Host Channel Id Lun". * PS- Yes I know says it isn't for hotswap, and that it's prebeta. This comment dates back to at least 2.2. It's worked for least 4 years. -- There is no such thing as obsolete hardware. Merely hardware that other people don't want. (The Second Rule of Hardware Acquisition) Sam Flory <sflory@rackable.com> ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-03 23:36 ` Jeff Garzik 2003-12-04 0:21 ` Miquel van Smoorenburg 2003-12-04 0:59 ` Samuel Flory @ 2003-12-04 1:02 ` Andre Tomt 2003-12-04 13:38 ` Justin Cormack 3 siblings, 0 replies; 37+ messages in thread From: Andre Tomt @ 2003-12-04 1:02 UTC (permalink / raw) To: Jeff Garzik; +Cc: linux-kernel, linux-ide On Thu, 2003-12-04 at 00:36, Jeff Garzik wrote: > Andre Tomt wrote: > > One question - with "including hotplug", does that mean some set hotplug > > standard? Reason I'm asking is, we have a few servers from SuperMicro, > > with a ICH5R S-ATA controller that claims it's supporting hotplug, but > > hotplug is not in your ICH5-summary. > > Alas, there is no hotplug support in the ICH5 or ICH5-R SATA hardware. > > One could argue there is "coldplug" support in that hardware -- disable > the entire interface, including any active devices, then re-enable and > re-scan -- but it's a bit of a hack. If there's enough demand, I could > write some code for that. It would involve something like > > # /sbin/sata off > { plug in or remove a device } > # /sbin/sata on > > You really, really, really don't want to actually unplug a SATA drive > while it's active, on ICH5 hardware. Hmm. There is a backplane involved, that might change things a little. Quoting the manual: "A Serial ATA controller is incorporated into the 875P chipset to provide a two-port Serial ATA subsystem, which is RAID 0 and RAID 1 supported. The Serial ATA drives are hot-swappable units. Note: The operating system you use must have RAID support to enable the hot-swap capability and RAID function of the Serial ATA drives." "The Serial ATA drives plug into a backplane that provides power, drive ID and bus termination. A RAID controller can be used with the backplane to provide data security. The operating system you use must have RAID support to enable the hot-swap capability of the Serial ATA drives." The wording here is a little confusing, but hot-swap seems to work quite well with intels windows fakeraid-drivers, at least. One just pushes the "i'm going to pull you out now"-button on the tray, and pull the drive tray out. Maybe it triggers an event to the fakeraid-driver, wich then powers down the bus? black backplane-magic? Anyways, REAL S-ATA hardware RAID controllers are pretty cheap over here nowadays.. [trimmed off linux-scsi] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-03 23:36 ` Jeff Garzik ` (2 preceding siblings ...) 2003-12-04 1:02 ` Andre Tomt @ 2003-12-04 13:38 ` Justin Cormack 2003-12-04 14:54 ` Jeff Garzik 3 siblings, 1 reply; 37+ messages in thread From: Justin Cormack @ 2003-12-04 13:38 UTC (permalink / raw) To: Jeff Garzik; +Cc: Andre Tomt, Kernel mailing list, linux-ide, linux-scsi On Wed, 2003-12-03 at 23:36, Jeff Garzik wrote: > Andre Tomt wrote: > > On Wed, 2003-12-03 at 21:44, Jeff Garzik wrote: > > > >>Intel ICH5 > >>---------- > >>Summary: No TCQ. Looks like a PATA controller, but with a few added, > >>non-standard SATA port controls. > > > One question - with "including hotplug", does that mean some set hotplug > > standard? Reason I'm asking is, we have a few servers from SuperMicro, > > with a ICH5R S-ATA controller that claims it's supporting hotplug, but > > hotplug is not in your ICH5-summary. > > Alas, there is no hotplug support in the ICH5 or ICH5-R SATA hardware. > > One could argue there is "coldplug" support in that hardware -- disable > the entire interface, including any active devices, then re-enable and > re-scan -- but it's a bit of a hack. If there's enough demand, I could > write some code for that. It would involve something like > > # /sbin/sata off > { plug in or remove a device } > # /sbin/sata on > > You really, really, really don't want to actually unplug a SATA drive > while it's active, on ICH5 hardware. How does it work on other hardware? Justin ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-04 13:38 ` Justin Cormack @ 2003-12-04 14:54 ` Jeff Garzik 0 siblings, 0 replies; 37+ messages in thread From: Jeff Garzik @ 2003-12-04 14:54 UTC (permalink / raw) To: Justin Cormack; +Cc: Andre Tomt, Kernel mailing list, linux-ide, linux-scsi Justin Cormack wrote: > On Wed, 2003-12-03 at 23:36, Jeff Garzik wrote: > >>Andre Tomt wrote: >> >>>On Wed, 2003-12-03 at 21:44, Jeff Garzik wrote: >>> >>> >>>>Intel ICH5 >>>>---------- >>>>Summary: No TCQ. Looks like a PATA controller, but with a few added, >>>>non-standard SATA port controls. >> >>>One question - with "including hotplug", does that mean some set hotplug >>>standard? Reason I'm asking is, we have a few servers from SuperMicro, >>>with a ICH5R S-ATA controller that claims it's supporting hotplug, but >>>hotplug is not in your ICH5-summary. >> >>Alas, there is no hotplug support in the ICH5 or ICH5-R SATA hardware. >> >>One could argue there is "coldplug" support in that hardware -- disable >>the entire interface, including any active devices, then re-enable and >>re-scan -- but it's a bit of a hack. If there's enough demand, I could >>write some code for that. It would involve something like >> >> # /sbin/sata off >> { plug in or remove a device } >> # /sbin/sata on >> >>You really, really, really don't want to actually unplug a SATA drive >>while it's active, on ICH5 hardware. > > > How does it work on other hardware? Just yank the cord :) Jeff ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-03 20:44 Serial ATA (SATA) for Linux status report Jeff Garzik 2003-12-03 23:27 ` Andre Tomt @ 2003-12-04 8:17 ` Arnaud Launay 2003-12-04 15:01 ` Jeff Garzik 2003-12-09 9:39 ` Petr Sebor ` (3 subsequent siblings) 5 siblings, 1 reply; 37+ messages in thread From: Arnaud Launay @ 2003-12-04 8:17 UTC (permalink / raw) To: linux-kernel, linux-ide, linux-scsi Le Wed, Dec 03, 2003 at 03:44:46PM -0500, Jeff Garzik a écrit: > Intel ICH5 > ---------- > Summary: No TCQ. Looks like a PATA controller, but with a few > added, non-standard SATA port controls. No plan to add the so-called "raid" capabilities of the 82801EB ? > Silicon Image 3112 Same here, is support for the 3114 underway ? Saw a message from Andre Hedrick back in July saying he had something seemingly working, but there's no news since... (Andre, no rant here, just a question. It's for personal use and I'm grateful you do that on your freetime). Arnaud. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-04 8:17 ` Arnaud Launay @ 2003-12-04 15:01 ` Jeff Garzik 2003-12-05 17:42 ` Mickael Marchand 0 siblings, 1 reply; 37+ messages in thread From: Jeff Garzik @ 2003-12-04 15:01 UTC (permalink / raw) To: Arnaud Launay; +Cc: linux-kernel, linux-ide, linux-scsi Arnaud Launay wrote: > Le Wed, Dec 03, 2003 at 03:44:46PM -0500, Jeff Garzik a écrit: > >>Intel ICH5 >>---------- >>Summary: No TCQ. Looks like a PATA controller, but with a few >>added, non-standard SATA port controls. > > > No plan to add the so-called "raid" capabilities of the 82801EB ? AFAIK the raid capabilities are entirely in software. And Intel just wrote and posted this component. Look for "iswraid" in the linux-kernel archives. >>Silicon Image 3112 > > > Same here, is support for the 3114 underway ? Saw a message from Underway, but beyond that cannot comment :) Jeff ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-04 15:01 ` Jeff Garzik @ 2003-12-05 17:42 ` Mickael Marchand 2003-12-05 17:47 ` Jeff Garzik 0 siblings, 1 reply; 37+ messages in thread From: Mickael Marchand @ 2003-12-05 17:42 UTC (permalink / raw) To: Jeff Garzik, linux-kernel -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, as I was too impatient, I wrote a quick hack for it. Now I can see my drives on the 3114 controller. RAID does not seem to work but I can access my SATA drives in normal mode. hdparm gives a 57 Mb/s output. I had no error/crash/corruption, it appears to work correctly. It works on 2.4.23 and 2.6.0-test11 with libata. basically, you just need to add the PCI id for 3114 just like 3112 in sata_sil.c, load the module and enjoy. I presume 3112 and 3114 chips are mostly identical. I have tested this on 2 Tyan motherboards with Sil 3114 inside I can generate a patch in a few moments if you want it. cheers, Mik Le Thursday 04 December 2003 16:01, Jeff Garzik a écrit : > Arnaud Launay wrote: > > Le Wed, Dec 03, 2003 at 03:44:46PM -0500, Jeff Garzik a écrit: > >>Intel ICH5 > >>---------- > >>Summary: No TCQ. Looks like a PATA controller, but with a few > >>added, non-standard SATA port controls. > > > > No plan to add the so-called "raid" capabilities of the 82801EB ? > > AFAIK the raid capabilities are entirely in software. > > And Intel just wrote and posted this component. Look for "iswraid" in > the linux-kernel archives. > > >>Silicon Image 3112 > > > > Same here, is support for the 3114 underway ? Saw a message from > > Underway, but beyond that cannot comment :) > > Jeff > > > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/0MN5yOYzc4nQ8j0RApGlAJ9WZxYY5wos+epXPsz4W/SPgOa7rQCfcKx1 lbblGOkp3DKKQUcRyN978us= =KBJD -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-05 17:42 ` Mickael Marchand @ 2003-12-05 17:47 ` Jeff Garzik 2003-12-05 18:07 ` [PATCH] Silicon image 3114 SATA link (really basic support) Mickael Marchand 2003-12-05 18:16 ` Serial ATA (SATA) for Linux status report Kevin P. Fleming 0 siblings, 2 replies; 37+ messages in thread From: Jeff Garzik @ 2003-12-05 17:47 UTC (permalink / raw) To: Mickael Marchand; +Cc: linux-kernel Mickael Marchand wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi, > > as I was too impatient, I wrote a quick hack for it. > Now I can see my drives on the 3114 controller. > RAID does not seem to work but I can access my SATA drives in normal mode. > > hdparm gives a 57 Mb/s output. > I had no error/crash/corruption, it appears to work correctly. > > It works on 2.4.23 and 2.6.0-test11 with libata. > basically, you just need to add the PCI id for 3114 just like 3112 in > sata_sil.c, load the module and enjoy. > I presume 3112 and 3114 chips are mostly identical. > > I have tested this on 2 Tyan motherboards with Sil 3114 inside > > I can generate a patch in a few moments if you want it. Yes, a tested patch would be great, thanks! Jeff ^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH] Silicon image 3114 SATA link (really basic support) 2003-12-05 17:47 ` Jeff Garzik @ 2003-12-05 18:07 ` Mickael Marchand 2003-12-09 18:22 ` Aron Rubin 2003-12-05 18:16 ` Serial ATA (SATA) for Linux status report Kevin P. Fleming 1 sibling, 1 reply; 37+ messages in thread From: Mickael Marchand @ 2003-12-05 18:07 UTC (permalink / raw) To: Jeff Garzik; +Cc: linux-kernel [-- Attachment #1: Type: Text/Plain, Size: 1347 bytes --] -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 here it is ;) (for 2.6.0-test11) it includes patches in siimage.c but it did not work IIRC (lost interrupt). (don't compile siimage inside the kernel, it would not boot) enjoy, cheers, Mik Le Friday 05 December 2003 18:47, Jeff Garzik a écrit : > Mickael Marchand wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > Hi, > > > > as I was too impatient, I wrote a quick hack for it. > > Now I can see my drives on the 3114 controller. > > RAID does not seem to work but I can access my SATA drives in normal > > mode. > > > > hdparm gives a 57 Mb/s output. > > I had no error/crash/corruption, it appears to work correctly. > > > > It works on 2.4.23 and 2.6.0-test11 with libata. > > basically, you just need to add the PCI id for 3114 just like 3112 in > > sata_sil.c, load the module and enjoy. > > I presume 3112 and 3114 chips are mostly identical. > > > > I have tested this on 2 Tyan motherboards with Sil 3114 inside > > > > I can generate a patch in a few moments if you want it. > > Yes, a tested patch would be great, thanks! > > Jeff -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/0MlPyOYzc4nQ8j0RAtFpAJ4hemZoIMnFcBjBXYjGD/uCXJ3d/QCfbjT6 KigiRN0fY1PPveJIiJyKCdE= =KemZ -----END PGP SIGNATURE----- [-- Attachment #2: sil3114.patch --] [-- Type: text/x-diff, Size: 3861 bytes --] diff -ru linux-2.6.0-test11.orig/drivers/ide/pci/siimage.c linux-2.6.0-test11/drivers/ide/pci/siimage.c --- linux-2.6.0-test11.orig/drivers/ide/pci/siimage.c 2003-11-26 20:43:35.000000000 +0000 +++ linux-2.6.0-test11/drivers/ide/pci/siimage.c 2003-12-05 15:44:28.000000000 +0000 @@ -55,6 +55,7 @@ switch(pdev->device) { case PCI_DEVICE_ID_SII_3112: + case PCI_DEVICE_ID_SII_3114: case PCI_DEVICE_ID_SII_1210SA: return 1; case PCI_DEVICE_ID_SII_680: @@ -1178,6 +1179,7 @@ static struct pci_device_id siimage_pci_tbl[] = { { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, + { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_1210SA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, { 0, }, }; diff -ru linux-2.6.0-test11.orig/drivers/ide/pci/siimage.h linux-2.6.0-test11/drivers/ide/pci/siimage.h --- linux-2.6.0-test11.orig/drivers/ide/pci/siimage.h 2003-11-26 20:44:17.000000000 +0000 +++ linux-2.6.0-test11/drivers/ide/pci/siimage.h 2003-12-05 15:46:50.000000000 +0000 @@ -13,7 +13,7 @@ #undef SIIMAGE_BUFFERED_TASKFILE #undef SIIMAGE_LARGE_DMA -#define SII_DEBUG 0 +#define SII_DEBUG 1 #if SII_DEBUG #define siiprintk(x...) printk(x) @@ -72,6 +72,18 @@ .extra = 0, },{ /* 2 */ .vendor = PCI_VENDOR_ID_CMD, + .device = PCI_DEVICE_ID_SII_3114, + .name = "SiI3114 Serial ATA", + .init_chipset = init_chipset_siimage, + .init_iops = init_iops_siimage, + .init_hwif = init_hwif_siimage, + .channels = 2, + .autodma = AUTODMA, + .enablebits = {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, + .bootable = ON_BOARD, + .extra = 0, + },{ /* 3 */ + .vendor = PCI_VENDOR_ID_CMD, .device = PCI_DEVICE_ID_SII_1210SA, .name = "Adaptec AAR-1210SA", .init_chipset = init_chipset_siimage, diff -ru linux-2.6.0-test11.orig/drivers/scsi/Kconfig linux-2.6.0-test11/drivers/scsi/Kconfig --- linux-2.6.0-test11.orig/drivers/scsi/Kconfig 2003-11-26 20:45:32.000000000 +0000 +++ linux-2.6.0-test11/drivers/scsi/Kconfig 2003-12-05 15:54:20.000000000 +0000 @@ -441,7 +441,7 @@ config SCSI_SATA_SIL tristate "Silicon Image SATA support" - depends on SCSI_SATA && PCI && BROKEN + depends on SCSI_SATA && PCI help This option enables support for Silicon Image Serial ATA. diff -ru linux-2.6.0-test11.orig/drivers/scsi/sata_sil.c linux-2.6.0-test11/drivers/scsi/sata_sil.c --- linux-2.6.0-test11.orig/drivers/scsi/sata_sil.c 2003-11-26 20:42:46.000000000 +0000 +++ linux-2.6.0-test11/drivers/scsi/sata_sil.c 2003-12-05 15:50:32.000000000 +0000 @@ -39,6 +39,7 @@ enum { sil_3112 = 0, + sil_3114 = 1, SIL_IDE0_TF = 0x80, SIL_IDE0_CTL = 0x8A, @@ -62,6 +63,7 @@ static struct pci_device_id sil_pci_tbl[] = { { 0x1095, 0x3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112 }, + { 0x1095, 0x3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3114 }, { } /* terminate list */ }; @@ -119,6 +121,14 @@ .pio_mask = 0x03, /* pio3-4 */ .udma_mask = 0x7f, /* udma0-6; FIXME */ .port_ops = &sil_ops, + }, /* sil_3114 */ + { + .sht = &sil_sht, + .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | + ATA_FLAG_SRST | ATA_FLAG_MMIO, + .pio_mask = 0x03, /* pio3-4 */ + .udma_mask = 0x7f, /* udma0-6; FIXME */ + .port_ops = &sil_ops, }, }; diff -ru linux-2.6.0-test11.orig/include/linux/pci_ids.h linux-2.6.0-test11/include/linux/pci_ids.h --- linux-2.6.0-test11.orig/include/linux/pci_ids.h 2003-11-26 20:43:39.000000000 +0000 +++ linux-2.6.0-test11/include/linux/pci_ids.h 2003-12-05 15:48:28.000000000 +0000 @@ -882,6 +882,7 @@ #define PCI_DEVICE_ID_SII_680 0x0680 #define PCI_DEVICE_ID_SII_3112 0x3112 +#define PCI_DEVICE_ID_SII_3114 0x3114 #define PCI_DEVICE_ID_SII_1210SA 0x0240 #define PCI_VENDOR_ID_VISION 0x1098 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH] Silicon image 3114 SATA link (really basic support) 2003-12-05 18:07 ` [PATCH] Silicon image 3114 SATA link (really basic support) Mickael Marchand @ 2003-12-09 18:22 ` Aron Rubin 2003-12-09 18:54 ` Mickael Marchand 0 siblings, 1 reply; 37+ messages in thread From: Aron Rubin @ 2003-12-09 18:22 UTC (permalink / raw) To: Mickael Marchand, linux-ide, linux-kernel Mickael Marchand wrote: > here it is ;) (for 2.6.0-test11) > it includes patches in siimage.c but it did not work IIRC (lost interrupt). > (don't compile siimage inside the kernel, it would not boot) Your messages seem to be conflicting. Does this work or not or just enough to see messages? I am dealing with the same exact thing for the 3512 chipset. Aron -- ssh aron@rubinium.org cat /dev/brain | grep ^work: Aron Rubin Member, Engineering Staff Lockheed Martin E-Mail: arubin@atl.lmco.com Advanced Technology Laboratories Phone: 856.792.9865 3 Executive Campus Fax: 856.792.9930 Cherry Hill, NJ USA 08002 Web: http://www.atl.lmco.com ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH] Silicon image 3114 SATA link (really basic support) 2003-12-09 18:22 ` Aron Rubin @ 2003-12-09 18:54 ` Mickael Marchand 2003-12-09 20:14 ` Bartlomiej Zolnierkiewicz 0 siblings, 1 reply; 37+ messages in thread From: Mickael Marchand @ 2003-12-09 18:54 UTC (permalink / raw) To: Aron Rubin, linux-ide, linux-kernel [-- Attachment #1: Type: Text/Plain, Size: 1287 bytes --] -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Tuesday 09 December 2003 19:22, Aron Rubin a écrit : > Mickael Marchand wrote: > > here it is ;) (for 2.6.0-test11) > > it includes patches in siimage.c but it did not work IIRC (lost > > interrupt). (don't compile siimage inside the kernel, it would not boot) > > Your messages seem to be conflicting. Does this work or not or just > enough to see messages? I am dealing with the same exact thing for the > 3512 chipset. > > Aron Hi, there are 2 drivers in the kernel for SATA drives. first one is the IDE way in drivers/ide/pci/siimage.c (sata drives appears as hde,hdf etc ). the second drive is in libata in drivers/scsi/sata_sil.c (sata drives appears as sda,sdb etc ...) (the one I use daily) the attached patch makes _both_ drivers work (whereas the previous one made only the libata one working) I have not yet tested if the 4 sata ports works. I think I need to change the "channels" setting to have support for all ports (at least 2 ports work for me). I will try that later. Cheers, Mik -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/1hpiyOYzc4nQ8j0RAjGTAJsETf+ARzNoIEuHbrakP/6p/jb+hwCgifj0 f9SZw9X2/1i6sYTx72MpEcE= =doIM -----END PGP SIGNATURE----- [-- Attachment #2: sil3114.patch --] [-- Type: text/x-diff, Size: 3957 bytes --] diff -u -r linux-2.6.0-test11.orig/drivers/ide/pci/siimage.c linux-2.6.0-test11/drivers/ide/pci/siimage.c --- linux-2.6.0-test11.orig/drivers/ide/pci/siimage.c 2003-11-26 21:43:35.000000000 +0100 +++ linux-2.6.0-test11/drivers/ide/pci/siimage.c 2003-12-06 13:56:30.000000000 +0100 @@ -55,6 +55,7 @@ switch(pdev->device) { case PCI_DEVICE_ID_SII_3112: + case PCI_DEVICE_ID_SII_3114: case PCI_DEVICE_ID_SII_1210SA: return 1; case PCI_DEVICE_ID_SII_680: @@ -1178,7 +1179,8 @@ static struct pci_device_id siimage_pci_tbl[] = { { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, - { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_1210SA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, + { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, + { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_1210SA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3}, { 0, }, }; diff -u -r linux-2.6.0-test11.orig/drivers/ide/pci/siimage.h linux-2.6.0-test11/drivers/ide/pci/siimage.h --- linux-2.6.0-test11.orig/drivers/ide/pci/siimage.h 2003-11-26 21:44:17.000000000 +0100 +++ linux-2.6.0-test11/drivers/ide/pci/siimage.h 2003-12-05 16:46:50.000000000 +0100 @@ -13,7 +13,7 @@ #undef SIIMAGE_BUFFERED_TASKFILE #undef SIIMAGE_LARGE_DMA -#define SII_DEBUG 0 +#define SII_DEBUG 1 #if SII_DEBUG #define siiprintk(x...) printk(x) @@ -72,6 +72,18 @@ .extra = 0, },{ /* 2 */ .vendor = PCI_VENDOR_ID_CMD, + .device = PCI_DEVICE_ID_SII_3114, + .name = "SiI3114 Serial ATA", + .init_chipset = init_chipset_siimage, + .init_iops = init_iops_siimage, + .init_hwif = init_hwif_siimage, + .channels = 2, + .autodma = AUTODMA, + .enablebits = {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, + .bootable = ON_BOARD, + .extra = 0, + },{ /* 3 */ + .vendor = PCI_VENDOR_ID_CMD, .device = PCI_DEVICE_ID_SII_1210SA, .name = "Adaptec AAR-1210SA", .init_chipset = init_chipset_siimage, diff -u -r linux-2.6.0-test11.orig/drivers/scsi/Kconfig linux-2.6.0-test11/drivers/scsi/Kconfig --- linux-2.6.0-test11.orig/drivers/scsi/Kconfig 2003-11-26 21:45:32.000000000 +0100 +++ linux-2.6.0-test11/drivers/scsi/Kconfig 2003-12-05 16:54:20.000000000 +0100 @@ -441,7 +441,7 @@ config SCSI_SATA_SIL tristate "Silicon Image SATA support" - depends on SCSI_SATA && PCI && BROKEN + depends on SCSI_SATA && PCI help This option enables support for Silicon Image Serial ATA. diff -u -r linux-2.6.0-test11.orig/drivers/scsi/sata_sil.c linux-2.6.0-test11/drivers/scsi/sata_sil.c --- linux-2.6.0-test11.orig/drivers/scsi/sata_sil.c 2003-11-26 21:42:46.000000000 +0100 +++ linux-2.6.0-test11/drivers/scsi/sata_sil.c 2003-12-05 16:50:32.000000000 +0100 @@ -39,6 +39,7 @@ enum { sil_3112 = 0, + sil_3114 = 1, SIL_IDE0_TF = 0x80, SIL_IDE0_CTL = 0x8A, @@ -62,6 +63,7 @@ static struct pci_device_id sil_pci_tbl[] = { { 0x1095, 0x3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112 }, + { 0x1095, 0x3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3114 }, { } /* terminate list */ }; @@ -119,6 +121,14 @@ .pio_mask = 0x03, /* pio3-4 */ .udma_mask = 0x7f, /* udma0-6; FIXME */ .port_ops = &sil_ops, + }, /* sil_3114 */ + { + .sht = &sil_sht, + .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | + ATA_FLAG_SRST | ATA_FLAG_MMIO, + .pio_mask = 0x03, /* pio3-4 */ + .udma_mask = 0x7f, /* udma0-6; FIXME */ + .port_ops = &sil_ops, }, }; diff -u -r linux-2.6.0-test11.orig/include/linux/pci_ids.h linux-2.6.0-test11/include/linux/pci_ids.h --- linux-2.6.0-test11.orig/include/linux/pci_ids.h 2003-11-26 21:43:39.000000000 +0100 +++ linux-2.6.0-test11/include/linux/pci_ids.h 2003-12-06 13:59:45.000000000 +0100 @@ -882,6 +882,7 @@ #define PCI_DEVICE_ID_SII_680 0x0680 #define PCI_DEVICE_ID_SII_3112 0x3112 +#define PCI_DEVICE_ID_SII_3114 0x3114 #define PCI_DEVICE_ID_SII_1210SA 0x0240 #define PCI_VENDOR_ID_VISION 0x1098 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH] Silicon image 3114 SATA link (really basic support) 2003-12-09 18:54 ` Mickael Marchand @ 2003-12-09 20:14 ` Bartlomiej Zolnierkiewicz 2003-12-12 0:07 ` Mickael Marchand 0 siblings, 1 reply; 37+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2003-12-09 20:14 UTC (permalink / raw) To: Mickael Marchand; +Cc: Aron Rubin, linux-ide, linux-kernel On Tuesday 09 of December 2003 19:54, Mickael Marchand wrote: > the attached patch makes _both_ drivers work (whereas the previous one made > only the libata one working) Great! Now I know it is really working. I've already corrected your previous patch and included it in -bart1 patch: http://www.kernel.org/pub/linux/kernel/people/bart/2.6.0-test11-bart1/broken-out/ide-siimage-sil3114.patch Yes, I forgot to send you corrected patch, sorry. :-) --bart ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH] Silicon image 3114 SATA link (really basic support) 2003-12-09 20:14 ` Bartlomiej Zolnierkiewicz @ 2003-12-12 0:07 ` Mickael Marchand 0 siblings, 0 replies; 37+ messages in thread From: Mickael Marchand @ 2003-12-12 0:07 UTC (permalink / raw) To: linux-ide, linux-kernel -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, if anyone is able to tell me how to find the io address of the SATA ports I could make this patch support the 4 drives of Sil3114 (only the 2 first are working atm). As I really don't know how to find this, I prefer ask to the kernel experts ;) Once I have this info, making the patch is a matter of a few minutes I think I tried looking at lspci/scanpci outputs but could not really find any usefull informations recording io ports. Cheers, Mik Le Tuesday 09 December 2003 21:14, Bartlomiej Zolnierkiewicz a écrit : > On Tuesday 09 of December 2003 19:54, Mickael Marchand wrote: > > the attached patch makes _both_ drivers work (whereas the previous one > > made only the libata one working) > > Great! Now I know it is really working. > > I've already corrected your previous patch and included it in -bart1 patch: > http://www.kernel.org/pub/linux/kernel/people/bart/2.6.0-test11-bart1/broke >n-out/ide-siimage-sil3114.patch > > Yes, I forgot to send you corrected patch, sorry. :-) > > --bart -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/2QbVyOYzc4nQ8j0RAhO/AJ9bm0gJ7uwGlKquhXaIYm1GMRBVWQCdGPwn wbQskwDqvS7PI54zTefPquM= =p1UV -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-05 17:47 ` Jeff Garzik 2003-12-05 18:07 ` [PATCH] Silicon image 3114 SATA link (really basic support) Mickael Marchand @ 2003-12-05 18:16 ` Kevin P. Fleming 2003-12-05 18:29 ` Jeff Garzik 1 sibling, 1 reply; 37+ messages in thread From: Kevin P. Fleming @ 2003-12-05 18:16 UTC (permalink / raw) To: LKML Jeff Garzik wrote: > Yes, a tested patch would be great, thanks! > (hijacking this subthread, sorry) Jeff, you mentioned in the status report "don't remove an operating disk from an ICH5, hotplug is not supported". Does this mean hardware damage, or just serious libata/ICH5 confusion? I've got a six-disk server here with two disks on an ICH5 and four on an SATA150 TX4, and I really would like to be able to hot-replace a disk in case of a failure. If the ICH5 cannort support this, I'm going to have to get a 3ware card. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-05 18:16 ` Serial ATA (SATA) for Linux status report Kevin P. Fleming @ 2003-12-05 18:29 ` Jeff Garzik 0 siblings, 0 replies; 37+ messages in thread From: Jeff Garzik @ 2003-12-05 18:29 UTC (permalink / raw) To: Kevin P. Fleming; +Cc: LKML Kevin P. Fleming wrote: > Jeff Garzik wrote: > >> Yes, a tested patch would be great, thanks! >> > > (hijacking this subthread, sorry) > > Jeff, you mentioned in the status report "don't remove an operating disk > from an ICH5, hotplug is not supported". > > Does this mean hardware damage, or just serious libata/ICH5 confusion? > I've got a six-disk server here with two disks on an ICH5 and four on an > SATA150 TX4, and I really would like to be able to hot-replace a disk in > case of a failure. If the ICH5 cannort support this, I'm going to have > to get a 3ware card. _Probably_ no hardware damage, but I do not know for sure. I do not it will likely lockup, and data corruption is also a possibility. As I mentioned in another email, ICH5 hardware does not support hot removal. HOWEVER. If the OS driver is given sufficient notice, it can shut down the port, and the sysadmin may then unplug the SATA cable. As a tangent, your TX4 hardware fully supports hotplug, but libata does not yet support it. Jeff ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-03 20:44 Serial ATA (SATA) for Linux status report Jeff Garzik 2003-12-03 23:27 ` Andre Tomt 2003-12-04 8:17 ` Arnaud Launay @ 2003-12-09 9:39 ` Petr Sebor 2003-12-09 19:59 ` J. Ryan Earl ` (2 subsequent siblings) 5 siblings, 0 replies; 37+ messages in thread From: Petr Sebor @ 2003-12-09 9:39 UTC (permalink / raw) To: Jeff Garzik; +Cc: linux-kernel Just a little warning: I have got a situation where the kernel won't boot when probing for partition tables on SATA drives. I understand that this is probably not related to libsata in any way... but... here it goes: system is UP AMD Opteron 244/debian/sid gcc (GCC) 3.3.3 20031206 (prerelease) (Debian) binutils: Version: 2.14.90.0.7-3 kernel 2.6.0-test11 when compiling new kernel on a kernel optimized for Opteron on an opteron machine, the kernel wont boot... libata version 0.81 loaded. sata_via version 0.11 ata1: SATA max UDMA/133 cmd 0xC000 ctl 0xC402 bmdma 0xD000 irq 20 ata2: SATA max UDMA/133 cmd 0xC800 ctl 0xCC02 bmdma 0xD008 irq 20 ata1: dev 0 cfg 49:2f00 82:346b 83:7f21 84:4003 85:3469 86:3c01 87:4003 88:203f ata1: dev 0 ATA, max UDMA/100, 488397168 sectors (lba48) ata1: dev 0 configured for UDMA/100 scsi0 : sata_via ata2: dev 0 cfg 49:2f00 82:346b 83:7f21 84:4003 85:3469 86:3c01 87:4003 88:407f ata2: dev 0 ATA, max UDMA/133, 72303840 sectors (lba48) ata2: dev 0 configured for UDMA/133 scsi1 : sata_via Vendor: ATA Model: WDC WD2500JD-00F Rev: 0.81 Type: Direct-Access ANSI SCSI revision: 05 Vendor: ATA Model: WDC WD360GD-00FN Rev: 0.81 Type: Direct-Access ANSI SCSI revision: 05 SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB) SCSI device sda: drive cache: write through sda: sda1 ^^^ hangs right here with DMA timeout when compiling new kernel on a kernel optimized for Athlon on an opteron machine, the kernel boots ok (same gcc, same binutils, same machine, just an athlon optimized kernel) ... the boot continues like this: SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB) SCSI device sda: drive cache: write through sda: sda1 sda2 Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sdb: 72303840 512-byte hdwr sectors (37020 MB) SCSI device sdb: drive cache: write through sdb: sdb1 Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0 Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0 Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0, type 0 mice: PS/2 mouse device common for all mice ... and so on Happened after I remotely restarted quite important server, had to get up really early to workaround this :-) [by compiling new opteron optimized kernel on an non opteron kernel... duh, could wood chuck chuck a wood if wood chuck chuck ....] I have no idea what might be wrong... Regards, Petr ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-03 20:44 Serial ATA (SATA) for Linux status report Jeff Garzik ` (2 preceding siblings ...) 2003-12-09 9:39 ` Petr Sebor @ 2003-12-09 19:59 ` J. Ryan Earl 2004-01-14 22:18 ` Greg Stark 2004-01-18 13:32 ` Witold Krecicki 5 siblings, 0 replies; 37+ messages in thread From: J. Ryan Earl @ 2003-12-09 19:59 UTC (permalink / raw) To: Jeff Garzik, linux-kernel, linux-ide, linux-scsi On Wednesday 03 December 2003 02:44 pm, Jeff Garzik wrote: > Queueing support > 3) "Native Command Queueing" -- both host and drive cooperate in the > queueing and execution of drive commands. This should provide the > highest performance and lowest latency of all three options. Has anyone gotten their hands on any Silicon Image 3124 hardware? It was announced 3 months ago and supports PCI-X plus it's designed to support whatever the final SATA 2.0 spec ends up being. Full NCQ support. http://www.siliconimage.com/products/sii3124.asp > Hotplug support > --------------- > All SATA is hotplug. > > libata does not support hotplug... yet. Hot-Plug seems like one of the most universally supported features. What will it take to get it working? And what will it take to get it working on 2.4? Is that a major feature we'll just have to wait for in libata? I personally need hot-swap on production servers. -ryan ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-03 20:44 Serial ATA (SATA) for Linux status report Jeff Garzik ` (3 preceding siblings ...) 2003-12-09 19:59 ` J. Ryan Earl @ 2004-01-14 22:18 ` Greg Stark 2004-01-14 22:56 ` Erik Andersen 2004-01-14 23:12 ` Erik Steffl 2004-01-18 13:32 ` Witold Krecicki 5 siblings, 2 replies; 37+ messages in thread From: Greg Stark @ 2004-01-14 22:18 UTC (permalink / raw) To: Jeff Garzik; +Cc: linux-kernel, linux-ide, linux-scsi Jeff Garzik <jgarzik@pobox.com> writes: > Intel ICH5 > > Issue #2: Excessive interrupts are seen in some configurations. I guess I'm seeing this problem. I'm trying to get my P4P800 motherboard with an ICH5 chipset working completely. So far I've been living without the cdrom or DVD players. I see lots of other posts on linux-kernel about the same problems: Whenever I try to access the cdrom my system becomes unusable. Due to high interrupts, typically over 150k/s. I thought libata would help, but I don't understand how to use the PATA drive and the cdrom drives while I'm using it. The situation is that I have two SATA drives, a PATA drive and two cdrom drives (actually one CD burner and one DVD drive). They are Primary Master: PATA Drive Secondary Master: CD Burner Secondary Slave: DVD-Rom SATA-1: SATA Drive SATA-2: SATA Drive I've tried 2.4.23pre4 (no libata), 2.6.1 (IDE drivers), and 2.6.1 (with scsi libata drivers) with the following results: 2.4.23pre4: as soon as the cdrom is touched I see bursts of 150k interrupts per second and the system becomes unresponsive momentarily every few seconds. 2.6.1 with regular IDE drivers: same as above except the system feels responsive except for disk i/o. I see printks of "Disabling interrupt #18" and all disk i/o freezes for a few seconds. 2.6.1 with scsi ata_piix driver: the SATA drives show up and work fine but the PATA drive and the cdroms doesn't show up at all. This is true even when I compile with the CONFIG_IDE, CONFIG_BLK_DEV_IDE, and CONFIG_BLK_DEV_IDECD enabled. -- greg ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2004-01-14 22:18 ` Greg Stark @ 2004-01-14 22:56 ` Erik Andersen 2004-01-14 23:31 ` James Courtier-Dutton 2004-01-14 23:32 ` Raphael Rigo 2004-01-14 23:12 ` Erik Steffl 1 sibling, 2 replies; 37+ messages in thread From: Erik Andersen @ 2004-01-14 22:56 UTC (permalink / raw) To: Greg Stark; +Cc: Jeff Garzik, linux-kernel, linux-ide, linux-scsi On Wed Jan 14, 2004 at 05:18:34PM -0500, Greg Stark wrote: > > Jeff Garzik <jgarzik@pobox.com> writes: > > > Intel ICH5 > > > > Issue #2: Excessive interrupts are seen in some configurations. > > I guess I'm seeing this problem. I'm trying to get my P4P800 motherboard with > an ICH5 chipset working completely. So far I've been living without the cdrom > or DVD players. I see lots of other posts on linux-kernel about the same > problems: I have the same deal. My offer to send Jeff a P4P800 motherboard to test with is still open.... -Erik -- Erik B. Andersen http://codepoet-consulting.com/ --This message was written using 73% post-consumer electrons-- ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2004-01-14 22:56 ` Erik Andersen @ 2004-01-14 23:31 ` James Courtier-Dutton 2004-01-15 0:41 ` Jeff Garzik 2004-01-14 23:32 ` Raphael Rigo 1 sibling, 1 reply; 37+ messages in thread From: James Courtier-Dutton @ 2004-01-14 23:31 UTC (permalink / raw) To: andersen; +Cc: Greg Stark, Jeff Garzik, linux-kernel, linux-ide, linux-scsi Erik Andersen wrote: > On Wed Jan 14, 2004 at 05:18:34PM -0500, Greg Stark wrote: > >>Jeff Garzik <jgarzik@pobox.com> writes: >> >> >>>Intel ICH5 >>> >>>Issue #2: Excessive interrupts are seen in some configurations. >> >>I guess I'm seeing this problem. I'm trying to get my P4P800 motherboard with >>an ICH5 chipset working completely. So far I've been living without the cdrom >>or DVD players. I see lots of other posts on linux-kernel about the same >>problems: > > > I have the same deal. My offer to send Jeff a P4P800 motherboard > to test with is still open.... > > -Erik > > -- > Erik B. Andersen http://codepoet-consulting.com/ I have a ABIT IC7-G motherboard with the ICH5 chipset. No reported problems with it. I would be happy to do some tests, just in case I have not actually noticed the problems. hda=DVD-ROM hdb=DVD writer hdc=SATA Seagate Hard Disc 160 Gig. hdd=Empty. I do sometimes have problems during BIOS startup, with it not detecting the SATA hard disc, but pressing the reset button a few times fixes that. Jan 14 01:01:17 new kernel: Uniform Multi-Platform E-IDE driver revision: 7.00alpha2 Jan 14 01:01:17 new kernel: ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx Jan 14 01:01:17 new kernel: ICH5-SATA: IDE controller at PCI slot 0000:00:1f.2 Jan 14 01:01:17 new kernel: ICH5-SATA: chipset revision 2 Jan 14 01:01:17 new kernel: ICH5-SATA: not 100%% native mode: will probe irqs later Jan 14 01:01:17 new kernel: ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA Jan 14 01:01:17 new kernel: ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:pio Jan 14 01:01:17 new kernel: hda: ATAPI DVD-ROM 16XMax, ATAPI CD/DVD-ROM drive Jan 14 01:01:17 new kernel: hdb: OPTORITEDVD RW DD0203, ATAPI CD/DVD-ROM drive Jan 14 01:01:17 new kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Jan 14 01:01:17 new kernel: hdc: ST3160023AS, ATA DISK drive Jan 14 01:01:17 new kernel: ide1 at 0x170-0x177,0x376 on irq 15 Jan 14 01:01:17 new kernel: hdc: max request size: 1024KiB Jan 14 01:01:17 new kernel: hdc: 312581808 sectors (160041 MB) w/8192KiB Cache, CHS=19457/255/63, UDMA(33) Jan 14 01:01:17 new kernel: /dev/ide/host0/bus1/target0/lun0: p1 p2 < p5 p6 p7 > ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2004-01-14 23:31 ` James Courtier-Dutton @ 2004-01-15 0:41 ` Jeff Garzik 2004-01-15 2:38 ` Erik Andersen 2004-01-18 12:34 ` Martin Schlemmer 0 siblings, 2 replies; 37+ messages in thread From: Jeff Garzik @ 2004-01-15 0:41 UTC (permalink / raw) To: James Courtier-Dutton Cc: andersen, Greg Stark, linux-kernel, linux-ide, linux-scsi, mplayer [-- Attachment #1: Type: text/plain, Size: 407 bytes --] I'm pretty sure the "excessive interrupts" issue was successfully tracked down by Jon Burgess (thanks!). He found this post describing an ICH5 hardware issue, http://www.mail-archive.com/freebsd-stable@freebsd.org/msg58421.html and he also submitted the attached patch. I've been meaning to rewrite his patch to isolate it more to ata_piix, but in the meantime maybe folks could test this? Jeff [-- Attachment #2: libata-spurious2.diff --] [-- Type: text/plain, Size: 1322 bytes --] --- libata-core.c-orig 2003-12-07 01:54:19.000000000 +0000 +++ libata-core.c 2003-12-07 16:25:11.961806872 +0000 @@ -2386,6 +2386,37 @@ } /** + * ata_chk_spurious_int - Check for spurious interrupts + * @ap: port to which command is being issued + * + * Examines the DMA status registers and clears + * unexpected interrupts + * + * LOCKING: + */ +static inline void ata_chk_spurious_int(struct ata_port *ap) { + int host_stat; + + if (ap->flags & ATA_FLAG_MMIO) { + void *mmio = (void *) ap->ioaddr.bmdma_addr; + host_stat = readb(mmio + ATA_DMA_STATUS); + } else + host_stat = inb(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS); + + if ((host_stat & (ATA_DMA_INTR | ATA_DMA_ERR | ATA_DMA_ACTIVE)) == ATA_DMA_INTR) { + if (ap->flags & ATA_FLAG_MMIO) { + void *mmio = (void *) ap->ioaddr.bmdma_addr; + writeb(host_stat & ~ATA_DMA_ERR, mmio + ATA_DMA_STATUS); + } else + outb(host_stat & ~ATA_DMA_ERR, ap->ioaddr.bmdma_addr + ATA_DMA_STATUS); + + DPRINTK("ata%u: Caught spurious interrupt, status 0x%X\n", ap->id, host_stat); + udelay(1); + } +} + + +/** * ata_interrupt - * @irq: * @dev_instance: @@ -2417,6 +2448,7 @@ qc = ata_qc_from_tag(ap, ap->active_tag); if (qc && ((qc->flags & ATA_QCFLAG_POLL) == 0)) handled += ata_host_intr(ap, qc); + ata_chk_spurious_int(ap); } } ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2004-01-15 0:41 ` Jeff Garzik @ 2004-01-15 2:38 ` Erik Andersen 2004-01-18 12:34 ` Martin Schlemmer 1 sibling, 0 replies; 37+ messages in thread From: Erik Andersen @ 2004-01-15 2:38 UTC (permalink / raw) To: Jeff Garzik Cc: James Courtier-Dutton, Greg Stark, linux-kernel, linux-ide, linux-scsi, mplayer On Wed Jan 14, 2004 at 07:41:56PM -0500, Jeff Garzik wrote: > > I'm pretty sure the "excessive interrupts" issue was successfully > tracked down by Jon Burgess (thanks!). He found this post describing an > ICH5 hardware issue, > http://www.mail-archive.com/freebsd-stable@freebsd.org/msg58421.html > > and he also submitted the attached patch. > > I've been meaning to rewrite his patch to isolate it more to ata_piix, > but in the meantime maybe folks could test this? Tried it on top of 2.4.25-pre4-libata1. I set the BIOS on my Asus P4P800 to Enhanced mode, and the kernel locked solid during boot while trying to clean /tmp.... Setting the BIOS back to Compatible mode allows my system to boot. -Erik -- Erik B. Andersen http://codepoet-consulting.com/ --This message was written using 73% post-consumer electrons-- ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2004-01-15 0:41 ` Jeff Garzik 2004-01-15 2:38 ` Erik Andersen @ 2004-01-18 12:34 ` Martin Schlemmer 1 sibling, 0 replies; 37+ messages in thread From: Martin Schlemmer @ 2004-01-18 12:34 UTC (permalink / raw) To: Jeff Garzik Cc: James Courtier-Dutton, andersen, Greg Stark, Linux Kernel Mailing Lists, linux-ide, linux-scsi, mplayer [-- Attachment #1: Type: text/plain, Size: 2063 bytes --] On Thu, 2004-01-15 at 02:41, Jeff Garzik wrote: > I'm pretty sure the "excessive interrupts" issue was successfully > tracked down by Jon Burgess (thanks!). He found this post describing an > ICH5 hardware issue, > http://www.mail-archive.com/freebsd-stable@freebsd.org/msg58421.html > > and he also submitted the attached patch. > > I've been meaning to rewrite his patch to isolate it more to ata_piix, > but in the meantime maybe folks could test this? > I have an Asus P4C800-E Deluxe, with two drivers on the ICH5 sata controllers. It is a 3Ghz cpu using HT. I use the normal PIIX ide drivers for the pata channels, and libata for the sata ones. I also use the vector based interrupts. Kernel is 2.6.1-bk4. Anyhow, I do not think the interrupt count is _that_ high, as it shares with usb and network and I cannot complain of problems with cdrom, etc, but I decided to try the patch anyhow. It have some interesting results though. First, network stops responding after a few minutes of uptime (especially easy to reproduce if you have heavy network traffic), then for some reason you cannot start a new program/login/etc, but those running seems Ok, and lastly X becomes totally unresponsive (although alt-sysrq-b still do work). -- # cat /proc/interrupts CPU0 CPU1 0: 29703539 29690292 IO-APIC-edge timer 2: 0 0 XT-PIC cascade 8: 2 0 IO-APIC-edge rtc 9: 0 0 IO-APIC-level acpi 14: 564 210 IO-APIC-edge ide0 15: 1 0 IO-APIC-edge ide1 169: 1049180 1055746 IO-APIC-level libata, uhci_hcd, eth0 177: 39519 37904 IO-APIC-level Intel ICH5 185: 2521873 2494269 IO-APIC-level uhci_hcd, uhci_hcd, nvidia 193: 0 0 IO-APIC-level uhci_hcd 201: 0 0 IO-APIC-level ehci_hcd NMI: 0 0 LOC: 59387583 59387287 ERR: 0 MIS: 0 -- -- Martin Schlemmer [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2004-01-14 22:56 ` Erik Andersen 2004-01-14 23:31 ` James Courtier-Dutton @ 2004-01-14 23:32 ` Raphael Rigo 2004-01-15 0:08 ` Erik Steffl 1 sibling, 1 reply; 37+ messages in thread From: Raphael Rigo @ 2004-01-14 23:32 UTC (permalink / raw) To: gsstark; +Cc: linux-kernel Erik Andersen wrote: > On Wed Jan 14, 2004 at 05:18:34PM -0500, Greg Stark wrote: > >>Jeff Garzik <jgarzik@pobox.com> writes: >> >> >>>Intel ICH5 >>> >>>Issue #2: Excessive interrupts are seen in some configurations. >> >>I guess I'm seeing this problem. I'm trying to get my P4P800 motherboard with >>an ICH5 chipset working completely. So far I've been living without the cdrom >>or DVD players. I see lots of other posts on linux-kernel about the same >>problems: > > > I have the same deal. My offer to send Jeff a P4P800 motherboard > to test with is still open.... > > -Erik > > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- > Erik B. Andersen http://codepoet-consulting.com/ > --This message was written using 73% post-consumer electrons-- > - One possible workaround it to enable both PATA and SATA drivers (using libata) and pass "ide2=noprobe ide3=noprobe" to kernel at boot. More detailled answer can be found here : http://www.hentges.net/howtos/p4p800_deluxe.html Regards, Raphaël. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2004-01-14 23:32 ` Raphael Rigo @ 2004-01-15 0:08 ` Erik Steffl 2004-01-15 2:39 ` Matthias Hentges 0 siblings, 1 reply; 37+ messages in thread From: Erik Steffl @ 2004-01-15 0:08 UTC (permalink / raw) To: linux-kernel Raphael Rigo wrote: ...<ICH5problems snipped>... > One possible workaround it to enable both PATA and SATA drivers (using > libata) and pass "ide2=noprobe ide3=noprobe" to kernel at boot. > More detailled answer can be found here : > http://www.hentges.net/howtos/p4p800_deluxe.html I have pretty much the same setup he recommends in UPDATE except of the "ide2=noprobe ide3=noprobe" kernel boot options, not sure why would that be needed but my system (interl D865PERL, cd burner, ide and sata disks) works OK without it. erik ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2004-01-15 0:08 ` Erik Steffl @ 2004-01-15 2:39 ` Matthias Hentges 2004-01-15 21:08 ` Greg Stark 0 siblings, 1 reply; 37+ messages in thread From: Matthias Hentges @ 2004-01-15 2:39 UTC (permalink / raw) To: Linux Kernel Hello all, Am Don, 2004-01-15 um 01.08 schrieb Erik Steffl: > Raphael Rigo wrote: > ...<ICH5problems snipped>... > > One possible workaround it to enable both PATA and SATA drivers (using > > libata) and pass "ide2=noprobe ide3=noprobe" to kernel at boot. > > More detailled answer can be found here : > > http://www.hentges.net/howtos/p4p800_deluxe.html > > I have pretty much the same setup he recommends in UPDATE except of > the "ide2=noprobe ide3=noprobe" kernel boot options, not sure why would > that be needed but my system (interl D865PERL, cd burner, ide and sata > disks) works OK without it. The "Update" section describes the setup which - after *weeks* of frustrating trail-and-error - managed to get things going. Notice the unusual BIOS setting (Enhanced Mode - SATA only) which did the trick and enabled PATA *and* SATA. You may want to try that if you haven't already. The ideN=noprobe my indeed not be necessary . It was recommended by Jeff Garzik to me at some time IIRC. Kernel 2.6 does *not* need the noprobe stuff AFAICT. FWIW my P4P800 Deluxe is working flawlessly with 4 P-ATA devices (2 HDs, a ZIP100 and a 48x Burner) and one SATA 160Gb HD. I'm using 2.4.22-bk36 with matching libata patch so i'd think that any kernel 2.4.23+ will do the trick. HTH and GL -- Matthias Hentges Cologne / Germany [www.hentges.net] -> PGP welcome, HTML tolerated ICQ: 97 26 97 4 -> No files, no URL's My OS: Debian Woody. Geek by Nature, Linux by Choice ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2004-01-15 2:39 ` Matthias Hentges @ 2004-01-15 21:08 ` Greg Stark 0 siblings, 0 replies; 37+ messages in thread From: Greg Stark @ 2004-01-15 21:08 UTC (permalink / raw) To: Matthias Hentges; +Cc: Linux Kernel Matthias Hentges <mailinglisten@hentges.net> writes: > Notice the unusual BIOS setting (Enhanced Mode - SATA only) which did > the trick and enabled PATA *and* SATA. > You may want to try that if you haven't already. Thank you! That was the key thing I was missing. With this setting the PATA drives show up on /dev/hd{a,b,c,d} and the SATA drives show up on /dev/sd{a,b} (using ata_piix). And everything seems to work pretty well in 2.6.1. I've only tried the PATA hard drive and reading from cdrom. I haven't tried burning cds or playing a dvd yet. -- greg ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2004-01-14 22:18 ` Greg Stark 2004-01-14 22:56 ` Erik Andersen @ 2004-01-14 23:12 ` Erik Steffl 1 sibling, 0 replies; 37+ messages in thread From: Erik Steffl @ 2004-01-14 23:12 UTC (permalink / raw) To: Greg Stark; +Cc: Jeff Garzik, linux-kernel, linux-ide, linux-scsi Greg Stark wrote: > Jeff Garzik <jgarzik@pobox.com> writes: > > >>Intel ICH5 >> >>Issue #2: Excessive interrupts are seen in some configurations. > > > I guess I'm seeing this problem. I'm trying to get my P4P800 motherboard with > an ICH5 chipset working completely. So far I've been living without the cdrom > or DVD players. I see lots of other posts on linux-kernel about the same > problems: > > Whenever I try to access the cdrom my system becomes unusable. Due to high > interrupts, typically over 150k/s. I thought libata would help, but I don't > understand how to use the PATA drive and the cdrom drives while I'm using it. > > The situation is that I have two SATA drives, a PATA drive and two cdrom > drives (actually one CD burner and one DVD drive). They are > > Primary Master: PATA Drive > Secondary Master: CD Burner > Secondary Slave: DVD-Rom > SATA-1: SATA Drive > SATA-2: SATA Drive > > I've tried 2.4.23pre4 (no libata), 2.6.1 (IDE drivers), and 2.6.1 (with scsi > libata drivers) with the following results: > > 2.4.23pre4: as soon as the cdrom is touched I see bursts of 150k interrupts > per second and the system becomes unresponsive momentarily every few > seconds. > > 2.6.1 with regular IDE drivers: same as above except the system feels > responsive except for disk i/o. I see printks of "Disabling interrupt #18" > and all disk i/o freezes for a few seconds. > > 2.6.1 with scsi ata_piix driver: the SATA drives show up and work fine but the > PATA drive and the cdroms doesn't show up at all. This is true even when I > compile with the CONFIG_IDE, CONFIG_BLK_DEV_IDE, and CONFIG_BLK_DEV_IDECD > enabled. I have intel D865PERL, three IDE HDs, one CD burner, one SATA disk, using scsi ata, kernel 2.4.21-ac4 with libata5 patches (libata patches needed beacause SATA driver is over 133GB), seems to be working fine, I am not using CD burner very often but I didn't see any instability when I used it (read or burn CDs). When I use cdparanoia to rip audio CDs the system is quite slow but that was always the case (even with different MB, no SATA, different kernels etc.) Using SATA disk as IDE disk caused the system to freeze during boot (right after the HDs were detected) erik ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2003-12-03 20:44 Serial ATA (SATA) for Linux status report Jeff Garzik ` (4 preceding siblings ...) 2004-01-14 22:18 ` Greg Stark @ 2004-01-18 13:32 ` Witold Krecicki 2004-01-18 18:00 ` Jeff Garzik 5 siblings, 1 reply; 37+ messages in thread From: Witold Krecicki @ 2004-01-18 13:32 UTC (permalink / raw) To: linux-kernel, linux-ide, linux-scsi Dnia Wednesday 03 of December 2003 21:44, Jeff Garzik napisał: > Editor's preface: This is clearly a first draft, only covering the > basics. In order for this document to be effective, I request that > users and developers send me (or post) their SATA driver questions and > issues. I will do my best to address them here. > > > Serial ATA (SATA) for Linux > status report > Dec 3, 2003 What about SMART capabilities? with sii3112 I had it, but with libata I cannot get any informations :/ -- Witold Kręcicki (adasi) adasi [at] culm.net GPG key: 7AE20871 http://www.culm.net ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2004-01-18 13:32 ` Witold Krecicki @ 2004-01-18 18:00 ` Jeff Garzik 2004-01-18 20:33 ` Craig Bradney 0 siblings, 1 reply; 37+ messages in thread From: Jeff Garzik @ 2004-01-18 18:00 UTC (permalink / raw) To: Witold Krecicki; +Cc: linux-kernel, linux-ide, linux-scsi Witold Krecicki wrote: > Dnia Wednesday 03 of December 2003 21:44, Jeff Garzik napisał: > >>Editor's preface: This is clearly a first draft, only covering the >>basics. In order for this document to be effective, I request that >>users and developers send me (or post) their SATA driver questions and >>issues. I will do my best to address them here. >> >> >>Serial ATA (SATA) for Linux >>status report >>Dec 3, 2003 > > What about SMART capabilities? with sii3112 I had it, but with libata I cannot > get any informations :/ Currently do not support random userland programs throwing random ATA commands at us... so no SMART support at present :) It's coming, though. Jeff ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report 2004-01-18 18:00 ` Jeff Garzik @ 2004-01-18 20:33 ` Craig Bradney 0 siblings, 0 replies; 37+ messages in thread From: Craig Bradney @ 2004-01-18 20:33 UTC (permalink / raw) To: Jeff Garzik; +Cc: Witold Krecicki, linux-kernel, linux-ide, linux-scsi [-- Attachment #1: Type: text/plain, Size: 1163 bytes --] On Sun, 2004-01-18 at 19:00, Jeff Garzik wrote: > Witold Krecicki wrote: > > Dnia Wednesday 03 of December 2003 21:44, Jeff Garzik napisał: > > > >>Editor's preface: This is clearly a first draft, only covering the > >>basics. In order for this document to be effective, I request that > >>users and developers send me (or post) their SATA driver questions and > >>issues. I will do my best to address them here. > >> > >> > >>Serial ATA (SATA) for Linux > >>status report > >>Dec 3, 2003 > > > > What about SMART capabilities? with sii3112 I had it, but with libata I cannot > > get any informations :/ > > > Currently do not support random userland programs throwing random ATA > commands at us... so no SMART support at present :) It's coming, though. On the note of SATA interfaced drives, is there a way to power them down? I have recently attached my spare PATA drive with a converter and use it just for backups (mount, rsync, umount). I have these configured through SCSI (/dev/sda) with the 3112 2.6.1 support. hdparm comlains the drive is SCSI... is there a similar command to power it down? thanks Craig [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: Serial ATA (SATA) for Linux status report @ 2003-12-04 18:03 Jon Burgess 0 siblings, 0 replies; 37+ messages in thread From: Jon Burgess @ 2003-12-04 18:03 UTC (permalink / raw) To: linux kernel, jgarzik **Jeff Garzik wrote: > Intel ICH5 ... > drivers/ide driver status: Production, but see issue #1, #2. ... > Issue #2: Excessive interrupts are seen in some configurations. I can reproduce this easily in my current setup. It looks like the chipset is generating some unexpected IRQ's when after performing the hdparm drive setting ioctl()'s. More details are below, let me know if you need any more. Hardware: Gigabyte 8IG1000Pro (Intel ICH5) 2 x Parallel IDE drives on PATA IDE primary 2 x DVD drives on PATA IDE secondary 1 x Seagate 80GB SATA drive on SATA0 Software: Linux-2.6.0-test10, using drivers/ide driver The Root fileystem is currently on one of the parallel IDE drives, and the SATA doesn't get used much (yet). The PC boots and vmstat shows everything is OK. Running an hdparm command on the drive causes an IRQ storm, reported by vmstat at ~ 100k IRQ/s. I think that "hdaprm -S 128 /dev/hde" will trigger it, but I can't remember for certain. Performing another access to the drive, e.g. umount /dev/hde, clears the problem. It is 100% repeatable, i.e. doing the hdparm makes it happen again, then mounting the drive will clear it. I put some extra debug in the ide_intr routine and found that there was a storm of interrupts around when the partition table was being read (the "drive_check_ready()" check was failing continuously for a while). Afterwards there were times when lots of IRQs happened when "handler" was NULL. It looks like the chipset might be generating some extra IRQ's which the existing code isn't expecting. Doing another access on the drive looks like it is enough to clear whatever interrupt is pending. Jon ^ permalink raw reply [flat|nested] 37+ messages in thread
* Serial ATA (SATA) for Linux status report @ 2004-08-24 19:49 Jeff Garzik 0 siblings, 0 replies; 37+ messages in thread From: Jeff Garzik @ 2004-08-24 19:49 UTC (permalink / raw) To: linux-ide; +Cc: Linux Kernel A new SATA status report is available. Updated today, newly converted to HTML, and permanently archived at http://linux.yyz.us/sata/sata-status.html ^ permalink raw reply [flat|nested] 37+ messages in thread
end of thread, other threads:[~2004-08-24 19:50 UTC | newest] Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2003-12-03 20:44 Serial ATA (SATA) for Linux status report Jeff Garzik 2003-12-03 23:27 ` Andre Tomt 2003-12-03 23:36 ` Jeff Garzik 2003-12-04 0:21 ` Miquel van Smoorenburg 2003-12-04 0:59 ` Samuel Flory 2003-12-04 1:02 ` Andre Tomt 2003-12-04 13:38 ` Justin Cormack 2003-12-04 14:54 ` Jeff Garzik 2003-12-04 8:17 ` Arnaud Launay 2003-12-04 15:01 ` Jeff Garzik 2003-12-05 17:42 ` Mickael Marchand 2003-12-05 17:47 ` Jeff Garzik 2003-12-05 18:07 ` [PATCH] Silicon image 3114 SATA link (really basic support) Mickael Marchand 2003-12-09 18:22 ` Aron Rubin 2003-12-09 18:54 ` Mickael Marchand 2003-12-09 20:14 ` Bartlomiej Zolnierkiewicz 2003-12-12 0:07 ` Mickael Marchand 2003-12-05 18:16 ` Serial ATA (SATA) for Linux status report Kevin P. Fleming 2003-12-05 18:29 ` Jeff Garzik 2003-12-09 9:39 ` Petr Sebor 2003-12-09 19:59 ` J. Ryan Earl 2004-01-14 22:18 ` Greg Stark 2004-01-14 22:56 ` Erik Andersen 2004-01-14 23:31 ` James Courtier-Dutton 2004-01-15 0:41 ` Jeff Garzik 2004-01-15 2:38 ` Erik Andersen 2004-01-18 12:34 ` Martin Schlemmer 2004-01-14 23:32 ` Raphael Rigo 2004-01-15 0:08 ` Erik Steffl 2004-01-15 2:39 ` Matthias Hentges 2004-01-15 21:08 ` Greg Stark 2004-01-14 23:12 ` Erik Steffl 2004-01-18 13:32 ` Witold Krecicki 2004-01-18 18:00 ` Jeff Garzik 2004-01-18 20:33 ` Craig Bradney 2003-12-04 18:03 Jon Burgess 2004-08-24 19:49 Jeff Garzik
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).