/linux/drivers/accel/ivpu/ |
H A D | ivpu_pm.c | 38 static void ivpu_pm_prepare_cold_boot(struct ivpu_device *vdev) in ivpu_pm_prepare_cold_boot() argument 40 struct ivpu_fw_info *fw = vdev->fw; in ivpu_pm_prepare_cold_boot() 42 ivpu_cmdq_reset_all_contexts(vdev); in ivpu_pm_prepare_cold_boot() 43 ivpu_ipc_reset(vdev); in ivpu_pm_prepare_cold_boot() 44 ivpu_fw_log_reset(vdev); in ivpu_pm_prepare_cold_boot() 45 ivpu_fw_load(vdev); in ivpu_pm_prepare_cold_boot() 49 static void ivpu_pm_prepare_warm_boot(struct ivpu_device *vdev) in ivpu_pm_prepare_warm_boot() argument 51 struct ivpu_fw_info *fw = vdev->fw; in ivpu_pm_prepare_warm_boot() 55 ivpu_pm_prepare_cold_boot(vdev); in ivpu_pm_prepare_warm_boot() 59 ivpu_dbg(vdev, FW_BOOT, "Save/restore entry point %llx", bp->save_restore_ret_address); in ivpu_pm_prepare_warm_boot() [all …]
|
H A D | ivpu_drv.c | 72 struct ivpu_device *vdev = file_priv->vdev; in ivpu_file_priv_get() local 76 ivpu_dbg(vdev, KREF, "file_priv get: ctx %u refcount %u\n", in ivpu_file_priv_get() 82 static void file_priv_unbind(struct ivpu_device *vdev, struct ivpu_file_priv *file_priv) in file_priv_unbind() argument 86 ivpu_dbg(vdev, FILE, "file_priv unbind: ctx %u\n", file_priv->ctx.id); in file_priv_unbind() 89 ivpu_bo_unbind_all_bos_from_context(vdev, &file_priv->ctx); in file_priv_unbind() 90 ivpu_mmu_context_fini(vdev, &file_priv->ctx); in file_priv_unbind() 92 drm_WARN_ON(&vdev->drm, !xa_erase_irq(&vdev->context_xa, file_priv->ctx.id)); in file_priv_unbind() 100 struct ivpu_device *vdev = file_priv->vdev; in file_priv_release() local 102 ivpu_dbg(vdev, FILE, "file_priv release: ctx %u bound %d\n", in file_priv_release() 105 pm_runtime_get_sync(vdev->drm.dev); in file_priv_release() [all …]
|
H A D | ivpu_fw.c | 36 #define IVPU_FW_CHECK_API_COMPAT(vdev, fw_hdr, name, min_major) \ argument 37 ivpu_fw_check_api(vdev, fw_hdr, #name, \ 43 #define IVPU_FW_CHECK_API_VER_LT(vdev, fw_hdr, name, major, minor) \ argument 44 ivpu_fw_check_api_ver_lt(vdev, fw_hdr, #name, VPU_##name##_API_VER_INDEX, major, minor) 71 static int ivpu_fw_request(struct ivpu_device *vdev) in ivpu_fw_request() argument 77 ret = request_firmware(&vdev->fw->file, ivpu_firmware, vdev->drm.dev); in ivpu_fw_request() 79 vdev->fw->name = ivpu_firmware; in ivpu_fw_request() 84 if (fw_names[i].gen != ivpu_hw_ip_gen(vdev)) in ivpu_fw_request() 87 ret = firmware_request_nowarn(&vdev->fw->file, fw_names[i].name, vdev->drm.dev); in ivpu_fw_request() 89 vdev->fw->name = fw_names[i].name; in ivpu_fw_request() [all …]
|
H A D | ivpu_hw_btrs.c | 63 static u32 pll_ratio_to_dpu_freq(struct ivpu_device *vdev, u32 ratio); 65 int ivpu_hw_btrs_irqs_clear_with_0_mtl(struct ivpu_device *vdev) in ivpu_hw_btrs_irqs_clear_with_0_mtl() argument 77 static void freq_ratios_init_mtl(struct ivpu_device *vdev) in freq_ratios_init_mtl() argument 79 struct ivpu_hw_info *hw = vdev->hw; in freq_ratios_init_mtl() 90 static void freq_ratios_init_lnl(struct ivpu_device *vdev) in freq_ratios_init_lnl() argument 92 struct ivpu_hw_info *hw = vdev->hw; in freq_ratios_init_lnl() 103 void ivpu_hw_btrs_freq_ratios_init(struct ivpu_device *vdev) in ivpu_hw_btrs_freq_ratios_init() argument 105 struct ivpu_hw_info *hw = vdev->hw; in ivpu_hw_btrs_freq_ratios_init() 107 if (ivpu_hw_btrs_gen(vdev) == IVPU_HW_BTRS_MTL) in ivpu_hw_btrs_freq_ratios_init() 108 freq_ratios_init_mtl(vdev); in ivpu_hw_btrs_freq_ratios_init() [all …]
|
H A D | ivpu_hw.h | 20 bool (*btrs_irq_handler)(struct ivpu_device *vdev, int irq); 21 bool (*ip_irq_handler)(struct ivpu_device *vdev, int irq); 53 int ivpu_hw_init(struct ivpu_device *vdev); 54 int ivpu_hw_power_up(struct ivpu_device *vdev); 55 int ivpu_hw_power_down(struct ivpu_device *vdev); 56 int ivpu_hw_reset(struct ivpu_device *vdev); 57 int ivpu_hw_boot_fw(struct ivpu_device *vdev); 58 void ivpu_hw_profiling_freq_drive(struct ivpu_device *vdev, bool enable); 59 void ivpu_irq_handlers_init(struct ivpu_device *vdev); 60 void ivpu_hw_irq_enable(struct ivpu_device *vdev); [all …]
|
H A D | ivpu_job.c | 29 static void ivpu_cmdq_ring_db(struct ivpu_device *vdev, struct ivpu_cmdq *cmdq) in ivpu_cmdq_ring_db() argument 31 ivpu_hw_db_set(vdev, cmdq->db_id); in ivpu_cmdq_ring_db() 34 static int ivpu_preemption_buffers_create(struct ivpu_device *vdev, in ivpu_preemption_buffers_create() argument 37 u64 primary_size = ALIGN(vdev->fw->primary_preempt_buf_size, PAGE_SIZE); in ivpu_preemption_buffers_create() 38 u64 secondary_size = ALIGN(vdev->fw->secondary_preempt_buf_size, PAGE_SIZE); in ivpu_preemption_buffers_create() 40 if (vdev->fw->sched_mode != VPU_SCHEDULING_MODE_HW || in ivpu_preemption_buffers_create() 44 cmdq->primary_preempt_buf = ivpu_bo_create(vdev, &file_priv->ctx, &vdev->hw->ranges.user, in ivpu_preemption_buffers_create() 47 ivpu_err(vdev, "Failed to create primary preemption buffer\n"); in ivpu_preemption_buffers_create() 51 cmdq->secondary_preempt_buf = ivpu_bo_create(vdev, &file_priv->ctx, &vdev->hw->ranges.dma, in ivpu_preemption_buffers_create() 54 ivpu_err(vdev, "Failed to create secondary preemption buffer\n"); in ivpu_preemption_buffers_create() [all …]
|
H A D | ivpu_hw_btrs.h | 20 int ivpu_hw_btrs_info_init(struct ivpu_device *vdev); 21 void ivpu_hw_btrs_freq_ratios_init(struct ivpu_device *vdev); 22 int ivpu_hw_btrs_irqs_clear_with_0_mtl(struct ivpu_device *vdev); 23 int ivpu_hw_btrs_wp_drive(struct ivpu_device *vdev, bool enable); 24 int ivpu_hw_btrs_wait_for_clock_res_own_ack(struct ivpu_device *vdev); 25 int ivpu_hw_btrs_d0i3_enable(struct ivpu_device *vdev); 26 int ivpu_hw_btrs_d0i3_disable(struct ivpu_device *vdev); 27 void ivpu_hw_btrs_set_port_arbitration_weights_lnl(struct ivpu_device *vdev); 28 bool ivpu_hw_btrs_is_idle(struct ivpu_device *vdev); 29 int ivpu_hw_btrs_wait_for_idle(struct ivpu_device *vdev); [all …]
|
H A D | ivpu_hw_ip.h | 11 int ivpu_hw_ip_host_ss_configure(struct ivpu_device *vdev); 12 void ivpu_hw_ip_idle_gen_enable(struct ivpu_device *vdev); 13 void ivpu_hw_ip_idle_gen_disable(struct ivpu_device *vdev); 14 int ivpu_hw_ip_pwr_domain_enable(struct ivpu_device *vdev); 15 int ivpu_hw_ip_host_ss_axi_enable(struct ivpu_device *vdev); 16 int ivpu_hw_ip_top_noc_enable(struct ivpu_device *vdev); 17 u64 ivpu_hw_ip_read_perf_timer_counter(struct ivpu_device *vdev); 18 void ivpu_hw_ip_snoop_disable(struct ivpu_device *vdev); 19 void ivpu_hw_ip_tbu_mmu_enable(struct ivpu_device *vdev); 20 int ivpu_hw_ip_soc_cpu_boot(struct ivpu_device *vdev); [all …]
|
/linux/drivers/net/ethernet/cisco/enic/ |
H A D | vnic_dev.c | 26 void *vnic_dev_priv(struct vnic_dev *vdev) in vnic_dev_priv() argument 28 return vdev->priv; in vnic_dev_priv() 31 static int vnic_dev_discover_res(struct vnic_dev *vdev, in vnic_dev_discover_res() argument 43 vdev_err(vdev, "vNIC BAR0 res hdr length error\n"); in vnic_dev_discover_res() 50 vdev_err(vdev, "vNIC BAR0 res hdr not mem-mapped\n"); in vnic_dev_discover_res() 59 vdev_err(vdev, "vNIC BAR0 res magic/version error exp (%lx/%lx) or (%lx/%lx), curr (%x/%x)\n", in vnic_dev_discover_res() 96 vdev_err(vdev, "vNIC BAR0 resource %d out-of-bounds, offset 0x%x + size 0x%x > bar len 0x%lx\n", in vnic_dev_discover_res() 111 vdev->res[type].count = count; in vnic_dev_discover_res() 112 vdev->res[type].vaddr = (char __iomem *)bar[bar_num].vaddr + in vnic_dev_discover_res() 114 vdev->res[type].bus_addr = bar[bar_num].bus_addr + bar_offset; in vnic_dev_discover_res() [all …]
|
H A D | vnic_dev.h | 103 int (*devcmd_rtn)(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, 109 void *vnic_dev_priv(struct vnic_dev *vdev); 110 unsigned int vnic_dev_get_res_count(struct vnic_dev *vdev, 112 void __iomem *vnic_dev_get_res(struct vnic_dev *vdev, enum vnic_res_type type, 115 int vnic_dev_alloc_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring, 117 void vnic_dev_free_desc_ring(struct vnic_dev *vdev, 119 int vnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, 121 void vnic_dev_cmd_proxy_by_index_start(struct vnic_dev *vdev, u16 index); 122 void vnic_dev_cmd_proxy_end(struct vnic_dev *vdev); 123 int vnic_dev_fw_info(struct vnic_dev *vdev, [all …]
|
/linux/drivers/scsi/fnic/ |
H A D | vnic_dev.c | 61 int (*devcmd_rtn)(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, 70 void *vnic_dev_priv(struct vnic_dev *vdev) in vnic_dev_priv() argument 72 return vdev->priv; in vnic_dev_priv() 75 static int vnic_dev_discover_res(struct vnic_dev *vdev, in vnic_dev_discover_res() argument 142 vdev->res[type].count = count; in vnic_dev_discover_res() 143 vdev->res[type].vaddr = (char __iomem *)bar->vaddr + bar_offset; in vnic_dev_discover_res() 147 vdev->res[RES_TYPE_WQ].count, vdev->res[RES_TYPE_RQ].count, in vnic_dev_discover_res() 148 vdev->res[RES_TYPE_CQ].count, vdev->res[RES_TYPE_INTR_CTRL].count); in vnic_dev_discover_res() 153 unsigned int vnic_dev_get_res_count(struct vnic_dev *vdev, in vnic_dev_get_res_count() argument 156 return vdev->res[type].count; in vnic_dev_get_res_count() [all …]
|
H A D | vnic_dev.h | 100 void *vnic_dev_priv(struct vnic_dev *vdev); 101 unsigned int vnic_dev_get_res_count(struct vnic_dev *vdev, 103 void __iomem *vnic_dev_get_res(struct vnic_dev *vdev, enum vnic_res_type type, 109 int vnic_dev_alloc_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring, 111 void vnic_dev_free_desc_ring(struct vnic_dev *vdev, 113 int vnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, 115 int vnic_dev_fw_info(struct vnic_dev *vdev, 117 int vnic_dev_spec(struct vnic_dev *vdev, unsigned int offset, 119 int vnic_dev_stats_clear(struct vnic_dev *vdev); 120 int vnic_dev_cmd_init(struct vnic_dev *vdev); [all …]
|
/linux/include/linux/ |
H A D | virtio_config.h | 43 * vdev: the virtio_device 48 * vdev: the virtio_device 53 * vdev: the virtio_device 56 * vdev: the virtio_device 59 * vdev: the virtio_device 62 * vdev: the virtio device 67 * vdev: the virtio_device 77 * vdev: the virtio_device 79 * vdev: the virtio_device 82 * vdev: the virtio_device [all …]
|
H A D | vdpa.h | 140 * @vdev: vdpa device 147 * @vdev: vdpa device 151 * @vdev: vdpa device 155 * @vdev: vdpa device 163 * @vdev: vdpa device 165 * @cb: virtio-vdev interrupt callback structure 167 * @vdev: vdpa device 171 * @vdev: vdpa device 175 * @vdev: vdpa device 180 * @vdev: vdpa device [all …]
|
/linux/drivers/scsi/snic/ |
H A D | vnic_dev.c | 54 int (*devcmd_rtn)(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, 63 void *svnic_dev_priv(struct vnic_dev *vdev) in svnic_dev_priv() argument 65 return vdev->priv; in svnic_dev_priv() 68 static int vnic_dev_discover_res(struct vnic_dev *vdev, in vnic_dev_discover_res() argument 144 vdev->res[type].count = count; in vnic_dev_discover_res() 145 vdev->res[type].vaddr = (char __iomem *)bar->vaddr + bar_offset; in vnic_dev_discover_res() 151 unsigned int svnic_dev_get_res_count(struct vnic_dev *vdev, in svnic_dev_get_res_count() argument 154 return vdev->res[type].count; in svnic_dev_get_res_count() 157 void __iomem *svnic_dev_get_res(struct vnic_dev *vdev, enum vnic_res_type type, in svnic_dev_get_res() argument 160 if (!vdev->res[type].vaddr) in svnic_dev_get_res() [all …]
|
H A D | vnic_dev.h | 56 void *svnic_dev_priv(struct vnic_dev *vdev); 57 unsigned int svnic_dev_get_res_count(struct vnic_dev *vdev, 59 void __iomem *svnic_dev_get_res(struct vnic_dev *vdev, enum vnic_res_type type, 65 int svnic_dev_alloc_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring, 67 void svnic_dev_free_desc_ring(struct vnic_dev *vdev, 69 int svnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, 71 int svnic_dev_fw_info(struct vnic_dev *vdev, 73 int svnic_dev_spec(struct vnic_dev *vdev, unsigned int offset, 75 int svnic_dev_stats_clear(struct vnic_dev *vdev); 76 int svnic_dev_stats_dump(struct vnic_dev *vdev, struct vnic_stats **stats); [all …]
|
/linux/drivers/vfio/cdx/ |
H A D | main.c | 13 struct vfio_cdx_device *vdev = in vfio_cdx_open_device() local 14 container_of(core_vdev, struct vfio_cdx_device, vdev); in vfio_cdx_open_device() 19 vdev->regions = kcalloc(count, sizeof(struct vfio_cdx_region), in vfio_cdx_open_device() 21 if (!vdev->regions) in vfio_cdx_open_device() 27 vdev->regions[i].addr = res->start; in vfio_cdx_open_device() 28 vdev->regions[i].size = resource_size(res); in vfio_cdx_open_device() 29 vdev->regions[i].type = res->flags; in vfio_cdx_open_device() 34 if (!(vdev->regions[i].addr & ~PAGE_MASK) && in vfio_cdx_open_device() 35 !(vdev->regions[i].size & ~PAGE_MASK)) in vfio_cdx_open_device() 36 vdev->regions[i].flags |= in vfio_cdx_open_device() [all …]
|
/linux/drivers/vfio/platform/ |
H A D | vfio_platform_irq.c | 41 static int vfio_platform_set_irq_mask(struct vfio_platform_device *vdev, in vfio_platform_set_irq_mask() argument 49 if (!(vdev->irqs[index].flags & VFIO_IRQ_INFO_MASKABLE)) in vfio_platform_set_irq_mask() 56 return vfio_virqfd_enable((void *) &vdev->irqs[index], in vfio_platform_set_irq_mask() 59 &vdev->irqs[index].mask, fd); in vfio_platform_set_irq_mask() 61 vfio_virqfd_disable(&vdev->irqs[index].mask); in vfio_platform_set_irq_mask() 66 vfio_platform_mask(&vdev->irqs[index]); in vfio_platform_set_irq_mask() 72 vfio_platform_mask(&vdev->irqs[index]); in vfio_platform_set_irq_mask() 101 static int vfio_platform_set_irq_unmask(struct vfio_platform_device *vdev, in vfio_platform_set_irq_unmask() argument 109 if (!(vdev->irqs[index].flags & VFIO_IRQ_INFO_MASKABLE)) in vfio_platform_set_irq_unmask() 116 return vfio_virqfd_enable((void *) &vdev->irqs[index], in vfio_platform_set_irq_unmask() [all …]
|
H A D | vfio_amba.c | 21 static struct resource *get_amba_resource(struct vfio_platform_device *vdev, in get_amba_resource() argument 24 struct amba_device *adev = (struct amba_device *) vdev->opaque; in get_amba_resource() 32 static int get_amba_irq(struct vfio_platform_device *vdev, int i) in get_amba_irq() argument 34 struct amba_device *adev = (struct amba_device *) vdev->opaque; in get_amba_irq() 46 struct vfio_platform_device *vdev = in vfio_amba_init_dev() local 47 container_of(core_vdev, struct vfio_platform_device, vdev); in vfio_amba_init_dev() 51 vdev->name = kasprintf(GFP_KERNEL, "vfio-amba-%08x", adev->periphid); in vfio_amba_init_dev() 52 if (!vdev->name) in vfio_amba_init_dev() 55 vdev->opaque = (void *) adev; in vfio_amba_init_dev() 56 vdev->flags = VFIO_DEVICE_FLAGS_AMBA; in vfio_amba_init_dev() [all …]
|
H A D | vfio_platform.c | 25 static struct resource *get_platform_resource(struct vfio_platform_device *vdev, in get_platform_resource() argument 28 struct platform_device *dev = (struct platform_device *) vdev->opaque; in get_platform_resource() 33 static int get_platform_irq(struct vfio_platform_device *vdev, int i) in get_platform_irq() argument 35 struct platform_device *pdev = (struct platform_device *) vdev->opaque; in get_platform_irq() 42 struct vfio_platform_device *vdev = in vfio_platform_init_dev() local 43 container_of(core_vdev, struct vfio_platform_device, vdev); in vfio_platform_init_dev() 46 vdev->opaque = (void *) pdev; in vfio_platform_init_dev() 47 vdev->name = pdev->name; in vfio_platform_init_dev() 48 vdev->flags = VFIO_DEVICE_FLAGS_PLATFORM; in vfio_platform_init_dev() 49 vdev->get_resource = get_platform_resource; in vfio_platform_init_dev() [all …]
|
/linux/drivers/vfio/fsl-mc/ |
H A D | vfio_fsl_mc.c | 24 struct vfio_fsl_mc_device *vdev = in vfio_fsl_mc_open_device() local 25 container_of(core_vdev, struct vfio_fsl_mc_device, vdev); in vfio_fsl_mc_open_device() 26 struct fsl_mc_device *mc_dev = vdev->mc_dev; in vfio_fsl_mc_open_device() 30 vdev->regions = kcalloc(count, sizeof(struct vfio_fsl_mc_region), in vfio_fsl_mc_open_device() 32 if (!vdev->regions) in vfio_fsl_mc_open_device() 39 vdev->regions[i].addr = res->start; in vfio_fsl_mc_open_device() 40 vdev->regions[i].size = resource_size(res); in vfio_fsl_mc_open_device() 41 vdev->regions[i].type = mc_dev->regions[i].flags & IORESOURCE_BITS; in vfio_fsl_mc_open_device() 46 if (!no_mmap && !(vdev->regions[i].addr & ~PAGE_MASK) && in vfio_fsl_mc_open_device() 47 !(vdev->regions[i].size & ~PAGE_MASK)) in vfio_fsl_mc_open_device() [all …]
|
H A D | vfio_fsl_mc_intr.c | 15 static int vfio_fsl_mc_irqs_allocate(struct vfio_fsl_mc_device *vdev) in vfio_fsl_mc_irqs_allocate() argument 17 struct fsl_mc_device *mc_dev = vdev->mc_dev; in vfio_fsl_mc_irqs_allocate() 27 if (vdev->mc_irqs) in vfio_fsl_mc_irqs_allocate() 48 vdev->mc_irqs = mc_irq; in vfio_fsl_mc_irqs_allocate() 61 static int vfio_set_trigger(struct vfio_fsl_mc_device *vdev, in vfio_set_trigger() argument 64 struct vfio_fsl_mc_irq *irq = &vdev->mc_irqs[index]; in vfio_set_trigger() 69 hwirq = vdev->mc_dev->irqs[index]->virq; in vfio_set_trigger() 81 hwirq, dev_name(&vdev->mc_dev->dev)); in vfio_set_trigger() 105 static int vfio_fsl_mc_set_irq_trigger(struct vfio_fsl_mc_device *vdev, in vfio_fsl_mc_set_irq_trigger() argument 110 struct fsl_mc_device *mc_dev = vdev->mc_dev; in vfio_fsl_mc_set_irq_trigger() [all …]
|
/linux/drivers/vdpa/ |
H A D | vdpa.c | 24 void vdpa_set_status(struct vdpa_device *vdev, u8 status) in vdpa_set_status() argument 26 down_write(&vdev->cf_lock); in vdpa_set_status() 27 vdev->config->set_status(vdev, status); in vdpa_set_status() 28 up_write(&vdev->cf_lock); in vdpa_set_status() 36 struct vdpa_device *vdev = dev_to_vdpa(d); in vdpa_dev_probe() local 37 struct vdpa_driver *drv = drv_to_vdpa(vdev->dev.driver); in vdpa_dev_probe() 38 const struct vdpa_config_ops *ops = vdev->config; in vdpa_dev_probe() 47 max_num = ops->get_vq_num_max(vdev); in vdpa_dev_probe() 49 min_num = ops->get_vq_num_min(vdev); in vdpa_dev_probe() 54 ret = drv->probe(vdev); in vdpa_dev_probe() [all …]
|
/linux/tools/virtio/linux/ |
H A D | virtio_config.h | 17 * @vdev: the device 20 static inline bool __virtio_test_bit(const struct virtio_device *vdev, in __virtio_test_bit() argument 23 return vdev->features & (1ULL << fbit); in __virtio_test_bit() 28 * @vdev: the device 31 static inline void __virtio_set_bit(struct virtio_device *vdev, in __virtio_set_bit() argument 34 vdev->features |= (1ULL << fbit); in __virtio_set_bit() 39 * @vdev: the device 42 static inline void __virtio_clear_bit(struct virtio_device *vdev, in __virtio_clear_bit() argument 45 vdev->features &= ~(1ULL << fbit); in __virtio_clear_bit() 53 * @vdev: the device [all …]
|
/linux/drivers/vfio/pci/ |
H A D | vfio_pci_config.c | 112 int (*readfn)(struct vfio_pci_core_device *vdev, int pos, int count, 114 int (*writefn)(struct vfio_pci_core_device *vdev, int pos, int count, 175 static int vfio_default_config_read(struct vfio_pci_core_device *vdev, int pos, in vfio_default_config_read() argument 181 memcpy(val, vdev->vconfig + pos, count); in vfio_default_config_read() 187 struct pci_dev *pdev = vdev->pdev; in vfio_default_config_read() 201 static int vfio_default_config_write(struct vfio_pci_core_device *vdev, int pos, in vfio_default_config_write() argument 218 memcpy(&virt_val, vdev->vconfig + pos, count); in vfio_default_config_write() 223 memcpy(vdev->vconfig + pos, &virt_val, count); in vfio_default_config_write() 228 struct pci_dev *pdev = vdev->pdev; in vfio_default_config_write() 248 static int vfio_direct_config_read(struct vfio_pci_core_device *vdev, int pos, in vfio_direct_config_read() argument [all …]
|