Symbol: rd_dev
arch/arm64/kvm/vgic/vgic-mmio-v3.c
1152
struct vgic_io_device rd_dev = {
arch/arm64/kvm/vgic/vgic-mmio-v3.c
1157
return vgic_uaccess(vcpu, &rd_dev, is_write, offset, val);
arch/arm64/kvm/vgic/vgic-mmio-v3.c
783
struct vgic_io_device *rd_dev = &vcpu->arch.vgic_cpu.rd_iodev;
arch/arm64/kvm/vgic/vgic-mmio-v3.c
814
kvm_iodevice_init(&rd_dev->dev, &kvm_io_gic_ops);
arch/arm64/kvm/vgic/vgic-mmio-v3.c
815
rd_dev->base_addr = rd_base;
arch/arm64/kvm/vgic/vgic-mmio-v3.c
816
rd_dev->iodev_type = IODEV_REDIST;
arch/arm64/kvm/vgic/vgic-mmio-v3.c
817
rd_dev->regions = vgic_v3_rd_registers;
arch/arm64/kvm/vgic/vgic-mmio-v3.c
818
rd_dev->nr_regions = ARRAY_SIZE(vgic_v3_rd_registers);
arch/arm64/kvm/vgic/vgic-mmio-v3.c
819
rd_dev->redist_vcpu = vcpu;
arch/arm64/kvm/vgic/vgic-mmio-v3.c
824
2 * SZ_64K, &rd_dev->dev);
arch/arm64/kvm/vgic/vgic-mmio-v3.c
839
struct vgic_io_device *rd_dev = &vcpu->arch.vgic_cpu.rd_iodev;
arch/arm64/kvm/vgic/vgic-mmio-v3.c
841
kvm_io_bus_unregister_dev(vcpu->kvm, KVM_MMIO_BUS, &rd_dev->dev);
drivers/target/target_core_rd.c
100
rd_dev->rd_host->rd_host_id, rd_dev->rd_dev_id, page_count,
drivers/target/target_core_rd.c
101
rd_dev->sg_table_count, (unsigned long)page_count * PAGE_SIZE);
drivers/target/target_core_rd.c
103
rd_dev->sg_table_array = NULL;
drivers/target/target_core_rd.c
104
rd_dev->sg_table_count = 0;
drivers/target/target_core_rd.c
112
static int rd_allocate_sgl_table(struct rd_dev *rd_dev, struct rd_dev_sg_table *sg_table,
drivers/target/target_core_rd.c
173
static int rd_build_device_space(struct rd_dev *rd_dev)
drivers/target/target_core_rd.c
181
if (rd_dev->rd_page_count <= 0) {
drivers/target/target_core_rd.c
183
rd_dev->rd_page_count);
drivers/target/target_core_rd.c
188
if (rd_dev->rd_flags & RDF_NULLIO)
drivers/target/target_core_rd.c
191
total_sg_needed = rd_dev->rd_page_count;
drivers/target/target_core_rd.c
198
rd_dev->sg_table_array = sg_table;
drivers/target/target_core_rd.c
199
rd_dev->sg_table_count = sg_tables;
drivers/target/target_core_rd.c
201
rc = rd_allocate_sgl_table(rd_dev, sg_table, total_sg_needed, 0x00);
drivers/target/target_core_rd.c
206
" %u pages in %u tables\n", rd_dev->rd_host->rd_host_id,
drivers/target/target_core_rd.c
207
rd_dev->rd_dev_id, rd_dev->rd_page_count,
drivers/target/target_core_rd.c
208
rd_dev->sg_table_count);
drivers/target/target_core_rd.c
213
static void rd_release_prot_space(struct rd_dev *rd_dev)
drivers/target/target_core_rd.c
217
if (!rd_dev->sg_prot_array || !rd_dev->sg_prot_count)
drivers/target/target_core_rd.c
220
page_count = rd_release_sgl_table(rd_dev, rd_dev->sg_prot_array,
drivers/target/target_core_rd.c
221
rd_dev->sg_prot_count);
drivers/target/target_core_rd.c
225
rd_dev->rd_host->rd_host_id, rd_dev->rd_dev_id, page_count,
drivers/target/target_core_rd.c
226
rd_dev->sg_table_count, (unsigned long)page_count * PAGE_SIZE);
drivers/target/target_core_rd.c
228
rd_dev->sg_prot_array = NULL;
drivers/target/target_core_rd.c
229
rd_dev->sg_prot_count = 0;
drivers/target/target_core_rd.c
232
static int rd_build_prot_space(struct rd_dev *rd_dev, int prot_length, int block_size)
drivers/target/target_core_rd.c
240
if (rd_dev->rd_flags & RDF_NULLIO)
drivers/target/target_core_rd.c
248
total_sg_needed = (rd_dev->rd_page_count * prot_length / block_size) + 1;
drivers/target/target_core_rd.c
255
rd_dev->sg_prot_array = sg_table;
drivers/target/target_core_rd.c
256
rd_dev->sg_prot_count = sg_tables;
drivers/target/target_core_rd.c
258
rc = rd_allocate_sgl_table(rd_dev, sg_table, total_sg_needed, 0xff);
drivers/target/target_core_rd.c
263
" %u pages in %u tables\n", rd_dev->rd_host->rd_host_id,
drivers/target/target_core_rd.c
264
rd_dev->rd_dev_id, total_sg_needed, rd_dev->sg_prot_count);
drivers/target/target_core_rd.c
271
struct rd_dev *rd_dev;
drivers/target/target_core_rd.c
274
rd_dev = kzalloc_obj(*rd_dev);
drivers/target/target_core_rd.c
275
if (!rd_dev)
drivers/target/target_core_rd.c
278
rd_dev->rd_host = rd_host;
drivers/target/target_core_rd.c
28
static inline struct rd_dev *RD_DEV(struct se_device *dev)
drivers/target/target_core_rd.c
280
return &rd_dev->dev;
drivers/target/target_core_rd.c
285
struct rd_dev *rd_dev = RD_DEV(dev);
drivers/target/target_core_rd.c
289
if (!(rd_dev->rd_flags & RDF_HAS_PAGE_COUNT)) {
drivers/target/target_core_rd.c
294
ret = rd_build_device_space(rd_dev);
drivers/target/target_core_rd.c
30
return container_of(dev, struct rd_dev, dev);
drivers/target/target_core_rd.c
303
rd_dev->rd_dev_id = rd_host->rd_host_dev_id_count++;
drivers/target/target_core_rd.c
307
rd_host->rd_host_id, rd_dev->rd_dev_id, rd_dev->rd_page_count,
drivers/target/target_core_rd.c
308
rd_dev->sg_table_count,
drivers/target/target_core_rd.c
309
(unsigned long)(rd_dev->rd_page_count * PAGE_SIZE));
drivers/target/target_core_rd.c
314
rd_release_device_space(rd_dev);
drivers/target/target_core_rd.c
321
struct rd_dev *rd_dev = RD_DEV(dev);
drivers/target/target_core_rd.c
323
kfree(rd_dev);
drivers/target/target_core_rd.c
333
struct rd_dev *rd_dev = RD_DEV(dev);
drivers/target/target_core_rd.c
335
rd_release_device_space(rd_dev);
drivers/target/target_core_rd.c
338
static struct rd_dev_sg_table *rd_get_sg_table(struct rd_dev *rd_dev, u32 page)
drivers/target/target_core_rd.c
345
if (i < rd_dev->sg_table_count) {
drivers/target/target_core_rd.c
346
sg_table = &rd_dev->sg_table_array[i];
drivers/target/target_core_rd.c
358
static struct rd_dev_sg_table *rd_get_prot_table(struct rd_dev *rd_dev, u32 page)
drivers/target/target_core_rd.c
365
if (i < rd_dev->sg_prot_count) {
drivers/target/target_core_rd.c
366
sg_table = &rd_dev->sg_prot_array[i];
drivers/target/target_core_rd.c
381
struct rd_dev *dev = RD_DEV(se_dev);
drivers/target/target_core_rd.c
420
struct rd_dev *dev = RD_DEV(se_dev);
drivers/target/target_core_rd.c
545
struct rd_dev *rd_dev = RD_DEV(dev);
drivers/target/target_core_rd.c
564
rd_dev->rd_page_count = arg;
drivers/target/target_core_rd.c
566
" Count: %u\n", rd_dev->rd_page_count);
drivers/target/target_core_rd.c
567
rd_dev->rd_flags |= RDF_HAS_PAGE_COUNT;
drivers/target/target_core_rd.c
575
rd_dev->rd_flags |= RDF_NULLIO;
drivers/target/target_core_rd.c
583
rd_dev->rd_flags |= RDF_DUMMY;
drivers/target/target_core_rd.c
596
struct rd_dev *rd_dev = RD_DEV(dev);
drivers/target/target_core_rd.c
599
rd_dev->rd_dev_id);
drivers/target/target_core_rd.c
602
rd_dev->rd_page_count,
drivers/target/target_core_rd.c
603
PAGE_SIZE, rd_dev->sg_table_count,
drivers/target/target_core_rd.c
604
!!(rd_dev->rd_flags & RDF_NULLIO),
drivers/target/target_core_rd.c
605
!!(rd_dev->rd_flags & RDF_DUMMY));
drivers/target/target_core_rd.c
619
struct rd_dev *rd_dev = RD_DEV(dev);
drivers/target/target_core_rd.c
621
unsigned long long blocks_long = ((rd_dev->rd_page_count * PAGE_SIZE) /
drivers/target/target_core_rd.c
629
struct rd_dev *rd_dev = RD_DEV(dev);
drivers/target/target_core_rd.c
63
static u32 rd_release_sgl_table(struct rd_dev *rd_dev, struct rd_dev_sg_table *sg_table,
drivers/target/target_core_rd.c
634
return rd_build_prot_space(rd_dev, dev->prot_length,
drivers/target/target_core_rd.c
640
struct rd_dev *rd_dev = RD_DEV(dev);
drivers/target/target_core_rd.c
642
rd_release_prot_space(rd_dev);
drivers/target/target_core_rd.c
88
static void rd_release_device_space(struct rd_dev *rd_dev)
drivers/target/target_core_rd.c
92
if (!rd_dev->sg_table_array || !rd_dev->sg_table_count)
drivers/target/target_core_rd.c
95
page_count = rd_release_sgl_table(rd_dev, rd_dev->sg_table_array,
drivers/target/target_core_rd.c
96
rd_dev->sg_table_count);