Lines Matching refs:dinfo

118 	struct siba_devinfo *dinfo;  in siba_alloc_dinfo()  local
120 dinfo = malloc(sizeof(struct siba_devinfo), M_BHND, M_NOWAIT|M_ZERO); in siba_alloc_dinfo()
121 if (dinfo == NULL) in siba_alloc_dinfo()
124 for (u_int i = 0; i < nitems(dinfo->cfg); i++) { in siba_alloc_dinfo()
125 dinfo->cfg[i] = NULL; in siba_alloc_dinfo()
126 dinfo->cfg_rid[i] = -1; in siba_alloc_dinfo()
129 resource_list_init(&dinfo->resources); in siba_alloc_dinfo()
131 return dinfo; in siba_alloc_dinfo()
146 siba_init_dinfo(device_t dev, struct siba_devinfo *dinfo, in siba_init_dinfo() argument
149 dinfo->core_id = *core_id; in siba_init_dinfo()
192 siba_addrspace_port_count(struct siba_devinfo *dinfo) in siba_addrspace_port_count() argument
195 return min(dinfo->core_id.num_addrspace, 2); in siba_addrspace_port_count()
206 siba_addrspace_region_count(struct siba_devinfo *dinfo, u_int port) in siba_addrspace_region_count() argument
208 u_int num_addrspace = dinfo->core_id.num_addrspace; in siba_addrspace_region_count()
233 siba_is_port_valid(struct siba_devinfo *dinfo, bhnd_port_type type, u_int port) in siba_is_port_valid() argument
240 if (siba_addrspace_port_count(dinfo) <= port) in siba_is_port_valid()
267 siba_find_addrspace(struct siba_devinfo *dinfo, bhnd_port_type type, u_int port, in siba_find_addrspace() argument
272 if (!siba_is_port_valid(dinfo, type, port)) in siba_find_addrspace()
283 if (addridx >= dinfo->core_id.num_addrspace) in siba_find_addrspace()
287 return (&dinfo->addrspace[addridx]); in siba_find_addrspace()
305 siba_append_dinfo_region(struct siba_devinfo *dinfo, uint8_t addridx, in siba_append_dinfo_region() argument
324 if (addridx >= nitems(dinfo->addrspace)) in siba_append_dinfo_region()
328 sa = &dinfo->addrspace[addridx]; in siba_append_dinfo_region()
335 sa->sa_rid = resource_list_add_next(&dinfo->resources, SYS_RES_MEMORY, in siba_append_dinfo_region()
348 siba_free_dinfo(device_t dev, struct siba_devinfo *dinfo) in siba_free_dinfo() argument
350 resource_list_free(&dinfo->resources); in siba_free_dinfo()
353 for (u_int i = 0; i < nitems(dinfo->cfg); i++) { in siba_free_dinfo()
354 if (dinfo->cfg[i] == NULL) in siba_free_dinfo()
357 bhnd_release_resource(dev, SYS_RES_MEMORY, dinfo->cfg_rid[i], in siba_free_dinfo()
358 dinfo->cfg[i]); in siba_free_dinfo()
360 dinfo->cfg[i] = NULL; in siba_free_dinfo()
361 dinfo->cfg_rid[i] = -1; in siba_free_dinfo()
364 free(dinfo, M_BHND); in siba_free_dinfo()