On Tue, Apr 16, 2024 at 12:25 AM Jiri Pirko <jiri@xxxxxxxxxxx> wrote: > > From: Jiri Pirko <jiri@xxxxxxxxxx> > > Currently there is no way for user to set what features the driver > should obey or not, it is hard wired in the code. > > In order to be able to debug the device behavior in case some feature is > disabled, introduce a debugfs infrastructure with couple of files > allowing user to see what features the device advertises and > to set filter for features used by driver. > > Example: > $cat /sys/bus/virtio/devices/virtio0/features > 1110010111111111111101010000110010000000100000000000000000000000 > $ echo "5" >/sys/kernel/debug/virtio/virtio0/filter_feature_add > $ cat /sys/kernel/debug/virtio/virtio0/filter_features > 5 > $ echo "virtio0" > /sys/bus/virtio/drivers/virtio_net/unbind > $ echo "virtio0" > /sys/bus/virtio/drivers/virtio_net/bind > $ cat /sys/bus/virtio/devices/virtio0/features > 1110000111111111111101010000110010000000100000000000000000000000 > > Note that sysfs "features" know already exists, this patch does not > touch it. > > Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxx> > --- Note that this can be done already with vp_vdpa feature provisioning: commit c1ca352d371f724f7fb40f016abdb563aa85fe55 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Tue Sep 27 15:48:10 2022 +0800 vp_vdpa: support feature provisioning For example: vdpa dev add name dev1 mgmtdev pci/0000:02:00.0 device_features 0x300020000 Thanks