AHCI on ICH7
Michael Butler
imb at protected-networks.net
Wed Jan 12 15:39:55 UTC 2011
On 01/12/11 05:50, Anton Yuzhaninov wrote:
> Is it possible to get AHCI working on this controller:
>
> atapci1 at pci0:0:31:2: class=0x01018f card=0x72101462 chip=0x27c08086
> rev=0x01 hdr=0x00
> vendor = 'Intel Corporation'
> device = '82801GB/GR/GH (ICH7 Family) Serial ATA Storage
> Controller'
> class = mass storage
> subclass = ATA
> bar [10] = type I/O Port, range 32, base 0xe880, size 8, enabled
> bar [14] = type I/O Port, range 32, base 0xe800, size 4, enabled
> bar [18] = type I/O Port, range 32, base 0xe480, size 8, enabled
> bar [1c] = type I/O Port, range 32, base 0xe400, size 4, enabled
> bar [20] = type I/O Port, range 32, base 0xe080, size 16, enabled
> cap 01[70] = powerspec 2 supports D0 D3 current D0
>
> BIOS show that AHCI 1.0 supported.
>
> I tried this patch with no success:
>
> --- sys/dev/ahci/ahci.c (revision 217301)
> +++ sys/dev/ahci/ahci.c (working copy)
> @@ -129,6 +129,7 @@
> {0x26838086, 0x00, "Intel ESB2", 0},
> {0x27c18086, 0x00, "Intel ICH7", 0},
> {0x27c38086, 0x00, "Intel ICH7", 0},
> + {0x27c08086, 0x00, "Intel ICH7", 0},
> {0x27c58086, 0x00, "Intel ICH7M", 0},
> {0x27c68086, 0x00, "Intel ICH7M", 0},
> {0x28218086, 0x00, "Intel ICH8", 0},
Since this series is also supported in the ata-intel driver ..
{ ATA_I82801GB, 0, 0, 1, ATA_UDMA5, "ICH7" },
{ ATA_I82801GB_S1, 0, 0, 0, ATA_SA300, "ICH7" },
{ ATA_I82801GB_R1, 0, 0, 0, ATA_SA300, "ICH7" },
{ ATA_I82801GB_AH, 0, INTEL_AHCI, 0, ATA_SA300, "ICH7" },
{ ATA_I82801GBM_S1, 0, 0, 0, ATA_SA150, "ICH7M" },
{ ATA_I82801GBM_R1, 0, 0, 0, ATA_SA150, "ICH7M" },
{ ATA_I82801GBM_AH, 0, INTEL_AHCI, 0, ATA_SA150, "ICH7M" },
.. and it seems that PCIR_BAR(5) is already set as I/O, you could try
adding the INTEL_AHCI attribute to the entry for "ATA_I82801GB_S1",
which matches your chip-id and see what happens.
I have not tried this - please make sure you have a full backup first!
imb
More information about the freebsd-current
mailing list