From owner-freebsd-amd64@FreeBSD.ORG Sat May 30 16:02:51 2009 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1643E1065675 for ; Sat, 30 May 2009 16:02:51 +0000 (UTC) (envelope-from ralf.folkerts@gmx.de) Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by mx1.freebsd.org (Postfix) with SMTP id 770AB8FC12 for ; Sat, 30 May 2009 16:02:50 +0000 (UTC) (envelope-from ralf.folkerts@gmx.de) Received: (qmail invoked by alias); 30 May 2009 15:36:07 -0000 Received: from dslb-094-218-230-136.pools.arcor-ip.net (EHLO beaster.home.folkerts-net.de) [94.218.230.136] by mail.gmx.net (mp012) with SMTP; 30 May 2009 17:36:07 +0200 X-Authenticated: #18511927 X-Provags-ID: V01U2FsdGVkX19iGVkfsg5iRbgbtn01TlUQ577EZGUJZlNoPvY8PE aCo4hiYg76tLs9 Message-ID: <4A215267.9050108@gmx.de> Date: Sat, 30 May 2009 17:36:07 +0200 From: Ralf Folkerts User-Agent: Thunderbird 2.0.0.21 (X11/20090410) MIME-Version: 1.0 To: mav@freebsd.org, jkim@FreeBSD.org, freebsd-amd64@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.48 Cc: Subject: Re: amd64/135040: FreeBSD/amd64 does not (always) detect disk on SB600/AliveXFire eSata 2 X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 May 2009 16:02:51 -0000 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_