Subject: Re: TC bba audio problem on DEC3000/300
To: Jason R Thorpe <thorpej@zembu.com>
From: Gregory McGarry <g.mcgarry@ieee.org>
List: port-alpha
Date: 07/17/2000 14:04:49
Jason R Thorpe wrote:
> > > 2) Another issue is that IOASIC DMA is in 4KB blocks. On the pmax, this
> > > is a cpu page. Do all alphas have an 8KB page? Would it be more
> > > technically correct not to refer to PAGE_SIZE, when really we mean 4KB?
> >
> > And looked at it again, and yes, this is also a problem. I've made the
> > changes to handle this, but then noticed that the bus_dma implementations
> > don't handle the case of maxsegsz being less than PAGE_SIZE. This is a
> > pretty trivial fix, tho.
>
> ACTUALLY....
>
> I just double-checked the manual, to be extra sure, and it says,
> in section 9.5.2.9:
>
> If an ISDN transmit DMA pointer crosses a page boundary,
> the transmit buffer pointer is loaded into the transmit
> pointer, and an interrupt is set. This directs software
> to reload the buffer pointer. If the buffer pointer is
> empty, the DMA is turned off because an invalid address
> was loaded into the pointer, and another interrupt is
> set siognaling overflow. A buffer pointer may be empty
> because it was never written to or has not been written
> to since the last page crossing.
>
> Note, "page size". I suspect the IOASIC detects page size by how it's
> wired to the bus.
You will find the term "page size" referred to all over the document.
The only clue is sections 7.3.7 and 7.3.9.
-- Gregory McGarry <g.mcgarry@ieee.org>