xref: /linux/Documentation/ABI/testing/sysfs-bus-vfio-mdev (revision 3771bd96976dbd01ce4995760ed1d0932f30a366)
1*3771bd96SKirti WankhedeWhat:           /sys/.../<device>/mdev_supported_types/
2*3771bd96SKirti WankhedeDate:           October 2016
3*3771bd96SKirti WankhedeContact:        Kirti Wankhede <kwankhede@nvidia.com>
4*3771bd96SKirti WankhedeDescription:
5*3771bd96SKirti Wankhede                This directory contains list of directories of currently
6*3771bd96SKirti Wankhede		supported mediated device types and their details for
7*3771bd96SKirti Wankhede		<device>. Supported type attributes are defined by the
8*3771bd96SKirti Wankhede		vendor driver who registers with Mediated device framework.
9*3771bd96SKirti Wankhede		Each supported type is a directory whose name is created
10*3771bd96SKirti Wankhede		by adding the device driver string as a prefix to the
11*3771bd96SKirti Wankhede		string provided by the vendor driver.
12*3771bd96SKirti Wankhede
13*3771bd96SKirti WankhedeWhat:           /sys/.../<device>/mdev_supported_types/<type-id>/
14*3771bd96SKirti WankhedeDate:           October 2016
15*3771bd96SKirti WankhedeContact:        Kirti Wankhede <kwankhede@nvidia.com>
16*3771bd96SKirti WankhedeDescription:
17*3771bd96SKirti Wankhede                This directory gives details of supported type, like name,
18*3771bd96SKirti Wankhede		description, available_instances, device_api etc.
19*3771bd96SKirti Wankhede		'device_api' and 'available_instances' are mandatory
20*3771bd96SKirti Wankhede		attributes to be provided by vendor driver. 'name',
21*3771bd96SKirti Wankhede		'description' and other vendor driver specific attributes
22*3771bd96SKirti Wankhede		are optional.
23*3771bd96SKirti Wankhede
24*3771bd96SKirti WankhedeWhat:           /sys/.../mdev_supported_types/<type-id>/create
25*3771bd96SKirti WankhedeDate:           October 2016
26*3771bd96SKirti WankhedeContact:        Kirti Wankhede <kwankhede@nvidia.com>
27*3771bd96SKirti WankhedeDescription:
28*3771bd96SKirti Wankhede		Writing UUID to this file will create mediated device of
29*3771bd96SKirti Wankhede		type <type-id> for parent device <device>. This is a
30*3771bd96SKirti Wankhede		write-only file.
31*3771bd96SKirti Wankhede		For example:
32*3771bd96SKirti Wankhede		# echo "83b8f4f2-509f-382f-3c1e-e6bfe0fa1001" >	\
33*3771bd96SKirti Wankhede		       /sys/devices/foo/mdev_supported_types/foo-1/create
34*3771bd96SKirti Wankhede
35*3771bd96SKirti WankhedeWhat:           /sys/.../mdev_supported_types/<type-id>/devices/
36*3771bd96SKirti WankhedeDate:           October 2016
37*3771bd96SKirti WankhedeContact:        Kirti Wankhede <kwankhede@nvidia.com>
38*3771bd96SKirti WankhedeDescription:
39*3771bd96SKirti Wankhede		This directory contains symbolic links pointing to mdev
40*3771bd96SKirti Wankhede		devices sysfs entries which are created of this <type-id>.
41*3771bd96SKirti Wankhede
42*3771bd96SKirti WankhedeWhat:           /sys/.../mdev_supported_types/<type-id>/available_instances
43*3771bd96SKirti WankhedeDate:           October 2016
44*3771bd96SKirti WankhedeContact:        Kirti Wankhede <kwankhede@nvidia.com>
45*3771bd96SKirti WankhedeDescription:
46*3771bd96SKirti Wankhede		Reading this attribute will show the number of mediated
47*3771bd96SKirti Wankhede		devices of type <type-id> that can be created. This is a
48*3771bd96SKirti Wankhede		readonly file.
49*3771bd96SKirti WankhedeUsers:
50*3771bd96SKirti Wankhede		Userspace applications interested in creating mediated
51*3771bd96SKirti Wankhede		device of that type. Userspace application should check
52*3771bd96SKirti Wankhede		the number of available instances could be created before
53*3771bd96SKirti Wankhede		creating mediated device of this type.
54*3771bd96SKirti Wankhede
55*3771bd96SKirti WankhedeWhat:           /sys/.../mdev_supported_types/<type-id>/device_api
56*3771bd96SKirti WankhedeDate:           October 2016
57*3771bd96SKirti WankhedeContact:        Kirti Wankhede <kwankhede@nvidia.com>
58*3771bd96SKirti WankhedeDescription:
59*3771bd96SKirti Wankhede		Reading this attribute will show VFIO device API supported
60*3771bd96SKirti Wankhede		by this type. For example, "vfio-pci" for a PCI device,
61*3771bd96SKirti Wankhede		"vfio-platform" for platform device.
62*3771bd96SKirti Wankhede
63*3771bd96SKirti WankhedeWhat:           /sys/.../mdev_supported_types/<type-id>/name
64*3771bd96SKirti WankhedeDate:           October 2016
65*3771bd96SKirti WankhedeContact:        Kirti Wankhede <kwankhede@nvidia.com>
66*3771bd96SKirti WankhedeDescription:
67*3771bd96SKirti Wankhede		Reading this attribute will show human readable name of the
68*3771bd96SKirti Wankhede		mediated device that will get created of type <type-id>.
69*3771bd96SKirti Wankhede		This is optional attribute. For example: "Grid M60-0Q"
70*3771bd96SKirti WankhedeUsers:
71*3771bd96SKirti Wankhede		Userspace applications interested in knowing the name of
72*3771bd96SKirti Wankhede		a particular <type-id> that can help in understanding the
73*3771bd96SKirti Wankhede		type of mediated device.
74*3771bd96SKirti Wankhede
75*3771bd96SKirti WankhedeWhat:           /sys/.../mdev_supported_types/<type-id>/description
76*3771bd96SKirti WankhedeDate:           October 2016
77*3771bd96SKirti WankhedeContact:        Kirti Wankhede <kwankhede@nvidia.com>
78*3771bd96SKirti WankhedeDescription:
79*3771bd96SKirti Wankhede		Reading this attribute will show description of the type of
80*3771bd96SKirti Wankhede		mediated device that will get created of type <type-id>.
81*3771bd96SKirti Wankhede		This is optional attribute. For example:
82*3771bd96SKirti Wankhede		"2 heads, 512M FB, 2560x1600 maximum resolution"
83*3771bd96SKirti WankhedeUsers:
84*3771bd96SKirti Wankhede		Userspace applications interested in knowing the details of
85*3771bd96SKirti Wankhede		a particular <type-id> that can help in understanding the
86*3771bd96SKirti Wankhede		features provided by that type of mediated device.
87*3771bd96SKirti Wankhede
88*3771bd96SKirti WankhedeWhat:           /sys/.../<device>/<UUID>/
89*3771bd96SKirti WankhedeDate:           October 2016
90*3771bd96SKirti WankhedeContact:        Kirti Wankhede <kwankhede@nvidia.com>
91*3771bd96SKirti WankhedeDescription:
92*3771bd96SKirti Wankhede		This directory represents device directory of mediated
93*3771bd96SKirti Wankhede		device. It contains all the attributes related to mediated
94*3771bd96SKirti Wankhede		device.
95*3771bd96SKirti Wankhede
96*3771bd96SKirti WankhedeWhat:           /sys/.../<device>/<UUID>/mdev_type
97*3771bd96SKirti WankhedeDate:           October 2016
98*3771bd96SKirti WankhedeContact:        Kirti Wankhede <kwankhede@nvidia.com>
99*3771bd96SKirti WankhedeDescription:
100*3771bd96SKirti Wankhede		This is symbolic link pointing to supported type, <type-id>
101*3771bd96SKirti Wankhede		directory of which this mediated device is created.
102*3771bd96SKirti Wankhede
103*3771bd96SKirti WankhedeWhat:           /sys/.../<device>/<UUID>/remove
104*3771bd96SKirti WankhedeDate:           October 2016
105*3771bd96SKirti WankhedeContact:        Kirti Wankhede <kwankhede@nvidia.com>
106*3771bd96SKirti WankhedeDescription:
107*3771bd96SKirti Wankhede		Writing '1' to this file destroys the mediated device. The
108*3771bd96SKirti Wankhede		vendor driver can fail the remove() callback if that device
109*3771bd96SKirti Wankhede		is active and the vendor driver doesn't support hot unplug.
110*3771bd96SKirti Wankhede		Example:
111*3771bd96SKirti Wankhede		# echo 1 > /sys/bus/mdev/devices/<UUID>/remove
112