• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/dev/bhnd/bhndb/

Lines Matching defs:dwa

681 	struct bhndb_dw_alloc	*dwa;
692 dwa = &bus_res->dw_alloc[i];
695 if (bhndb_dw_is_free(bus_res, dwa) && dwa->target == 0x0)
700 error = BHNDB_SET_WINDOW_ADDR(dev, dwa->win, dwa->target);
724 struct bhndb_dw_alloc *dwa;
733 dwa = bhndb_dw_find_resource(sc->bus_res, r);
734 if (dwa == NULL) {
744 bhndb_dw_release(sc->bus_res, dwa, r);
1249 struct bhndb_dw_alloc *dwa;
1259 dwa = bhndb_dw_find_mapping(sc->bus_res, r_start, r_size);
1260 if (dwa != NULL) {
1261 if (bhndb_dw_retain(sc->bus_res, dwa, r) == 0)
1262 return (dwa);
1268 dwa = bhndb_dw_next_free(sc->bus_res);
1269 if (dwa == NULL) {
1275 if (dwa->win->win_size < rman_get_size(r))
1279 error = bhndb_dw_set_addr(sc->dev, sc->bus_res, dwa, rman_get_start(r),
1291 if (bhndb_dw_retain(sc->bus_res, dwa, r))
1294 return (dwa);
1316 struct bhndb_dw_alloc *dwa;
1403 dwa = bhndb_retain_dynamic_window(sc, r);
1406 if (dwa == NULL) {
1413 parent_offset = dwa->win->win_offset;
1414 parent_offset += r_start - dwa->target;
1416 error = bhndb_init_child_resource(r, dwa->parent_res, parent_offset,
1417 dwa->win->win_size);
1430 bhndb_dw_release(sc->bus_res, dwa, r);
1462 struct bhndb_dw_alloc *dwa;
1490 dwa = bhndb_dw_find_resource(sc->bus_res, r);
1491 if (dwa != NULL)
1492 bhndb_dw_release(sc->bus_res, dwa, r);
1667 struct bhndb_dw_alloc *dwa;
1677 if ((dwa = bhndb_dw_next_free(br)) != NULL)
1678 return (dwa);
1686 dwa = &br->dw_alloc[i];
1687 win = dwa->win;
1693 if (addr < dwa->target)
1696 if (addr + size > dwa->target + win->win_size)
1701 return (dwa);
1716 if ((dwa = bhndb_dw_steal(br, restore)) != NULL) {
1718 return (dwa);
1750 struct bhndb_dw_alloc *dwa;
1756 dwa = bhndb_io_resource_get_window(sc, addr, size, &borrowed, stolen,
1761 if (addr < dwa->target ||
1762 addr > dwa->target + dwa->win->win_size ||
1763 (dwa->target + dwa->win->win_size) - addr < size)
1773 error = bhndb_dw_set_addr(sc->dev, sc->bus_res, dwa, addr,
1784 *offset = (addr - dwa->target) + dwa->win->win_offset;
1785 return (dwa);
1795 struct bhndb_dw_alloc *dwa; \
1804 dwa = bhndb_io_resource(sc, rman_get_start(r->res) + \
1806 io_res = dwa->parent_res; \
1817 dwa, restore); \