| 202 | } |
| 203 | |
| 204 | static bool |
| 205 | might_bounce(bus_dma_tag_t dmat, bus_dmamap_t map, bus_addr_t paddr, |
| 206 | bus_size_t size) |
| 207 | { |
| 208 | |
| 209 | /* Memory allocated by bounce_bus_dmamem_alloc won't bounce */ |
| 210 | if (map && (map->flags & DMAMAP_FROM_DMAMEM) != 0) |
| 211 | return (false); |
| 212 | |
| 213 | if ((dmat->bounce_flags & BF_COULD_BOUNCE) != 0) |
| 214 | return (true); |
| 215 | |
| 216 | if (cacheline_bounce(dmat, map, paddr, size)) |
| 217 | return (true); |
| 218 | |
| 219 | if (alignment_bounce(dmat, paddr)) |
| 220 | return (true); |
| 221 | |
| 222 | return (false); |
| 223 | } |
| 224 | |
| 225 | static bool |
| 226 | must_bounce(bus_dma_tag_t dmat, bus_dmamap_t map, bus_addr_t paddr, |
no test coverage detected