rte_virtio: remove interrupt-related callbacks

Even though config change intrrupt
handlers are still required, we need
them only for real PCI devices.
They should be handled internally
in vhost_pci.

However, current QEMU implementation
doesn't ever change SCSI PCI config,
so no interrupt handler is required
for now.

We might want to add it together with
Virtio-Blk, as PCI config will change
there with each resize.

Change-Id: Iece024cd31c788857ce900385e289758ca3f5948
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/385304
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
Dariusz Stojaczyk 2017-11-01 14:41:54 +01:00 committed by Jim Harris
parent 6a026a1ebf
commit 191b45d056
3 changed files with 0 additions and 72 deletions

View File

@ -201,33 +201,6 @@ modern_set_status(struct virtio_dev *dev, uint8_t status)
spdk_mmio_write_1(&hw->common_cfg->device_status, status);
}
static uint8_t
modern_get_isr(struct virtio_dev *dev)
{
struct virtio_hw *hw = virtio_dev_get_hw(dev);
return spdk_mmio_read_1(hw->isr);
}
static uint16_t
modern_set_config_irq(struct virtio_dev *dev, uint16_t vec)
{
struct virtio_hw *hw = virtio_dev_get_hw(dev);
spdk_mmio_write_2(&hw->common_cfg->msix_config, vec);
return spdk_mmio_read_2(&hw->common_cfg->msix_config);
}
static uint16_t
modern_set_queue_irq(struct virtio_dev *dev, struct virtqueue *vq, uint16_t vec)
{
struct virtio_hw *hw = virtio_dev_get_hw(dev);
spdk_mmio_write_2(&hw->common_cfg->queue_select, vq->vq_queue_index);
spdk_mmio_write_2(&hw->common_cfg->queue_msix_vector, vec);
return spdk_mmio_read_2(&hw->common_cfg->queue_msix_vector);
}
static uint16_t
modern_get_queue_num(struct virtio_dev *dev, uint16_t queue_id)
{
@ -308,10 +281,7 @@ const struct virtio_pci_ops modern_ops = {
.set_status = modern_set_status,
.get_features = modern_get_features,
.set_features = modern_set_features,
.get_isr = modern_get_isr,
.set_config_irq = modern_set_config_irq,
.free_vdev = free_virtio_hw,
.set_queue_irq = modern_set_queue_irq,
.get_queue_num = modern_get_queue_num,
.setup_queue = modern_setup_queue,
.del_queue = modern_del_queue,
@ -357,12 +327,6 @@ vtpci_get_status(struct virtio_dev *dev)
return vtpci_ops(dev)->get_status(dev);
}
uint8_t
vtpci_isr(struct virtio_dev *dev)
{
return vtpci_ops(dev)->get_isr(dev);
}
static void *
get_cfg_addr(struct virtio_hw *hw, struct virtio_pci_cap *cap)
{

View File

@ -74,14 +74,8 @@ struct virtio_pci_ops {
*/
int (*set_features)(struct virtio_dev *vdev, uint64_t features);
uint8_t (*get_isr)(struct virtio_dev *hw);
uint16_t (*set_config_irq)(struct virtio_dev *hw, uint16_t vec);
/** Deinit and free virtio device */
void (*free_vdev)(struct virtio_dev *vdev);
uint16_t (*set_queue_irq)(struct virtio_dev *hw, struct virtqueue *vq,
uint16_t vec);
uint16_t (*get_queue_num)(struct virtio_dev *hw, uint16_t queue_id);
int (*setup_queue)(struct virtio_dev *hw, struct virtqueue *vq);
@ -156,8 +150,6 @@ void vtpci_write_dev_config(struct virtio_dev *, size_t, const void *, int);
void vtpci_read_dev_config(struct virtio_dev *, size_t, void *, int);
uint8_t vtpci_isr(struct virtio_dev *);
const struct virtio_pci_ops *vtpci_ops(struct virtio_dev *dev);
void vtpci_deinit(uint32_t id);

View File

@ -119,31 +119,6 @@ virtio_user_set_features(struct virtio_dev *vdev, uint64_t features)
return 0;
}
static uint8_t
virtio_user_get_isr(struct virtio_dev *vdev)
{
/* rxq interrupts and config interrupt are separated in virtio-user,
* here we only report config change.
*/
return VIRTIO_PCI_ISR_CONFIG;
}
static uint16_t
virtio_user_set_config_irq(struct virtio_dev *vdev,
uint16_t vec)
{
return 0;
}
static uint16_t
virtio_user_set_queue_irq(struct virtio_dev *vdev,
struct virtqueue *vq,
uint16_t vec)
{
/* pretend we have done that */
return vec;
}
/* This function is to get the queue size, aka, number of descs, of a specified
* queue. Different with the VHOST_USER_GET_QUEUE_NUM, which is used to get the
* max supported queues.
@ -268,10 +243,7 @@ const struct virtio_pci_ops virtio_user_ops = {
.set_status = virtio_user_set_status,
.get_features = virtio_user_get_features,
.set_features = virtio_user_set_features,
.get_isr = virtio_user_get_isr,
.set_config_irq = virtio_user_set_config_irq,
.free_vdev = virtio_user_free,
.set_queue_irq = virtio_user_set_queue_irq,
.get_queue_num = virtio_user_get_queue_num,
.setup_queue = virtio_user_setup_queue,
.del_queue = virtio_user_del_queue,