the virtual address from a uoffset, e.g. uoffset + vm_map_min(kernel_map).
- Eliminate the bus_space_read/write-based DRM_READ/WRITE macros. The
memory we're reading/writing from is not always allocated with bus_space,
and so this will not do. Instead, since all of our bus_space maps are
linear, volatile pointer dereferences will do just fine.
- Unify members of struct drm_dma_handle amongst freebsd and netbsd:
the 'addr' member was superfluous; also, set dmah->tag from
dev->pa.pa_dmat and use that.
- we don't need BUS_DMA_ALLOCNOW, as bus_dmamap_load is called immediately
following bus_dmamap_create(), so there's no need to avoid deferring
allocation to load time.
- Add check for nsegs != 1 in drm_pci_alloc().
- We don't need the DRM_PCI_DMAADDR macro right now--it was only
used once.
mutex initialized by this macro is the dma lock, which certainly
should not be IPL_VM. The priorities of the other locks should be
revisited.
Also, in DRM_WAIT_ON, enforce the policy of "drm returns -errno
to shared code" (this used to be implemented via a macro).
make the mesa-drm style Makefile's actually run on netbsd (but i doubt
they work yet.)
this still has a lot to go. it doesn't work yet, but it's getting
close.
most of this is from other authors than myself: yorrick, drochner,
jared, bjs, all contributed a lot more than i have so far, but there's
a bunch of clean up from myself in here as well.