History

Merge tag 'v5.10-rc6' into patchwork

Linux 5.10-rc6 * tag 'v5.10-rc6': (1815 commits) Linux 5.10-rc6 sock: set sk_err to ee_errno on dequeue from errq mptcp: fix NULL ptr dereference on bad MPJ net: openvswitch: fix TTL decrement action netlink message format perf probe: Change function definition check due to broken DWARF perf probe: Fix to die_entrypc() returns error correctly perf stat: Use proper cpu for shadow stats perf record: Synthesize cgroup events only if needed perf diff: Fix error return value in __cmd_diff() perf tools: Update copy of libbpf's hashmap.c x86/mce: Do not overwrite no_way_out if mce_end() fails kvm: x86/mmu: Fix get_mmio_spte() on CPUs supporting 5-level PT KVM: x86: Fix split-irqchip vs interrupt injection window request KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint usb: typec: stusb160x: fix power-opmode property with typec-power-opmode printk: finalize records with trailing newlines can: af_can: can_rx_unregister(): remove WARN() statement from list operation sanity check can: m_can: m_can_dev_setup(): add support for bosch mcan version 3.3.0 can: m_can: fix nominal bitiming tseg2 min for version >= 3.1 can: m_can: m_can_open(): remove IRQF_TRIGGER_FALLING from request_threaded_irq()'s flags ...

Mauro Carvalho Chehab committed 5 years ago

Commit 67e061f2 parents a3f132d b6505452158 files · +26843 −40130Browse files

Showing the changes to include/uapi (9 of 2158 files). Show all

Unified · Split

9 files
  1. include/uapi/linux/devlink.h +2 −0
  2. include/uapi/linux/gpio.h +54 −52
  3. include/uapi/linux/icmpv6.h +1 −0
  4. include/uapi/linux/mic_common.h +0 −235
  5. include/uapi/linux/mic_ioctl.h +0 −77
  6. include/uapi/linux/openvswitch.h +2 −0
  7. include/uapi/linux/vhost.h +4 −0
  8. include/uapi/linux/vhost_types.h +9 −0
  9. include/uapi/sound/compress_offload.h +1 −1
include/uapi/linux/devlink.h+2−0
@@ -526,6 +526,8 @@ enum devlink_attr { · 525 unmodified lines
526526 DEVLINK_ATTR_RELOAD_STATS_LIMIT, /* u8 */
527527 DEVLINK_ATTR_RELOAD_STATS_VALUE, /* u32 */
528528 DEVLINK_ATTR_REMOTE_RELOAD_STATS, /* nested */
529+ DEVLINK_ATTR_RELOAD_ACTION_INFO, /* nested */
530+ DEVLINK_ATTR_RELOAD_ACTION_STATS, /* nested */
529531
530532 /* add new attributes above here, update the policy in devlink.c */
531533
include/uapi/linux/gpio.h+54−52
@@ -26,7 +26,7 @@ · 25 unmodified lines
2626 * struct gpiochip_info - Information about a certain GPIO chip
2727 * @name: the Linux kernel name of this GPIO chip
2828 * @label: a functional name for this GPIO chip, such as a product
29− * number, may be empty
29+ * number, may be empty (i.e. label[0] == '\0')
3030 * @lines: number of GPIO lines on this chip
3131 */
3232 struct gpiochip_info {
@@ -98,7 +98,7 @@ struct gpio_v2_line_values { · 65 unmodified lines
9898 * identifying which field of the attribute union is in use.
9999 * @GPIO_V2_LINE_ATTR_ID_FLAGS: flags field is in use
100100 * @GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES: values field is in use
101− * @GPIO_V2_LINE_ATTR_ID_DEBOUNCE: debounce_period_us is in use
101+ * @GPIO_V2_LINE_ATTR_ID_DEBOUNCE: debounce_period_us field is in use
102102 */
103103 enum gpio_v2_line_attr_id {
104104 GPIO_V2_LINE_ATTR_ID_FLAGS = 1,
@@ -110,17 +110,17 @@ enum gpio_v2_line_attr_id { · 5 unmodified lines
110110 * struct gpio_v2_line_attribute - a configurable attribute of a line
111111 * @id: attribute identifier with value from &enum gpio_v2_line_attr_id
112112 * @padding: reserved for future use and must be zero filled
113− * @flags: if id is GPIO_V2_LINE_ATTR_ID_FLAGS, the flags for the GPIO
114− * line, with values from enum gpio_v2_line_flag, such as
115− * GPIO_V2_LINE_FLAG_ACTIVE_LOW, GPIO_V2_LINE_FLAG_OUTPUT etc, OR:ed
113+ * @flags: if id is %GPIO_V2_LINE_ATTR_ID_FLAGS, the flags for the GPIO
114+ * line, with values from &enum gpio_v2_line_flag, such as
115+ * %GPIO_V2_LINE_FLAG_ACTIVE_LOW, %GPIO_V2_LINE_FLAG_OUTPUT etc, added
116116 * together. This overrides the default flags contained in the &struct
117117 * gpio_v2_line_config for the associated line.
118− * @values: if id is GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES, a bitmap
118+ * @values: if id is %GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES, a bitmap
119119 * containing the values to which the lines will be set, with each bit
120120 * number corresponding to the index into &struct
121121 * gpio_v2_line_request.offsets.
122− * @debounce_period_us: if id is GPIO_V2_LINE_ATTR_ID_DEBOUNCE, the desired
123− * debounce period, in microseconds
122+ * @debounce_period_us: if id is %GPIO_V2_LINE_ATTR_ID_DEBOUNCE, the
123+ * desired debounce period, in microseconds
124124 */
125125 struct gpio_v2_line_attribute {
126126 __u32 id;
@@ -147,12 +147,12 @@ struct gpio_v2_line_config_attribute { · 20 unmodified lines
147147
148148 /**
149149 * struct gpio_v2_line_config - Configuration for GPIO lines
150− * @flags: flags for the GPIO lines, with values from enum
151− * gpio_v2_line_flag, such as GPIO_V2_LINE_FLAG_ACTIVE_LOW,
152− * GPIO_V2_LINE_FLAG_OUTPUT etc, OR:ed together. This is the default for
150+ * @flags: flags for the GPIO lines, with values from &enum
151+ * gpio_v2_line_flag, such as %GPIO_V2_LINE_FLAG_ACTIVE_LOW,
152+ * %GPIO_V2_LINE_FLAG_OUTPUT etc, added together. This is the default for
153153 * all requested lines but may be overridden for particular lines using
154− * attrs.
155− * @num_attrs: the number of attributes in attrs
154+ * @attrs.
155+ * @num_attrs: the number of attributes in @attrs
156156 * @padding: reserved for future use and must be zero filled
157157 * @attrs: the configuration attributes associated with the requested
158158 * lines. Any attribute should only be associated with a particular line
@@ -175,17 +175,17 @@ struct gpio_v2_line_config { · 16 unmodified lines
175175 * "my-bitbanged-relay"
176176 * @config: requested configuration for the lines.
177177 * @num_lines: number of lines requested in this request, i.e. the number
178− * of valid fields in the GPIO_V2_LINES_MAX sized arrays, set to 1 to
178+ * of valid fields in the %GPIO_V2_LINES_MAX sized arrays, set to 1 to
179179 * request a single line
180180 * @event_buffer_size: a suggested minimum number of line events that the
181181 * kernel should buffer. This is only relevant if edge detection is
182182 * enabled in the configuration. Note that this is only a suggested value
183183 * and the kernel may allocate a larger buffer or cap the size of the
184184 * buffer. If this field is zero then the buffer size defaults to a minimum
185− * of num_lines*16.
185+ * of @num_lines * 16.
186186 * @padding: reserved for future use and must be zero filled
187187 * @fd: if successful this field will contain a valid anonymous file handle
188− * after a GPIO_GET_LINE_IOCTL operation, zero or negative value means
188+ * after a %GPIO_GET_LINE_IOCTL operation, zero or negative value means
189189 * error
190190 */
191191 struct gpio_v2_line_request {
@@ -203,15 +203,16 @@ struct gpio_v2_line_request { · 11 unmodified lines
203203 * struct gpio_v2_line_info - Information about a certain GPIO line
204204 * @name: the name of this GPIO line, such as the output pin of the line on
205205 * the chip, a rail or a pin header name on a board, as specified by the
206− * GPIO chip, may be empty
206+ * GPIO chip, may be empty (i.e. name[0] == '\0')
207207 * @consumer: a functional name for the consumer of this GPIO line as set
208208 * by whatever is using it, will be empty if there is no current user but
209209 * may also be empty if the consumer doesn't set this up
210− * @flags: flags for the GPIO line, such as GPIO_V2_LINE_FLAG_ACTIVE_LOW,
211− * GPIO_V2_LINE_FLAG_OUTPUT etc, OR:ed together
212210 * @offset: the local offset on this GPIO chip, fill this in when
213211 * requesting the line information from the kernel
214− * @num_attrs: the number of attributes in attrs
212+ * @num_attrs: the number of attributes in @attrs
213+ * @flags: flags for the GPIO lines, with values from &enum
214+ * gpio_v2_line_flag, such as %GPIO_V2_LINE_FLAG_ACTIVE_LOW,
215+ * %GPIO_V2_LINE_FLAG_OUTPUT etc, added together.
215216 * @attrs: the configuration attributes associated with the line
216217 * @padding: reserved for future use
217218 */
@@ -244,7 +245,7 @@ enum gpio_v2_line_changed_type { · 26 unmodified lines
244245 * of a GPIO line
245246 * @info: updated line information
246247 * @timestamp_ns: estimate of time of status change occurrence, in nanoseconds
247− * @event_type: the type of change with a value from enum
248+ * @event_type: the type of change with a value from &enum
248249 * gpio_v2_line_changed_type
249250 * @padding: reserved for future use
250251 */
@@ -269,10 +270,10 @@ enum gpio_v2_line_event_id { · 18 unmodified lines
269270 /**
270271 * struct gpio_v2_line_event - The actual event being pushed to userspace
271272 * @timestamp_ns: best estimate of time of event occurrence, in nanoseconds.
272− * The timestamp_ns is read from CLOCK_MONOTONIC and is intended to allow the
273− * accurate measurement of the time between events. It does not provide
273+ * The @timestamp_ns is read from %CLOCK_MONOTONIC and is intended to allow
274+ * the accurate measurement of the time between events. It does not provide
274275 * the wall-clock time.
275− * @id: event identifier with value from enum gpio_v2_line_event_id
276+ * @id: event identifier with value from &enum gpio_v2_line_event_id
276277 * @offset: the offset of the line that triggered the event
277278 * @seqno: the sequence number for this event in the sequence of events for
278279 * all the lines in this line request
@@ -291,7 +292,7 @@ struct gpio_v2_line_event { · 12 unmodified lines
291292 };
292293
293294 /*
294− * ABI v1
295+ * ABI v1
295296 *
296297 * This version of the ABI is deprecated.
297298 * Use the latest version of the ABI, defined above, instead.
@@ -314,13 +315,13 @@ struct gpio_v2_line_event { · 16 unmodified lines
314315 * @flags: various flags for this line
315316 * @name: the name of this GPIO line, such as the output pin of the line on the
316317 * chip, a rail or a pin header name on a board, as specified by the gpio
317− * chip, may be empty
318+ * chip, may be empty (i.e. name[0] == '\0')
318319 * @consumer: a functional name for the consumer of this GPIO line as set by
319320 * whatever is using it, will be empty if there is no current user but may
320321 * also be empty if the consumer doesn't set this up
321322 *
322− * This struct is part of ABI v1 and is deprecated.
323− * Use struct gpio_v2_line_info instead.
323+ * Note: This struct is part of ABI v1 and is deprecated.
324+ * Use &struct gpio_v2_line_info instead.
324325 */
325326 struct gpioline_info {
326327 __u32 line_offset;
@@ -344,17 +345,18 @@ enum { · 17 unmodified lines
344345 * of a GPIO line
345346 * @info: updated line information
346347 * @timestamp: estimate of time of status change occurrence, in nanoseconds
347− * @event_type: one of GPIOLINE_CHANGED_REQUESTED, GPIOLINE_CHANGED_RELEASED
348− * and GPIOLINE_CHANGED_CONFIG
348+ * @event_type: one of %GPIOLINE_CHANGED_REQUESTED,
349+ * %GPIOLINE_CHANGED_RELEASED and %GPIOLINE_CHANGED_CONFIG
350+ * @padding: reserved for future use
349351 *
350− * Note: struct gpioline_info embedded here has 32-bit alignment on its own,
352+ * The &struct gpioline_info embedded here has 32-bit alignment on its own,
351353 * but it works fine with 64-bit alignment too. With its 72 byte size, we can
352354 * guarantee there are no implicit holes between it and subsequent members.
353355 * The 20-byte padding at the end makes sure we don't add any implicit padding
354356 * at the end of the structure on 64-bit architectures.
355357 *
356− * This struct is part of ABI v1 and is deprecated.
357− * Use struct gpio_v2_line_info_changed instead.
358+ * Note: This struct is part of ABI v1 and is deprecated.
359+ * Use &struct gpio_v2_line_info_changed instead.
358360 */
359361 struct gpioline_info_changed {
360362 struct gpioline_info info;
@@ -378,13 +380,13 @@ struct gpioline_info_changed { · 17 unmodified lines
378380 * @lineoffsets: an array of desired lines, specified by offset index for the
379381 * associated GPIO device
380382 * @flags: desired flags for the desired GPIO lines, such as
381− * GPIOHANDLE_REQUEST_OUTPUT, GPIOHANDLE_REQUEST_ACTIVE_LOW etc, OR:ed
383+ * %GPIOHANDLE_REQUEST_OUTPUT, %GPIOHANDLE_REQUEST_ACTIVE_LOW etc, added
382384 * together. Note that even if multiple lines are requested, the same flags
383385 * must be applicable to all of them, if you want lines with individual
384386 * flags set, request them one by one. It is possible to select
385387 * a batch of input or output lines, but they must all have the same
386388 * characteristics, i.e. all inputs or all outputs, all active low etc
387− * @default_values: if the GPIOHANDLE_REQUEST_OUTPUT is set for a requested
389+ * @default_values: if the %GPIOHANDLE_REQUEST_OUTPUT is set for a requested
388390 * line, this specifies the default output value, should be 0 (low) or
389391 * 1 (high), anything else than 0 or 1 will be interpreted as 1 (high)
390392 * @consumer_label: a desired consumer label for the selected GPIO line(s)
@@ -392,11 +394,11 @@ struct gpioline_info_changed { · 1 unmodified line
392394 * @lines: number of lines requested in this request, i.e. the number of
393395 * valid fields in the above arrays, set to 1 to request a single line
394396 * @fd: if successful this field will contain a valid anonymous file handle
395− * after a GPIO_GET_LINEHANDLE_IOCTL operation, zero or negative value
397+ * after a %GPIO_GET_LINEHANDLE_IOCTL operation, zero or negative value
396398 * means error
397399 *
398− * This struct is part of ABI v1 and is deprecated.
399− * Use struct gpio_v2_line_request instead.
400+ * Note: This struct is part of ABI v1 and is deprecated.
401+ * Use &struct gpio_v2_line_request instead.
400402 */
401403 struct gpiohandle_request {
402404 __u32 lineoffsets[GPIOHANDLES_MAX];
@@ -410,15 +412,15 @@ struct gpiohandle_request { · 7 unmodified lines
410412 /**
411413 * struct gpiohandle_config - Configuration for a GPIO handle request
412414 * @flags: updated flags for the requested GPIO lines, such as
413− * GPIOHANDLE_REQUEST_OUTPUT, GPIOHANDLE_REQUEST_ACTIVE_LOW etc, OR:ed
415+ * %GPIOHANDLE_REQUEST_OUTPUT, %GPIOHANDLE_REQUEST_ACTIVE_LOW etc, added
414416 * together
415− * @default_values: if the GPIOHANDLE_REQUEST_OUTPUT is set in flags,
417+ * @default_values: if the %GPIOHANDLE_REQUEST_OUTPUT is set in flags,
416418 * this specifies the default output value, should be 0 (low) or
417419 * 1 (high), anything else than 0 or 1 will be interpreted as 1 (high)
418420 * @padding: reserved for future use and should be zero filled
419421 *
420− * This struct is part of ABI v1 and is deprecated.
421− * Use struct gpio_v2_line_config instead.
422+ * Note: This struct is part of ABI v1 and is deprecated.
423+ * Use &struct gpio_v2_line_config instead.
422424 */
423425 struct gpiohandle_config {
424426 __u32 flags;
@@ -432,8 +434,8 @@ struct gpiohandle_config { · 7 unmodified lines
432434 * state of a line, when setting the state of lines these should contain
433435 * the desired target state
434436 *
435− * This struct is part of ABI v1 and is deprecated.
436− * Use struct gpio_v2_line_values instead.
437+ * Note: This struct is part of ABI v1 and is deprecated.
438+ * Use &struct gpio_v2_line_values instead.
437439 */
438440 struct gpiohandle_data {
439441 __u8 values[GPIOHANDLES_MAX];
@@ -449,17 +451,17 @@ struct gpiohandle_data { · 9 unmodified lines
449451 * @lineoffset: the desired line to subscribe to events from, specified by
450452 * offset index for the associated GPIO device
451453 * @handleflags: desired handle flags for the desired GPIO line, such as
452− * GPIOHANDLE_REQUEST_ACTIVE_LOW or GPIOHANDLE_REQUEST_OPEN_DRAIN
454+ * %GPIOHANDLE_REQUEST_ACTIVE_LOW or %GPIOHANDLE_REQUEST_OPEN_DRAIN
453455 * @eventflags: desired flags for the desired GPIO event line, such as
454− * GPIOEVENT_REQUEST_RISING_EDGE or GPIOEVENT_REQUEST_FALLING_EDGE
456+ * %GPIOEVENT_REQUEST_RISING_EDGE or %GPIOEVENT_REQUEST_FALLING_EDGE
455457 * @consumer_label: a desired consumer label for the selected GPIO line(s)
456458 * such as "my-listener"
457459 * @fd: if successful this field will contain a valid anonymous file handle
458− * after a GPIO_GET_LINEEVENT_IOCTL operation, zero or negative value
460+ * after a %GPIO_GET_LINEEVENT_IOCTL operation, zero or negative value
459461 * means error
460462 *
461− * This struct is part of ABI v1 and is deprecated.
462− * Use struct gpio_v2_line_request instead.
463+ * Note: This struct is part of ABI v1 and is deprecated.
464+ * Use &struct gpio_v2_line_request instead.
463465 */
464466 struct gpioevent_request {
465467 __u32 lineoffset;
@@ -469,7 +471,7 @@ struct gpioevent_request { · 3 unmodified lines
469471 int fd;
470472 };
471473
472−/**
474+/*
473475 * GPIO event types
474476 */
475477 #define GPIOEVENT_EVENT_RISING_EDGE 0x01
@@ -480,8 +482,8 @@ struct gpioevent_request { · 4 unmodified lines
480482 * @timestamp: best estimate of time of event occurrence, in nanoseconds
481483 * @id: event identifier
482484 *
483− * This struct is part of ABI v1 and is deprecated.
484− * Use struct gpio_v2_line_event instead.
485+ * Note: This struct is part of ABI v1 and is deprecated.
486+ * Use &struct gpio_v2_line_event instead.
485487 */
486488 struct gpioevent_data {
487489 __u64 timestamp;
include/uapi/linux/icmpv6.h+1−0
@@ -138,6 +138,7 @@ struct icmp6hdr { · 137 unmodified lines
138138 #define ICMPV6_HDR_FIELD 0
139139 #define ICMPV6_UNK_NEXTHDR 1
140140 #define ICMPV6_UNK_OPTION 2
141+#define ICMPV6_HDR_INCOMP 3
141142
142143 /*
143144 * constants for (set|get)sockopt
include/uapi/linux/mic_common.h+0−235
@@ -1,235 +0,0 @@
1−/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2−/*
3− * Intel MIC Platform Software Stack (MPSS)
4− *
5− * Copyright(c) 2013 Intel Corporation.
6− *
7− * This program is free software; you can redistribute it and/or modify
8− * it under the terms of the GNU General Public License, version 2, as
9− * published by the Free Software Foundation.
10− *
11− * This program is distributed in the hope that it will be useful, but
12− * WITHOUT ANY WARRANTY; without even the implied warranty of
13− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14− * General Public License for more details.
15− *
16− * The full GNU General Public License is included in this distribution in
17− * the file called "COPYING".
18− *
19− * Intel MIC driver.
20− *
21− */
22−#ifndef __MIC_COMMON_H_
23−#define __MIC_COMMON_H_
24−
25−#include <linux/virtio_ring.h>
26−
27−#define __mic_align(a, x) (((a) + (x) - 1) & ~((x) - 1))
28−
29−/**
30− * struct mic_device_desc: Virtio device information shared between the
31− * virtio driver and userspace backend
32− *
33− * @type: Device type: console/network/disk etc. Type 0/-1 terminates.
34− * @num_vq: Number of virtqueues.
35− * @feature_len: Number of bytes of feature bits. Multiply by 2: one for
36− host features and one for guest acknowledgements.
37− * @config_len: Number of bytes of the config array after virtqueues.
38− * @status: A status byte, written by the Guest.
39− * @config: Start of the following variable length config.
40− */
41−struct mic_device_desc {
42− __s8 type;
43− __u8 num_vq;
44− __u8 feature_len;
45− __u8 config_len;
46− __u8 status;
47− __le64 config[0];
48−} __attribute__ ((aligned(8)));
49−
50−/**
51− * struct mic_device_ctrl: Per virtio device information in the device page
52− * used internally by the host and card side drivers.
53− *
54− * @vdev: Used for storing MIC vdev information by the guest.
55− * @config_change: Set to 1 by host when a config change is requested.
56− * @vdev_reset: Set to 1 by guest to indicate virtio device has been reset.
57− * @guest_ack: Set to 1 by guest to ack a command.
58− * @host_ack: Set to 1 by host to ack a command.
59− * @used_address_updated: Set to 1 by guest when the used address should be
60− * updated.
61− * @c2h_vdev_db: The doorbell number to be used by guest. Set by host.
62− * @h2c_vdev_db: The doorbell number to be used by host. Set by guest.
63− */
64−struct mic_device_ctrl {
65− __le64 vdev;
66− __u8 config_change;
67− __u8 vdev_reset;
68− __u8 guest_ack;
69− __u8 host_ack;
70− __u8 used_address_updated;
71− __s8 c2h_vdev_db;
72− __s8 h2c_vdev_db;
73−} __attribute__ ((aligned(8)));
74−
75−/**
76− * struct mic_bootparam: Virtio device independent information in device page
77− *
78− * @magic: A magic value used by the card to ensure it can see the host
79− * @h2c_config_db: Host to Card Virtio config doorbell set by card
80− * @node_id: Unique id of the node
81− * @h2c_scif_db - Host to card SCIF doorbell set by card
82− * @c2h_scif_db - Card to host SCIF doorbell set by host
83− * @scif_host_dma_addr - SCIF host queue pair DMA address
84− * @scif_card_dma_addr - SCIF card queue pair DMA address
85− */
86−struct mic_bootparam {
87− __le32 magic;
88− __s8 h2c_config_db;
89− __u8 node_id;
90− __u8 h2c_scif_db;
91− __u8 c2h_scif_db;
92− __u64 scif_host_dma_addr;
93− __u64 scif_card_dma_addr;
94−} __attribute__ ((aligned(8)));
95−
96−/**
97− * struct mic_device_page: High level representation of the device page
98− *
99− * @bootparam: The bootparam structure is used for sharing information and
100− * status updates between MIC host and card drivers.
101− * @desc: Array of MIC virtio device descriptors.
102− */
103−struct mic_device_page {
104− struct mic_bootparam bootparam;
105− struct mic_device_desc desc[0];
106−};
107−/**
108− * struct mic_vqconfig: This is how we expect the device configuration field
109− * for a virtqueue to be laid out in config space.
110− *
111− * @address: Guest/MIC physical address of the virtio ring
112− * (avail and desc rings)
113− * @used_address: Guest/MIC physical address of the used ring
114− * @num: The number of entries in the virtio_ring
115− */
116−struct mic_vqconfig {
117− __le64 address;
118− __le64 used_address;
119− __le16 num;
120−} __attribute__ ((aligned(8)));
121−
122−/*
123− * The alignment to use between consumer and producer parts of vring.
124− * This is pagesize for historical reasons.
125− */
126−#define MIC_VIRTIO_RING_ALIGN 4096
127−
128−#define MIC_MAX_VRINGS 4
129−#define MIC_VRING_ENTRIES 128
130−
131−/*
132− * Max vring entries (power of 2) to ensure desc and avail rings
133− * fit in a single page
134− */
135−#define MIC_MAX_VRING_ENTRIES 128
136−
137−/**
138− * Max size of the desc block in bytes: includes:
139− * - struct mic_device_desc
140− * - struct mic_vqconfig (num_vq of these)
141− * - host and guest features
142− * - virtio device config space
143− */
144−#define MIC_MAX_DESC_BLK_SIZE 256
145−
146−/**
147− * struct _mic_vring_info - Host vring info exposed to userspace backend
148− * for the avail index and magic for the card.
149− *
150− * @avail_idx: host avail idx
151− * @magic: A magic debug cookie.
152− */
153−struct _mic_vring_info {
154− __u16 avail_idx;
155− __le32 magic;
156−};
157−
158−/**
159− * struct mic_vring - Vring information.
160− *
161− * @vr: The virtio ring.
162− * @info: Host vring information exposed to the userspace backend for the
163− * avail index and magic for the card.
164− * @va: The va for the buffer allocated for vr and info.
165− * @len: The length of the buffer required for allocating vr and info.
166− */
167−struct mic_vring {
168− struct vring vr;
169− struct _mic_vring_info *info;
170− void *va;
171− int len;
172−};
173−
174−#define mic_aligned_desc_size(d) __mic_align(mic_desc_size(d), 8)
175−
176−#ifndef INTEL_MIC_CARD
177−static inline unsigned mic_desc_size(const struct mic_device_desc *desc)
178−{
179− return sizeof(*desc) + desc->num_vq * sizeof(struct mic_vqconfig)
180− + desc->feature_len * 2 + desc->config_len;
181−}
182−
183−static inline struct mic_vqconfig *
184−mic_vq_config(const struct mic_device_desc *desc)
185−{
186− return (struct mic_vqconfig *)(desc + 1);
187−}
188−
189−static inline __u8 *mic_vq_features(const struct mic_device_desc *desc)
190−{
191− return (__u8 *)(mic_vq_config(desc) + desc->num_vq);
192−}
193−
194−static inline __u8 *mic_vq_configspace(const struct mic_device_desc *desc)
195−{
196− return mic_vq_features(desc) + desc->feature_len * 2;
197−}
198−static inline unsigned mic_total_desc_size(struct mic_device_desc *desc)
199−{
200− return mic_aligned_desc_size(desc) + sizeof(struct mic_device_ctrl);
201−}
202−#endif
203−
204−/* Device page size */
205−#define MIC_DP_SIZE 4096
206−
207−#define MIC_MAGIC 0xc0ffee00
208−
209−/**
210− * enum mic_states - MIC states.
211− */
212−enum mic_states {
213− MIC_READY = 0,
214− MIC_BOOTING,
215− MIC_ONLINE,
216− MIC_SHUTTING_DOWN,
217− MIC_RESETTING,
218− MIC_RESET_FAILED,
219− MIC_LAST
220−};
221−
222−/**
223− * enum mic_status - MIC status reported by card after
224− * a host or card initiated shutdown or a card crash.
225− */
226−enum mic_status {
227− MIC_NOP = 0,
228− MIC_CRASHED,
229− MIC_HALTED,
230− MIC_POWER_OFF,
231− MIC_RESTART,
232− MIC_STATUS_LAST
233−};
234−
235−#endif
include/uapi/linux/mic_ioctl.h+0−77
@@ -1,77 +0,0 @@
1−/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2−/*
3− * Intel MIC Platform Software Stack (MPSS)
4− *
5− * Copyright(c) 2013 Intel Corporation.
6− *
7− * This program is free software; you can redistribute it and/or modify
8− * it under the terms of the GNU General Public License, version 2, as
9− * published by the Free Software Foundation.
10− *
11− * This program is distributed in the hope that it will be useful, but
12− * WITHOUT ANY WARRANTY; without even the implied warranty of
13− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14− * General Public License for more details.
15− *
16− * The full GNU General Public License is included in this distribution in
17− * the file called "COPYING".
18− *
19− * Intel MIC Host driver.
20− *
21− */
22−#ifndef _MIC_IOCTL_H_
23−#define _MIC_IOCTL_H_
24−
25−#include <linux/types.h>
26−
27−/*
28− * mic_copy - MIC virtio descriptor copy.
29− *
30− * @iov: An array of IOVEC structures containing user space buffers.
31− * @iovcnt: Number of IOVEC structures in iov.
32− * @vr_idx: The vring index.
33− * @update_used: A non zero value results in used index being updated.
34− * @out_len: The aggregate of the total length written to or read from
35− * the virtio device.
36− */
37−struct mic_copy_desc {
38−#ifdef __KERNEL__
39− struct iovec __user *iov;
40−#else
41− struct iovec *iov;
42−#endif
43− __u32 iovcnt;
44− __u8 vr_idx;
45− __u8 update_used;
46− __u32 out_len;
47−};
48−
49−/*
50− * Add a new virtio device
51− * The (struct mic_device_desc *) pointer points to a device page entry
52− * for the virtio device consisting of:
53− * - struct mic_device_desc
54− * - struct mic_vqconfig (num_vq of these)
55− * - host and guest features
56− * - virtio device config space
57− * The total size referenced by the pointer should equal the size returned
58− * by desc_size() in mic_common.h
59− */
60−#define MIC_VIRTIO_ADD_DEVICE _IOWR('s', 1, struct mic_device_desc *)
61−
62−/*
63− * Copy the number of entries in the iovec and update the used index
64− * if requested by the user.
65− */
66−#define MIC_VIRTIO_COPY_DESC _IOWR('s', 2, struct mic_copy_desc *)
67−
68−/*
69− * Notify virtio device of a config change
70− * The (__u8 *) pointer points to config space values for the device
71− * as they should be written into the device page. The total size
72− * referenced by the pointer should equal the config_len field of struct
73− * mic_device_desc.
74− */
75−#define MIC_VIRTIO_CONFIG_CHANGE _IOWR('s', 5, __u8 *)
76−
77−#endif
include/uapi/linux/openvswitch.h+2−0
@@ -1058,4 +1058,6 @@ enum ovs_dec_ttl_attr { · 1057 unmodified lines
10581058 __OVS_DEC_TTL_ATTR_MAX
10591059 };
10601060
1061+#define OVS_DEC_TTL_ATTR_MAX (__OVS_DEC_TTL_ATTR_MAX - 1)
1062+
10611063 #endif /* _LINUX_OPENVSWITCH_H */
include/uapi/linux/vhost.h+4−0
@@ -146,4 +146,8 @@ · 145 unmodified lines
146146
147147 /* Set event fd for config interrupt*/
148148 #define VHOST_VDPA_SET_CONFIG_CALL _IOW(VHOST_VIRTIO, 0x77, int)
149+
150+/* Get the valid iova range */
151+#define VHOST_VDPA_GET_IOVA_RANGE _IOR(VHOST_VIRTIO, 0x78, \
152+ struct vhost_vdpa_iova_range)
149153 #endif
include/uapi/linux/vhost_types.h+9−0
@@ -138,6 +138,15 @@ struct vhost_vdpa_config { · 137 unmodified lines
138138 __u8 buf[0];
139139 };
140140
141+/* vhost vdpa IOVA range
142+ * @first: First address that can be mapped by vhost-vDPA
143+ * @last: Last address that can be mapped by vhost-vDPA
144+ */
145+struct vhost_vdpa_iova_range {
146+ __u64 first;
147+ __u64 last;
148+};
149+
141150 /* Feature bits */
142151 /* Log all write descriptors. Can be changed while device is active. */
143152 #define VHOST_F_LOG_ALL 26
include/uapi/sound/compress_offload.h+1−1
@@ -144,7 +144,7 @@ struct snd_compr_metadata { · 143 unmodified lines
144144 __u32 value[8];
145145 } __attribute__((packed, aligned(4)));
146146
147−/**
147+/*
148148 * compress path ioctl definitions
149149 * SNDRV_COMPRESS_GET_CAPS: Query capability of DSP
150150 * SNDRV_COMPRESS_GET_CODEC_CAPS: Query capability of a codec