From owner-freebsd-sparc64@FreeBSD.ORG Wed Aug 18 08:05:37 2004 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0D84D16A4CE; Wed, 18 Aug 2004 08:05:37 +0000 (GMT) Received: from spider.deepcore.dk (cpe.atm2-0-53484.0x50a6c9a6.abnxx9.customer.tele.dk [80.166.201.166]) by mx1.FreeBSD.org (Postfix) with ESMTP id 43E0F43D39; Wed, 18 Aug 2004 08:05:36 +0000 (GMT) (envelope-from sos@DeepCore.dk) Received: from [194.192.25.143] (laptop.deepcore.dk [194.192.25.143]) by spider.deepcore.dk (8.12.11/8.12.10) with ESMTP id i7I85QJQ054484; Wed, 18 Aug 2004 10:05:26 +0200 (CEST) (envelope-from sos@DeepCore.dk) Message-ID: <41230DB2.60900@DeepCore.dk> Date: Wed, 18 Aug 2004 10:05:06 +0200 From: =?ISO-8859-1?Q?S=F8ren_Schmidt?= User-Agent: Mozilla Thunderbird 0.7.2 (X11/20040802) X-Accept-Language: en-us, en MIME-Version: 1.0 To: yongari@kt-is.co.kr References: <200408170909.i7H99taL082002@postoffice.e-easy.com.au> <20040817115518.W68839@ury.york.ac.uk> <20040818010554.GB5194@electra.cse.Buffalo.EDU> <20040818052628.GA8375@kt-is.co.kr> <20040818072641.GB8375@kt-is.co.kr> <20040818074217.GC8375@kt-is.co.kr> In-Reply-To: <20040818074217.GC8375@kt-is.co.kr> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable cc: sos@FreeBSD.ORG cc: Ken Smith cc: sparc64@FreeBSD.ORG Subject: Re: Insta-panic with recent -current on Ultra10 X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Aug 2004 08:05:37 -0000 Could I have you try this patch and see if that fixes things. The args=20 to busdma is not really correct as is. However if this still doesn't=20 work, either busdma is at fault for not giving us what we ask for or I=20 dont have the correct info on DMA restrictions on the sparc.... Maybe you could instument that fixup loop, if it still fails, so we=20 could tell what sizes etc gets delivered from busdma ? -S=F8ren laptop> cvs diff -u cvs diff: Diffing . Index: ata-dma.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/sys/dev/ata/ata-dma.c,v retrieving revision 1.129 diff -u -r1.129 ata-dma.c --- ata-dma.c 13 Aug 2004 08:14:27 -0000 1.129 +++ ata-dma.c 18 Aug 2004 07:59:29 -0000 @@ -95,10 +95,10 @@ { struct ata_dc_cb_args ccba; - if (bus_dma_tag_create(NULL, 1, 0, + if (bus_dma_tag_create(NULL, ch->dma->alignment, 0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, - NULL, NULL, MAXCTLDMASZ, - ATA_DMA_ENTRIES, BUS_SPACE_MAXSIZE_32BIT, + NULL, NULL, 16*1024*1024, + ATA_DMA_ENTRIES, ch->dma->max_iosize, BUS_DMA_ALLOCNOW, NULL, NULL, &ch->dma->dmata= g)) goto error; @@ -110,8 +110,8 @@ if=20 (bus_dma_tag_create(ch->dma->dmatag,ch->dma->alignment,ch->dma->boundary,= BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, - NULL, NULL, ch->dma->max_iosize, - ATA_DMA_ENTRIES, ch->dma->boundary, + NULL, NULL, 16*1024*1024, + ATA_DMA_ENTRIES, ch->dma->max_iosize, BUS_DMA_ALLOCNOW, NULL, NULL,=20 &ch->dma->ddmatag)) goto error;