Re: Enabling AHCI on ICH7 without BIOS support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tejun Heo wrote:

Hello,

Jonathan Bastien-Filiatrault wrote:
Hello,

I am the owner of a Dell Latitude D620 notebook with an ICH7 SATA
controller, unfortunately, the BIOS does not offer the option of using
"native mode" instead of "compatibility mode" when it comes to SATA. For
now, the ata_piix runs happily in compatibility mode. Looking at the
ICH7 docs, I found that poking register 0x90 in PCI configuration space
with value 0x40 should enable AHCI. However, there are some issues with
poking that register with setpci in an early initramfs:


- The kernel does not seem to update the device id from PCI config
space, which changes with the controller mode (it would seem the PCI
subsystem keeps a copy)

- Poking PCI registers from userspace is far from ideal


It would be great if the AHCI driver (or otherwise) had a
"force_ich7_ahci" to properly setup and initialize this device in full
"native" AHCI mode. This option would be greatly welcome from users like
me who have a stupid bios (eh, who doesn't).

Sorry but most BIOSen don't map ABAR unless it supports AHCI and there
usually isn't a hole to fit in ABAR afterwards unless the kernel
completely reallocates IO resources, which, again unfortunately, can't
be done reliably cuz machines can be quirky and might puke if addresses
aren't laid out as their BIOSen would do.

So, you'll have to live with ata_piix.

So far, I have managed to patch up the AHCI driver to initialize the ICH7 AHCI state machine as the BIOS would do (as per the AHCI spec instructions). This involves mapping ABAR and such. So far, I have gotten the AHCI driver to detect the chip properly, but it does not detect any drives. It looks like I will need to further initialize the chip. I think there might be a chance of success, but it will involve manually specifying which ports are present via a module parameter.


Thank you,
Jonathan
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux