* ICH10 not working with AHCI kernel option @ 2010-04-08 13:36 Dâniel Fraga 2010-04-08 13:45 ` Alan Cox 0 siblings, 1 reply; 23+ messages in thread From: Dâniel Fraga @ 2010-04-08 13:36 UTC (permalink / raw) To: linux-ide I'm using Linux 2.6.33 and MSI X58 Pro-E motherboard which have the following SATA controller: 00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller But if I use just the following kernel option: <*> AHCI SATA support it will not be able to mount the root device. So I have to use: [*] ATA SFF support <*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support What's wrong here? I mean, I would like to use just AHCI and get rid of this legacy SFF interface. Hints? Thanks. -- Linux 2.6.33: Man-Eating Seals of Antiquity ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-08 13:36 ICH10 not working with AHCI kernel option Dâniel Fraga @ 2010-04-08 13:45 ` Alan Cox 2010-04-08 13:46 ` Dâniel Fraga 0 siblings, 1 reply; 23+ messages in thread From: Alan Cox @ 2010-04-08 13:45 UTC (permalink / raw) To: Dâniel Fraga; +Cc: linux-ide > What's wrong here? I mean, I would like to use just AHCI and > get rid of this legacy SFF interface. > > Hints? Thanks. Hint - we are not telepathic, nor do we have a secret backlink into your machine and copies of all your boot logs. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-08 13:45 ` Alan Cox @ 2010-04-08 13:46 ` Dâniel Fraga 2010-04-08 13:59 ` Alan Cox 0 siblings, 1 reply; 23+ messages in thread From: Dâniel Fraga @ 2010-04-08 13:46 UTC (permalink / raw) To: Alan Cox; +Cc: linux-ide On Thu, 8 Apr 2010 14:45:25 +0100 Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: > Hint - we are not telepathic, nor do we have a secret backlink into your > machine and copies of all your boot logs. Yes, of course not Alan, but if you tell me what info you need, I'll be glad in providing it. I just thought it was a trivial issue. Regarding the boot log, it just says the usual: ode: VFS: Cannot open root device "802" ... But the important thing here is: should it work with just the AHCI kernel support? I tested it with 2 machines and it gave me the same behaviour. At first, my question was more theorical than practical. Thanks. Ps: if you tell me that it will never work with just the AHCI kernel option, then there's no problem here. -- ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-08 13:46 ` Dâniel Fraga @ 2010-04-08 13:59 ` Alan Cox 2010-04-08 14:02 ` Dâniel Fraga 0 siblings, 1 reply; 23+ messages in thread From: Alan Cox @ 2010-04-08 13:59 UTC (permalink / raw) To: Dâniel Fraga; +Cc: linux-ide > But the important thing here is: should it work with just the > AHCI kernel support? I tested it with 2 machines and it gave me the > same behaviour. If you have the device name right (and if you are not using labels remember it might change depending upon whether the pata port has disks or not), your controller is in AHCI mode in the BIOS and your disk is on the SATA cables then yes. And in those cases it should always use the AHCI driver for those devices even if the PIIX driver is also present Alan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-08 13:59 ` Alan Cox @ 2010-04-08 14:02 ` Dâniel Fraga 2010-04-08 14:09 ` Alan Cox 0 siblings, 1 reply; 23+ messages in thread From: Dâniel Fraga @ 2010-04-08 14:02 UTC (permalink / raw) To: Alan Cox, linux-ide On Thu, 8 Apr 2010 14:59:16 +0100 Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: > If you have the device name right (and if you are not using labels > remember it might change depending upon whether the pata port has disks > or not), your controller is in AHCI mode in the BIOS and your disk is on > the SATA cables then yes. > > And in those cases it should always use the AHCI driver for those devices > even if the PIIX driver is also present Ok Alan, thanks for the answer. So I'll have to dig more here to see where's the problem. The relevant part of the boot log is the following: ahci 0000:00:1f.2: version 3.0 ahci 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19 ahci 0000:00:1f.2: irq 29 for MSI/MSI-X ahci: SSS flag set, parallel bus scan disabled ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 6 ports 3 Gbps 0x3f impl SATA mode ahci 0000:00:1f.2: flags: 64bit ncq sntf stag pm led clo pio slum part ccc ems sxs ahci 0000:00:1f.2: setting latency timer to 64 scsi0 : ahci scsi1 : ahci scsi2 : ahci scsi3 : ahci scsi4 : ahci scsi5 : ahci ata1: SATA max UDMA/133 abar m2048@0xf5ff6000 port 0xf5ff6100 irq 29 ata2: SATA max UDMA/133 abar m2048@0xf5ff6000 port 0xf5ff6180 irq 29 ata3: SATA max UDMA/133 abar m2048@0xf5ff6000 port 0xf5ff6200 irq 29 ata4: SATA max UDMA/133 abar m2048@0xf5ff6000 port 0xf5ff6280 irq 29 ata5: SATA max UDMA/133 abar m2048@0xf5ff6000 port 0xf5ff6300 irq 29 ata6: SATA max UDMA/133 abar m2048@0xf5ff6000 port 0xf5ff6380 irq 29 PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1 PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp serio: i8042 KBD port at 0x60,0x64 irq 1 mice: PS/2 mouse device common for all mice cpuidle: using governor ladder cpuidle: using governor menu TCP cubic registered input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0 ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133 ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32) ata1.00: configured for UDMA/133 scsi 0:0:0:0: Direct-Access ATA ST31500341AS CC1H PQ: 0 ANSI: 5 sd 0:0:0:0: [sda] 2930277168 512-byte logical blocks: (1.50 TB/1.36 TiB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sda: sda1 sda2 sd 0:0:0:0: [sda] Attached SCSI disk ata2: SATA link down (SStatus 0 SControl 300) ata3: SATA link down (SStatus 0 SControl 300) ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300) ata4.00: ATAPI: HL-DT-ST BD-RE GGW-H20L, YL05, max UDMA/133 ata4.00: configured for UDMA/133 scsi 3:0:0:0: CD-ROM HL-DT-ST BD-RE GGW-H20L YL05 PQ: 0 ANSI: 5 ata5: SATA link down (SStatus 0 SControl 300) ata6: SATA link down (SStatus 0 SControl 300) *** It seems it's using the AHCI driver, but if I remove the PIIX driver, it simply won't mount the root device. At least for the logs it is using the ahci driver, correct? -- ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-08 14:02 ` Dâniel Fraga @ 2010-04-08 14:09 ` Alan Cox 2010-04-08 14:15 ` Dâniel Fraga 0 siblings, 1 reply; 23+ messages in thread From: Alan Cox @ 2010-04-08 14:09 UTC (permalink / raw) To: Dâniel Fraga; +Cc: linux-ide > It seems it's using the AHCI driver, but if I remove the PIIX driver, it simply won't > mount the root device. At least for the logs it is using the ahci driver, correct? Yes ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-08 14:09 ` Alan Cox @ 2010-04-08 14:15 ` Dâniel Fraga 2010-04-08 23:54 ` Robert Hancock 0 siblings, 1 reply; 23+ messages in thread From: Dâniel Fraga @ 2010-04-08 14:15 UTC (permalink / raw) To: Alan Cox; +Cc: linux-ide On Thu, 8 Apr 2010 15:09:20 +0100 Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: > Yes Ok, problem solved. You're right, the BIOS option was wrong. The problem is that it's called "RAID mode" and I found it not intuitive since I don't use RAID (so I didn't touch it). I changed it from IDE to AHCI and it worked. So just a quick and last question. I read here the following: http://forum-en.msi.com/index.php?topic=106575.120 "AHCI is a native SATA Mode. There is not necessarely a major performance difference between IDE/Legacy Mode and AHCI Mode". Of course this guy is talking about Windows, but can it be applied to Linux too? I mean, does AHCI offers no significant performance improvement over SFF/Legacy mode? Thanks. -- ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-08 14:15 ` Dâniel Fraga @ 2010-04-08 23:54 ` Robert Hancock 2010-04-09 2:00 ` Dâniel Fraga 2010-04-09 9:08 ` Alan Cox 0 siblings, 2 replies; 23+ messages in thread From: Robert Hancock @ 2010-04-08 23:54 UTC (permalink / raw) To: Dâniel Fraga; +Cc: Alan Cox, linux-ide On 04/08/2010 08:15 AM, Dâniel Fraga wrote: > On Thu, 8 Apr 2010 15:09:20 +0100 > Alan Cox<alan@lxorguk.ukuu.org.uk> wrote: > >> Yes > > Ok, problem solved. You're right, the BIOS option was wrong. > The problem is that it's called "RAID mode" and I found it not > intuitive since I don't use RAID (so I didn't touch it). I changed it > from IDE to AHCI and it worked. > > So just a quick and last question. I read here the following: > > http://forum-en.msi.com/index.php?topic=106575.120 > > "AHCI is a native SATA Mode. There is not necessarely a major > performance difference between IDE/Legacy Mode and AHCI Mode". > > Of course this guy is talking about Windows, but can it be > applied to Linux too? I mean, does AHCI offers no significant > performance improvement over SFF/Legacy mode? Depends on a lot of things, and what you mean by "significant". You don't get NCQ in legacy mode, and you also don't get 64-bit DMA support, which gets more significant the more RAM you have. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-08 23:54 ` Robert Hancock @ 2010-04-09 2:00 ` Dâniel Fraga 2010-04-09 2:09 ` Robert Hancock ` (2 more replies) 2010-04-09 9:08 ` Alan Cox 1 sibling, 3 replies; 23+ messages in thread From: Dâniel Fraga @ 2010-04-09 2:00 UTC (permalink / raw) To: Robert Hancock; +Cc: Alan Cox, linux-ide On Thu, 08 Apr 2010 17:54:14 -0600 Robert Hancock <hancockrwd@gmail.com> wrote: > Depends on a lot of things, and what you mean by "significant". You > don't get NCQ in legacy mode, and you also don't get 64-bit DMA support, > which gets more significant the more RAM you have. I understand Robert. Ok, by significant I mean "better" and "faster". So there's no NCQ in legacy mode? But you wrote that regarding just the ICH chipset or all chipsets? Because I remember when I used the forcedeth driver there was NCQ. Thank you very much. -- ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 2:00 ` Dâniel Fraga @ 2010-04-09 2:09 ` Robert Hancock 2010-04-09 2:22 ` Dâniel Fraga 2010-04-09 4:28 ` Jeff Garzik 2010-04-09 9:16 ` Alan Cox 2 siblings, 1 reply; 23+ messages in thread From: Robert Hancock @ 2010-04-09 2:09 UTC (permalink / raw) To: Dâniel Fraga; +Cc: Alan Cox, linux-ide On Thu, Apr 8, 2010 at 8:00 PM, Dâniel Fraga <fragabr@gmail.com> wrote: > On Thu, 08 Apr 2010 17:54:14 -0600 > Robert Hancock <hancockrwd@gmail.com> wrote: > >> Depends on a lot of things, and what you mean by "significant". You >> don't get NCQ in legacy mode, and you also don't get 64-bit DMA support, >> which gets more significant the more RAM you have. > > I understand Robert. Ok, by significant I mean "better" and > "faster". > > So there's no NCQ in legacy mode? But you wrote that > regarding just the ICH chipset or all chipsets? Because I remember when > I used the forcedeth driver there was NCQ. Think you meant sata_nv or something there, forcedeth is the network driver :-) In that case that's not really legacy mode though, it's some chipset-specific enhanced mode like SWNCQ or ADMA in the NVIDIA case, or the newer Silicon Image controllers which support the fancy features with an entirely different interface from AHCI. In the case of Intel controllers, though, IDE mode is basically the same as a PATA controller with no real SATA-specific features (NCQ, 64-bit DMA, hotplug, etc.) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 2:09 ` Robert Hancock @ 2010-04-09 2:22 ` Dâniel Fraga 2010-04-09 2:52 ` Robert Hancock 0 siblings, 1 reply; 23+ messages in thread From: Dâniel Fraga @ 2010-04-09 2:22 UTC (permalink / raw) To: Robert Hancock, Alan Cox, linux-ide On Thu, 8 Apr 2010 20:09:29 -0600 Robert Hancock <hancockrwd@gmail.com> wrote: > Think you meant sata_nv or something there, forcedeth is the network > driver :-) In that case that's not really legacy mode though, it's Oh yeah, sorry for my confusion ;) sata_nv. ;) > some chipset-specific enhanced mode like SWNCQ or ADMA in the NVIDIA > case, or the newer Silicon Image controllers which support the fancy > features with an entirely different interface from AHCI. In the case > of Intel controllers, though, IDE mode is basically the same as a PATA > controller with no real SATA-specific features (NCQ, 64-bit DMA, > hotplug, etc.) Very interesting and thanks again for the excellent explanation Robert! Ps: I imagine how many people are running their servers or desktop computers using the legacy PIIX driver, just because the BIOS setting is wrong (IDE instead of AHCI). In my case I just ignored the "RAID mode" option because I don't ever use RAID. Don't you think it would be nice to add a warning message when the kernel detects AHCI capable system like ICH10 and the kernel is misconfigured using the legacy PIIX driver? It could be something like that: "AHCI capable chipset: use ahci driver instead". Ps2: sorry sending 2 times (forget to send to the list) -- ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 2:22 ` Dâniel Fraga @ 2010-04-09 2:52 ` Robert Hancock 2010-04-09 3:16 ` Dâniel Fraga 2010-04-09 10:12 ` Tim Small 0 siblings, 2 replies; 23+ messages in thread From: Robert Hancock @ 2010-04-09 2:52 UTC (permalink / raw) To: Dâniel Fraga; +Cc: Alan Cox, linux-ide On Thu, Apr 8, 2010 at 8:22 PM, Dâniel Fraga <fragabr@gmail.com> wrote: > On Thu, 8 Apr 2010 20:09:29 -0600 > Robert Hancock <hancockrwd@gmail.com> wrote: > >> Think you meant sata_nv or something there, forcedeth is the network >> driver :-) In that case that's not really legacy mode though, it's > > Oh yeah, sorry for my confusion ;) sata_nv. ;) > >> some chipset-specific enhanced mode like SWNCQ or ADMA in the NVIDIA >> case, or the newer Silicon Image controllers which support the fancy >> features with an entirely different interface from AHCI. In the case >> of Intel controllers, though, IDE mode is basically the same as a PATA >> controller with no real SATA-specific features (NCQ, 64-bit DMA, >> hotplug, etc.) > > Very interesting and thanks again for the excellent explanation > Robert! > > Ps: I imagine how many people are running their servers or > desktop computers using the legacy PIIX driver, just because the BIOS > setting is wrong (IDE instead of AHCI). In my case I just ignored the > "RAID mode" option because I don't ever use RAID. > > Don't you think it would be nice to add a warning message > when the kernel detects AHCI capable system like ICH10 and the kernel > is misconfigured using the legacy PIIX driver? It could be > something like that: "AHCI capable chipset: use ahci driver instead". We can detect an AHCI-capable Intel chipsets (in most cases anyway), but problem is that a lot of systems with such chipsets, especially laptops, unfortunately have no way to actually put the controller into AHCI mode (no BIOS option for it). We could whine about it, but in a lot of cases there's not much that can be done about it.. Intel chipsets are pretty much the only ones that have the separate modes in the BIOS for AHCI - others like NVIDIA AHCI-compliant controllers support both legacy mode and AHCI in the same device, which is a lot more convenient in some ways.. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 2:52 ` Robert Hancock @ 2010-04-09 3:16 ` Dâniel Fraga 2010-04-09 10:12 ` Tim Small 1 sibling, 0 replies; 23+ messages in thread From: Dâniel Fraga @ 2010-04-09 3:16 UTC (permalink / raw) To: Robert Hancock, Alan Cox, linux-ide On Thu, 8 Apr 2010 20:52:34 -0600 Robert Hancock <hancockrwd@gmail.com> wrote: > We can detect an AHCI-capable Intel chipsets (in most cases anyway), > but problem is that a lot of systems with such chipsets, especially > laptops, unfortunately have no way to actually put the controller into > AHCI mode (no BIOS option for it). We could whine about it, but in a > lot of cases there's not much that can be done about it.. > > Intel chipsets are pretty much the only ones that have the separate > modes in the BIOS for AHCI - others like NVIDIA AHCI-compliant > controllers support both legacy mode and AHCI in the same device, > which is a lot more convenient in some ways.. Yes, I agree completely! It's absurd that in plain XXI century, hardware makers still default to legacy mode without a chance for the user to change that in BIOS. I understand that Linus Torvalds complained about EFI some time ago (http://kerneltrap.org/node/6884), citing it as "other Intel brain-damage" but at least EFI would give a chance for the user to interact better with the system than the limited, ugly and old "BIOS". When every motherboard maker adopt EFI, I hope this limitation will go away. I can't understand why new Core i7 systems still use BIOS instead of EFI. -- ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 2:52 ` Robert Hancock 2010-04-09 3:16 ` Dâniel Fraga @ 2010-04-09 10:12 ` Tim Small 2010-04-09 14:47 ` Robert Hancock 1 sibling, 1 reply; 23+ messages in thread From: Tim Small @ 2010-04-09 10:12 UTC (permalink / raw) To: Robert Hancock; +Cc: Dâniel Fraga, Alan Cox, linux-ide Robert Hancock wrote: > We can detect an AHCI-capable Intel chipsets (in most cases anyway), > but problem is that a lot of systems with such chipsets, especially > laptops, unfortunately have no way to actually put the controller into > AHCI mode (no BIOS option for it). We could whine about it, but in a > lot of cases there's not much that can be done about it.. > I have a couple of machines with those BIOSes, and apart from the fact that the Intel ICH datasheets say something like "none but the saintly BIOS writers shall program this register", it does seem to be possible to put an ICH9R into AHCI mode using setpci and the fake hot plug driver... I just wondered what the potential pitfalls might be of doing this? Obviously you wouldn't want to be doing anything with the controller at the time that you change it's mode. Is there also the risk of the bloody bios fiddling with the device after the OS has booted (and then getting surprised about it no longer being in piix mode)? Cheers, Tim. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 10:12 ` Tim Small @ 2010-04-09 14:47 ` Robert Hancock 2010-04-09 15:07 ` Alan Cox 0 siblings, 1 reply; 23+ messages in thread From: Robert Hancock @ 2010-04-09 14:47 UTC (permalink / raw) To: Tim Small; +Cc: Dâniel Fraga, Alan Cox, linux-ide On Fri, Apr 9, 2010 at 4:12 AM, Tim Small <tim@buttersideup.com> wrote: > Robert Hancock wrote: >> We can detect an AHCI-capable Intel chipsets (in most cases anyway), >> but problem is that a lot of systems with such chipsets, especially >> laptops, unfortunately have no way to actually put the controller into >> AHCI mode (no BIOS option for it). We could whine about it, but in a >> lot of cases there's not much that can be done about it.. >> > > I have a couple of machines with those BIOSes, and apart from the fact > that the Intel ICH datasheets say something like "none but the saintly > BIOS writers shall program this register", it does seem to be possible > to put an ICH9R into AHCI mode using setpci and the fake hot plug driver... In some cases it's likely doable - though you'd likely want to do it as a PCI quirk, so that it gets detected as an AHCI device in the first place rather than having to change it later. > > I just wondered what the potential pitfalls might be of doing this? > Obviously you wouldn't want to be doing anything with the controller at > the time that you change it's mode. Is there also the risk of the > bloody bios fiddling with the device after the OS has booted (and then > getting surprised about it no longer being in piix mode)? Some laptop BIOSes do try to access the controller at certain points, like suspend or powerdown (presumably to make sure the drive heads are unloaded or something) - we've run into problems in the past when the controller was disabled at points where the BIOS didn't expect it to be and it was trying to poke at it, causing a big delay until it finally gave up. For reasons like that we likely couldn't do it in the general case. We could provide it as a disabled-by-default feature, where if someone enables it and it breaks they get to keep both pieces.. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 14:47 ` Robert Hancock @ 2010-04-09 15:07 ` Alan Cox 2010-04-09 16:37 ` Tim Small 0 siblings, 1 reply; 23+ messages in thread From: Alan Cox @ 2010-04-09 15:07 UTC (permalink / raw) To: Robert Hancock; +Cc: Tim Small, Dâniel Fraga, linux-ide > Some laptop BIOSes do try to access the controller at certain points, > like suspend or powerdown (presumably to make sure the drive heads are > unloaded or something) - we've run into problems in the past when the > controller was disabled at points where the BIOS didn't expect it to > be and it was trying to poke at it, causing a big delay until it > finally gave up. Suspend/powerdown are less of a problem because any patch to put it into AHCI mode should put it back as it was before during suspend/poweroff. It's strange goings in in the background that are more of a concern. Alan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 15:07 ` Alan Cox @ 2010-04-09 16:37 ` Tim Small 2010-04-09 18:53 ` Alan Cox 2010-04-09 23:04 ` Robert Hancock 0 siblings, 2 replies; 23+ messages in thread From: Tim Small @ 2010-04-09 16:37 UTC (permalink / raw) To: Alan Cox; +Cc: Robert Hancock, Dâniel Fraga, linux-ide Alan Cox wrote: >> Some laptop BIOSes do try to access the controller at certain points, >> like suspend or powerdown (presumably to make sure the drive heads are >> unloaded or something) - we've run into problems in the past when the >> controller was disabled at points where the BIOS didn't expect it to >> be and it was trying to poke at it, causing a big delay until it >> finally gave up. >> > > > Suspend/powerdown are less of a problem because any patch to put it into > AHCI mode should put it back as it was before during suspend/poweroff. > Using DECLARE_PCI_FIXUP_SUSPEND etc? I'll see if I can get some time to have a go at this. The hardware I have access to without AHCI BIOS options are Dell Poweredge R200s and R300s. As far as I can workout, from my experiments using setpci+fakehp two of the port IO regions get coalesced, and an additional memory IO BAR gets set up on the ICH9R when in AHCI mode, so I'll have to try and work out how to handle this properly in the quirk. As Robert said, the "off-by-default + if it breaks, you get to keep both pieces" policy is what I had in mind, and I think this should go into arch/x86/pci/fixup.c ? Any obvious pit-falls to avoid? Cheers, Tim. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 16:37 ` Tim Small @ 2010-04-09 18:53 ` Alan Cox 2010-04-09 23:04 ` Robert Hancock 1 sibling, 0 replies; 23+ messages in thread From: Alan Cox @ 2010-04-09 18:53 UTC (permalink / raw) To: Tim Small; +Cc: Robert Hancock, Dâniel Fraga, linux-ide > Using DECLARE_PCI_FIXUP_SUSPEND etc? I'll see if I can get some time to > have a go at this. The hardware I have access to without AHCI BIOS > options are Dell Poweredge R200s and R300s. Yep. > As Robert said, the "off-by-default + if it breaks, you get to keep both > pieces" policy is what I had in mind, and I think this should go into > arch/x86/pci/fixup.c ? Any obvious pit-falls to avoid? There are probably two things to watch - you need to do the fixup early enough (I think as a header fixup) that the resources are correctly seen, and the chip docs say that if you hide one of the interfaces you can't unhide it - which shouldn't be a problem in your case. Alan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 16:37 ` Tim Small 2010-04-09 18:53 ` Alan Cox @ 2010-04-09 23:04 ` Robert Hancock 1 sibling, 0 replies; 23+ messages in thread From: Robert Hancock @ 2010-04-09 23:04 UTC (permalink / raw) To: Tim Small; +Cc: Alan Cox, Dâniel Fraga, linux-ide On Fri, Apr 9, 2010 at 10:37 AM, Tim Small <tim@buttersideup.com> wrote: > Alan Cox wrote: >>> Some laptop BIOSes do try to access the controller at certain points, >>> like suspend or powerdown (presumably to make sure the drive heads are >>> unloaded or something) - we've run into problems in the past when the >>> controller was disabled at points where the BIOS didn't expect it to >>> be and it was trying to poke at it, causing a big delay until it >>> finally gave up. >>> >> >> >> Suspend/powerdown are less of a problem because any patch to put it into >> AHCI mode should put it back as it was before during suspend/poweroff. >> > > Using DECLARE_PCI_FIXUP_SUSPEND etc? I'll see if I can get some time to > have a go at this. The hardware I have access to without AHCI BIOS > options are Dell Poweredge R200s and R300s. Yeah, you'll really want to enable AHCI mode in the header stage on boot and on resume, and disable it on suspend and shutdown (not sure if we actually have a hook for the shutdown case?) > > As far as I can workout, from my experiments using setpci+fakehp two of > the port IO regions get coalesced, and an additional memory IO BAR gets > set up on the ICH9R when in AHCI mode, so I'll have to try and work out > how to handle this properly in the quirk. > > As Robert said, the "off-by-default + if it breaks, you get to keep both > pieces" policy is what I had in mind, and I think this should go into > arch/x86/pci/fixup.c ? Any obvious pit-falls to avoid? We seem to have most related quirks for this in drivers/pci/quirks.c, but I guess it could go into either.. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 2:00 ` Dâniel Fraga 2010-04-09 2:09 ` Robert Hancock @ 2010-04-09 4:28 ` Jeff Garzik 2010-04-09 9:16 ` Alan Cox 2 siblings, 0 replies; 23+ messages in thread From: Jeff Garzik @ 2010-04-09 4:28 UTC (permalink / raw) To: Dâniel Fraga; +Cc: Robert Hancock, Alan Cox, linux-ide On 04/08/2010 10:00 PM, Dâniel Fraga wrote: > On Thu, 08 Apr 2010 17:54:14 -0600 > Robert Hancock<hancockrwd@gmail.com> wrote: > >> Depends on a lot of things, and what you mean by "significant". You >> don't get NCQ in legacy mode, and you also don't get 64-bit DMA support, >> which gets more significant the more RAM you have. > > I understand Robert. Ok, by significant I mean "better" and > "faster". > > So there's no NCQ in legacy mode? But you wrote that > regarding just the ICH chipset or all chipsets? Because I remember when > I used the forcedeth driver there was NCQ. This has a reasonably comprehensive list: http://ata.wiki.kernel.org/index.php/SATA_hardware_features ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 2:00 ` Dâniel Fraga 2010-04-09 2:09 ` Robert Hancock 2010-04-09 4:28 ` Jeff Garzik @ 2010-04-09 9:16 ` Alan Cox 2 siblings, 0 replies; 23+ messages in thread From: Alan Cox @ 2010-04-09 9:16 UTC (permalink / raw) To: Dâniel Fraga; +Cc: Robert Hancock, linux-ide > So there's no NCQ in legacy mode? But you wrote that > regarding just the ICH chipset or all chipsets? Because I remember when > I used the forcedeth driver there was NCQ. NCQ requires interfaces above and beyond the "traditional" IDE interface that most controllers used. AHCI is sort of a standard for this but there are a few other NCQ capable devices with their own interfaces/extensions including Nvidia (forcedeth is an ethernet driver so I assume you actually meant the Nvidia SATA driver ?) Alan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-08 23:54 ` Robert Hancock 2010-04-09 2:00 ` Dâniel Fraga @ 2010-04-09 9:08 ` Alan Cox 2010-04-09 9:12 ` Dâniel Fraga 1 sibling, 1 reply; 23+ messages in thread From: Alan Cox @ 2010-04-09 9:08 UTC (permalink / raw) To: Robert Hancock; +Cc: Dâniel Fraga, linux-ide > Depends on a lot of things, and what you mean by "significant". You > don't get NCQ in legacy mode, and you also don't get 64-bit DMA support, > which gets more significant the more RAM you have. You also don't get the CPU having to handle each command itself and poke the drive which causes signficiant stalls (doubly so because Jeff Garzik hasn't applied my patches to fix the bogus ones yet ;)) So not only do you get 64bit DMA and NCQ but the inter command delay is lower so its faster overall. You also get less CPU stalls for I/O which can be very slow with legacy mode although it usually only upsets real time people. Alan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ICH10 not working with AHCI kernel option 2010-04-09 9:08 ` Alan Cox @ 2010-04-09 9:12 ` Dâniel Fraga 0 siblings, 0 replies; 23+ messages in thread From: Dâniel Fraga @ 2010-04-09 9:12 UTC (permalink / raw) To: Alan Cox; +Cc: Robert Hancock, linux-ide On Fri, 9 Apr 2010 10:08:33 +0100 Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: > You also don't get the CPU having to handle each command itself and poke > the drive which causes signficiant stalls (doubly so because Jeff Garzik > hasn't applied my patches to fix the bogus ones yet ;)) > > So not only do you get 64bit DMA and NCQ but the inter command delay is > lower so its faster overall. You also get less CPU stalls for I/O which > can be very slow with legacy mode although it usually only upsets real > time people. Interesting. With my old motherboard (sata_nv) I used to have some stalls, mainly on GTK+ apps like Claws-mail during intense I/O and Firefox. Now with AHCI it's barely noticeable, but it happens too, although not as frequent as it used to happen with sata_nv. I hope your patches get applied soon. -- ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2010-04-09 23:09 UTC | newest] Thread overview: 23+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-04-08 13:36 ICH10 not working with AHCI kernel option Dâniel Fraga 2010-04-08 13:45 ` Alan Cox 2010-04-08 13:46 ` Dâniel Fraga 2010-04-08 13:59 ` Alan Cox 2010-04-08 14:02 ` Dâniel Fraga 2010-04-08 14:09 ` Alan Cox 2010-04-08 14:15 ` Dâniel Fraga 2010-04-08 23:54 ` Robert Hancock 2010-04-09 2:00 ` Dâniel Fraga 2010-04-09 2:09 ` Robert Hancock 2010-04-09 2:22 ` Dâniel Fraga 2010-04-09 2:52 ` Robert Hancock 2010-04-09 3:16 ` Dâniel Fraga 2010-04-09 10:12 ` Tim Small 2010-04-09 14:47 ` Robert Hancock 2010-04-09 15:07 ` Alan Cox 2010-04-09 16:37 ` Tim Small 2010-04-09 18:53 ` Alan Cox 2010-04-09 23:04 ` Robert Hancock 2010-04-09 4:28 ` Jeff Garzik 2010-04-09 9:16 ` Alan Cox 2010-04-09 9:08 ` Alan Cox 2010-04-09 9:12 ` Dâniel Fraga
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.