linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Forcing a an Intel ICH9R into AHCI mode after boot
@ 2010-04-06  7:53 Tim Small
  2010-05-28 15:58 ` Forcing a an Intel ICH8 into AHCI mode after boot - success Tim Small
  0 siblings, 1 reply; 2+ messages in thread
From: Tim Small @ 2010-04-06  7:53 UTC (permalink / raw)
  To: linux-ide

Hi,

I have a box (Dell Poweredge R300) which I could really do with SATA
hotplug functionality on.  The BIOS doesn't have any AHCI support (and
won't according to Dell) - and puts the ICH9R into PIIX mode, but I'd
like to try and force it into AHCI mode to see if this is a workable
solution...

I've used setpci to stick the SATA controller into AHCI mode, and the
fakephp driver to get the device rescanned by Linux, I now have an AHCI
mode pci device showing up with lspci, but when loading the ahci driver
I get:

ahci 0000:00:1f.2: version 3.0
ahci 0000:00:1f.2: device not available because of BAR 0 [cc20:cc27]
collisions

This is what I did:

setpci -s 00:1f.2 0x90.w=0x0060
modprobe fakephp
echo 1 > /sys/bus/pci/slots/0000\:00\:1f.0/power
echo 1 > /sys/bus/pci/slots/0000\:00\:1f.2/power
echo 1 > /sys/bus/pci/slots/0000\:00\:1f.5/power
echo 0 > /sys/bus/pci/slots/0000\:00\:1f.2/power
echo 1 > /sys/bus/pci/slots/0000\:00\:1f.2/power
echo 1 > /sys/bus/pci/slots/0000\:00\:1f.0/power
echo 1 > /sys/bus/pci/slots/0000\:00\:1f.5/power
modprobe ahci

The kernel version is 2.6.26-2 (Debian 5.0).


lspci gives:

00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6
port SATA AHCI Controller (rev 02) (prog-if 01 [AHCI 1.0])
       Subsystem: Dell Device 020f
       Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr+ Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Interrupt: pin C routed to IRQ 6
       Region 0: I/O ports at cc20 [size=8]
       Region 1: I/O ports at cc10 [size=4]
       Region 2: I/O ports at cc28 [size=8]
       Region 3: I/O ports at cc14 [size=4]
       Region 4: I/O ports at cc40 [size=32]
       Region 5: Memory at 0000c800 (32-bit, non-prefetchable) [size=2K]
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Queue=0/4 Enable-
               Address: 00000000  Data: 0000
       Capabilities: [70] Power Management version 3
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [a8] SATA HBA <?>
       Capabilities: [b0] PCIe advanced features <?>
       Kernel modules: ahci



... and I can't really work out why it thinks this...  No over-laping
stuff is showing up in /proc/ioports or the rest of the lspci output.
Here's a diff of the lspci output before/after:

-00:1f.2 IDE interface [0101]: Intel Corporation 82801IR/IO/IH
(ICH9R/DO/DH) 4 port SATA IDE Controller [8086:2920] (rev 02) (prog-if
8f [Master SecP SecO PriP PriO])
-       Subsystem: Dell PowerEdge R300 onboard SATA Controller [1028:020f]
+00:1f.2 SATA controller [0106]: Intel Corporation 82801IR/IO/IH
(ICH9R/DO/DH) 6 port SATA AHCI Controller [8086:2922] (rev 02) (prog-if
01 [AHCI 1.0])
+       Subsystem: Dell Device [1028:020f]
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr+ Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
-       Interrupt: pin C routed to IRQ 23
+       Interrupt: pin C routed to IRQ 6
       Region 0: I/O ports at bc20 [size=8]
       Region 1: I/O ports at bc10 [size=4]
       Region 2: I/O ports at bc28 [size=8]
       Region 3: I/O ports at bc14 [size=4]
-       Region 4: I/O ports at bc40 [size=16]
-       Region 5: I/O ports at bc50 [size=16]
+       Region 4: I/O ports at bc40 [size=32]
+       Region 5: Memory at 0000b800 (32-bit, non-prefetchable) [size=2K]
+       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Queue=0/4 Enable-
+               Address: 00000000  Data: 0000
       Capabilities: [70] Power Management version 3
-               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
+               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
+       Capabilities: [a8] SATA HBA <?>
       Capabilities: [b0] PCIe advanced features <?>
-       Kernel driver in use: ata_piix
-       Kernel modules: ata_piix, ata_generic, ide-pci-generic
+       Kernel modules: ahci




I know this is hacky, but it'd be nice to get it working... Any ideas?

Cheers,

Tim.

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

end of thread, other threads:[~2010-05-28 15:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-06  7:53 Forcing a an Intel ICH9R into AHCI mode after boot Tim Small
2010-05-28 15:58 ` Forcing a an Intel ICH8 into AHCI mode after boot - success Tim Small

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