Date: Wed, 18 Aug 2004 10:05:06 +0200 From: =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@DeepCore.dk> To: yongari@kt-is.co.kr Cc: sparc64@FreeBSD.ORG Subject: Re: Insta-panic with recent -current on Ultra10 Message-ID: <41230DB2.60900@DeepCore.dk> In-Reply-To: <20040818074217.GC8375@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>
next in thread | previous in thread | raw e-mail | index | archive | help
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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41230DB2.60900>