From owner-freebsd-stable@FreeBSD.ORG Mon Sep 28 18:46:18 2009 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF794106568F for ; Mon, 28 Sep 2009 18:46:18 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-bw0-f227.google.com (mail-bw0-f227.google.com [209.85.218.227]) by mx1.freebsd.org (Postfix) with ESMTP id 3FFBF8FC1A for ; Mon, 28 Sep 2009 18:46:17 +0000 (UTC) Received: by bwz27 with SMTP id 27so3388078bwz.43 for ; Mon, 28 Sep 2009 11:46:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=3AyYkTsrjuxsyKMNEIjGBFaOaemD0wSRt1YxfUJT5JM=; b=g57Blhjjww9Dd8pPcaO+VkQ+nA6uf9XUAkTC8p97EzIHAls4RY/n6iXZdrqcpVJLUy kmnyoUJNNhAVXJCQAIN1qBO/Ctzow9a5Pegg9pWX81QnesidN+I60RuZA+bGA7wgKC7b S2yiikGgByU9R3fCS969hAemTC/QOU84VDCkQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=JGJf1nLNbxtyBBXVxSnDHYvMeWdmIUU46s6oZtDQ2tFoMb1aienxMKsabfH2tTtFrf 7dKYbRWNhBIfeyvT4ZNBdxQ+Iyr54Bo8fgSItdSTSxRTGHL+jvMxTzI1Isp5bwtAxL/I 68pIyTTR3eCTfi5sWyzb1hTbe+VABpBfm5UJA= Received: by 10.204.34.201 with SMTP id m9mr3315684bkd.77.1254162113033; Mon, 28 Sep 2009 11:21:53 -0700 (PDT) Received: from mavbook.mavhome.dp.ua (pc.mavhome.dp.ua [212.86.226.226]) by mx.google.com with ESMTPS id 2sm4115770fks.33.2009.09.28.11.21.51 (version=SSLv3 cipher=RC4-MD5); Mon, 28 Sep 2009 11:21:52 -0700 (PDT) Sender: Alexander Motin Message-ID: <4AC0FEBD.2020705@FreeBSD.org> Date: Mon, 28 Sep 2009 21:21:49 +0300 From: Alexander Motin User-Agent: Thunderbird 2.0.0.23 (X11/20090901) MIME-Version: 1.0 To: Dennis Chikin References: <20090916161327.GB87631@zod.isi.edu> <20090919035214.GA12889@zod.isi.edu> <200909211239.25614.jkim@FreeBSD.org> <4AB9A3CE.4090509@yandex.ru> <4ABC5962.80404@yandex.ru> In-Reply-To: X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: "Andrey V. Elsukov" , FreeBSD Mailing List , Jung-uk Kim Subject: Re: PATA disks/DVD not detected on ATI IXP 700 - cannot boot (dmesg attached) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Sep 2009 18:46:18 -0000 Dennis Chikin wrote: >> Is it means that all works with this patch? > > No visible ata-specific faults encountered after loading the kernel. > >> Can you show dmesg from patched system? > atapci0: port > 0xc000-0xc007,0xb000-0xb003,0xa000-0xa007,0x9000-0x9003,0x8000-0x800f > mem 0xfe8ff800-0xfe8ffbff irq 22 at device 17.0 on pci0 > atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x8000 > atapci0: Reserved 0x400 bytes for rid 0x24 type 3 at 0xfe8ff800 > ioapic0: routing intpin 22 (PCI IRQ 22) to vector 50 > atapci0: [MPSAFE] > atapci0: [ITHREAD] > atapci0: AHCI Version 01.10 controller with 4 ports detected > ata2: on atapci0 > ata2: SATA connect time=0ms > ata2: SIGNATURE: 00000101 > ata2: ahci_reset devices=0x1 > ata2: [MPSAFE] > ata2: [ITHREAD] > ata3: on atapci0 > ata3: SATA connect status=00000000 > ata3: ahci_reset devices=0x0 > ata3: [MPSAFE] > ata3: [ITHREAD] > ata4: on atapci0 > ata4: SATA connect status=00000000 > ata4: ahci_reset devices=0x0 > ata4: [MPSAFE] > ata4: [ITHREAD] > ata5: on atapci0 > ata5: SATA connect status=00000000 > ata5: ahci_reset devices=0x0 > ata5: [MPSAFE] > ata5: [ITHREAD] > atapci1: port > 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xff00-0xff0f at device 20.1 on > pci0 > atapci1: Reserved 0x10 bytes for rid 0x20 type 4 at 0xff00 > ata0: on atapci1 > atapci1: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0 > atapci1: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6 > ata0: reset tp1 mask=03 ostat0=7f ostat1=7f > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat0=0x7f err=0xff lsb=0xff msb=0xff > ata0: stat1=0x7f err=0xff lsb=0xff msb=0xff > ata0: reset tp2 stat0=ff stat1=ff devices=0x0 > ioapic0: routing intpin 14 (ISA IRQ 14) to vector 55 > ata0: [MPSAFE] > ata0: [ITHREAD] > ata1: on atapci1 > atapci1: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170 > atapci1: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376 > ata1: reset tp1 mask=03 ostat0=50 ostat1=50 > ata1: stat0=0x50 err=0x01 lsb=0x00 msb=0x00 > ata1: stat1=0x00 err=0x01 lsb=0x14 msb=0xeb > ata1: reset tp2 stat0=50 stat1=00 devices=0x9 Here we can see detected: 4 (not 6!) SATA channels on AHCI controller, one PATA channel and 2 SATA channels in legacy emulation (why?). Actually, the same happens if I comment out all that device class magic. Looks like the only thing really required to fix problem with two lost channels is this part of patch: - /* IXP600 & IXP700 only have 1 PATA channel */ - if ((ctlr->chip->chipid == ATA_ATI_IXP600) || - (ctlr->chip->chipid == ATA_ATI_IXP700)) + /* IXP600 only have 1 PATA channel */ + if (ctlr->chip->chipid == ATA_ATI_IXP600) Looks like part of changing device class just not working. Today I have bought IXP700 based board and can acknowledge that the same situation I can see with recent HEAD. `pciconf -l` reports to me original PATA device class and only 4 channels reported by AHCI. So jkim@, could you please comment, how should it really work and why it doesn't? PS: I have tried to disable all that ATI-specific code and found that both legacy PCI ATA and AHCI drivers looks like working fine with IXP700. Do we really need AHCI forcing for IXP700? -- Alexander Motin