Found while debugging cache problems on landisk
Remove mapstore and error, remnants of code logic long gone.
DMAMAP_RESET is only used on landisk, disrupts readability and the one
line saved per use doesn't really justify its existence to me
--- a/sys/arch/landisk/landisk/bus_dma.c
+++ b/sys/arch/landisk/landisk/bus_dma.c
@@ -67,11 +67,6 @@ struct _bus_dma_tag landisk_bus_dma = {
._dmamem_mmap = _bus_dmamem_mmap,
};
-#define DMAMAP_RESET(_m) do { \
- (_m)->dm_mapsize = 0; \
- (_m)->dm_nsegs = 0; \
-} while (0)
-
int _bus_dmamap_load_vaddr(bus_dma_tag_t, bus_dmamap_t,
void *, bus_size_t, pmap_t);
int _bus_dmamap_load_paddr(bus_dma_tag_t, bus_dmamap_t,
@@ -85,9 +80,7 @@ _bus_dmamap_create(bus_dma_tag_t t, bus_size_t size, int
nsegments,
bus_size_t maxsegsz, bus_size_t boundary, int flags, bus_dmamap_t *dmamp)
{
bus_dmamap_t map;
- void *mapstore;
size_t mapsize;
- int error;
DPRINTF(("bus_dmamap_create: t = %p, size = %ld, nsegments = %d,
maxsegsz = %ld, boundary = %ld, flags = %x\n", t, size, nsegments, maxsegsz,
boundary, flags));
@@ -103,23 +96,21 @@ _bus_dmamap_create(bus_dma_tag_t t, bus_size_t size, int
nsegments,
* The bus_dmamap_t includes one bus_dma_segment_t, hence
* the (nsegments - 1).
*/
- error = 0;
mapsize = sizeof(struct _bus_dmamap) +
(sizeof(bus_dma_segment_t) * (nsegments - 1));
- if ((mapstore = malloc(mapsize, M_DEVBUF, (flags & BUS_DMA_NOWAIT) ?
+ if ((map = malloc(mapsize, M_DEVBUF, (flags & BUS_DMA_NOWAIT) ?
(M_NOWAIT | M_ZERO) : (M_WAITOK | M_ZERO))) == NULL)
return (ENOMEM);
- DPRINTF(("bus_dmamap_create: dmamp = %p\n", mapstore));
+ DPRINTF(("bus_dmamap_create: dmamp = %p\n", map));
- map = (bus_dmamap_t)mapstore;
map->_dm_size = size;
map->_dm_segcnt = nsegments;
map->_dm_maxsegsz = maxsegsz;
map->_dm_boundary = boundary;
map->_dm_flags = flags & ~(BUS_DMA_WAITOK|BUS_DMA_NOWAIT);
-
- DMAMAP_RESET(map); /* no valid mappings */
+ map->dm_mapsize = 0; /* no valid mappings */
+ map->dm_nsegs = 0;
*dmamp = map;
@@ -245,7 +236,8 @@ _bus_dmamap_load(bus_dma_tag_t t, bus_dmamap_t map, void
*buf,
DPRINTF(("bus_dmamap_load: t = %p, map = %p, buf = %p, buflen = %ld, p
= %p, flags = %x\n", t, map, buf, buflen, p, flags));
- DMAMAP_RESET(map);
+ map->dm_mapsize = 0;
+ map->dm_nsegs = 0;
if (buflen > map->_dm_size)
return (EINVAL);
@@ -253,7 +245,8 @@ _bus_dmamap_load(bus_dma_tag_t t, bus_dmamap_t map, void
*buf,
error = _bus_dmamap_load_vaddr(t, map, buf, buflen,
p == NULL ? pmap_kernel() : p->p_vmspace->vm_map.pmap);
if (error != 0) {
- DMAMAP_RESET(map); /* no valid mappings */
+ map->dm_mapsize = 0; /* no valid mappings */
+ map->dm_nsegs = 0;
return (error);
}
@@ -272,7 +265,8 @@ _bus_dmamap_load_mbuf(bus_dma_tag_t t, bus_dmamap_t map,
struct mbuf *m0,
struct mbuf *m;
int error;
- DMAMAP_RESET(map);
+ map->dm_mapsize = 0;
+ map->dm_nsegs = 0;
#ifdef DIAGNOSTIC
if ((m0->m_flags & M_PKTHDR) == 0)
@@ -289,7 +283,8 @@ _bus_dmamap_load_mbuf(bus_dma_tag_t t, bus_dmamap_t map,
struct mbuf *m0,
error = _bus_dmamap_load_vaddr(t, map, m->m_data, m->m_len,
pmap_kernel());
if (error != 0) {
- DMAMAP_RESET(map);
+ map->dm_mapsize = 0;
+ map->dm_nsegs = 0;
return (error);
}
}