Lines Matching refs:dwa
662 struct bhndb_dw_alloc *dwa; in bhndb_generic_resume() local
673 dwa = &bus_res->dw_alloc[i]; in bhndb_generic_resume()
676 if (bhndb_dw_is_free(bus_res, dwa) && dwa->target == 0x0) in bhndb_generic_resume()
681 error = BHNDB_SET_WINDOW_ADDR(dev, dwa->win, dwa->target); in bhndb_generic_resume()
705 struct bhndb_dw_alloc *dwa; in bhndb_suspend_resource() local
714 dwa = bhndb_dw_find_resource(sc->bus_res, r); in bhndb_suspend_resource()
715 if (dwa == NULL) { in bhndb_suspend_resource()
725 bhndb_dw_release(sc->bus_res, dwa, r); in bhndb_suspend_resource()
1229 struct bhndb_dw_alloc *dwa; in bhndb_retain_dynamic_window() local
1239 dwa = bhndb_dw_find_mapping(sc->bus_res, r_start, r_size); in bhndb_retain_dynamic_window()
1240 if (dwa != NULL) { in bhndb_retain_dynamic_window()
1241 if (bhndb_dw_retain(sc->bus_res, dwa, r) == 0) in bhndb_retain_dynamic_window()
1242 return (dwa); in bhndb_retain_dynamic_window()
1248 dwa = bhndb_dw_next_free(sc->bus_res); in bhndb_retain_dynamic_window()
1249 if (dwa == NULL) { in bhndb_retain_dynamic_window()
1255 if (dwa->win->win_size < rman_get_size(r)) in bhndb_retain_dynamic_window()
1259 error = bhndb_dw_set_addr(sc->dev, sc->bus_res, dwa, rman_get_start(r), in bhndb_retain_dynamic_window()
1271 if (bhndb_dw_retain(sc->bus_res, dwa, r)) in bhndb_retain_dynamic_window()
1274 return (dwa); in bhndb_retain_dynamic_window()
1294 struct bhndb_dw_alloc *dwa; in bhndb_try_activate_resource() local
1381 dwa = bhndb_retain_dynamic_window(sc, r); in bhndb_try_activate_resource()
1384 if (dwa == NULL) { in bhndb_try_activate_resource()
1391 parent_offset = dwa->win->win_offset; in bhndb_try_activate_resource()
1392 parent_offset += r_start - dwa->target; in bhndb_try_activate_resource()
1394 error = bhndb_init_child_resource(r, dwa->parent_res, parent_offset, in bhndb_try_activate_resource()
1395 dwa->win->win_size); in bhndb_try_activate_resource()
1408 bhndb_dw_release(sc->bus_res, dwa, r); in bhndb_try_activate_resource()
1438 struct bhndb_dw_alloc *dwa; in bhndb_deactivate_resource() local
1467 dwa = bhndb_dw_find_resource(sc->bus_res, r); in bhndb_deactivate_resource()
1468 if (dwa != NULL) in bhndb_deactivate_resource()
1469 bhndb_dw_release(sc->bus_res, dwa, r); in bhndb_deactivate_resource()
1643 struct bhndb_dw_alloc *dwa; in bhndb_io_resource_get_window() local
1653 if ((dwa = bhndb_dw_next_free(br)) != NULL) in bhndb_io_resource_get_window()
1654 return (dwa); in bhndb_io_resource_get_window()
1662 dwa = &br->dw_alloc[i]; in bhndb_io_resource_get_window()
1663 win = dwa->win; in bhndb_io_resource_get_window()
1669 if (addr < dwa->target) in bhndb_io_resource_get_window()
1672 if (addr + size > dwa->target + win->win_size) in bhndb_io_resource_get_window()
1677 return (dwa); in bhndb_io_resource_get_window()
1692 if ((dwa = bhndb_dw_steal(br, restore)) != NULL) { in bhndb_io_resource_get_window()
1694 return (dwa); in bhndb_io_resource_get_window()
1726 struct bhndb_dw_alloc *dwa; in bhndb_io_resource() local
1732 dwa = bhndb_io_resource_get_window(sc, addr, size, &borrowed, stolen, in bhndb_io_resource()
1737 if (addr < dwa->target || in bhndb_io_resource()
1738 addr > dwa->target + dwa->win->win_size || in bhndb_io_resource()
1739 (dwa->target + dwa->win->win_size) - addr < size) in bhndb_io_resource()
1749 error = bhndb_dw_set_addr(sc->dev, sc->bus_res, dwa, addr, in bhndb_io_resource()
1760 *offset = (addr - dwa->target) + dwa->win->win_offset; in bhndb_io_resource()
1761 return (dwa); in bhndb_io_resource()
1771 struct bhndb_dw_alloc *dwa; \
1780 dwa = bhndb_io_resource(sc, rman_get_start(r->res) + \
1782 io_res = dwa->parent_res; \
1793 dwa, restore); \