* 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux: (9717 commits) media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format hexdump: avoid warning in test function fs: take i_mutex during prepare_binprm for set[ug]id executables smp: Fix error case handling in smp_call_function_*() iommu-common: Fix PARISC compile-time warnings sparc: Make LDC use common iommu poll management functions sparc: Make sparc64 use scalable lib/iommu-common.c functions Break up monolithic iommu table/lock into finer graularity pools and lock sparc: Revert generic IOMMU allocator. tools/power turbostat: correct dumped pkg-cstate-limit value tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL tools/power turbostat: correct DRAM RAPL units on recent Xeon processors tools/power turbostat: Initial Skylake support tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile tools/power turbostat: modprobe msr, if needed tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2 tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names Bluetooth: hidp: Fix regression with older userspace and flags validation config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected perf/x86/intel/pt: Fix and clean up error handling in pt_event_add() ... That solves several merge conflicts: Documentation/DocBook/media/v4l/subdev-formats.xml Documentation/devicetree/bindings/vendor-prefixes.txt drivers/staging/media/mn88473/mn88473.c include/linux/kconfig.h include/uapi/linux/media-bus-format.h The ones at subdev-formats.xml and media-bus-format.h are not trivial. That's why we opted to merge from DRM.
Showing the changes to include/uapi/linux (38 of 7787 files). Show all
Unified · Split
| @@ -6,6 +6,7 @@ header-y += caif/ · 5 unmodified lines | ||
| 6 | 6 | header-y += dvb/ |
| 7 | 7 | header-y += hdlc/ |
| 8 | 8 | header-y += hsi/ |
| 9 | +header-y += iio/ | |
| 9 | 10 | header-y += isdn/ |
| 10 | 11 | header-y += mmc/ |
| 11 | 12 | header-y += nfsd/ |
| @@ -118,8 +118,13 @@ enum bpf_map_type { · 117 unmodified lines | ||
| 118 | 118 | enum bpf_prog_type { |
| 119 | 119 | BPF_PROG_TYPE_UNSPEC, |
| 120 | 120 | BPF_PROG_TYPE_SOCKET_FILTER, |
| 121 | + BPF_PROG_TYPE_KPROBE, | |
| 122 | + BPF_PROG_TYPE_SCHED_CLS, | |
| 123 | + BPF_PROG_TYPE_SCHED_ACT, | |
| 121 | 124 | }; |
| 122 | 125 | |
| 126 | +#define BPF_PSEUDO_MAP_FD 1 | |
| 127 | + | |
| 123 | 128 | /* flags for BPF_MAP_UPDATE_ELEM command */ |
| 124 | 129 | #define BPF_ANY 0 /* create new element or update existing */ |
| 125 | 130 | #define BPF_NOEXIST 1 /* create new element if it didn't exist */ |
| @@ -151,6 +156,7 @@ union bpf_attr { · 25 unmodified lines | ||
| 151 | 156 | __u32 log_level; /* verbosity level of verifier */ |
| 152 | 157 | __u32 log_size; /* size of user buffer */ |
| 153 | 158 | __aligned_u64 log_buf; /* user supplied buffer */ |
| 159 | + __u32 kern_version; /* checked when prog_type=kprobe */ | |
| 154 | 160 | }; |
| 155 | 161 | } __attribute__((aligned(8))); |
| 156 | 162 | |
| @@ -162,7 +168,64 @@ enum bpf_func_id { · 5 unmodified lines | ||
| 162 | 168 | BPF_FUNC_map_lookup_elem, /* void *map_lookup_elem(&map, &key) */ |
| 163 | 169 | BPF_FUNC_map_update_elem, /* int map_update_elem(&map, &key, &value, flags) */ |
| 164 | 170 | BPF_FUNC_map_delete_elem, /* int map_delete_elem(&map, &key) */ |
| 171 | + BPF_FUNC_probe_read, /* int bpf_probe_read(void *dst, int size, void *src) */ | |
| 172 | + BPF_FUNC_ktime_get_ns, /* u64 bpf_ktime_get_ns(void) */ | |
| 173 | + BPF_FUNC_trace_printk, /* int bpf_trace_printk(const char *fmt, int fmt_size, ...) */ | |
| 174 | + BPF_FUNC_get_prandom_u32, /* u32 prandom_u32(void) */ | |
| 175 | + BPF_FUNC_get_smp_processor_id, /* u32 raw_smp_processor_id(void) */ | |
| 176 | + | |
| 177 | + /** | |
| 178 | + * skb_store_bytes(skb, offset, from, len, flags) - store bytes into packet | |
| 179 | + * @skb: pointer to skb | |
| 180 | + * @offset: offset within packet from skb->mac_header | |
| 181 | + * @from: pointer where to copy bytes from | |
| 182 | + * @len: number of bytes to store into packet | |
| 183 | + * @flags: bit 0 - if true, recompute skb->csum | |
| 184 | + * other bits - reserved | |
| 185 | + * Return: 0 on success | |
| 186 | + */ | |
| 187 | + BPF_FUNC_skb_store_bytes, | |
| 188 | + | |
| 189 | + /** | |
| 190 | + * l3_csum_replace(skb, offset, from, to, flags) - recompute IP checksum | |
| 191 | + * @skb: pointer to skb | |
| 192 | + * @offset: offset within packet where IP checksum is located | |
| 193 | + * @from: old value of header field | |
| 194 | + * @to: new value of header field | |
| 195 | + * @flags: bits 0-3 - size of header field | |
| 196 | + * other bits - reserved | |
| 197 | + * Return: 0 on success | |
| 198 | + */ | |
| 199 | + BPF_FUNC_l3_csum_replace, | |
| 200 | + | |
| 201 | + /** | |
| 202 | + * l4_csum_replace(skb, offset, from, to, flags) - recompute TCP/UDP checksum | |
| 203 | + * @skb: pointer to skb | |
| 204 | + * @offset: offset within packet where TCP/UDP checksum is located | |
| 205 | + * @from: old value of header field | |
| 206 | + * @to: new value of header field | |
| 207 | + * @flags: bits 0-3 - size of header field | |
| 208 | + * bit 4 - is pseudo header | |
| 209 | + * other bits - reserved | |
| 210 | + * Return: 0 on success | |
| 211 | + */ | |
| 212 | + BPF_FUNC_l4_csum_replace, | |
| 165 | 213 | __BPF_FUNC_MAX_ID, |
| 166 | 214 | }; |
| 167 | 215 | |
| 216 | +/* user accessible mirror of in-kernel sk_buff. | |
| 217 | + * new fields can only be added to the end of this structure | |
| 218 | + */ | |
| 219 | +struct __sk_buff { | |
| 220 | + __u32 len; | |
| 221 | + __u32 pkt_type; | |
| 222 | + __u32 mark; | |
| 223 | + __u32 queue_mapping; | |
| 224 | + __u32 protocol; | |
| 225 | + __u32 vlan_present; | |
| 226 | + __u32 vlan_tci; | |
| 227 | + __u32 vlan_proto; | |
| 228 | + __u32 priority; | |
| 229 | +}; | |
| 230 | + | |
| 168 | 231 | #endif /* _UAPI__LINUX_BPF_H__ */ |
| @@ -57,6 +57,7 @@ enum { · 56 unmodified lines | ||
| 57 | 57 | CAN_RAW_LOOPBACK, /* local loopback (default:on) */ |
| 58 | 58 | CAN_RAW_RECV_OWN_MSGS, /* receive my own msgs (default:off) */ |
| 59 | 59 | CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */ |
| 60 | + CAN_RAW_JOIN_FILTERS, /* all filters must match to trigger */ | |
| 60 | 61 | }; |
| 61 | 62 | |
| 62 | 63 | #endif /* !_UAPI_CAN_RAW_H */ |
| @@ -78,6 +78,70 @@ struct ieee_maxrate { · 77 unmodified lines | ||
| 78 | 78 | __u64 tc_maxrate[IEEE_8021QAZ_MAX_TCS]; |
| 79 | 79 | }; |
| 80 | 80 | |
| 81 | +enum dcbnl_cndd_states { | |
| 82 | + DCB_CNDD_RESET = 0, | |
| 83 | + DCB_CNDD_EDGE, | |
| 84 | + DCB_CNDD_INTERIOR, | |
| 85 | + DCB_CNDD_INTERIOR_READY, | |
| 86 | +}; | |
| 87 | + | |
| 88 | +/* This structure contains the IEEE 802.1Qau QCN managed object. | |
| 89 | + * | |
| 90 | + *@rpg_enable: enable QCN RP | |
| 91 | + *@rppp_max_rps: maximum number of RPs allowed for this CNPV on this port | |
| 92 | + *@rpg_time_reset: time between rate increases if no CNMs received. | |
| 93 | + * given in u-seconds | |
| 94 | + *@rpg_byte_reset: transmitted data between rate increases if no CNMs received. | |
| 95 | + * given in Bytes | |
| 96 | + *@rpg_threshold: The number of times rpByteStage or rpTimeStage can count | |
| 97 | + * before RP rate control state machine advances states | |
| 98 | + *@rpg_max_rate: the maxinun rate, in Mbits per second, | |
| 99 | + * at which an RP can transmit | |
| 100 | + *@rpg_ai_rate: The rate, in Mbits per second, | |
| 101 | + * used to increase rpTargetRate in the RPR_ACTIVE_INCREASE | |
| 102 | + *@rpg_hai_rate: The rate, in Mbits per second, | |
| 103 | + * used to increase rpTargetRate in the RPR_HYPER_INCREASE state | |
| 104 | + *@rpg_gd: Upon CNM receive, flow rate is limited to (Fb/Gd)*CurrentRate. | |
| 105 | + * rpgGd is given as log2(Gd), where Gd may only be powers of 2 | |
| 106 | + *@rpg_min_dec_fac: The minimum factor by which the current transmit rate | |
| 107 | + * can be changed by reception of a CNM. | |
| 108 | + * value is given as percentage (1-100) | |
| 109 | + *@rpg_min_rate: The minimum value, in bits per second, for rate to limit | |
| 110 | + *@cndd_state_machine: The state of the congestion notification domain | |
| 111 | + * defense state machine, as defined by IEEE 802.3Qau | |
| 112 | + * section 32.1.1. In the interior ready state, | |
| 113 | + * the QCN capable hardware may add CN-TAG TLV to the | |
| 114 | + * outgoing traffic, to specifically identify outgoing | |
| 115 | + * flows. | |
| 116 | + */ | |
| 117 | + | |
| 118 | +struct ieee_qcn { | |
| 119 | + __u8 rpg_enable[IEEE_8021QAZ_MAX_TCS]; | |
| 120 | + __u32 rppp_max_rps[IEEE_8021QAZ_MAX_TCS]; | |
| 121 | + __u32 rpg_time_reset[IEEE_8021QAZ_MAX_TCS]; | |
| 122 | + __u32 rpg_byte_reset[IEEE_8021QAZ_MAX_TCS]; | |
| 123 | + __u32 rpg_threshold[IEEE_8021QAZ_MAX_TCS]; | |
| 124 | + __u32 rpg_max_rate[IEEE_8021QAZ_MAX_TCS]; | |
| 125 | + __u32 rpg_ai_rate[IEEE_8021QAZ_MAX_TCS]; | |
| 126 | + __u32 rpg_hai_rate[IEEE_8021QAZ_MAX_TCS]; | |
| 127 | + __u32 rpg_gd[IEEE_8021QAZ_MAX_TCS]; | |
| 128 | + __u32 rpg_min_dec_fac[IEEE_8021QAZ_MAX_TCS]; | |
| 129 | + __u32 rpg_min_rate[IEEE_8021QAZ_MAX_TCS]; | |
| 130 | + __u32 cndd_state_machine[IEEE_8021QAZ_MAX_TCS]; | |
| 131 | +}; | |
| 132 | + | |
| 133 | +/* This structure contains the IEEE 802.1Qau QCN statistics. | |
| 134 | + * | |
| 135 | + *@rppp_rp_centiseconds: the number of RP-centiseconds accumulated | |
| 136 | + * by RPs at this priority level on this Port | |
| 137 | + *@rppp_created_rps: number of active RPs(flows) that react to CNMs | |
| 138 | + */ | |
| 139 | + | |
| 140 | +struct ieee_qcn_stats { | |
| 141 | + __u64 rppp_rp_centiseconds[IEEE_8021QAZ_MAX_TCS]; | |
| 142 | + __u32 rppp_created_rps[IEEE_8021QAZ_MAX_TCS]; | |
| 143 | +}; | |
| 144 | + | |
| 81 | 145 | /* This structure contains the IEEE 802.1Qaz PFC managed object |
| 82 | 146 | * |
| 83 | 147 | * @pfc_cap: Indicates the number of traffic classes on the local device |
| @@ -334,6 +398,8 @@ enum ieee_attrs { · 250 unmodified lines | ||
| 334 | 398 | DCB_ATTR_IEEE_PEER_PFC, |
| 335 | 399 | DCB_ATTR_IEEE_PEER_APP, |
| 336 | 400 | DCB_ATTR_IEEE_MAXRATE, |
| 401 | + DCB_ATTR_IEEE_QCN, | |
| 402 | + DCB_ATTR_IEEE_QCN_STATS, | |
| 337 | 403 | __DCB_ATTR_IEEE_MAX |
| 338 | 404 | }; |
| 339 | 405 | #define DCB_ATTR_IEEE_MAX (__DCB_ATTR_IEEE_MAX - 1) |
| @@ -267,9 +267,9 @@ enum { · 266 unmodified lines | ||
| 267 | 267 | #define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) |
| 268 | 268 | |
| 269 | 269 | #define DM_VERSION_MAJOR 4 |
| 270 | −#define DM_VERSION_MINOR 30 | |
| 270 | +#define DM_VERSION_MINOR 31 | |
| 271 | 271 | #define DM_VERSION_PATCHLEVEL 0 |
| 272 | −#define DM_VERSION_EXTRA "-ioctl (2014-12-22)" | |
| 272 | +#define DM_VERSION_EXTRA "-ioctl (2015-3-12)" | |
| 273 | 273 | |
| 274 | 274 | /* Status bits */ |
| 275 | 275 | #define DM_READONLY_FLAG (1 << 0) /* In/Out */ |
| @@ -77,9 +77,13 @@ struct sock_fprog { /* Required for SO_ATTACH_FILTER. */ · 76 unmodified lines | ||
| 77 | 77 | #define SKF_AD_VLAN_TAG_PRESENT 48 |
| 78 | 78 | #define SKF_AD_PAY_OFFSET 52 |
| 79 | 79 | #define SKF_AD_RANDOM 56 |
| 80 | −#define SKF_AD_MAX 60 | |
| 81 | −#define SKF_NET_OFF (-0x100000) | |
| 82 | −#define SKF_LL_OFF (-0x200000) | |
| 80 | +#define SKF_AD_VLAN_TPID 60 | |
| 81 | +#define SKF_AD_MAX 64 | |
| 83 | 82 | |
| 83 | +#define SKF_NET_OFF (-0x100000) | |
| 84 | +#define SKF_LL_OFF (-0x200000) | |
| 85 | + | |
| 86 | +#define BPF_NET_OFF SKF_NET_OFF | |
| 87 | +#define BPF_LL_OFF SKF_LL_OFF | |
| 84 | 88 | |
| 85 | 89 | #endif /* _UAPI__LINUX_FILTER_H__ */ |
| @@ -25,6 +25,7 @@ enum { · 24 unmodified lines | ||
| 25 | 25 | FOU_CMD_UNSPEC, |
| 26 | 26 | FOU_CMD_ADD, |
| 27 | 27 | FOU_CMD_DEL, |
| 28 | + FOU_CMD_GET, | |
| 28 | 29 | |
| 29 | 30 | __FOU_CMD_MAX, |
| 30 | 31 | }; |
| @@ -1,2 +1,2 @@ | ||
| 1 | 1 | # UAPI Header export list |
| 2 | −header-y += hsi_char.h | |
| 2 | +header-y += hsi_char.h cs-protocol.h | |
| @@ -0,0 +1,113 @@ | ||
| 1 | +/* | |
| 2 | + * cmt-speech interface definitions | |
| 3 | + * | |
| 4 | + * Copyright (C) 2008,2009,2010 Nokia Corporation. All rights reserved. | |
| 5 | + * | |
| 6 | + * Contact: Kai Vehmanen <kai.vehmanen@nokia.com> | |
| 7 | + * Original author: Peter Ujfalusi <peter.ujfalusi@nokia.com> | |
| 8 | + * | |
| 9 | + * This program is free software; you can redistribute it and/or | |
| 10 | + * modify it under the terms of the GNU General Public License | |
| 11 | + * version 2 as published by the Free Software Foundation. | |
| 12 | + * | |
| 13 | + * This program is distributed in the hope that it will be useful, but | |
| 14 | + * WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 15 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| 16 | + * General Public License for more details. | |
| 17 | + * | |
| 18 | + * You should have received a copy of the GNU General Public License | |
| 19 | + * along with this program; if not, write to the Free Software | |
| 20 | + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | |
| 21 | + * 02110-1301 USA | |
| 22 | + */ | |
| 23 | + | |
| 24 | +#ifndef _CS_PROTOCOL_H | |
| 25 | +#define _CS_PROTOCOL_H | |
| 26 | + | |
| 27 | +#include <linux/types.h> | |
| 28 | +#include <linux/ioctl.h> | |
| 29 | + | |
| 30 | +/* chardev parameters */ | |
| 31 | +#define CS_DEV_FILE_NAME "/dev/cmt_speech" | |
| 32 | + | |
| 33 | +/* user-space API versioning */ | |
| 34 | +#define CS_IF_VERSION 2 | |
| 35 | + | |
| 36 | +/* APE kernel <-> user space messages */ | |
| 37 | +#define CS_CMD_SHIFT 28 | |
| 38 | +#define CS_DOMAIN_SHIFT 24 | |
| 39 | + | |
| 40 | +#define CS_CMD_MASK 0xff000000 | |
| 41 | +#define CS_PARAM_MASK 0xffffff | |
| 42 | + | |
| 43 | +#define CS_CMD(id, dom) \ | |
| 44 | + (((id) << CS_CMD_SHIFT) | ((dom) << CS_DOMAIN_SHIFT)) | |
| 45 | + | |
| 46 | +#define CS_ERROR CS_CMD(1, 0) | |
| 47 | +#define CS_RX_DATA_RECEIVED CS_CMD(2, 0) | |
| 48 | +#define CS_TX_DATA_READY CS_CMD(3, 0) | |
| 49 | +#define CS_TX_DATA_SENT CS_CMD(4, 0) | |
| 50 | + | |
| 51 | +/* params to CS_ERROR indication */ | |
| 52 | +#define CS_ERR_PEER_RESET 0 | |
| 53 | + | |
| 54 | +/* ioctl interface */ | |
| 55 | + | |
| 56 | +/* parameters to CS_CONFIG_BUFS ioctl */ | |
| 57 | +#define CS_FEAT_TSTAMP_RX_CTRL (1 << 0) | |
| 58 | +#define CS_FEAT_ROLLING_RX_COUNTER (2 << 0) | |
| 59 | + | |
| 60 | +/* parameters to CS_GET_STATE ioctl */ | |
| 61 | +#define CS_STATE_CLOSED 0 | |
| 62 | +#define CS_STATE_OPENED 1 /* resource allocated */ | |
| 63 | +#define CS_STATE_CONFIGURED 2 /* data path active */ | |
| 64 | + | |
| 65 | +/* maximum number of TX/RX buffers */ | |
| 66 | +#define CS_MAX_BUFFERS_SHIFT 4 | |
| 67 | +#define CS_MAX_BUFFERS (1 << CS_MAX_BUFFERS_SHIFT) | |
| 68 | + | |
| 69 | +/* Parameters for setting up the data buffers */ | |
| 70 | +struct cs_buffer_config { | |
| 71 | + __u32 rx_bufs; /* number of RX buffer slots */ | |
| 72 | + __u32 tx_bufs; /* number of TX buffer slots */ | |
| 73 | + __u32 buf_size; /* bytes */ | |
| 74 | + __u32 flags; /* see CS_FEAT_* */ | |
| 75 | + __u32 reserved[4]; | |
| 76 | +}; | |
| 77 | + | |
| 78 | +/* | |
| 79 | + * Struct describing the layout and contents of the driver mmap area. | |
| 80 | + * This information is meant as read-only information for the application. | |
| 81 | + */ | |
| 82 | +struct cs_mmap_config_block { | |
| 83 | + __u32 reserved1; | |
| 84 | + __u32 buf_size; /* 0=disabled, otherwise the transfer size */ | |
| 85 | + __u32 rx_bufs; /* # of RX buffers */ | |
| 86 | + __u32 tx_bufs; /* # of TX buffers */ | |
| 87 | + __u32 reserved2; | |
| 88 | + /* array of offsets within the mmap area for each RX and TX buffer */ | |
| 89 | + __u32 rx_offsets[CS_MAX_BUFFERS]; | |
| 90 | + __u32 tx_offsets[CS_MAX_BUFFERS]; | |
| 91 | + __u32 rx_ptr; | |
| 92 | + __u32 rx_ptr_boundary; | |
| 93 | + __u32 reserved3[2]; | |
| 94 | + /* | |
| 95 | + * if enabled with CS_FEAT_TSTAMP_RX_CTRL, monotonic | |
| 96 | + * timestamp taken when the last control command was received | |
| 97 | + */ | |
| 98 | + struct timespec tstamp_rx_ctrl; | |
| 99 | +}; | |
| 100 | + | |
| 101 | +#define CS_IO_MAGIC 'C' | |
| 102 | + | |
| 103 | +#define CS_IOW(num, dtype) _IOW(CS_IO_MAGIC, num, dtype) | |
| 104 | +#define CS_IOR(num, dtype) _IOR(CS_IO_MAGIC, num, dtype) | |
| 105 | +#define CS_IOWR(num, dtype) _IOWR(CS_IO_MAGIC, num, dtype) | |
| 106 | +#define CS_IO(num) _IO(CS_IO_MAGIC, num) | |
| 107 | + | |
| 108 | +#define CS_GET_STATE CS_IOR(21, unsigned int) | |
| 109 | +#define CS_SET_WAKELINE CS_IOW(23, unsigned int) | |
| 110 | +#define CS_GET_IF_VERSION CS_IOR(30, unsigned int) | |
| 111 | +#define CS_CONFIG_BUFS CS_IOW(31, struct cs_buffer_config) | |
| 112 | + | |
| 113 | +#endif /* _CS_PROTOCOL_H */ | |
| @@ -50,6 +50,8 @@ enum { · 49 unmodified lines | ||
| 50 | 50 | #define IFA_F_PERMANENT 0x80 |
| 51 | 51 | #define IFA_F_MANAGETEMPADDR 0x100 |
| 52 | 52 | #define IFA_F_NOPREFIXROUTE 0x200 |
| 53 | +#define IFA_F_MCAUTOJOIN 0x400 | |
| 54 | +#define IFA_F_STABLE_PRIVACY 0x800 | |
| 53 | 55 | |
| 54 | 56 | struct ifa_cacheinfo { |
| 55 | 57 | __u32 ifa_prefered; |
| @@ -147,6 +147,7 @@ enum { · 146 unmodified lines | ||
| 147 | 147 | IFLA_CARRIER_CHANGES, |
| 148 | 148 | IFLA_PHYS_SWITCH_ID, |
| 149 | 149 | IFLA_LINK_NETNSID, |
| 150 | + IFLA_PHYS_PORT_NAME, | |
| 150 | 151 | __IFLA_MAX |
| 151 | 152 | }; |
| 152 | 153 | |
| @@ -215,6 +216,7 @@ enum { · 62 unmodified lines | ||
| 215 | 216 | enum in6_addr_gen_mode { |
| 216 | 217 | IN6_ADDR_GEN_MODE_EUI64, |
| 217 | 218 | IN6_ADDR_GEN_MODE_NONE, |
| 219 | + IN6_ADDR_GEN_MODE_STABLE_PRIVACY, | |
| 218 | 220 | }; |
| 219 | 221 | |
| 220 | 222 | /* Bridge section */ |
| @@ -224,6 +226,9 @@ enum { · 3 unmodified lines | ||
| 224 | 226 | IFLA_BR_FORWARD_DELAY, |
| 225 | 227 | IFLA_BR_HELLO_TIME, |
| 226 | 228 | IFLA_BR_MAX_AGE, |
| 229 | + IFLA_BR_AGEING_TIME, | |
| 230 | + IFLA_BR_STP_STATE, | |
| 231 | + IFLA_BR_PRIORITY, | |
| 227 | 232 | __IFLA_BR_MAX, |
| 228 | 233 | }; |
| 229 | 234 | |
| @@ -247,6 +252,7 @@ enum { · 17 unmodified lines | ||
| 247 | 252 | IFLA_BRPORT_UNICAST_FLOOD, /* flood unicast traffic */ |
| 248 | 253 | IFLA_BRPORT_PROXYARP, /* proxy ARP */ |
| 249 | 254 | IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */ |
| 255 | + IFLA_BRPORT_PROXYARP_WIFI, /* proxy ARP for Wi-Fi */ | |
| 250 | 256 | __IFLA_BRPORT_MAX |
| 251 | 257 | }; |
| 252 | 258 | #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) |
| @@ -459,6 +465,9 @@ enum { · 206 unmodified lines | ||
| 459 | 465 | IFLA_VF_SPOOFCHK, /* Spoof Checking on/off switch */ |
| 460 | 466 | IFLA_VF_LINK_STATE, /* link state enable/disable/auto switch */ |
| 461 | 467 | IFLA_VF_RATE, /* Min and Max TX Bandwidth Allocation */ |
| 468 | + IFLA_VF_RSS_QUERY_EN, /* RSS Redirection Table and Hash Key query | |
| 469 | + * on/off switch | |
| 470 | + */ | |
| 462 | 471 | __IFLA_VF_MAX, |
| 463 | 472 | }; |
| 464 | 473 | |
| @@ -503,6 +512,11 @@ struct ifla_vf_link_state { · 38 unmodified lines | ||
| 503 | 512 | __u32 link_state; |
| 504 | 513 | }; |
| 505 | 514 | |
| 515 | +struct ifla_vf_rss_query_en { | |
| 516 | + __u32 vf; | |
| 517 | + __u32 setting; | |
| 518 | +}; | |
| 519 | + | |
| 506 | 520 | /* VF ports management section |
| 507 | 521 | * |
| 508 | 522 | * Nested layout of set/get msg is: |
| @@ -99,6 +99,7 @@ struct tpacket_auxdata { · 98 unmodified lines | ||
| 99 | 99 | #define TP_STATUS_VLAN_VALID (1 << 4) /* auxdata has valid tp_vlan_tci */ |
| 100 | 100 | #define TP_STATUS_BLK_TMO (1 << 5) |
| 101 | 101 | #define TP_STATUS_VLAN_TPID_VALID (1 << 6) /* auxdata has valid tp_vlan_tpid */ |
| 102 | +#define TP_STATUS_CSUM_VALID (1 << 7) | |
| 102 | 103 | |
| 103 | 104 | /* Tx ring - header status */ |
| 104 | 105 | #define TP_STATUS_AVAILABLE 0 |
| @@ -0,0 +1,3 @@ | ||
| 1 | +# UAPI Header export list | |
| 2 | +header-y += events.h | |
| 3 | +header-y += types.h | |
| @@ -0,0 +1,42 @@ | ||
| 1 | +/* The industrial I/O - event passing to userspace | |
| 2 | + * | |
| 3 | + * Copyright (c) 2008-2011 Jonathan Cameron | |
| 4 | + * | |
| 5 | + * This program is free software; you can redistribute it and/or modify it | |
| 6 | + * under the terms of the GNU General Public License version 2 as published by | |
| 7 | + * the Free Software Foundation. | |
| 8 | + */ | |
| 9 | +#ifndef _UAPI_IIO_EVENTS_H_ | |
| 10 | +#define _UAPI_IIO_EVENTS_H_ | |
| 11 | + | |
| 12 | +#include <linux/ioctl.h> | |
| 13 | +#include <linux/types.h> | |
| 14 | + | |
| 15 | +/** | |
| 16 | + * struct iio_event_data - The actual event being pushed to userspace | |
| 17 | + * @id: event identifier | |
| 18 | + * @timestamp: best estimate of time of event occurrence (often from | |
| 19 | + * the interrupt handler) | |
| 20 | + */ | |
| 21 | +struct iio_event_data { | |
| 22 | + __u64 id; | |
| 23 | + __s64 timestamp; | |
| 24 | +}; | |
| 25 | + | |
| 26 | +#define IIO_GET_EVENT_FD_IOCTL _IOR('i', 0x90, int) | |
| 27 | + | |
| 28 | +#define IIO_EVENT_CODE_EXTRACT_TYPE(mask) ((mask >> 56) & 0xFF) | |
| 29 | + | |
| 30 | +#define IIO_EVENT_CODE_EXTRACT_DIR(mask) ((mask >> 48) & 0x7F) | |
| 31 | + | |
| 32 | +#define IIO_EVENT_CODE_EXTRACT_CHAN_TYPE(mask) ((mask >> 32) & 0xFF) | |
| 33 | + | |
| 34 | +/* Event code number extraction depends on which type of event we have. | |
| 35 | + * Perhaps review this function in the future*/ | |
| 36 | +#define IIO_EVENT_CODE_EXTRACT_CHAN(mask) ((__s16)(mask & 0xFFFF)) | |
| 37 | +#define IIO_EVENT_CODE_EXTRACT_CHAN2(mask) ((__s16)(((mask) >> 16) & 0xFFFF)) | |
| 38 | + | |
| 39 | +#define IIO_EVENT_CODE_EXTRACT_MODIFIER(mask) ((mask >> 40) & 0xFF) | |
| 40 | +#define IIO_EVENT_CODE_EXTRACT_DIFF(mask) (((mask) >> 55) & 0x1) | |
| 41 | + | |
| 42 | +#endif /* _UAPI_IIO_EVENTS_H_ */ | |
| @@ -0,0 +1,92 @@ | ||
| 1 | +/* industrial I/O data types needed both in and out of kernel | |
| 2 | + * | |
| 3 | + * Copyright (c) 2008 Jonathan Cameron | |
| 4 | + * | |
| 5 | + * This program is free software; you can redistribute it and/or modify it | |
| 6 | + * under the terms of the GNU General Public License version 2 as published by | |
| 7 | + * the Free Software Foundation. | |
| 8 | + */ | |
| 9 | + | |
| 10 | +#ifndef _UAPI_IIO_TYPES_H_ | |
| 11 | +#define _UAPI_IIO_TYPES_H_ | |
| 12 | + | |
| 13 | +enum iio_chan_type { | |
| 14 | + IIO_VOLTAGE, | |
| 15 | + IIO_CURRENT, | |
| 16 | + IIO_POWER, | |
| 17 | + IIO_ACCEL, | |
| 18 | + IIO_ANGL_VEL, | |
| 19 | + IIO_MAGN, | |
| 20 | + IIO_LIGHT, | |
| 21 | + IIO_INTENSITY, | |
| 22 | + IIO_PROXIMITY, | |
| 23 | + IIO_TEMP, | |
| 24 | + IIO_INCLI, | |
| 25 | + IIO_ROT, | |
| 26 | + IIO_ANGL, | |
| 27 | + IIO_TIMESTAMP, | |
| 28 | + IIO_CAPACITANCE, | |
| 29 | + IIO_ALTVOLTAGE, | |
| 30 | + IIO_CCT, | |
| 31 | + IIO_PRESSURE, | |
| 32 | + IIO_HUMIDITYRELATIVE, | |
| 33 | + IIO_ACTIVITY, | |
| 34 | + IIO_STEPS, | |
| 35 | + IIO_ENERGY, | |
| 36 | + IIO_DISTANCE, | |
| 37 | + IIO_VELOCITY, | |
| 38 | +}; | |
| 39 | + | |
| 40 | +enum iio_modifier { | |
| 41 | + IIO_NO_MOD, | |
| 42 | + IIO_MOD_X, | |
| 43 | + IIO_MOD_Y, | |
| 44 | + IIO_MOD_Z, | |
| 45 | + IIO_MOD_X_AND_Y, | |
| 46 | + IIO_MOD_X_AND_Z, | |
| 47 | + IIO_MOD_Y_AND_Z, | |
| 48 | + IIO_MOD_X_AND_Y_AND_Z, | |
| 49 | + IIO_MOD_X_OR_Y, | |
| 50 | + IIO_MOD_X_OR_Z, | |
| 51 | + IIO_MOD_Y_OR_Z, | |
| 52 | + IIO_MOD_X_OR_Y_OR_Z, | |
| 53 | + IIO_MOD_LIGHT_BOTH, | |
| 54 | + IIO_MOD_LIGHT_IR, | |
| 55 | + IIO_MOD_ROOT_SUM_SQUARED_X_Y, | |
| 56 | + IIO_MOD_SUM_SQUARED_X_Y_Z, | |
| 57 | + IIO_MOD_LIGHT_CLEAR, | |
| 58 | + IIO_MOD_LIGHT_RED, | |
| 59 | + IIO_MOD_LIGHT_GREEN, | |
| 60 | + IIO_MOD_LIGHT_BLUE, | |
| 61 | + IIO_MOD_QUATERNION, | |
| 62 | + IIO_MOD_TEMP_AMBIENT, | |
| 63 | + IIO_MOD_TEMP_OBJECT, | |
| 64 | + IIO_MOD_NORTH_MAGN, | |
| 65 | + IIO_MOD_NORTH_TRUE, | |
| 66 | + IIO_MOD_NORTH_MAGN_TILT_COMP, | |
| 67 | + IIO_MOD_NORTH_TRUE_TILT_COMP, | |
| 68 | + IIO_MOD_RUNNING, | |
| 69 | + IIO_MOD_JOGGING, | |
| 70 | + IIO_MOD_WALKING, | |
| 71 | + IIO_MOD_STILL, | |
| 72 | + IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z, | |
| 73 | +}; | |
| 74 | + | |
| 75 | +enum iio_event_type { | |
| 76 | + IIO_EV_TYPE_THRESH, | |
| 77 | + IIO_EV_TYPE_MAG, | |
| 78 | + IIO_EV_TYPE_ROC, | |
| 79 | + IIO_EV_TYPE_THRESH_ADAPTIVE, | |
| 80 | + IIO_EV_TYPE_MAG_ADAPTIVE, | |
| 81 | + IIO_EV_TYPE_CHANGE, | |
| 82 | +}; | |
| 83 | + | |
| 84 | +enum iio_event_direction { | |
| 85 | + IIO_EV_DIR_EITHER, | |
| 86 | + IIO_EV_DIR_RISING, | |
| 87 | + IIO_EV_DIR_FALLING, | |
| 88 | + IIO_EV_DIR_NONE, | |
| 89 | +}; | |
| 90 | + | |
| 91 | +#endif /* _UAPI_IIO_TYPES_H_ */ | |
| 92 | + | |
| @@ -369,7 +369,8 @@ struct input_keymap_entry { · 368 unmodified lines | ||
| 369 | 369 | #define KEY_MSDOS 151 |
| 370 | 370 | #define KEY_COFFEE 152 /* AL Terminal Lock/Screensaver */ |
| 371 | 371 | #define KEY_SCREENLOCK KEY_COFFEE |
| 372 | −#define KEY_DIRECTION 153 | |
| 372 | +#define KEY_ROTATE_DISPLAY 153 /* Display orientation for e.g. tablets */ | |
| 373 | +#define KEY_DIRECTION KEY_ROTATE_DISPLAY | |
| 373 | 374 | #define KEY_CYCLEWINDOWS 154 |
| 374 | 375 | #define KEY_MAIL 155 |
| 375 | 376 | #define KEY_BOOKMARKS 156 /* AC Bookmarks */ |
| @@ -702,6 +703,10 @@ struct input_keymap_entry { · 326 unmodified lines | ||
| 702 | 703 | #define KEY_NUMERIC_9 0x209 |
| 703 | 704 | #define KEY_NUMERIC_STAR 0x20a |
| 704 | 705 | #define KEY_NUMERIC_POUND 0x20b |
| 706 | +#define KEY_NUMERIC_A 0x20c /* Phone key A - HUT Telephony 0xb9 */ | |
| 707 | +#define KEY_NUMERIC_B 0x20d | |
| 708 | +#define KEY_NUMERIC_C 0x20e | |
| 709 | +#define KEY_NUMERIC_D 0x20f | |
| 705 | 710 | |
| 706 | 711 | #define KEY_CAMERA_FOCUS 0x210 |
| 707 | 712 | #define KEY_WPS_BUTTON 0x211 /* WiFi Protected Setup key */ |
| @@ -973,7 +978,8 @@ struct input_keymap_entry { · 265 unmodified lines | ||
| 973 | 978 | */ |
| 974 | 979 | #define MT_TOOL_FINGER 0 |
| 975 | 980 | #define MT_TOOL_PEN 1 |
| 976 | −#define MT_TOOL_MAX 1 | |
| 981 | +#define MT_TOOL_PALM 2 | |
| 982 | +#define MT_TOOL_MAX 2 | |
| 977 | 983 | |
| 978 | 984 | /* |
| 979 | 985 | * Values describing the status of a force-feedback effect |
| @@ -358,6 +358,8 @@ enum { · 357 unmodified lines | ||
| 358 | 358 | |
| 359 | 359 | IPVS_SVC_ATTR_PE_NAME, /* name of ct retriever */ |
| 360 | 360 | |
| 361 | + IPVS_SVC_ATTR_STATS64, /* nested attribute for service stats */ | |
| 362 | + | |
| 361 | 363 | __IPVS_SVC_ATTR_MAX, |
| 362 | 364 | }; |
| 363 | 365 | |
| @@ -387,6 +389,8 @@ enum { · 23 unmodified lines | ||
| 387 | 389 | |
| 388 | 390 | IPVS_DEST_ATTR_ADDR_FAMILY, /* Address family of address */ |
| 389 | 391 | |
| 392 | + IPVS_DEST_ATTR_STATS64, /* nested attribute for dest stats */ | |
| 393 | + | |
| 390 | 394 | __IPVS_DEST_ATTR_MAX, |
| 391 | 395 | }; |
| 392 | 396 | |
| @@ -410,7 +414,8 @@ enum { · 17 unmodified lines | ||
| 410 | 414 | /* |
| 411 | 415 | * Attributes used to describe service or destination entry statistics |
| 412 | 416 | * |
| 413 | − * Used inside nested attributes IPVS_SVC_ATTR_STATS and IPVS_DEST_ATTR_STATS | |
| 417 | + * Used inside nested attributes IPVS_SVC_ATTR_STATS, IPVS_DEST_ATTR_STATS, | |
| 418 | + * IPVS_SVC_ATTR_STATS64 and IPVS_DEST_ATTR_STATS64. | |
| 414 | 419 | */ |
| 415 | 420 | enum { |
| 416 | 421 | IPVS_STATS_ATTR_UNSPEC = 0, |
| @@ -170,6 +170,7 @@ enum { · 169 unmodified lines | ||
| 170 | 170 | DEVCONF_ACCEPT_RA_FROM_LOCAL, |
| 171 | 171 | DEVCONF_USE_OPTIMISTIC, |
| 172 | 172 | DEVCONF_ACCEPT_RA_MTU, |
| 173 | + DEVCONF_STABLE_SECRET, | |
| 173 | 174 | DEVCONF_MAX |
| 174 | 175 | }; |
| 175 | 176 | |
| @@ -147,6 +147,16 @@ struct kvm_pit_config { · 146 unmodified lines | ||
| 147 | 147 | |
| 148 | 148 | #define KVM_PIT_SPEAKER_DUMMY 1 |
| 149 | 149 | |
| 150 | +struct kvm_s390_skeys { | |
| 151 | + __u64 start_gfn; | |
| 152 | + __u64 count; | |
| 153 | + __u64 skeydata_addr; | |
| 154 | + __u32 flags; | |
| 155 | + __u32 reserved[9]; | |
| 156 | +}; | |
| 157 | +#define KVM_S390_GET_SKEYS_NONE 1 | |
| 158 | +#define KVM_S390_SKEYS_MAX 1048576 | |
| 159 | + | |
| 150 | 160 | #define KVM_EXIT_UNKNOWN 0 |
| 151 | 161 | #define KVM_EXIT_EXCEPTION 1 |
| 152 | 162 | #define KVM_EXIT_IO 2 |
| @@ -172,6 +182,7 @@ struct kvm_pit_config { · 19 unmodified lines | ||
| 172 | 182 | #define KVM_EXIT_S390_TSCH 22 |
| 173 | 183 | #define KVM_EXIT_EPR 23 |
| 174 | 184 | #define KVM_EXIT_SYSTEM_EVENT 24 |
| 185 | +#define KVM_EXIT_S390_STSI 25 | |
| 175 | 186 | |
| 176 | 187 | /* For KVM_EXIT_INTERNAL_ERROR */ |
| 177 | 188 | /* Emulate instruction failed. */ |
| @@ -309,6 +320,15 @@ struct kvm_run { · 131 unmodified lines | ||
| 309 | 320 | __u32 type; |
| 310 | 321 | __u64 flags; |
| 311 | 322 | } system_event; |
| 323 | + /* KVM_EXIT_S390_STSI */ | |
| 324 | + struct { | |
| 325 | + __u64 addr; | |
| 326 | + __u8 ar; | |
| 327 | + __u8 reserved; | |
| 328 | + __u8 fc; | |
| 329 | + __u8 sel1; | |
| 330 | + __u16 sel2; | |
| 331 | + } s390_stsi; | |
| 312 | 332 | /* Fix the size of the union. */ |
| 313 | 333 | char padding[256]; |
| 314 | 334 | }; |
| @@ -324,7 +344,7 @@ struct kvm_run { · 9 unmodified lines | ||
| 324 | 344 | __u64 kvm_dirty_regs; |
| 325 | 345 | union { |
| 326 | 346 | struct kvm_sync_regs regs; |
| 327 | − char padding[1024]; | |
| 347 | + char padding[2048]; | |
| 328 | 348 | } s; |
| 329 | 349 | }; |
| 330 | 350 | |
| @@ -365,6 +385,24 @@ struct kvm_translation { · 34 unmodified lines | ||
| 365 | 385 | __u8 pad[5]; |
| 366 | 386 | }; |
| 367 | 387 | |
| 388 | +/* for KVM_S390_MEM_OP */ | |
| 389 | +struct kvm_s390_mem_op { | |
| 390 | + /* in */ | |
| 391 | + __u64 gaddr; /* the guest address */ | |
| 392 | + __u64 flags; /* flags */ | |
| 393 | + __u32 size; /* amount of bytes */ | |
| 394 | + __u32 op; /* type of operation */ | |
| 395 | + __u64 buf; /* buffer in userspace */ | |
| 396 | + __u8 ar; /* the access register number */ | |
| 397 | + __u8 reserved[31]; /* should be set to 0 */ | |
| 398 | +}; | |
| 399 | +/* types for kvm_s390_mem_op->op */ | |
| 400 | +#define KVM_S390_MEMOP_LOGICAL_READ 0 | |
| 401 | +#define KVM_S390_MEMOP_LOGICAL_WRITE 1 | |
| 402 | +/* flags for kvm_s390_mem_op->flags */ | |
| 403 | +#define KVM_S390_MEMOP_F_CHECK_ONLY (1ULL << 0) | |
| 404 | +#define KVM_S390_MEMOP_F_INJECT_EXCEPTION (1ULL << 1) | |
| 405 | + | |
| 368 | 406 | /* for KVM_INTERRUPT */ |
| 369 | 407 | struct kvm_interrupt { |
| 370 | 408 | /* in */ |
| @@ -520,6 +558,13 @@ struct kvm_s390_irq { · 149 unmodified lines | ||
| 520 | 558 | } u; |
| 521 | 559 | }; |
| 522 | 560 | |
| 561 | +struct kvm_s390_irq_state { | |
| 562 | + __u64 buf; | |
| 563 | + __u32 flags; | |
| 564 | + __u32 len; | |
| 565 | + __u32 reserved[4]; | |
| 566 | +}; | |
| 567 | + | |
| 523 | 568 | /* for KVM_SET_GUEST_DEBUG */ |
| 524 | 569 | |
| 525 | 570 | #define KVM_GUESTDBG_ENABLE 0x00000001 |
| @@ -760,6 +805,14 @@ struct kvm_ppc_smmu_info { · 234 unmodified lines | ||
| 760 | 805 | #define KVM_CAP_PPC_ENABLE_HCALL 104 |
| 761 | 806 | #define KVM_CAP_CHECK_EXTENSION_VM 105 |
| 762 | 807 | #define KVM_CAP_S390_USER_SIGP 106 |
| 808 | +#define KVM_CAP_S390_VECTOR_REGISTERS 107 | |
| 809 | +#define KVM_CAP_S390_MEM_OP 108 | |
| 810 | +#define KVM_CAP_S390_USER_STSI 109 | |
| 811 | +#define KVM_CAP_S390_SKEYS 110 | |
| 812 | +#define KVM_CAP_MIPS_FPU 111 | |
| 813 | +#define KVM_CAP_MIPS_MSA 112 | |
| 814 | +#define KVM_CAP_S390_INJECT_IRQ 113 | |
| 815 | +#define KVM_CAP_S390_IRQ_STATE 114 | |
| 763 | 816 | |
| 764 | 817 | #ifdef KVM_CAP_IRQ_ROUTING |
| 765 | 818 | |
| @@ -1135,6 +1188,16 @@ struct kvm_s390_ucas_mapping { · 369 unmodified lines | ||
| 1135 | 1188 | #define KVM_ARM_VCPU_INIT _IOW(KVMIO, 0xae, struct kvm_vcpu_init) |
| 1136 | 1189 | #define KVM_ARM_PREFERRED_TARGET _IOR(KVMIO, 0xaf, struct kvm_vcpu_init) |
| 1137 | 1190 | #define KVM_GET_REG_LIST _IOWR(KVMIO, 0xb0, struct kvm_reg_list) |
| 1191 | +/* Available with KVM_CAP_S390_MEM_OP */ | |
| 1192 | +#define KVM_S390_MEM_OP _IOW(KVMIO, 0xb1, struct kvm_s390_mem_op) | |
| 1193 | +/* Available with KVM_CAP_S390_SKEYS */ | |
| 1194 | +#define KVM_S390_GET_SKEYS _IOW(KVMIO, 0xb2, struct kvm_s390_skeys) | |
| 1195 | +#define KVM_S390_SET_SKEYS _IOW(KVMIO, 0xb3, struct kvm_s390_skeys) | |
| 1196 | +/* Available with KVM_CAP_S390_INJECT_IRQ */ | |
| 1197 | +#define KVM_S390_IRQ _IOW(KVMIO, 0xb4, struct kvm_s390_irq) | |
| 1198 | +/* Available with KVM_CAP_S390_IRQ_STATE */ | |
| 1199 | +#define KVM_S390_SET_IRQ_STATE _IOW(KVMIO, 0xb5, struct kvm_s390_irq_state) | |
| 1200 | +#define KVM_S390_GET_IRQ_STATE _IOW(KVMIO, 0xb6, struct kvm_s390_irq_state) | |
| 1138 | 1201 | |
| 1139 | 1202 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) |
| 1140 | 1203 | #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1) |
| @@ -58,6 +58,8 @@ · 57 unmodified lines | ||
| 58 | 58 | |
| 59 | 59 | #define STACK_END_MAGIC 0x57AC6E9D |
| 60 | 60 | |
| 61 | +#define TRACEFS_MAGIC 0x74726163 | |
| 62 | + | |
| 61 | 63 | #define V9FS_MAGIC 0x01021997 |
| 62 | 64 | |
| 63 | 65 | #define BDEVFS_MAGIC 0x62646576 |
| @@ -33,24 +33,32 @@ · 32 unmodified lines | ||
| 33 | 33 | |
| 34 | 34 | #define MEDIA_BUS_FMT_FIXED 0x0001 |
| 35 | 35 | |
| 36 | −/* RGB - next is 0x1010 */ | |
| 36 | +/* RGB - next is 0x1018 */ | |
| 37 | +#define MEDIA_BUS_FMT_RGB444_1X12 0x1016 | |
| 37 | 38 | #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE 0x1001 |
| 38 | 39 | #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE 0x1002 |
| 39 | 40 | #define MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE 0x1003 |
| 40 | 41 | #define MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE 0x1004 |
| 42 | +#define MEDIA_BUS_FMT_RGB565_1X16 0x1017 | |
| 41 | 43 | #define MEDIA_BUS_FMT_BGR565_2X8_BE 0x1005 |
| 42 | 44 | #define MEDIA_BUS_FMT_BGR565_2X8_LE 0x1006 |
| 43 | 45 | #define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007 |
| 44 | 46 | #define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008 |
| 45 | 47 | #define MEDIA_BUS_FMT_RGB666_1X18 0x1009 |
| 46 | 48 | #define MEDIA_BUS_FMT_RBG888_1X24 0x100e |
| 49 | +#define MEDIA_BUS_FMT_RGB666_1X24_CPADHI 0x1015 | |
| 50 | +#define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG 0x1010 | |
| 51 | +#define MEDIA_BUS_FMT_BGR888_1X24 0x1013 | |
| 52 | +#define MEDIA_BUS_FMT_GBR888_1X24 0x1014 | |
| 47 | 53 | #define MEDIA_BUS_FMT_RGB888_1X24 0x100a |
| 48 | 54 | #define MEDIA_BUS_FMT_RGB888_2X12_BE 0x100b |
| 49 | 55 | #define MEDIA_BUS_FMT_RGB888_2X12_LE 0x100c |
| 56 | +#define MEDIA_BUS_FMT_RGB888_1X7X4_SPWG 0x1011 | |
| 57 | +#define MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA 0x1012 | |
| 50 | 58 | #define MEDIA_BUS_FMT_ARGB8888_1X32 0x100d |
| 51 | 59 | #define MEDIA_BUS_FMT_RGB888_1X32_PADHI 0x100f |
| 52 | 60 | |
| 53 | −/* YUV (including grey) - next is 0x2025 */ | |
| 61 | +/* YUV (including grey) - next is 0x2026 */ | |
| 54 | 62 | #define MEDIA_BUS_FMT_Y8_1X8 0x2001 |
| 55 | 63 | #define MEDIA_BUS_FMT_UV8_1X8 0x2015 |
| 56 | 64 | #define MEDIA_BUS_FMT_UYVY8_1_5X8 0x2002 |
| @@ -81,6 +89,7 @@ · 24 unmodified lines | ||
| 81 | 89 | #define MEDIA_BUS_FMT_YUYV10_1X20 0x200d |
| 82 | 90 | #define MEDIA_BUS_FMT_YVYU10_1X20 0x200e |
| 83 | 91 | #define MEDIA_BUS_FMT_VUY8_1X24 0x2024 |
| 92 | +#define MEDIA_BUS_FMT_YUV8_1X24 0x2025 | |
| 84 | 93 | #define MEDIA_BUS_FMT_UYVY12_1X24 0x2020 |
| 85 | 94 | #define MEDIA_BUS_FMT_VYUY12_1X24 0x2021 |
| 86 | 95 | #define MEDIA_BUS_FMT_YUYV12_1X24 0x2022 |
| @@ -126,6 +126,7 @@ enum { · 125 unmodified lines | ||
| 126 | 126 | NDTPA_PROXY_QLEN, /* u32 */ |
| 127 | 127 | NDTPA_LOCKTIME, /* u64, msecs */ |
| 128 | 128 | NDTPA_QUEUE_LENBYTES, /* u32 */ |
| 129 | + NDTPA_MCAST_REPROBES, /* u32 */ | |
| 129 | 130 | __NDTPA_MAX |
| 130 | 131 | }; |
| 131 | 132 | #define NDTPA_MAX (__NDTPA_MAX - 1) |
| @@ -1,19 +1,49 @@ | ||
| 1 | 1 | #ifndef _LINUX_NF_TABLES_H |
| 2 | 2 | #define _LINUX_NF_TABLES_H |
| 3 | 3 | |
| 4 | +#define NFT_TABLE_MAXNAMELEN 32 | |
| 4 | 5 | #define NFT_CHAIN_MAXNAMELEN 32 |
| 5 | 6 | #define NFT_USERDATA_MAXLEN 256 |
| 6 | 7 | |
| 8 | +/** | |
| 9 | + * enum nft_registers - nf_tables registers | |
| 10 | + * | |
| 11 | + * nf_tables used to have five registers: a verdict register and four data | |
| 12 | + * registers of size 16. The data registers have been changed to 16 registers | |
| 13 | + * of size 4. For compatibility reasons, the NFT_REG_[1-4] registers still | |
| 14 | + * map to areas of size 16, the 4 byte registers are addressed using | |
| 15 | + * NFT_REG32_00 - NFT_REG32_15. | |
| 16 | + */ | |
| 7 | 17 | enum nft_registers { |
| 8 | 18 | NFT_REG_VERDICT, |
| 9 | 19 | NFT_REG_1, |
| 10 | 20 | NFT_REG_2, |
| 11 | 21 | NFT_REG_3, |
| 12 | 22 | NFT_REG_4, |
| 13 | − __NFT_REG_MAX | |
| 23 | + __NFT_REG_MAX, | |
| 24 | + | |
| 25 | + NFT_REG32_00 = 8, | |
| 26 | + MFT_REG32_01, | |
| 27 | + NFT_REG32_02, | |
| 28 | + NFT_REG32_03, | |
| 29 | + NFT_REG32_04, | |
| 30 | + NFT_REG32_05, | |
| 31 | + NFT_REG32_06, | |
| 32 | + NFT_REG32_07, | |
| 33 | + NFT_REG32_08, | |
| 34 | + NFT_REG32_09, | |
| 35 | + NFT_REG32_10, | |
| 36 | + NFT_REG32_11, | |
| 37 | + NFT_REG32_12, | |
| 38 | + NFT_REG32_13, | |
| 39 | + NFT_REG32_14, | |
| 40 | + NFT_REG32_15, | |
| 14 | 41 | }; |
| 15 | 42 | #define NFT_REG_MAX (__NFT_REG_MAX - 1) |
| 16 | 43 | |
| 44 | +#define NFT_REG_SIZE 16 | |
| 45 | +#define NFT_REG32_SIZE 4 | |
| 46 | + | |
| 17 | 47 | /** |
| 18 | 48 | * enum nft_verdicts - nf_tables internal verdicts |
| 19 | 49 | * |
| @@ -207,12 +237,16 @@ enum nft_rule_compat_attributes { · 187 unmodified lines | ||
| 207 | 237 | * @NFT_SET_CONSTANT: set contents may not change while bound |
| 208 | 238 | * @NFT_SET_INTERVAL: set contains intervals |
| 209 | 239 | * @NFT_SET_MAP: set is used as a dictionary |
| 240 | + * @NFT_SET_TIMEOUT: set uses timeouts | |
| 241 | + * @NFT_SET_EVAL: set contains expressions for evaluation | |
| 210 | 242 | */ |
| 211 | 243 | enum nft_set_flags { |
| 212 | 244 | NFT_SET_ANONYMOUS = 0x1, |
| 213 | 245 | NFT_SET_CONSTANT = 0x2, |
| 214 | 246 | NFT_SET_INTERVAL = 0x4, |
| 215 | 247 | NFT_SET_MAP = 0x8, |
| 248 | + NFT_SET_TIMEOUT = 0x10, | |
| 249 | + NFT_SET_EVAL = 0x20, | |
| 216 | 250 | }; |
| 217 | 251 | |
| 218 | 252 | /** |
| @@ -251,6 +285,8 @@ enum nft_set_desc_attributes { · 32 unmodified lines | ||
| 251 | 285 | * @NFTA_SET_POLICY: selection policy (NLA_U32) |
| 252 | 286 | * @NFTA_SET_DESC: set description (NLA_NESTED) |
| 253 | 287 | * @NFTA_SET_ID: uniquely identifies a set in a transaction (NLA_U32) |
| 288 | + * @NFTA_SET_TIMEOUT: default timeout value (NLA_U64) | |
| 289 | + * @NFTA_SET_GC_INTERVAL: garbage collection interval (NLA_U32) | |
| 254 | 290 | */ |
| 255 | 291 | enum nft_set_attributes { |
| 256 | 292 | NFTA_SET_UNSPEC, |
| @@ -264,6 +300,8 @@ enum nft_set_attributes { · 7 unmodified lines | ||
| 264 | 300 | NFTA_SET_POLICY, |
| 265 | 301 | NFTA_SET_DESC, |
| 266 | 302 | NFTA_SET_ID, |
| 303 | + NFTA_SET_TIMEOUT, | |
| 304 | + NFTA_SET_GC_INTERVAL, | |
| 267 | 305 | __NFTA_SET_MAX |
| 268 | 306 | }; |
| 269 | 307 | #define NFTA_SET_MAX (__NFTA_SET_MAX - 1) |
| @@ -283,12 +321,20 @@ enum nft_set_elem_flags { · 13 unmodified lines | ||
| 283 | 321 | * @NFTA_SET_ELEM_KEY: key value (NLA_NESTED: nft_data) |
| 284 | 322 | * @NFTA_SET_ELEM_DATA: data value of mapping (NLA_NESTED: nft_data_attributes) |
| 285 | 323 | * @NFTA_SET_ELEM_FLAGS: bitmask of nft_set_elem_flags (NLA_U32) |
| 324 | + * @NFTA_SET_ELEM_TIMEOUT: timeout value (NLA_U64) | |
| 325 | + * @NFTA_SET_ELEM_EXPIRATION: expiration time (NLA_U64) | |
| 326 | + * @NFTA_SET_ELEM_USERDATA: user data (NLA_BINARY) | |
| 327 | + * @NFTA_SET_ELEM_EXPR: expression (NLA_NESTED: nft_expr_attributes) | |
| 286 | 328 | */ |
| 287 | 329 | enum nft_set_elem_attributes { |
| 288 | 330 | NFTA_SET_ELEM_UNSPEC, |
| 289 | 331 | NFTA_SET_ELEM_KEY, |
| 290 | 332 | NFTA_SET_ELEM_DATA, |
| 291 | 333 | NFTA_SET_ELEM_FLAGS, |
| 334 | + NFTA_SET_ELEM_TIMEOUT, | |
| 335 | + NFTA_SET_ELEM_EXPIRATION, | |
| 336 | + NFTA_SET_ELEM_USERDATA, | |
| 337 | + NFTA_SET_ELEM_EXPR, | |
| 292 | 338 | __NFTA_SET_ELEM_MAX |
| 293 | 339 | }; |
| 294 | 340 | #define NFTA_SET_ELEM_MAX (__NFTA_SET_ELEM_MAX - 1) |
| @@ -346,6 +392,9 @@ enum nft_data_attributes { · 51 unmodified lines | ||
| 346 | 392 | }; |
| 347 | 393 | #define NFTA_DATA_MAX (__NFTA_DATA_MAX - 1) |
| 348 | 394 | |
| 395 | +/* Maximum length of a value */ | |
| 396 | +#define NFT_DATA_VALUE_MAXLEN 64 | |
| 397 | + | |
| 349 | 398 | /** |
| 350 | 399 | * enum nft_verdict_attributes - nf_tables verdict netlink attributes |
| 351 | 400 | * |
| @@ -504,6 +553,35 @@ enum nft_lookup_attributes { · 152 unmodified lines | ||
| 504 | 553 | }; |
| 505 | 554 | #define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1) |
| 506 | 555 | |
| 556 | +enum nft_dynset_ops { | |
| 557 | + NFT_DYNSET_OP_ADD, | |
| 558 | + NFT_DYNSET_OP_UPDATE, | |
| 559 | +}; | |
| 560 | + | |
| 561 | +/** | |
| 562 | + * enum nft_dynset_attributes - dynset expression attributes | |
| 563 | + * | |
| 564 | + * @NFTA_DYNSET_SET_NAME: name of set the to add data to (NLA_STRING) | |
| 565 | + * @NFTA_DYNSET_SET_ID: uniquely identifier of the set in the transaction (NLA_U32) | |
| 566 | + * @NFTA_DYNSET_OP: operation (NLA_U32) | |
| 567 | + * @NFTA_DYNSET_SREG_KEY: source register of the key (NLA_U32) | |
| 568 | + * @NFTA_DYNSET_SREG_DATA: source register of the data (NLA_U32) | |
| 569 | + * @NFTA_DYNSET_TIMEOUT: timeout value for the new element (NLA_U64) | |
| 570 | + * @NFTA_DYNSET_EXPR: expression (NLA_NESTED: nft_expr_attributes) | |
| 571 | + */ | |
| 572 | +enum nft_dynset_attributes { | |
| 573 | + NFTA_DYNSET_UNSPEC, | |
| 574 | + NFTA_DYNSET_SET_NAME, | |
| 575 | + NFTA_DYNSET_SET_ID, | |
| 576 | + NFTA_DYNSET_OP, | |
| 577 | + NFTA_DYNSET_SREG_KEY, | |
| 578 | + NFTA_DYNSET_SREG_DATA, | |
| 579 | + NFTA_DYNSET_TIMEOUT, | |
| 580 | + NFTA_DYNSET_EXPR, | |
| 581 | + __NFTA_DYNSET_MAX, | |
| 582 | +}; | |
| 583 | +#define NFTA_DYNSET_MAX (__NFTA_DYNSET_MAX - 1) | |
| 584 | + | |
| 507 | 585 | /** |
| 508 | 586 | * enum nft_payload_bases - nf_tables payload expression offset bases |
| 509 | 587 | * |
| @@ -12,9 +12,7 @@ · 11 unmodified lines | ||
| 12 | 12 | |
| 13 | 13 | #ifndef _UAPI__LINUX_BRIDGE_EFF_H |
| 14 | 14 | #define _UAPI__LINUX_BRIDGE_EFF_H |
| 15 | −#include <linux/if.h> | |
| 16 | 15 | #include <linux/netfilter_bridge.h> |
| 17 | −#include <linux/if_ether.h> | |
| 18 | 16 | |
| 19 | 17 | #define EBT_TABLE_MAXNAMELEN 32 |
| 20 | 18 | #define EBT_CHAIN_MAXNAMELEN EBT_TABLE_MAXNAMELEN |
| @@ -47,7 +47,7 @@ · 46 unmodified lines | ||
| 47 | 47 | * exported filesystem. |
| 48 | 48 | */ |
| 49 | 49 | #define NFSEXP_V4ROOT 0x10000 |
| 50 | −#define NFSEXP_NOPNFS 0x20000 | |
| 50 | +#define NFSEXP_PNFS 0x20000 | |
| 51 | 51 | |
| 52 | 52 | /* All flags that we claim to support. (Note we don't support NOACL.) */ |
| 53 | 53 | #define NFSEXP_ALLFLAGS 0x3FE7F |
| @@ -25,6 +25,19 @@ · 24 unmodified lines | ||
| 25 | 25 | * |
| 26 | 26 | */ |
| 27 | 27 | |
| 28 | +/* | |
| 29 | + * This header file defines the userspace API to the wireless stack. Please | |
| 30 | + * be careful not to break things - i.e. don't move anything around or so | |
| 31 | + * unless you can demonstrate that it breaks neither API nor ABI. | |
| 32 | + * | |
| 33 | + * Additions to the API should be accompanied by actual implementations in | |
| 34 | + * an upstream driver, so that example implementations exist in case there | |
| 35 | + * are ever concerns about the precise semantics of the API or changes are | |
| 36 | + * needed, and to ensure that code for dead (no longer implemented) API | |
| 37 | + * can actually be identified and removed. | |
| 38 | + * Nonetheless, semantics should also be documented carefully in this file. | |
| 39 | + */ | |
| 40 | + | |
| 28 | 41 | #include <linux/types.h> |
| 29 | 42 | |
| 30 | 43 | #define NL80211_GENL_NAME "nl80211" |
| @@ -1684,6 +1697,10 @@ enum nl80211_commands { · 1653 unmodified lines | ||
| 1684 | 1697 | * If set during scheduled scan start then the new scan req will be |
| 1685 | 1698 | * owned by the netlink socket that created it and the scheduled scan will |
| 1686 | 1699 | * be stopped when the socket is closed. |
| 1700 | + * If set during configuration of regulatory indoor operation then the | |
| 1701 | + * regulatory indoor configuration would be owned by the netlink socket | |
| 1702 | + * that configured the indoor setting, and the indoor operation would be | |
| 1703 | + * cleared when the socket is closed. | |
| 1687 | 1704 | * |
| 1688 | 1705 | * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is |
| 1689 | 1706 | * the TDLS link initiator. |
| @@ -1737,8 +1754,12 @@ enum nl80211_commands { · 47 unmodified lines | ||
| 1737 | 1754 | * should be contained in the result as the sum of the respective counters |
| 1738 | 1755 | * over all channels. |
| 1739 | 1756 | * |
| 1740 | − * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before a scheduled scan (or a | |
| 1741 | − * WoWLAN net-detect scan) is started, u32 in seconds. | |
| 1757 | + * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before the first cycle of a | |
| 1758 | + * scheduled scan (or a WoWLAN net-detect scan) is started, u32 | |
| 1759 | + * in seconds. | |
| 1760 | + | |
| 1761 | + * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device | |
| 1762 | + * is operating in an indoor environment. | |
| 1742 | 1763 | * |
| 1743 | 1764 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 1744 | 1765 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| @@ -2107,6 +2128,8 @@ enum nl80211_attrs { · 362 unmodified lines | ||
| 2107 | 2128 | |
| 2108 | 2129 | NL80211_ATTR_SCHED_SCAN_DELAY, |
| 2109 | 2130 | |
| 2131 | + NL80211_ATTR_REG_INDOOR, | |
| 2132 | + | |
| 2110 | 2133 | /* add attributes here, update the policy in nl80211.c */ |
| 2111 | 2134 | |
| 2112 | 2135 | __NL80211_ATTR_AFTER_LAST, |
| @@ -3092,7 +3115,8 @@ enum nl80211_mesh_power_mode { · 979 unmodified lines | ||
| 3092 | 3115 | * |
| 3093 | 3116 | * @NL80211_MESHCONF_PLINK_TIMEOUT: If no tx activity is seen from a STA we've |
| 3094 | 3117 | * established peering with for longer than this time (in seconds), then |
| 3095 | − * remove it from the STA's list of peers. Default is 30 minutes. | |
| 3118 | + * remove it from the STA's list of peers. You may set this to 0 to disable | |
| 3119 | + * the removal of the STA. Default is 30 minutes. | |
| 3096 | 3120 | * |
| 3097 | 3121 | * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use |
| 3098 | 3122 | */ |
| @@ -3694,6 +3718,8 @@ struct nl80211_pattern_support { · 595 unmodified lines | ||
| 3694 | 3718 | * @NL80211_WOWLAN_TRIG_ANY: wake up on any activity, do not really put |
| 3695 | 3719 | * the chip into a special state -- works best with chips that have |
| 3696 | 3720 | * support for low-power operation already (flag) |
| 3721 | + * Note that this mode is incompatible with all of the others, if | |
| 3722 | + * any others are even supported by the device. | |
| 3697 | 3723 | * @NL80211_WOWLAN_TRIG_DISCONNECT: wake up on disconnect, the way disconnect |
| 3698 | 3724 | * is detected is implementation-specific (flag) |
| 3699 | 3725 | * @NL80211_WOWLAN_TRIG_MAGIC_PKT: wake up on magic packet (6x 0xff, followed |
| @@ -4327,11 +4353,13 @@ enum nl80211_feature_flags { · 627 unmodified lines | ||
| 4327 | 4353 | |
| 4328 | 4354 | /** |
| 4329 | 4355 | * enum nl80211_ext_feature_index - bit index of extended features. |
| 4356 | + * @NL80211_EXT_FEATURE_VHT_IBSS: This driver supports IBSS with VHT datarates. | |
| 4330 | 4357 | * |
| 4331 | 4358 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 4332 | 4359 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 4333 | 4360 | */ |
| 4334 | 4361 | enum nl80211_ext_feature_index { |
| 4362 | + NL80211_EXT_FEATURE_VHT_IBSS, | |
| 4335 | 4363 | |
| 4336 | 4364 | /* add new features before the definition below */ |
| 4337 | 4365 | NUM_NL80211_EXT_FEATURES, |
| @@ -152,21 +152,42 @@ enum perf_event_sample_format { · 151 unmodified lines | ||
| 152 | 152 | * The branch types can be combined, however BRANCH_ANY covers all types |
| 153 | 153 | * of branches and therefore it supersedes all the other types. |
| 154 | 154 | */ |
| 155 | +enum perf_branch_sample_type_shift { | |
| 156 | + PERF_SAMPLE_BRANCH_USER_SHIFT = 0, /* user branches */ | |
| 157 | + PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 1, /* kernel branches */ | |
| 158 | + PERF_SAMPLE_BRANCH_HV_SHIFT = 2, /* hypervisor branches */ | |
| 159 | + | |
| 160 | + PERF_SAMPLE_BRANCH_ANY_SHIFT = 3, /* any branch types */ | |
| 161 | + PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 4, /* any call branch */ | |
| 162 | + PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 5, /* any return branch */ | |
| 163 | + PERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 6, /* indirect calls */ | |
| 164 | + PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 7, /* transaction aborts */ | |
| 165 | + PERF_SAMPLE_BRANCH_IN_TX_SHIFT = 8, /* in transaction */ | |
| 166 | + PERF_SAMPLE_BRANCH_NO_TX_SHIFT = 9, /* not in transaction */ | |
| 167 | + PERF_SAMPLE_BRANCH_COND_SHIFT = 10, /* conditional branches */ | |
| 168 | + | |
| 169 | + PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 11, /* call/ret stack */ | |
| 170 | + | |
| 171 | + PERF_SAMPLE_BRANCH_MAX_SHIFT /* non-ABI */ | |
| 172 | +}; | |
| 173 | + | |
| 155 | 174 | enum perf_branch_sample_type { |
| 156 | − PERF_SAMPLE_BRANCH_USER = 1U << 0, /* user branches */ | |
| 157 | − PERF_SAMPLE_BRANCH_KERNEL = 1U << 1, /* kernel branches */ | |
| 158 | − PERF_SAMPLE_BRANCH_HV = 1U << 2, /* hypervisor branches */ | |
| 159 | − | |
| 160 | − PERF_SAMPLE_BRANCH_ANY = 1U << 3, /* any branch types */ | |
| 161 | − PERF_SAMPLE_BRANCH_ANY_CALL = 1U << 4, /* any call branch */ | |
| 162 | − PERF_SAMPLE_BRANCH_ANY_RETURN = 1U << 5, /* any return branch */ | |
| 163 | − PERF_SAMPLE_BRANCH_IND_CALL = 1U << 6, /* indirect calls */ | |
| 164 | − PERF_SAMPLE_BRANCH_ABORT_TX = 1U << 7, /* transaction aborts */ | |
| 165 | − PERF_SAMPLE_BRANCH_IN_TX = 1U << 8, /* in transaction */ | |
| 166 | − PERF_SAMPLE_BRANCH_NO_TX = 1U << 9, /* not in transaction */ | |
| 167 | − PERF_SAMPLE_BRANCH_COND = 1U << 10, /* conditional branches */ | |
| 168 | − | |
| 169 | − PERF_SAMPLE_BRANCH_MAX = 1U << 11, /* non-ABI */ | |
| 175 | + PERF_SAMPLE_BRANCH_USER = 1U << PERF_SAMPLE_BRANCH_USER_SHIFT, | |
| 176 | + PERF_SAMPLE_BRANCH_KERNEL = 1U << PERF_SAMPLE_BRANCH_KERNEL_SHIFT, | |
| 177 | + PERF_SAMPLE_BRANCH_HV = 1U << PERF_SAMPLE_BRANCH_HV_SHIFT, | |
| 178 | + | |
| 179 | + PERF_SAMPLE_BRANCH_ANY = 1U << PERF_SAMPLE_BRANCH_ANY_SHIFT, | |
| 180 | + PERF_SAMPLE_BRANCH_ANY_CALL = 1U << PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT, | |
| 181 | + PERF_SAMPLE_BRANCH_ANY_RETURN = 1U << PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT, | |
| 182 | + PERF_SAMPLE_BRANCH_IND_CALL = 1U << PERF_SAMPLE_BRANCH_IND_CALL_SHIFT, | |
| 183 | + PERF_SAMPLE_BRANCH_ABORT_TX = 1U << PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT, | |
| 184 | + PERF_SAMPLE_BRANCH_IN_TX = 1U << PERF_SAMPLE_BRANCH_IN_TX_SHIFT, | |
| 185 | + PERF_SAMPLE_BRANCH_NO_TX = 1U << PERF_SAMPLE_BRANCH_NO_TX_SHIFT, | |
| 186 | + PERF_SAMPLE_BRANCH_COND = 1U << PERF_SAMPLE_BRANCH_COND_SHIFT, | |
| 187 | + | |
| 188 | + PERF_SAMPLE_BRANCH_CALL_STACK = 1U << PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT, | |
| 189 | + | |
| 190 | + PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT, | |
| 170 | 191 | }; |
| 171 | 192 | |
| 172 | 193 | #define PERF_SAMPLE_BRANCH_PLM_ALL \ |
| @@ -240,6 +261,7 @@ enum perf_event_read_format { · 67 unmodified lines | ||
| 240 | 261 | #define PERF_ATTR_SIZE_VER3 96 /* add: sample_regs_user */ |
| 241 | 262 | /* add: sample_stack_user */ |
| 242 | 263 | #define PERF_ATTR_SIZE_VER4 104 /* add: sample_regs_intr */ |
| 264 | +#define PERF_ATTR_SIZE_VER5 112 /* add: aux_watermark */ | |
| 243 | 265 | |
| 244 | 266 | /* |
| 245 | 267 | * Hardware event_id to monitor via a performance monitoring event: |
| @@ -305,7 +327,8 @@ struct perf_event_attr { · 59 unmodified lines | ||
| 305 | 327 | exclude_callchain_user : 1, /* exclude user callchains */ |
| 306 | 328 | mmap2 : 1, /* include mmap with inode data */ |
| 307 | 329 | comm_exec : 1, /* flag comm events that are due to an exec */ |
| 308 | − __reserved_1 : 39; | |
| 330 | + use_clockid : 1, /* use @clockid for time fields */ | |
| 331 | + __reserved_1 : 38; | |
| 309 | 332 | |
| 310 | 333 | union { |
| 311 | 334 | __u32 wakeup_events; /* wakeup every n events */ |
| @@ -334,8 +357,7 @@ struct perf_event_attr { · 22 unmodified lines | ||
| 334 | 357 | */ |
| 335 | 358 | __u32 sample_stack_user; |
| 336 | 359 | |
| 337 | − /* Align to u64. */ | |
| 338 | − __u32 __reserved_2; | |
| 360 | + __s32 clockid; | |
| 339 | 361 | /* |
| 340 | 362 | * Defines set of regs to dump for each sample |
| 341 | 363 | * state captured on: |
| @@ -345,6 +367,12 @@ struct perf_event_attr { · 3 unmodified lines | ||
| 345 | 367 | * See asm/perf_regs.h for details. |
| 346 | 368 | */ |
| 347 | 369 | __u64 sample_regs_intr; |
| 370 | + | |
| 371 | + /* | |
| 372 | + * Wakeup watermark for AUX area | |
| 373 | + */ | |
| 374 | + __u32 aux_watermark; | |
| 375 | + __u32 __reserved_2; /* align to __u64 */ | |
| 348 | 376 | }; |
| 349 | 377 | |
| 350 | 378 | #define perf_flags(attr) (*(&(attr)->read_format + 1)) |
| @@ -360,6 +388,7 @@ struct perf_event_attr { · 9 unmodified lines | ||
| 360 | 388 | #define PERF_EVENT_IOC_SET_OUTPUT _IO ('$', 5) |
| 361 | 389 | #define PERF_EVENT_IOC_SET_FILTER _IOW('$', 6, char *) |
| 362 | 390 | #define PERF_EVENT_IOC_ID _IOR('$', 7, __u64 *) |
| 391 | +#define PERF_EVENT_IOC_SET_BPF _IOW('$', 8, __u32) | |
| 363 | 392 | |
| 364 | 393 | enum perf_event_ioc_flags { |
| 365 | 394 | PERF_IOC_FLAG_GROUP = 1U << 0, |
| @@ -500,9 +529,30 @@ struct perf_event_mmap_page { · 134 unmodified lines | ||
| 500 | 529 | * In this case the kernel will not over-write unread data. |
| 501 | 530 | * |
| 502 | 531 | * See perf_output_put_handle() for the data ordering. |
| 532 | + * | |
| 533 | + * data_{offset,size} indicate the location and size of the perf record | |
| 534 | + * buffer within the mmapped area. | |
| 503 | 535 | */ |
| 504 | 536 | __u64 data_head; /* head in the data section */ |
| 505 | 537 | __u64 data_tail; /* user-space written tail */ |
| 538 | + __u64 data_offset; /* where the buffer starts */ | |
| 539 | + __u64 data_size; /* data buffer size */ | |
| 540 | + | |
| 541 | + /* | |
| 542 | + * AUX area is defined by aux_{offset,size} fields that should be set | |
| 543 | + * by the userspace, so that | |
| 544 | + * | |
| 545 | + * aux_offset >= data_offset + data_size | |
| 546 | + * | |
| 547 | + * prior to mmap()ing it. Size of the mmap()ed area should be aux_size. | |
| 548 | + * | |
| 549 | + * Ring buffer pointers aux_{head,tail} have the same semantics as | |
| 550 | + * data_{head,tail} and same ordering rules apply. | |
| 551 | + */ | |
| 552 | + __u64 aux_head; | |
| 553 | + __u64 aux_tail; | |
| 554 | + __u64 aux_offset; | |
| 555 | + __u64 aux_size; | |
| 506 | 556 | }; |
| 507 | 557 | |
| 508 | 558 | #define PERF_RECORD_MISC_CPUMODE_MASK (7 << 0) |
| @@ -725,6 +775,31 @@ enum perf_event_type { · 216 unmodified lines | ||
| 725 | 775 | */ |
| 726 | 776 | PERF_RECORD_MMAP2 = 10, |
| 727 | 777 | |
| 778 | + /* | |
| 779 | + * Records that new data landed in the AUX buffer part. | |
| 780 | + * | |
| 781 | + * struct { | |
| 782 | + * struct perf_event_header header; | |
| 783 | + * | |
| 784 | + * u64 aux_offset; | |
| 785 | + * u64 aux_size; | |
| 786 | + * u64 flags; | |
| 787 | + * struct sample_id sample_id; | |
| 788 | + * }; | |
| 789 | + */ | |
| 790 | + PERF_RECORD_AUX = 11, | |
| 791 | + | |
| 792 | + /* | |
| 793 | + * Indicates that instruction trace has started | |
| 794 | + * | |
| 795 | + * struct { | |
| 796 | + * struct perf_event_header header; | |
| 797 | + * u32 pid; | |
| 798 | + * u32 tid; | |
| 799 | + * }; | |
| 800 | + */ | |
| 801 | + PERF_RECORD_ITRACE_START = 12, | |
| 802 | + | |
| 728 | 803 | PERF_RECORD_MAX, /* non-ABI */ |
| 729 | 804 | }; |
| 730 | 805 | |
| @@ -742,6 +817,12 @@ enum perf_callchain_context { · 11 unmodified lines | ||
| 742 | 817 | PERF_CONTEXT_MAX = (__u64)-4095, |
| 743 | 818 | }; |
| 744 | 819 | |
| 820 | +/** | |
| 821 | + * PERF_RECORD_AUX::flags bits | |
| 822 | + */ | |
| 823 | +#define PERF_AUX_FLAG_TRUNCATED 0x01 /* record was truncated to fit */ | |
| 824 | +#define PERF_AUX_FLAG_OVERWRITE 0x02 /* snapshot from overwrite mode */ | |
| 825 | + | |
| 745 | 826 | #define PERF_FLAG_FD_NO_GROUP (1UL << 0) |
| 746 | 827 | #define PERF_FLAG_FD_OUTPUT (1UL << 1) |
| 747 | 828 | #define PERF_FLAG_PID_CGROUP (1UL << 2) /* pid=cgroup id, per-cpu mode only */ |
| @@ -397,6 +397,8 @@ enum { · 396 unmodified lines | ||
| 397 | 397 | TCA_BPF_CLASSID, |
| 398 | 398 | TCA_BPF_OPS_LEN, |
| 399 | 399 | TCA_BPF_OPS, |
| 400 | + TCA_BPF_FD, | |
| 401 | + TCA_BPF_NAME, | |
| 400 | 402 | __TCA_BPF_MAX, |
| 401 | 403 | }; |
| 402 | 404 | |
| @@ -36,11 +36,12 @@ · 35 unmodified lines | ||
| 36 | 36 | #include <linux/errno.h> |
| 37 | 37 | #include <linux/types.h> |
| 38 | 38 | |
| 39 | −#define __DQUOT_VERSION__ "dquot_6.5.2" | |
| 39 | +#define __DQUOT_VERSION__ "dquot_6.6.0" | |
| 40 | 40 | |
| 41 | −#define MAXQUOTAS 2 | |
| 41 | +#define MAXQUOTAS 3 | |
| 42 | 42 | #define USRQUOTA 0 /* element used for user quotas */ |
| 43 | 43 | #define GRPQUOTA 1 /* element used for group quotas */ |
| 44 | +#define PRJQUOTA 2 /* element used for project quotas */ | |
| 44 | 45 | |
| 45 | 46 | /* |
| 46 | 47 | * Definitions for the default names of the quotas files. |
| @@ -48,6 +49,7 @@ · 1 unmodified line | ||
| 48 | 49 | #define INITQFNAMES { \ |
| 49 | 50 | "user", /* USRQUOTA */ \ |
| 50 | 51 | "group", /* GRPQUOTA */ \ |
| 52 | + "project", /* PRJQUOTA */ \ | |
| 51 | 53 | "undefined", \ |
| 52 | 54 | }; |
| 53 | 55 | |
| @@ -134,6 +134,8 @@ enum { · 133 unmodified lines | ||
| 134 | 134 | |
| 135 | 135 | RTM_NEWNSID = 88, |
| 136 | 136 | #define RTM_NEWNSID RTM_NEWNSID |
| 137 | + RTM_DELNSID = 89, | |
| 138 | +#define RTM_DELNSID RTM_DELNSID | |
| 137 | 139 | RTM_GETNSID = 90, |
| 138 | 140 | #define RTM_GETNSID RTM_GETNSID |
| 139 | 141 | |
| @@ -303,6 +305,9 @@ enum rtattr_type_t { · 163 unmodified lines | ||
| 303 | 305 | RTA_TABLE, |
| 304 | 306 | RTA_MARK, |
| 305 | 307 | RTA_MFC_STATS, |
| 308 | + RTA_VIA, | |
| 309 | + RTA_NEWDST, | |
| 310 | + RTA_PREF, | |
| 306 | 311 | __RTA_MAX |
| 307 | 312 | }; |
| 308 | 313 | |
| @@ -332,6 +337,7 @@ struct rtnexthop { · 23 unmodified lines | ||
| 332 | 337 | #define RTNH_F_DEAD 1 /* Nexthop is dead (used by multipath) */ |
| 333 | 338 | #define RTNH_F_PERVASIVE 2 /* Do recursive gateway lookup */ |
| 334 | 339 | #define RTNH_F_ONLINK 4 /* Gateway is forced on link */ |
| 340 | +#define RTNH_F_EXTERNAL 8 /* Route installed externally */ | |
| 335 | 341 | |
| 336 | 342 | /* Macros to handle hexthops */ |
| 337 | 343 | |
| @@ -344,6 +350,12 @@ struct rtnexthop { · 6 unmodified lines | ||
| 344 | 350 | #define RTNH_SPACE(len) RTNH_ALIGN(RTNH_LENGTH(len)) |
| 345 | 351 | #define RTNH_DATA(rtnh) ((struct rtattr*)(((char*)(rtnh)) + RTNH_LENGTH(0))) |
| 346 | 352 | |
| 353 | +/* RTA_VIA */ | |
| 354 | +struct rtvia { | |
| 355 | + __kernel_sa_family_t rtvia_family; | |
| 356 | + __u8 rtvia_addr[0]; | |
| 357 | +}; | |
| 358 | + | |
| 347 | 359 | /* RTM_CACHEINFO */ |
| 348 | 360 | |
| 349 | 361 | struct rta_cacheinfo { |
| @@ -623,6 +635,10 @@ enum rtnetlink_groups { · 273 unmodified lines | ||
| 623 | 635 | #define RTNLGRP_IPV6_NETCONF RTNLGRP_IPV6_NETCONF |
| 624 | 636 | RTNLGRP_MDB, |
| 625 | 637 | #define RTNLGRP_MDB RTNLGRP_MDB |
| 638 | + RTNLGRP_MPLS_ROUTE, | |
| 639 | +#define RTNLGRP_MPLS_ROUTE RTNLGRP_MPLS_ROUTE | |
| 640 | + RTNLGRP_NSID, | |
| 641 | +#define RTNLGRP_NSID RTNLGRP_NSID | |
| 626 | 642 | __RTNLGRP_MAX |
| 627 | 643 | }; |
| 628 | 644 | #define RTNLGRP_MAX (__RTNLGRP_MAX - 1) |
| @@ -65,6 +65,10 @@ struct serial_struct { · 64 unmodified lines | ||
| 65 | 65 | #define SERIAL_IO_PORT 0 |
| 66 | 66 | #define SERIAL_IO_HUB6 1 |
| 67 | 67 | #define SERIAL_IO_MEM 2 |
| 68 | +#define SERIAL_IO_MEM32 3 | |
| 69 | +#define SERIAL_IO_AU 4 | |
| 70 | +#define SERIAL_IO_TSI 5 | |
| 71 | +#define SERIAL_IO_MEM32BE 6 | |
| 68 | 72 | |
| 69 | 73 | #define UART_CLEAR_FIFO 0x01 |
| 70 | 74 | #define UART_USE_FIFO 0x02 |
| @@ -9,3 +9,4 @@ header-y += tc_pedit.h · 8 unmodified lines | ||
| 9 | 9 | header-y += tc_skbedit.h |
| 10 | 10 | header-y += tc_vlan.h |
| 11 | 11 | header-y += tc_bpf.h |
| 12 | +header-y += tc_connmark.h | |
| @@ -24,6 +24,8 @@ enum { · 23 unmodified lines | ||
| 24 | 24 | TCA_ACT_BPF_PARMS, |
| 25 | 25 | TCA_ACT_BPF_OPS_LEN, |
| 26 | 26 | TCA_ACT_BPF_OPS, |
| 27 | + TCA_ACT_BPF_FD, | |
| 28 | + TCA_ACT_BPF_NAME, | |
| 27 | 29 | __TCA_ACT_BPF_MAX, |
| 28 | 30 | }; |
| 29 | 31 | #define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1) |
| @@ -83,11 +83,20 @@ enum { · 82 unmodified lines | ||
| 83 | 83 | TIPC_NLA_BEARER_NAME, /* string */ |
| 84 | 84 | TIPC_NLA_BEARER_PROP, /* nest */ |
| 85 | 85 | TIPC_NLA_BEARER_DOMAIN, /* u32 */ |
| 86 | + TIPC_NLA_BEARER_UDP_OPTS, /* nest */ | |
| 86 | 87 | |
| 87 | 88 | __TIPC_NLA_BEARER_MAX, |
| 88 | 89 | TIPC_NLA_BEARER_MAX = __TIPC_NLA_BEARER_MAX - 1 |
| 89 | 90 | }; |
| 90 | 91 | |
| 92 | +enum { | |
| 93 | + TIPC_NLA_UDP_UNSPEC, | |
| 94 | + TIPC_NLA_UDP_LOCAL, /* sockaddr_storage */ | |
| 95 | + TIPC_NLA_UDP_REMOTE, /* sockaddr_storage */ | |
| 96 | + | |
| 97 | + __TIPC_NLA_UDP_MAX, | |
| 98 | + TIPC_NLA_UDP_MAX = __TIPC_NLA_UDP_MAX - 1 | |
| 99 | +}; | |
| 91 | 100 | /* Socket info */ |
| 92 | 101 | enum { |
| 93 | 102 | TIPC_NLA_SOCK_UNSPEC, |
| @@ -160,6 +160,8 @@ struct vfio_device_info { · 159 unmodified lines | ||
| 160 | 160 | __u32 flags; |
| 161 | 161 | #define VFIO_DEVICE_FLAGS_RESET (1 << 0) /* Device supports reset */ |
| 162 | 162 | #define VFIO_DEVICE_FLAGS_PCI (1 << 1) /* vfio-pci device */ |
| 163 | +#define VFIO_DEVICE_FLAGS_PLATFORM (1 << 2) /* vfio-platform device */ | |
| 164 | +#define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */ | |
| 163 | 165 | __u32 num_regions; /* Max region index + 1 */ |
| 164 | 166 | __u32 num_irqs; /* Max IRQ index + 1 */ |
| 165 | 167 | }; |
| @@ -60,7 +60,7 @@ struct virtio_blk_config { · 59 unmodified lines | ||
| 60 | 60 | __u32 size_max; |
| 61 | 61 | /* The maximum number of segments (if VIRTIO_BLK_F_SEG_MAX) */ |
| 62 | 62 | __u32 seg_max; |
| 63 | − /* geometry the device (if VIRTIO_BLK_F_GEOMETRY) */ | |
| 63 | + /* geometry of the device (if VIRTIO_BLK_F_GEOMETRY) */ | |
| 64 | 64 | struct virtio_blk_geometry { |
| 65 | 65 | __u16 cylinders; |
| 66 | 66 | __u8 heads; |
| @@ -119,7 +119,11 @@ struct virtio_blk_config { · 52 unmodified lines | ||
| 119 | 119 | #define VIRTIO_BLK_T_BARRIER 0x80000000 |
| 120 | 120 | #endif /* !VIRTIO_BLK_NO_LEGACY */ |
| 121 | 121 | |
| 122 | −/* This is the first element of the read scatter-gather list. */ | |
| 122 | +/* | |
| 123 | + * This comes first in the read scatter-gather list. | |
| 124 | + * For legacy virtio, if VIRTIO_F_ANY_LAYOUT is not negotiated, | |
| 125 | + * this is the first element of the read scatter-gather list. | |
| 126 | + */ | |
| 123 | 127 | struct virtio_blk_outhdr { |
| 124 | 128 | /* VIRTIO_BLK_T* */ |
| 125 | 129 | __virtio32 type; |
| @@ -29,8 +29,16 @@ · 28 unmodified lines | ||
| 29 | 29 | |
| 30 | 30 | #include <linux/virtio_types.h> |
| 31 | 31 | |
| 32 | −#define VIRTIO_SCSI_CDB_SIZE 32 | |
| 33 | −#define VIRTIO_SCSI_SENSE_SIZE 96 | |
| 32 | +/* Default values of the CDB and sense data size configuration fields */ | |
| 33 | +#define VIRTIO_SCSI_CDB_DEFAULT_SIZE 32 | |
| 34 | +#define VIRTIO_SCSI_SENSE_DEFAULT_SIZE 96 | |
| 35 | + | |
| 36 | +#ifndef VIRTIO_SCSI_CDB_SIZE | |
| 37 | +#define VIRTIO_SCSI_CDB_SIZE VIRTIO_SCSI_CDB_DEFAULT_SIZE | |
| 38 | +#endif | |
| 39 | +#ifndef VIRTIO_SCSI_SENSE_SIZE | |
| 40 | +#define VIRTIO_SCSI_SENSE_SIZE VIRTIO_SCSI_SENSE_DEFAULT_SIZE | |
| 41 | +#endif | |
| 34 | 42 | |
| 35 | 43 | /* SCSI command request, followed by data-out */ |
| 36 | 44 | struct virtio_scsi_cmd_req { |
| @@ -1,6 +1,7 @@ | ||
| 1 | 1 | #ifndef _LINUX_XFRM_H |
| 2 | 2 | #define _LINUX_XFRM_H |
| 3 | 3 | |
| 4 | +#include <linux/in6.h> | |
| 4 | 5 | #include <linux/types.h> |
| 5 | 6 | |
| 6 | 7 | /* All of the structures in this file may not change size as they are |
| @@ -13,6 +14,7 @@ · 6 unmodified lines | ||
| 13 | 14 | typedef union { |
| 14 | 15 | __be32 a4; |
| 15 | 16 | __be32 a6[4]; |
| 17 | + struct in6_addr in6; | |
| 16 | 18 | } xfrm_address_t; |
| 17 | 19 | |
| 18 | 20 | /* Ident of a specific xfrm_state. It is used on input to lookup |