Date: Sat, 30 May 2009 17:36:07 +0200 From: Ralf Folkerts <ralf.folkerts@gmx.de> To: mav@freebsd.org, jkim@FreeBSD.org, freebsd-amd64@freebsd.org Subject: Re: amd64/135040: FreeBSD/amd64 does not (always) detect disk on SB600/AliveXFire eSata 2 Message-ID: <4A215267.9050108@gmx.de>
next in thread | raw e-mail | index | archive | help
Hi, first, thanks for the "64bit-DMA-disbale" hint and the Link to the Linux-Thread. While reading the Ticket that's mentioned on the thread http://bugzilla.kernel.org/show_bug.cgi?id=9412 I got somewhat confused, though... Well, after the Box seems to run fine (well, I did lose JDK15 and JDK16 during Portupgrade but that might have been a MAKE_JOB... Problem; the Filesystems were clean and I didn't notice the lose of any "User Data") I just booted Kubuntu (9.04) on that Box to check the SB600 Status (it's Kernel 2.6.28-12): [ 1.157946] ahci 0000:00:12.0: version 3.0 [ 1.157964] ahci 0000:00:12.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 [ 1.158000] ahci 0000:00:12.0: controller can't do 64bit DMA, forcing 32bit [ 1.158114] ahci 0000:00:12.0: AHCI 0001.0100 32 slots 4 ports 3 Gbps 0xf impl SATA mode [ 1.158116] ahci 0000:00:12.0: flags: ncq sntf ilck led clo pmp pio slum part [ 1.158577] scsi0 : ahci [ 1.158710] scsi1 : ahci [ 1.158771] scsi2 : ahci [ 1.158835] scsi3 : ahci [ 1.158905] ata1: SATA max UDMA/133 abar m1024@0xfe9ff800 port 0xfe9ff900 irq 22 [ 1.158908] ata2: SATA max UDMA/133 abar m1024@0xfe9ff800 port 0xfe9ff980 irq 22 [ 1.158911] ata3: SATA max UDMA/133 abar m1024@0xfe9ff800 port 0xfe9ffa00 irq 22 [ 1.158914] ata4: SATA max UDMA/133 abar m1024@0xfe9ff800 port 0xfe9ffa80 irq 22 [ 1.640021] ata1: softreset failed (device not ready) [ 1.640067] ata1: failed due to HW bug, retry pmp=0 [ 1.804031] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) [ 1.808892] ata1.00: ATA-7: SAMSUNG HD160JJ, ZM100-41, max UDMA7 [ 1.808894] ata1.00: 312581808 sectors, multi 16: LBA48 NCQ (depth 31/32) [ 1.808907] ata1.00: SB600 AHCI: limiting to 255 sectors per cmd [ 1.840783] ata1.00: SB600 AHCI: limiting to 255 sectors per cmd So, they (Linux) disable 64bit DMA and limit the number of Sectors per Command. I had a look at ata_ahci_dmainit() in ata-chipset.c and might easily disable 64bit DMA as Alexander suggested. However, I didn't find any place where the Number of Sectors/Command could/would be limited. I saw that it will be disabled under some condition for nvidia but didn't find a limit. If I got the Linux-BZ-Ticket correctly, the Limit of the Sectors / Command is mandatory/a documented Chip-Bug while the DMA-Limit seems to be solved on more recent Chips (or BIOSses?) but requires the BIOS to do something (but what) for it to work. Now, does anyone (here) have some Contacts to AMD? I'd like to know if my Chip is supposed to be able to do 64bit DMA - and if it is what I have to write to ASRock to politely ask to put into the BIOS (well, I'm afraid they'll ignore but I'd like to do anyway). If not I'd try to contact the Poster of the Linux-Patch as he obviously knows whats getting on... As always, thanks in advance for any hints! Cheers, _ralf_
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A215267.9050108>