Date: Wed, 18 Aug 2004 17:47:35 +0900 From: Pyun YongHyeon <yongari@kt-is.co.kr> To: =?iso-8859-1?Q?S=F8ren?= Schmidt <sos@DeepCore.dk> Cc: sparc64@FreeBSD.ORG Subject: Re: Insta-panic with recent -current on Ultra10 Message-ID: <20040818084735.GA8836@kt-is.co.kr> In-Reply-To: <41230DB2.60900@DeepCore.dk> 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> <41230DB2.60900@DeepCore.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Aug 18, 2004 at 10:05:06AM +0200, Søren Schmidt wrote:
> Could I have you try this patch and see if that fixes things. The args
Unfortunately, it still paniced at the same location.
> to busdma is not really correct as is. However if this still doesn't
> work, either busdma is at fault for not giving us what we ask for or I
> dont have the correct info on DMA restrictions on the sparc....
>
Neither do I. Marius?
> Maybe you could instument that fixup loop, if it still fails, so we
> could tell what sizes etc gets delivered from busdma ?
>
I'll try that tomorrow.
> -Søren
>
> laptop> cvs diff -u
> cvs diff: Diffing .
> Index: ata-dma.c
> ===================================================================
> 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->dmatag))
> goto error;
>
> @@ -110,8 +110,8 @@
>
> if
> (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,
> &ch->dma->ddmatag))
> goto error;
>
>
>
>
Thanks.
Regards,
Pyun YongHyeon
--
Pyun YongHyeon <http://www.kr.freebsd.org/~yongari>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040818084735.GA8836>
