Lines Matching refs:dump
2960 struct ipr_ioa_dump *ioa_dump = &ioa_cfg->dump->ioa_dump; in ipr_sdt_copy()
3124 static void ipr_get_ioa_dump(struct ipr_ioa_cfg *ioa_cfg, struct ipr_dump *dump) in ipr_get_ioa_dump() argument
3128 struct ipr_driver_dump *driver_dump = &dump->driver_dump; in ipr_get_ioa_dump()
3129 struct ipr_ioa_dump *ioa_dump = &dump->ioa_dump; in ipr_get_ioa_dump()
3223 dump->driver_dump.hdr.len += sizeof(struct ipr_sdt_header); in ipr_get_ioa_dump()
3225 dump->driver_dump.hdr.len += num_entries * sizeof(struct ipr_sdt_entry); in ipr_get_ioa_dump()
3227 dump->driver_dump.hdr.len += max_num_entries * sizeof(struct ipr_sdt_entry); in ipr_get_ioa_dump()
3280 #define ipr_get_ioa_dump(ioa_cfg, dump) do { } while (0) argument
3292 struct ipr_dump *dump = container_of(kref, struct ipr_dump, kref); in ipr_release_dump() local
3293 struct ipr_ioa_cfg *ioa_cfg = dump->ioa_cfg; in ipr_release_dump()
3299 ioa_cfg->dump = NULL; in ipr_release_dump()
3303 for (i = 0; i < dump->ioa_dump.next_page_index; i++) in ipr_release_dump()
3304 free_page((unsigned long) dump->ioa_dump.ioa_data[i]); in ipr_release_dump()
3306 vfree(dump->ioa_dump.ioa_data); in ipr_release_dump()
3307 kfree(dump); in ipr_release_dump()
3384 struct ipr_dump *dump; in ipr_worker_thread() local
3392 dump = ioa_cfg->dump; in ipr_worker_thread()
3393 if (!dump) { in ipr_worker_thread()
3397 kref_get(&dump->kref); in ipr_worker_thread()
3399 ipr_get_ioa_dump(ioa_cfg, dump); in ipr_worker_thread()
3400 kref_put(&dump->kref, ipr_release_dump); in ipr_worker_thread()
4276 struct ipr_dump *dump; in ipr_read_dump() local
4286 dump = ioa_cfg->dump; in ipr_read_dump()
4288 if (ioa_cfg->sdt_state != DUMP_OBTAINED || !dump) { in ipr_read_dump()
4292 kref_get(&dump->kref); in ipr_read_dump()
4295 if (off > dump->driver_dump.hdr.len) { in ipr_read_dump()
4296 kref_put(&dump->kref, ipr_release_dump); in ipr_read_dump()
4300 if (off + count > dump->driver_dump.hdr.len) { in ipr_read_dump()
4301 count = dump->driver_dump.hdr.len - off; in ipr_read_dump()
4305 if (count && off < sizeof(dump->driver_dump)) { in ipr_read_dump()
4306 if (off + count > sizeof(dump->driver_dump)) in ipr_read_dump()
4307 len = sizeof(dump->driver_dump) - off; in ipr_read_dump()
4310 src = (u8 *)&dump->driver_dump + off; in ipr_read_dump()
4317 off -= sizeof(dump->driver_dump); in ipr_read_dump()
4321 (be32_to_cpu(dump->ioa_dump.sdt.hdr.num_entries_used) * in ipr_read_dump()
4332 src = (u8 *)&dump->ioa_dump + off; in ipr_read_dump()
4346 src = (u8 *)dump->ioa_dump.ioa_data[(off & PAGE_MASK) >> PAGE_SHIFT]; in ipr_read_dump()
4354 kref_put(&dump->kref, ipr_release_dump); in ipr_read_dump()
4367 struct ipr_dump *dump; in ipr_alloc_dump() local
4371 dump = kzalloc(sizeof(struct ipr_dump), GFP_KERNEL); in ipr_alloc_dump()
4373 if (!dump) { in ipr_alloc_dump()
4385 kfree(dump); in ipr_alloc_dump()
4389 dump->ioa_dump.ioa_data = ioa_data; in ipr_alloc_dump()
4391 kref_init(&dump->kref); in ipr_alloc_dump()
4392 dump->ioa_cfg = ioa_cfg; in ipr_alloc_dump()
4398 vfree(dump->ioa_dump.ioa_data); in ipr_alloc_dump()
4399 kfree(dump); in ipr_alloc_dump()
4403 ioa_cfg->dump = dump; in ipr_alloc_dump()
4423 struct ipr_dump *dump; in ipr_free_dump() local
4429 dump = ioa_cfg->dump; in ipr_free_dump()
4430 if (!dump) { in ipr_free_dump()
4435 ioa_cfg->dump = NULL; in ipr_free_dump()
4438 kref_put(&dump->kref, ipr_release_dump); in ipr_free_dump()