NetBSD-Bugs archive

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

Re: port-alpha/33073 (isp0: unable to load dma (22))

Synopsis: isp0: unable to load dma (22)

State-Changed-From-To: feedback->closed
State-Changed-When: Sun, 18 Jul 2021 19:36:16 +0000
This would have been significantly mitigated by:

revision 1.21
date: 2007-03-13 18:40:14 -0700;  author: mhitch;  state: Exp;  lines: +9 -3;
branches:  1.21.36;  1.21.38;  1.21.40;
Contrary to the comment in cia_dma_get_tag(), there are machines with cia
that have over 1.0G.  Allow direct dma requests to fall back to SGMAPs.
my PWS 500au with 1.5G of memory now works with dma operations.

...but a more comprehensive fix was made in:

revision 1.35
date: 2021-07-16 17:30:39 -0700;  author: thorpej;  state: Exp;  lines: +92 -30;  commitid: hTyTdpdUfhyl2h1D;
Back in rev 1.21, mhitch@ fixed an issue with his 1.5GB RAM PWS 500au
by using a fall-back to the ISA DMA window if DMA was out of range for
the 1G @ 1G PCI DMA window.  Alas, the ISA DMA window is pretty small
(8M @ 8M), and it's possible to starve it with PCI devices that might
have, for example, large control data structures there.

So, instead, if the system has more than 1G of RAM, use Window 3
(previously unused) as a SGMAP window 1G @ 3G, and set that as the
fall-back if the direct-mapped window fails.

...of alpha/pci/cia_dma.c

Home | Main Index | Thread Index | Old Index