NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-amd64/42980: satalink DMA fails under amd64

Quick update - just verified that your exact patch works
too Matthew - and its a good thing to have in there
anyway (target the 8192 boundary workaround at the
right chipset).

I'll let you and Manuel work out the right way to address
the 3112 - please keep me on the distribution - I'm
curious about the answer.

In the meantime, I looked into why the i386 isn't
exhibiting the problem - it looks like it might be because
the arch/x86/x86/bus_dma:_bus_dmamem_alloc_range()
function simply doesn't make the same check
(boundary >= size) as the xen implementation in arch/xen/x86/xen_bus_dma.c?

Which begs the question, should it? (given that
bus_dmamem_alloc man page implies its a not a legal
argument (and thanks for the awesome man pages by the
way - NetBSD rules)).

On Wed, Mar 17, 2010 at 9:45 PM, matthew green <> 
> Â I'm currently running with a close variant of that patch right now.
> Â It works for my 3512.
> Â But I'm still concerned that approach won't work for a 3112 and I'm
> Â curious what the right thing to do is.
> Â Also, we've not pinned down the reason why the amd64 is prone to the
> Â problem and the i386 isn't.
> Â I'll test this patch anyway, just for posterity, and get back to this
> Â distribution (note - this won't make it into the gnats log).
> you're right.
> i guess the bus_dmamap_create() call needs to use this in place
> of the IDEDMA_TBL_ALIGN argument?
> Â Â Â Âmin(dma_table_size, IDEDMA_TBL_ALIGN);
> ?
> manuel? Âcan you comment?

Home | Main Index | Thread Index | Old Index