hw/vhost-user-i2c: Add support for VIRTIO_I2C_F_ZERO_LENGTH_REQUEST
VIRTIO_I2C_F_ZERO_LENGTH_REQUEST is a mandatory feature, that must be implemented by everyone. Add its support. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Message-Id: <fc47ab63b1cd414319c9201e8d6c7705b5ec3bd9.1644490993.git.viresh.kumar@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
e65902a913
commit
0a24dd1fd5
|
@ -19,6 +19,11 @@
|
||||||
#define VIRTIO_ID_I2C_ADAPTER 34
|
#define VIRTIO_ID_I2C_ADAPTER 34
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static const int feature_bits[] = {
|
||||||
|
VIRTIO_I2C_F_ZERO_LENGTH_REQUEST,
|
||||||
|
VHOST_INVALID_FEATURE_BIT
|
||||||
|
};
|
||||||
|
|
||||||
static void vu_i2c_start(VirtIODevice *vdev)
|
static void vu_i2c_start(VirtIODevice *vdev)
|
||||||
{
|
{
|
||||||
BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(vdev)));
|
BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(vdev)));
|
||||||
|
@ -113,8 +118,10 @@ static void vu_i2c_set_status(VirtIODevice *vdev, uint8_t status)
|
||||||
static uint64_t vu_i2c_get_features(VirtIODevice *vdev,
|
static uint64_t vu_i2c_get_features(VirtIODevice *vdev,
|
||||||
uint64_t requested_features, Error **errp)
|
uint64_t requested_features, Error **errp)
|
||||||
{
|
{
|
||||||
/* No feature bits used yet */
|
VHostUserI2C *i2c = VHOST_USER_I2C(vdev);
|
||||||
return requested_features;
|
|
||||||
|
virtio_add_feature(&requested_features, VIRTIO_I2C_F_ZERO_LENGTH_REQUEST);
|
||||||
|
return vhost_get_features(&i2c->vhost_dev, feature_bits, requested_features);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vu_i2c_handle_output(VirtIODevice *vdev, VirtQueue *vq)
|
static void vu_i2c_handle_output(VirtIODevice *vdev, VirtQueue *vq)
|
||||||
|
|
|
@ -25,4 +25,7 @@ struct VHostUserI2C {
|
||||||
bool connected;
|
bool connected;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Virtio Feature bits */
|
||||||
|
#define VIRTIO_I2C_F_ZERO_LENGTH_REQUEST 0
|
||||||
|
|
||||||
#endif /* _QEMU_VHOST_USER_I2C_H */
|
#endif /* _QEMU_VHOST_USER_I2C_H */
|
||||||
|
|
Loading…
Reference in New Issue