14.08.08, 16:47, "Jeremy Chadwick" <[EMAIL PROTECTED]>:

> On Thu, Aug 14, 2008 at 03:56:32PM +0400, Andrey V. Elsukov wrote:
> > sam wrote:
> >>> Can you apply attached patch, rebuild your kernel, reboot in verbose
> >>> mode and show /var/run/dmesg.boot ?
> >>>
> >> http://cs.udmvt.ru/files/temp/dmesg.boot_0814
> >
> > It seems that driver couldn't allocate IO resource at BAR5 and
> > without this resource it can't read SATA Status register and
> > determine negotiated speed. I think the problem is in your BIOS.
> > If your BIOS doesn't have any AHCI or RAID specific options
> > I don't know how correctly fix this problem.
> Andrey, please correct me if I'm wrong here.  I'm not familiar these
> kernel functions, but assuming pci_read_config() handles proper byte
> order, and device_printf() prints it in correct order, then I believe
> you may be missing something important.

My decision is not from output of my changes.
Here is in log:
found-> vendor=0x8086, dev=0x27c0, revid=0x01
        domain=0, bus=0, slot=31, func=2
        class=01-01-8f, hdrtype=0x00, mfdev=0
        cmdreg=0x0005, statreg=0x02b0, cachelnsz=0 (dwords)
        lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
        intpin=b, irq=11
        powerspec 2  supports D0 D3  current D0
        map[10]: type I/O Port, range 32, base 0xc880, size  3, enabled
        map[14]: type I/O Port, range 32, base 0xc800, size  2, enabled
        map[18]: type I/O Port, range 32, base 0xc480, size  3, enabled
        map[1c]: type I/O Port, range 32, base 0xc400, size  2, enabled
        map[20]: type I/O Port, range 32, base 0xc080, size  4, enabled

BAR5 is not present here. Also

atapci1: <Intel ICH7 SATA300 controller> port 
0xc880-0xc887,0xc800-0xc803,0xc480-0xc487,0xc400-0xc403,0xc080-0xc08f irq 19 at 
device 31.2 on pci0
atapci1: Reserved 0x10 bytes for rid 0x20 type 4 at 0xc080
atapci1: [MPSAFE]
atapci1: [ITHREAD]
atapci1: SCRD = 0x40000180, SATACR1 = 0x00000000

There should be resource allocation:
"rid 0x24 type 3" for AHCI or "rid 0x24 type 4" for non-AHCI.
But here are nothing of these.

ata2: <ATA channel 0> on atapci1
atapci1: Reserved 0x8 bytes for rid 0x10 type 4 at 0xc880
atapci1: Reserved 0x4 bytes for rid 0x14 type 4 at 0xc800

> Someone should make a patch for the user that zeros out bit 30 of SIR,
> then check the xBAR and LBAR values; zeroing bit 30 might get him
> SATA300 support (I haven't looked at the rest of the FreeBSD ATA code
> yet).

I think you can try to do it. But i don't have this hardware and trying 
to change some bits, making patches, waiting for results, again and again
- it's not very interesting for me (i already have similar experience)..
In any case ICHx which is working in non-AHCI mode is not the best choice.
Many SATA features don't work in this mode and difference between 
SATA150 and SATA300 is small. 

-- 
WBR, Andrey V. Elsukov
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to