Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 09 Mar 2000 23:42:44 -0800
From:      Mike Smith <msmith@freebsd.org>
To:        mjacob@feral.com
Cc:        Mike Smith <msmith@FreeBSD.ORG>, alpha@FreeBSD.ORG
Subject:   Re: problem with bus_dmamap_destroy? 
Message-ID:  <200003100742.XAA00848@mass.cdrom.com>
In-Reply-To: Your message of "Thu, 09 Mar 2000 23:29:00 PST." <Pine.BSF.4.10.10003092325290.30095-100000@beppo.feral.com> 

next in thread | previous in thread | raw e-mail | index | archive | help

> 
> No, I believe the first BUS_SPACE_MAXADDR is fine- When you say "hang", hang
> where? Unless you've marked this device as BUS_DMA_ISA (where it *might* hang
> in sgmap_free_region), it would have to hang in free()- are you sure it's
> actually hanging and you don't have some loop where it's trying to destroy the
> map when there are still loaded pages?

If I bracket the bus_dmamap_destroy with printfs, I get the first but not 
the second one.  I guess I need to go get busy then.  Thanks!

> On Thu, 9 Mar 2000, Mike Smith wrote:
> 
> > 
> > Just wondering if anyone's seen a problem with bus_dmamap_destroy() 
> > hanging on the Alpha.  I've tracked down a hang when unloading the Mylex 
> > driver which doesn't maifest on the i386.
> > 
> > error = bus_dma_tag_create(sc->mlx_parent_dmat,     /* parent */
> >                            1, 0,                    /* alignment, boundary */
> >                            BUS_SPACE_MAXADDR,       /* lowaddr */
> >                            BUS_SPACE_MAXADDR,       /* highaddr */
> >                            NULL, NULL,              /* filter, filterarg */
> >                            MAXBSIZE, MLX_NSEG,      /* maxsize, nsegments */
> >                            BUS_SPACE_MAXSIZE_32BIT, /* maxsegsize */
> >                            0,                       /* flags */
> >                            &sc->mlx_buffer_dmat);
> > 
> > ...
> > 	bus_dmamap_create(sc->mlx_buffer_dmat, 0, &mc->mc_dmamap);
> > ...
> > 	bus_dmamap_destroy(sc->mlx_buffer_dmat, mc->mc_dmamap); 
> > 
> > I've had someone suggest that the lowaddr parameter should be 0; is this 
> > actually correct?  (The DMA mapping does otherwise seem to work...)
> > 
> > Any "been there, done that" suggestions before I dig into this?
> > 
> > Thanks.
> > 
> > -- 
> > \\ Give a man a fish, and you feed him for a day. \\  Mike Smith
> > \\ Tell him he should learn how to fish himself,  \\  msmith@freebsd.org
> > \\ and he'll hate you for a lifetime.             \\  msmith@cdrom.com
> > 
> > 
> > 
> > 
> > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > with "unsubscribe freebsd-alpha" in the body of the message
> > 
> 
> 

-- 
\\ Give a man a fish, and you feed him for a day. \\  Mike Smith
\\ Tell him he should learn how to fish himself,  \\  msmith@freebsd.org
\\ and he'll hate you for a lifetime.             \\  msmith@cdrom.com




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003100742.XAA00848>