Merge branches 'for-4.0/upstream-fixes', 'for-4.1/genius', 'for-4.1/huion-uclogic-merge', 'for-4.1/i2c-hid', 'for-4.1/kconfig-drop-expert-dependency', 'for-4.1/logitech', 'for-4.1/multitouch', 'for-4.1/rmi', 'for-4.1/sony', 'for-4.1/upstream' and 'for-4.1/wacom' into for-linus
This commit is contained in:

@@ -35,6 +35,7 @@ header-y += adfs_fs.h
|
||||
header-y += affs_hardblocks.h
|
||||
header-y += agpgart.h
|
||||
header-y += aio_abi.h
|
||||
header-y += am437x-vpfe.h
|
||||
header-y += apm_bios.h
|
||||
header-y += arcfb.h
|
||||
header-y += atalk.h
|
||||
@@ -283,6 +284,7 @@ header-y += net.h
|
||||
header-y += netlink_diag.h
|
||||
header-y += netlink.h
|
||||
header-y += netrom.h
|
||||
header-y += net_namespace.h
|
||||
header-y += net_tstamp.h
|
||||
header-y += nfc.h
|
||||
header-y += nfs2.h
|
||||
@@ -368,7 +370,6 @@ header-y += snmp.h
|
||||
header-y += sock_diag.h
|
||||
header-y += socket.h
|
||||
header-y += sockios.h
|
||||
header-y += som.h
|
||||
header-y += sonet.h
|
||||
header-y += sonypi.h
|
||||
header-y += soundcard.h
|
||||
|
122
include/uapi/linux/am437x-vpfe.h
Normal file
122
include/uapi/linux/am437x-vpfe.h
Normal file
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
* Copyright (C) 2013 - 2014 Texas Instruments, Inc.
|
||||
*
|
||||
* Benoit Parrot <bparrot@ti.com>
|
||||
* Lad, Prabhakar <prabhakar.csengg@gmail.com>
|
||||
*
|
||||
* This program is free software; you may redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef AM437X_VPFE_USER_H
|
||||
#define AM437X_VPFE_USER_H
|
||||
|
||||
enum vpfe_ccdc_data_size {
|
||||
VPFE_CCDC_DATA_16BITS = 0,
|
||||
VPFE_CCDC_DATA_15BITS,
|
||||
VPFE_CCDC_DATA_14BITS,
|
||||
VPFE_CCDC_DATA_13BITS,
|
||||
VPFE_CCDC_DATA_12BITS,
|
||||
VPFE_CCDC_DATA_11BITS,
|
||||
VPFE_CCDC_DATA_10BITS,
|
||||
VPFE_CCDC_DATA_8BITS,
|
||||
};
|
||||
|
||||
/* enum for No of pixel per line to be avg. in Black Clamping*/
|
||||
enum vpfe_ccdc_sample_length {
|
||||
VPFE_CCDC_SAMPLE_1PIXELS = 0,
|
||||
VPFE_CCDC_SAMPLE_2PIXELS,
|
||||
VPFE_CCDC_SAMPLE_4PIXELS,
|
||||
VPFE_CCDC_SAMPLE_8PIXELS,
|
||||
VPFE_CCDC_SAMPLE_16PIXELS,
|
||||
};
|
||||
|
||||
/* enum for No of lines in Black Clamping */
|
||||
enum vpfe_ccdc_sample_line {
|
||||
VPFE_CCDC_SAMPLE_1LINES = 0,
|
||||
VPFE_CCDC_SAMPLE_2LINES,
|
||||
VPFE_CCDC_SAMPLE_4LINES,
|
||||
VPFE_CCDC_SAMPLE_8LINES,
|
||||
VPFE_CCDC_SAMPLE_16LINES,
|
||||
};
|
||||
|
||||
/* enum for Alaw gamma width */
|
||||
enum vpfe_ccdc_gamma_width {
|
||||
VPFE_CCDC_GAMMA_BITS_15_6 = 0, /* use bits 15-6 for gamma */
|
||||
VPFE_CCDC_GAMMA_BITS_14_5,
|
||||
VPFE_CCDC_GAMMA_BITS_13_4,
|
||||
VPFE_CCDC_GAMMA_BITS_12_3,
|
||||
VPFE_CCDC_GAMMA_BITS_11_2,
|
||||
VPFE_CCDC_GAMMA_BITS_10_1,
|
||||
VPFE_CCDC_GAMMA_BITS_09_0, /* use bits 9-0 for gamma */
|
||||
};
|
||||
|
||||
/* structure for ALaw */
|
||||
struct vpfe_ccdc_a_law {
|
||||
/* Enable/disable A-Law */
|
||||
unsigned char enable;
|
||||
/* Gamma Width Input */
|
||||
enum vpfe_ccdc_gamma_width gamma_wd;
|
||||
};
|
||||
|
||||
/* structure for Black Clamping */
|
||||
struct vpfe_ccdc_black_clamp {
|
||||
unsigned char enable;
|
||||
/* only if bClampEnable is TRUE */
|
||||
enum vpfe_ccdc_sample_length sample_pixel;
|
||||
/* only if bClampEnable is TRUE */
|
||||
enum vpfe_ccdc_sample_line sample_ln;
|
||||
/* only if bClampEnable is TRUE */
|
||||
unsigned short start_pixel;
|
||||
/* only if bClampEnable is TRUE */
|
||||
unsigned short sgain;
|
||||
/* only if bClampEnable is FALSE */
|
||||
unsigned short dc_sub;
|
||||
};
|
||||
|
||||
/* structure for Black Level Compensation */
|
||||
struct vpfe_ccdc_black_compensation {
|
||||
/* Constant value to subtract from Red component */
|
||||
char r;
|
||||
/* Constant value to subtract from Gr component */
|
||||
char gr;
|
||||
/* Constant value to subtract from Blue component */
|
||||
char b;
|
||||
/* Constant value to subtract from Gb component */
|
||||
char gb;
|
||||
};
|
||||
|
||||
/* Structure for CCDC configuration parameters for raw capture mode passed
|
||||
* by application
|
||||
*/
|
||||
struct vpfe_ccdc_config_params_raw {
|
||||
/* data size value from 8 to 16 bits */
|
||||
enum vpfe_ccdc_data_size data_sz;
|
||||
/* Structure for Optional A-Law */
|
||||
struct vpfe_ccdc_a_law alaw;
|
||||
/* Structure for Optical Black Clamp */
|
||||
struct vpfe_ccdc_black_clamp blk_clamp;
|
||||
/* Structure for Black Compensation */
|
||||
struct vpfe_ccdc_black_compensation blk_comp;
|
||||
};
|
||||
|
||||
/*
|
||||
* Private IOCTL
|
||||
* VIDIOC_AM437X_CCDC_CFG - Set CCDC configuration for raw capture
|
||||
* This is an experimental ioctl that will change in future kernels. So use
|
||||
* this ioctl with care !
|
||||
**/
|
||||
#define VIDIOC_AM437X_CCDC_CFG \
|
||||
_IOW('V', BASE_VIDIOC_PRIVATE + 1, void *)
|
||||
|
||||
#endif /* AM437X_VPFE_USER_H */
|
@@ -495,8 +495,7 @@ struct btrfs_ioctl_send_args {
|
||||
|
||||
/* Error codes as returned by the kernel */
|
||||
enum btrfs_err_code {
|
||||
notused,
|
||||
BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET,
|
||||
BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1,
|
||||
BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET,
|
||||
BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET,
|
||||
BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET,
|
||||
|
@@ -267,9 +267,9 @@ enum {
|
||||
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
||||
|
||||
#define DM_VERSION_MAJOR 4
|
||||
#define DM_VERSION_MINOR 29
|
||||
#define DM_VERSION_MINOR 30
|
||||
#define DM_VERSION_PATCHLEVEL 0
|
||||
#define DM_VERSION_EXTRA "-ioctl (2014-10-28)"
|
||||
#define DM_VERSION_EXTRA "-ioctl (2014-12-22)"
|
||||
|
||||
/* Status bits */
|
||||
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
||||
|
@@ -139,6 +139,7 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep)
|
||||
|
||||
#define ETHTOOL_FWVERS_LEN 32
|
||||
#define ETHTOOL_BUSINFO_LEN 32
|
||||
#define ETHTOOL_EROMVERS_LEN 32
|
||||
|
||||
/**
|
||||
* struct ethtool_drvinfo - general driver and device information
|
||||
@@ -148,6 +149,7 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep)
|
||||
* not be an empty string.
|
||||
* @version: Driver version string; may be an empty string
|
||||
* @fw_version: Firmware version string; may be an empty string
|
||||
* @erom_version: Expansion ROM version string; may be an empty string
|
||||
* @bus_info: Device bus address. This should match the dev_name()
|
||||
* string for the underlying bus device, if there is one. May be
|
||||
* an empty string.
|
||||
@@ -176,7 +178,7 @@ struct ethtool_drvinfo {
|
||||
char version[32];
|
||||
char fw_version[ETHTOOL_FWVERS_LEN];
|
||||
char bus_info[ETHTOOL_BUSINFO_LEN];
|
||||
char reserved1[32];
|
||||
char erom_version[ETHTOOL_EROMVERS_LEN];
|
||||
char reserved2[12];
|
||||
__u32 n_priv_flags;
|
||||
__u32 n_stats;
|
||||
|
@@ -14,6 +14,7 @@ enum {
|
||||
FOU_ATTR_AF, /* u8 */
|
||||
FOU_ATTR_IPPROTO, /* u8 */
|
||||
FOU_ATTR_TYPE, /* u8 */
|
||||
FOU_ATTR_REMCSUM_NOPARTIAL, /* flag */
|
||||
|
||||
__FOU_ATTR_MAX,
|
||||
};
|
||||
|
@@ -90,6 +90,7 @@ struct inodes_stat_t {
|
||||
#define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */
|
||||
#define MS_I_VERSION (1<<23) /* Update inode I_version field */
|
||||
#define MS_STRICTATIME (1<<24) /* Always perform atime updates */
|
||||
#define MS_LAZYTIME (1<<25) /* Update the on-disk [acm]times lazily */
|
||||
|
||||
/* These sb flags are internal to the kernel */
|
||||
#define MS_NOSEC (1<<28)
|
||||
@@ -100,7 +101,8 @@ struct inodes_stat_t {
|
||||
/*
|
||||
* Superblock flags that can be altered by MS_REMOUNT
|
||||
*/
|
||||
#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION)
|
||||
#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION|\
|
||||
MS_LAZYTIME)
|
||||
|
||||
/*
|
||||
* Old magic mount flag and mask
|
||||
|
@@ -125,6 +125,8 @@ enum {
|
||||
#define BRIDGE_VLAN_INFO_MASTER (1<<0) /* Operate on Bridge device as well */
|
||||
#define BRIDGE_VLAN_INFO_PVID (1<<1) /* VLAN is PVID, ingress untagged */
|
||||
#define BRIDGE_VLAN_INFO_UNTAGGED (1<<2) /* VLAN egresses untagged */
|
||||
#define BRIDGE_VLAN_INFO_RANGE_BEGIN (1<<3) /* VLAN is start of vlan range */
|
||||
#define BRIDGE_VLAN_INFO_RANGE_END (1<<4) /* VLAN is end of vlan range */
|
||||
|
||||
struct bridge_vlan_info {
|
||||
__u16 flags;
|
||||
|
@@ -146,6 +146,7 @@ enum {
|
||||
IFLA_PHYS_PORT_ID,
|
||||
IFLA_CARRIER_CHANGES,
|
||||
IFLA_PHYS_SWITCH_ID,
|
||||
IFLA_LINK_NETNSID,
|
||||
__IFLA_MAX
|
||||
};
|
||||
|
||||
@@ -370,6 +371,10 @@ enum {
|
||||
IFLA_VXLAN_UDP_CSUM,
|
||||
IFLA_VXLAN_UDP_ZERO_CSUM6_TX,
|
||||
IFLA_VXLAN_UDP_ZERO_CSUM6_RX,
|
||||
IFLA_VXLAN_REMCSUM_TX,
|
||||
IFLA_VXLAN_REMCSUM_RX,
|
||||
IFLA_VXLAN_GBP,
|
||||
IFLA_VXLAN_REMCSUM_NOPARTIAL,
|
||||
__IFLA_VXLAN_MAX
|
||||
};
|
||||
#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
|
||||
|
@@ -109,6 +109,7 @@ struct in_addr {
|
||||
|
||||
#define IP_MINTTL 21
|
||||
#define IP_NODEFRAG 22
|
||||
#define IP_CHECKSUM 23
|
||||
|
||||
/* IP_MTU_DISCOVER values */
|
||||
#define IP_PMTUDISC_DONT 0 /* Never send DF frames */
|
||||
|
@@ -702,6 +702,10 @@ struct input_keymap_entry {
|
||||
#define KEY_NUMERIC_9 0x209
|
||||
#define KEY_NUMERIC_STAR 0x20a
|
||||
#define KEY_NUMERIC_POUND 0x20b
|
||||
#define KEY_NUMERIC_A 0x20c /* Phone key A - HUT Telephony 0xb9 */
|
||||
#define KEY_NUMERIC_B 0x20d
|
||||
#define KEY_NUMERIC_C 0x20e
|
||||
#define KEY_NUMERIC_D 0x20f
|
||||
|
||||
#define KEY_CAMERA_FOCUS 0x210
|
||||
#define KEY_WPS_BUTTON 0x211 /* WiFi Protected Setup key */
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#ifndef _UAPI_IPV6_H
|
||||
#define _UAPI_IPV6_H
|
||||
|
||||
#include <linux/libc-compat.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/in6.h>
|
||||
#include <asm/byteorder.h>
|
||||
@@ -15,16 +16,19 @@
|
||||
* *under construction*
|
||||
*/
|
||||
|
||||
|
||||
#if __UAPI_DEF_IN6_PKTINFO
|
||||
struct in6_pktinfo {
|
||||
struct in6_addr ipi6_addr;
|
||||
int ipi6_ifindex;
|
||||
};
|
||||
#endif
|
||||
|
||||
#if __UAPI_DEF_IP6_MTUINFO
|
||||
struct ip6_mtuinfo {
|
||||
struct sockaddr_in6 ip6m_addr;
|
||||
__u32 ip6m_mtu;
|
||||
};
|
||||
#endif
|
||||
|
||||
struct in6_ifreq {
|
||||
struct in6_addr ifr6_addr;
|
||||
@@ -165,6 +169,7 @@ enum {
|
||||
DEVCONF_SUPPRESS_FRAG_NDISC,
|
||||
DEVCONF_ACCEPT_RA_FROM_LOCAL,
|
||||
DEVCONF_USE_OPTIMISTIC,
|
||||
DEVCONF_ACCEPT_RA_MTU,
|
||||
DEVCONF_MAX
|
||||
};
|
||||
|
||||
|
@@ -32,6 +32,7 @@
|
||||
#define KPF_KSM 21
|
||||
#define KPF_THP 22
|
||||
#define KPF_BALLOON 23
|
||||
#define KPF_ZERO_PAGE 24
|
||||
|
||||
|
||||
#endif /* _UAPILINUX_KERNEL_PAGE_FLAGS_H */
|
||||
|
@@ -55,12 +55,6 @@ struct kexec_segment {
|
||||
size_t memsz;
|
||||
};
|
||||
|
||||
/* Load a new kernel image as described by the kexec_segment array
|
||||
* consisting of passed number of segments at the entry-point address.
|
||||
* The flags allow different useage types.
|
||||
*/
|
||||
extern int kexec_load(void *, size_t, struct kexec_segment *,
|
||||
unsigned long int);
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* _UAPILINUX_KEXEC_H */
|
||||
|
@@ -491,6 +491,11 @@ struct kvm_s390_emerg_info {
|
||||
__u16 code;
|
||||
};
|
||||
|
||||
#define KVM_S390_STOP_FLAG_STORE_STATUS 0x01
|
||||
struct kvm_s390_stop_info {
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
struct kvm_s390_mchk_info {
|
||||
__u64 cr14;
|
||||
__u64 mcic;
|
||||
@@ -509,6 +514,7 @@ struct kvm_s390_irq {
|
||||
struct kvm_s390_emerg_info emerg;
|
||||
struct kvm_s390_extcall_info extcall;
|
||||
struct kvm_s390_prefix_info prefix;
|
||||
struct kvm_s390_stop_info stop;
|
||||
struct kvm_s390_mchk_info mchk;
|
||||
char reserved[64];
|
||||
} u;
|
||||
@@ -753,6 +759,7 @@ struct kvm_ppc_smmu_info {
|
||||
#define KVM_CAP_PPC_FIXUP_HCALL 103
|
||||
#define KVM_CAP_PPC_ENABLE_HCALL 104
|
||||
#define KVM_CAP_CHECK_EXTENSION_VM 105
|
||||
#define KVM_CAP_S390_USER_SIGP 106
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
@@ -952,6 +959,8 @@ enum kvm_device_type {
|
||||
#define KVM_DEV_TYPE_ARM_VGIC_V2 KVM_DEV_TYPE_ARM_VGIC_V2
|
||||
KVM_DEV_TYPE_FLIC,
|
||||
#define KVM_DEV_TYPE_FLIC KVM_DEV_TYPE_FLIC
|
||||
KVM_DEV_TYPE_ARM_VGIC_V3,
|
||||
#define KVM_DEV_TYPE_ARM_VGIC_V3 KVM_DEV_TYPE_ARM_VGIC_V3
|
||||
KVM_DEV_TYPE_MAX,
|
||||
};
|
||||
|
||||
|
@@ -178,5 +178,6 @@ enum l2tp_seqmode {
|
||||
*/
|
||||
#define L2TP_GENL_NAME "l2tp"
|
||||
#define L2TP_GENL_VERSION 0x1
|
||||
#define L2TP_GENL_MCGROUP "l2tp"
|
||||
|
||||
#endif /* _UAPI_LINUX_L2TP_H_ */
|
||||
|
@@ -70,6 +70,8 @@
|
||||
#define __UAPI_DEF_IPV6_MREQ 0
|
||||
#define __UAPI_DEF_IPPROTO_V6 0
|
||||
#define __UAPI_DEF_IPV6_OPTIONS 0
|
||||
#define __UAPI_DEF_IN6_PKTINFO 0
|
||||
#define __UAPI_DEF_IP6_MTUINFO 0
|
||||
|
||||
#else
|
||||
|
||||
@@ -84,6 +86,8 @@
|
||||
#define __UAPI_DEF_IPV6_MREQ 1
|
||||
#define __UAPI_DEF_IPPROTO_V6 1
|
||||
#define __UAPI_DEF_IPV6_OPTIONS 1
|
||||
#define __UAPI_DEF_IN6_PKTINFO 1
|
||||
#define __UAPI_DEF_IP6_MTUINFO 1
|
||||
|
||||
#endif /* _NETINET_IN_H */
|
||||
|
||||
@@ -106,6 +110,8 @@
|
||||
#define __UAPI_DEF_IPV6_MREQ 1
|
||||
#define __UAPI_DEF_IPPROTO_V6 1
|
||||
#define __UAPI_DEF_IPV6_OPTIONS 1
|
||||
#define __UAPI_DEF_IN6_PKTINFO 1
|
||||
#define __UAPI_DEF_IP6_MTUINFO 1
|
||||
|
||||
/* Definitions for xattr.h */
|
||||
#define __UAPI_DEF_XATTR 1
|
||||
|
@@ -67,7 +67,7 @@ enum mpol_rebind_step {
|
||||
#define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */
|
||||
#define MPOL_F_REBINDING (1 << 2) /* identify policies in rebinding */
|
||||
#define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */
|
||||
#define MPOL_F_MORON (1 << 4) /* Migrate On pte_numa Reference On Node */
|
||||
#define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */
|
||||
|
||||
|
||||
#endif /* _UAPI_LINUX_MEMPOLICY_H */
|
||||
|
@@ -134,7 +134,7 @@ struct fat_boot_sector {
|
||||
__u8 vol_id[4]; /* volume ID */
|
||||
__u8 vol_label[11]; /* volume label */
|
||||
__u8 fs_type[8]; /* file system type */
|
||||
/* other fiealds are not added here */
|
||||
/* other fields are not added here */
|
||||
} fat16;
|
||||
|
||||
struct {
|
||||
@@ -157,7 +157,7 @@ struct fat_boot_sector {
|
||||
__u8 vol_id[4]; /* volume ID */
|
||||
__u8 vol_label[11]; /* volume label */
|
||||
__u8 fs_type[8]; /* file system type */
|
||||
/* other fiealds are not added here */
|
||||
/* other fields are not added here */
|
||||
} fat32;
|
||||
};
|
||||
};
|
||||
|
@@ -25,6 +25,7 @@ enum {
|
||||
NDA_VNI,
|
||||
NDA_IFINDEX,
|
||||
NDA_MASTER,
|
||||
NDA_LINK_NETNSID,
|
||||
__NDA_MAX
|
||||
};
|
||||
|
||||
|
23
include/uapi/linux/net_namespace.h
Normal file
23
include/uapi/linux/net_namespace.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/* Copyright (c) 2015 6WIND S.A.
|
||||
* Author: Nicolas Dichtel <nicolas.dichtel@6wind.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*/
|
||||
#ifndef _UAPI_LINUX_NET_NAMESPACE_H_
|
||||
#define _UAPI_LINUX_NET_NAMESPACE_H_
|
||||
|
||||
/* Attributes of RTM_NEWNSID/RTM_GETNSID messages */
|
||||
enum {
|
||||
NETNSA_NONE,
|
||||
#define NETNSA_NSID_NOT_ASSIGNED -1
|
||||
NETNSA_NSID,
|
||||
NETNSA_PID,
|
||||
NETNSA_FD,
|
||||
__NETNSA_MAX,
|
||||
};
|
||||
|
||||
#define NETNSA_MAX (__NETNSA_MAX - 1)
|
||||
|
||||
#endif /* _UAPI_LINUX_NET_NAMESPACE_H_ */
|
@@ -24,8 +24,9 @@ enum {
|
||||
SOF_TIMESTAMPING_TX_SCHED = (1<<8),
|
||||
SOF_TIMESTAMPING_TX_ACK = (1<<9),
|
||||
SOF_TIMESTAMPING_OPT_CMSG = (1<<10),
|
||||
SOF_TIMESTAMPING_OPT_TSONLY = (1<<11),
|
||||
|
||||
SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_CMSG,
|
||||
SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_TSONLY,
|
||||
SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |
|
||||
SOF_TIMESTAMPING_LAST
|
||||
};
|
||||
|
@@ -183,6 +183,7 @@ enum nfc_attrs {
|
||||
NFC_ATTR_SE_APDU,
|
||||
NFC_ATTR_TARGET_ISO15693_DSFID,
|
||||
NFC_ATTR_TARGET_ISO15693_UID,
|
||||
NFC_ATTR_SE_PARAMS,
|
||||
/* private: internal use only */
|
||||
__NFC_ATTR_AFTER_LAST
|
||||
};
|
||||
|
@@ -32,6 +32,7 @@
|
||||
#define NFSDDBG_REPCACHE 0x0080
|
||||
#define NFSDDBG_XDR 0x0100
|
||||
#define NFSDDBG_LOCKD 0x0200
|
||||
#define NFSDDBG_PNFS 0x0400
|
||||
#define NFSDDBG_ALL 0x7FFF
|
||||
#define NFSDDBG_NOCHANGE 0xFFFF
|
||||
|
||||
|
@@ -47,8 +47,10 @@
|
||||
* exported filesystem.
|
||||
*/
|
||||
#define NFSEXP_V4ROOT 0x10000
|
||||
#define NFSEXP_NOPNFS 0x20000
|
||||
|
||||
/* All flags that we claim to support. (Note we don't support NOACL.) */
|
||||
#define NFSEXP_ALLFLAGS 0x1FE7F
|
||||
#define NFSEXP_ALLFLAGS 0x3FE7F
|
||||
|
||||
/* The flags that may vary depending on security flavor: */
|
||||
#define NFSEXP_SECINFO_FLAGS (NFSEXP_READONLY | NFSEXP_ROOTSQUASH \
|
||||
|
@@ -29,6 +29,13 @@
|
||||
|
||||
#define NL80211_GENL_NAME "nl80211"
|
||||
|
||||
#define NL80211_MULTICAST_GROUP_CONFIG "config"
|
||||
#define NL80211_MULTICAST_GROUP_SCAN "scan"
|
||||
#define NL80211_MULTICAST_GROUP_REG "regulatory"
|
||||
#define NL80211_MULTICAST_GROUP_MLME "mlme"
|
||||
#define NL80211_MULTICAST_GROUP_VENDOR "vendor"
|
||||
#define NL80211_MULTICAST_GROUP_TESTMODE "testmode"
|
||||
|
||||
/**
|
||||
* DOC: Station handling
|
||||
*
|
||||
@@ -173,8 +180,8 @@
|
||||
* %NL80211_ATTR_WIPHY and %NL80211_ATTR_WIPHY_NAME.
|
||||
*
|
||||
* @NL80211_CMD_GET_INTERFACE: Request an interface's configuration;
|
||||
* either a dump request on a %NL80211_ATTR_WIPHY or a specific get
|
||||
* on an %NL80211_ATTR_IFINDEX is supported.
|
||||
* either a dump request for all interfaces or a specific get with a
|
||||
* single %NL80211_ATTR_IFINDEX is supported.
|
||||
* @NL80211_CMD_SET_INTERFACE: Set type of a virtual interface, requires
|
||||
* %NL80211_ATTR_IFINDEX and %NL80211_ATTR_IFTYPE.
|
||||
* @NL80211_CMD_NEW_INTERFACE: Newly created virtual interface or response
|
||||
@@ -252,7 +259,18 @@
|
||||
* %NL80211_ATTR_IFINDEX.
|
||||
*
|
||||
* @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set
|
||||
* regulatory domain.
|
||||
* regulatory domain. If %NL80211_ATTR_WIPHY is specified and the device
|
||||
* has a private regulatory domain, it will be returned. Otherwise, the
|
||||
* global regdomain will be returned.
|
||||
* A device will have a private regulatory domain if it uses the
|
||||
* regulatory_hint() API. Even when a private regdomain is used the channel
|
||||
* information will still be mended according to further hints from
|
||||
* the regulatory core to help with compliance. A dump version of this API
|
||||
* is now available which will returns the global regdomain as well as
|
||||
* all private regdomains of present wiphys (for those that have it).
|
||||
* If a wiphy is self-managed (%NL80211_ATTR_WIPHY_SELF_MANAGED_REG), then
|
||||
* its private regdomain is the only valid one for it. The regulatory
|
||||
* core is not used to help with compliance in this case.
|
||||
* @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command
|
||||
* after being queried by the kernel. CRDA replies by sending a regulatory
|
||||
* domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our
|
||||
@@ -306,7 +324,9 @@
|
||||
* if passed, define which channels should be scanned; if not
|
||||
* passed, all channels allowed for the current regulatory domain
|
||||
* are used. Extra IEs can also be passed from the userspace by
|
||||
* using the %NL80211_ATTR_IE attribute.
|
||||
* using the %NL80211_ATTR_IE attribute. The first cycle of the
|
||||
* scheduled scan can be delayed by %NL80211_ATTR_SCHED_SCAN_DELAY
|
||||
* is supplied.
|
||||
* @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT if
|
||||
* scheduled scan is not running. The caller may assume that as soon
|
||||
* as the call returns, it is safe to start a new scheduled scan again.
|
||||
@@ -774,6 +794,10 @@
|
||||
* peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel
|
||||
* when this command completes.
|
||||
*
|
||||
* @NL80211_CMD_WIPHY_REG_CHANGE: Similar to %NL80211_CMD_REG_CHANGE, but used
|
||||
* as an event to indicate changes for devices with wiphy-specific regdom
|
||||
* management.
|
||||
*
|
||||
* @NL80211_CMD_MAX: highest used command number
|
||||
* @__NL80211_CMD_AFTER_LAST: internal use
|
||||
*/
|
||||
@@ -958,6 +982,8 @@ enum nl80211_commands {
|
||||
NL80211_CMD_TDLS_CHANNEL_SWITCH,
|
||||
NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH,
|
||||
|
||||
NL80211_CMD_WIPHY_REG_CHANGE,
|
||||
|
||||
/* add new commands above here */
|
||||
|
||||
/* used to define NL80211_CMD_MAX below */
|
||||
@@ -1655,6 +1681,9 @@ enum nl80211_commands {
|
||||
* @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface
|
||||
* creation then the new interface will be owned by the netlink socket
|
||||
* that created it and will be destroyed when the socket is closed.
|
||||
* If set during scheduled scan start then the new scan req will be
|
||||
* owned by the netlink socket that created it and the scheduled scan will
|
||||
* be stopped when the socket is closed.
|
||||
*
|
||||
* @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
|
||||
* the TDLS link initiator.
|
||||
@@ -1688,6 +1717,29 @@ enum nl80211_commands {
|
||||
*
|
||||
* @NL80211_ATTR_MAC_MASK: MAC address mask
|
||||
*
|
||||
* @NL80211_ATTR_WIPHY_SELF_MANAGED_REG: flag attribute indicating this device
|
||||
* is self-managing its regulatory information and any regulatory domain
|
||||
* obtained from it is coming from the device's wiphy and not the global
|
||||
* cfg80211 regdomain.
|
||||
*
|
||||
* @NL80211_ATTR_EXT_FEATURES: extended feature flags contained in a byte
|
||||
* array. The feature flags are identified by their bit index (see &enum
|
||||
* nl80211_ext_feature_index). The bit index is ordered starting at the
|
||||
* least-significant bit of the first byte in the array, ie. bit index 0
|
||||
* is located at bit 0 of byte 0. bit index 25 would be located at bit 1
|
||||
* of byte 3 (u8 array).
|
||||
*
|
||||
* @NL80211_ATTR_SURVEY_RADIO_STATS: Request overall radio statistics to be
|
||||
* returned along with other survey data. If set, @NL80211_CMD_GET_SURVEY
|
||||
* may return a survey entry without a channel indicating global radio
|
||||
* statistics (only some values are valid and make sense.)
|
||||
* For devices that don't return such an entry even then, the information
|
||||
* should be contained in the result as the sum of the respective counters
|
||||
* over all channels.
|
||||
*
|
||||
* @NL80211_ATTR_SCHED_SCAN_DELAY: delay before a scheduled scan (or a
|
||||
* WoWLAN net-detect scan) is started, u32 in seconds.
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
@@ -2045,6 +2097,16 @@ enum nl80211_attrs {
|
||||
|
||||
NL80211_ATTR_MAC_MASK,
|
||||
|
||||
NL80211_ATTR_WIPHY_SELF_MANAGED_REG,
|
||||
|
||||
NL80211_ATTR_EXT_FEATURES,
|
||||
|
||||
NL80211_ATTR_SURVEY_RADIO_STATS,
|
||||
|
||||
NL80211_ATTR_NETNS_FD,
|
||||
|
||||
NL80211_ATTR_SCHED_SCAN_DELAY,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
@@ -2085,7 +2147,7 @@ enum nl80211_attrs {
|
||||
|
||||
#define NL80211_MAX_SUPP_RATES 32
|
||||
#define NL80211_MAX_SUPP_HT_RATES 77
|
||||
#define NL80211_MAX_SUPP_REG_RULES 32
|
||||
#define NL80211_MAX_SUPP_REG_RULES 64
|
||||
#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0
|
||||
#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
|
||||
#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
|
||||
@@ -2225,8 +2287,15 @@ struct nl80211_sta_flag_update {
|
||||
* @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8)
|
||||
* @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8)
|
||||
* @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate
|
||||
* @NL80211_RATE_INFO_80P80_MHZ_WIDTH: 80+80 MHz VHT rate
|
||||
* @NL80211_RATE_INFO_80P80_MHZ_WIDTH: unused - 80+80 is treated the
|
||||
* same as 160 for purposes of the bitrates
|
||||
* @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate
|
||||
* @NL80211_RATE_INFO_10_MHZ_WIDTH: 10 MHz width - note that this is
|
||||
* a legacy rate and will be reported as the actual bitrate, i.e.
|
||||
* half the base (20 MHz) rate
|
||||
* @NL80211_RATE_INFO_5_MHZ_WIDTH: 5 MHz width - note that this is
|
||||
* a legacy rate and will be reported as the actual bitrate, i.e.
|
||||
* a quarter of the base (20 MHz) rate
|
||||
* @__NL80211_RATE_INFO_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_rate_info {
|
||||
@@ -2241,6 +2310,8 @@ enum nl80211_rate_info {
|
||||
NL80211_RATE_INFO_80_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_80P80_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_160_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_10_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_5_MHZ_WIDTH,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_RATE_INFO_AFTER_LAST,
|
||||
@@ -2285,18 +2356,24 @@ enum nl80211_sta_bss_param {
|
||||
*
|
||||
* @__NL80211_STA_INFO_INVALID: attribute number 0 is reserved
|
||||
* @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs)
|
||||
* @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station)
|
||||
* @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station)
|
||||
* @NL80211_STA_INFO_RX_BYTES64: total received bytes (u64, from this station)
|
||||
* @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (u64, to this station)
|
||||
* @NL80211_STA_INFO_RX_BYTES: total received bytes (MPDU length)
|
||||
* (u32, from this station)
|
||||
* @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (MPDU length)
|
||||
* (u32, to this station)
|
||||
* @NL80211_STA_INFO_RX_BYTES64: total received bytes (MPDU length)
|
||||
* (u64, from this station)
|
||||
* @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (MPDU length)
|
||||
* (u64, to this station)
|
||||
* @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
|
||||
* @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
|
||||
* containing info as possible, see &enum nl80211_rate_info
|
||||
* @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station)
|
||||
* @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (u32, to this
|
||||
* station)
|
||||
* @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station)
|
||||
* @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station)
|
||||
* @NL80211_STA_INFO_RX_PACKETS: total received packet (MSDUs and MMPDUs)
|
||||
* (u32, from this station)
|
||||
* @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (MSDUs and MMPDUs)
|
||||
* (u32, to this station)
|
||||
* @NL80211_STA_INFO_TX_RETRIES: total retries (MPDUs) (u32, to this station)
|
||||
* @NL80211_STA_INFO_TX_FAILED: total failed packets (MPDUs)
|
||||
* (u32, to this station)
|
||||
* @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm)
|
||||
* @NL80211_STA_INFO_LLID: the station's mesh LLID
|
||||
* @NL80211_STA_INFO_PLID: the station's mesh PLID
|
||||
@@ -2320,6 +2397,16 @@ enum nl80211_sta_bss_param {
|
||||
* Same format as NL80211_STA_INFO_CHAIN_SIGNAL.
|
||||
* @NL80211_STA_EXPECTED_THROUGHPUT: expected throughput considering also the
|
||||
* 802.11 header (u32, kbps)
|
||||
* @NL80211_STA_INFO_RX_DROP_MISC: RX packets dropped for unspecified reasons
|
||||
* (u64)
|
||||
* @NL80211_STA_INFO_BEACON_RX: number of beacons received from this peer (u64)
|
||||
* @NL80211_STA_INFO_BEACON_SIGNAL_AVG: signal strength average
|
||||
* for beacons only (u8, dBm)
|
||||
* @NL80211_STA_INFO_TID_STATS: per-TID statistics (see &enum nl80211_tid_stats)
|
||||
* This is a nested attribute where each the inner attribute number is the
|
||||
* TID+1 and the special TID 16 (i.e. value 17) is used for non-QoS frames;
|
||||
* each one of those is again nested with &enum nl80211_tid_stats
|
||||
* attributes carrying the actual values.
|
||||
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
||||
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
||||
*/
|
||||
@@ -2352,12 +2439,41 @@ enum nl80211_sta_info {
|
||||
NL80211_STA_INFO_CHAIN_SIGNAL,
|
||||
NL80211_STA_INFO_CHAIN_SIGNAL_AVG,
|
||||
NL80211_STA_INFO_EXPECTED_THROUGHPUT,
|
||||
NL80211_STA_INFO_RX_DROP_MISC,
|
||||
NL80211_STA_INFO_BEACON_RX,
|
||||
NL80211_STA_INFO_BEACON_SIGNAL_AVG,
|
||||
NL80211_STA_INFO_TID_STATS,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_INFO_AFTER_LAST,
|
||||
NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_tid_stats - per TID statistics attributes
|
||||
* @__NL80211_TID_STATS_INVALID: attribute number 0 is reserved
|
||||
* @NL80211_TID_STATS_RX_MSDU: number of MSDUs received (u64)
|
||||
* @NL80211_TID_STATS_TX_MSDU: number of MSDUs transmitted (or
|
||||
* attempted to transmit; u64)
|
||||
* @NL80211_TID_STATS_TX_MSDU_RETRIES: number of retries for
|
||||
* transmitted MSDUs (not counting the first attempt; u64)
|
||||
* @NL80211_TID_STATS_TX_MSDU_FAILED: number of failed transmitted
|
||||
* MSDUs (u64)
|
||||
* @NUM_NL80211_TID_STATS: number of attributes here
|
||||
* @NL80211_TID_STATS_MAX: highest numbered attribute here
|
||||
*/
|
||||
enum nl80211_tid_stats {
|
||||
__NL80211_TID_STATS_INVALID,
|
||||
NL80211_TID_STATS_RX_MSDU,
|
||||
NL80211_TID_STATS_TX_MSDU,
|
||||
NL80211_TID_STATS_TX_MSDU_RETRIES,
|
||||
NL80211_TID_STATS_TX_MSDU_FAILED,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_TID_STATS,
|
||||
NL80211_TID_STATS_MAX = NUM_NL80211_TID_STATS - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_mpath_flags - nl80211 mesh path flags
|
||||
*
|
||||
@@ -2772,16 +2888,18 @@ enum nl80211_user_reg_hint_type {
|
||||
* @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel
|
||||
* @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm)
|
||||
* @NL80211_SURVEY_INFO_IN_USE: channel is currently being used
|
||||
* @NL80211_SURVEY_INFO_CHANNEL_TIME: amount of time (in ms) that the radio
|
||||
* spent on this channel
|
||||
* @NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY: amount of the time the primary
|
||||
* @NL80211_SURVEY_INFO_TIME: amount of time (in ms) that the radio
|
||||
* was turned on (on channel or globally)
|
||||
* @NL80211_SURVEY_INFO_TIME_BUSY: amount of the time the primary
|
||||
* channel was sensed busy (either due to activity or energy detect)
|
||||
* @NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY: amount of time the extension
|
||||
* @NL80211_SURVEY_INFO_TIME_EXT_BUSY: amount of time the extension
|
||||
* channel was sensed busy
|
||||
* @NL80211_SURVEY_INFO_CHANNEL_TIME_RX: amount of time the radio spent
|
||||
* receiving data
|
||||
* @NL80211_SURVEY_INFO_CHANNEL_TIME_TX: amount of time the radio spent
|
||||
* transmitting data
|
||||
* @NL80211_SURVEY_INFO_TIME_RX: amount of time the radio spent
|
||||
* receiving data (on channel or globally)
|
||||
* @NL80211_SURVEY_INFO_TIME_TX: amount of time the radio spent
|
||||
* transmitting data (on channel or globally)
|
||||
* @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
|
||||
* (on this channel or globally)
|
||||
* @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
|
||||
* currently defined
|
||||
* @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
|
||||
@@ -2791,17 +2909,25 @@ enum nl80211_survey_info {
|
||||
NL80211_SURVEY_INFO_FREQUENCY,
|
||||
NL80211_SURVEY_INFO_NOISE,
|
||||
NL80211_SURVEY_INFO_IN_USE,
|
||||
NL80211_SURVEY_INFO_CHANNEL_TIME,
|
||||
NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY,
|
||||
NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY,
|
||||
NL80211_SURVEY_INFO_CHANNEL_TIME_RX,
|
||||
NL80211_SURVEY_INFO_CHANNEL_TIME_TX,
|
||||
NL80211_SURVEY_INFO_TIME,
|
||||
NL80211_SURVEY_INFO_TIME_BUSY,
|
||||
NL80211_SURVEY_INFO_TIME_EXT_BUSY,
|
||||
NL80211_SURVEY_INFO_TIME_RX,
|
||||
NL80211_SURVEY_INFO_TIME_TX,
|
||||
NL80211_SURVEY_INFO_TIME_SCAN,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_SURVEY_INFO_AFTER_LAST,
|
||||
NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/* keep old names for compatibility */
|
||||
#define NL80211_SURVEY_INFO_CHANNEL_TIME NL80211_SURVEY_INFO_TIME
|
||||
#define NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY NL80211_SURVEY_INFO_TIME_BUSY
|
||||
#define NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY NL80211_SURVEY_INFO_TIME_EXT_BUSY
|
||||
#define NL80211_SURVEY_INFO_CHANNEL_TIME_RX NL80211_SURVEY_INFO_TIME_RX
|
||||
#define NL80211_SURVEY_INFO_CHANNEL_TIME_TX NL80211_SURVEY_INFO_TIME_TX
|
||||
|
||||
/**
|
||||
* enum nl80211_mntr_flags - monitor configuration flags
|
||||
*
|
||||
@@ -3238,6 +3364,9 @@ enum nl80211_bss {
|
||||
/**
|
||||
* enum nl80211_bss_status - BSS "status"
|
||||
* @NL80211_BSS_STATUS_AUTHENTICATED: Authenticated with this BSS.
|
||||
* Note that this is no longer used since cfg80211 no longer
|
||||
* keeps track of whether or not authentication was done with
|
||||
* a given BSS.
|
||||
* @NL80211_BSS_STATUS_ASSOCIATED: Associated with this BSS.
|
||||
* @NL80211_BSS_STATUS_IBSS_JOINED: Joined to this IBSS.
|
||||
*
|
||||
@@ -3621,9 +3750,12 @@ struct nl80211_pattern_support {
|
||||
* @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network
|
||||
* is detected. This is a nested attribute that contains the
|
||||
* same attributes used with @NL80211_CMD_START_SCHED_SCAN. It
|
||||
* specifies how the scan is performed (e.g. the interval and the
|
||||
* channels to scan) as well as the scan results that will
|
||||
* trigger a wake (i.e. the matchsets).
|
||||
* specifies how the scan is performed (e.g. the interval, the
|
||||
* channels to scan and the initial delay) as well as the scan
|
||||
* results that will trigger a wake (i.e. the matchsets). This
|
||||
* attribute is also sent in a response to
|
||||
* @NL80211_CMD_GET_WIPHY, indicating the number of match sets
|
||||
* supported by the driver (u32).
|
||||
* @NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS: nested attribute
|
||||
* containing an array with information about what triggered the
|
||||
* wake up. If no elements are present in the array, it means
|
||||
@@ -4193,6 +4325,19 @@ enum nl80211_feature_flags {
|
||||
NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_ext_feature_index - bit index of extended features.
|
||||
*
|
||||
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
||||
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
||||
*/
|
||||
enum nl80211_ext_feature_index {
|
||||
|
||||
/* add new features before the definition below */
|
||||
NUM_NL80211_EXT_FEATURES,
|
||||
MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_probe_resp_offload_support_attr - optional supported
|
||||
* protocols for probe-response offloading by the driver/FW.
|
||||
|
@@ -115,7 +115,13 @@ struct nvme_id_ns {
|
||||
__le16 nawun;
|
||||
__le16 nawupf;
|
||||
__le16 nacwu;
|
||||
__u8 rsvd40[80];
|
||||
__le16 nabsn;
|
||||
__le16 nabo;
|
||||
__le16 nabspf;
|
||||
__u16 rsvd46;
|
||||
__le64 nvmcap[2];
|
||||
__u8 rsvd64[40];
|
||||
__u8 nguid[16];
|
||||
__u8 eui64[8];
|
||||
struct nvme_lbaf lbaf[16];
|
||||
__u8 rsvd192[192];
|
||||
@@ -124,10 +130,22 @@ struct nvme_id_ns {
|
||||
|
||||
enum {
|
||||
NVME_NS_FEAT_THIN = 1 << 0,
|
||||
NVME_NS_FLBAS_LBA_MASK = 0xf,
|
||||
NVME_NS_FLBAS_META_EXT = 0x10,
|
||||
NVME_LBAF_RP_BEST = 0,
|
||||
NVME_LBAF_RP_BETTER = 1,
|
||||
NVME_LBAF_RP_GOOD = 2,
|
||||
NVME_LBAF_RP_DEGRADED = 3,
|
||||
NVME_NS_DPC_PI_LAST = 1 << 4,
|
||||
NVME_NS_DPC_PI_FIRST = 1 << 3,
|
||||
NVME_NS_DPC_PI_TYPE3 = 1 << 2,
|
||||
NVME_NS_DPC_PI_TYPE2 = 1 << 1,
|
||||
NVME_NS_DPC_PI_TYPE1 = 1 << 0,
|
||||
NVME_NS_DPS_PI_FIRST = 1 << 3,
|
||||
NVME_NS_DPS_PI_MASK = 0x7,
|
||||
NVME_NS_DPS_PI_TYPE1 = 1,
|
||||
NVME_NS_DPS_PI_TYPE2 = 2,
|
||||
NVME_NS_DPS_PI_TYPE3 = 3,
|
||||
};
|
||||
|
||||
struct nvme_smart_log {
|
||||
@@ -261,6 +279,10 @@ enum {
|
||||
NVME_RW_DSM_LATENCY_LOW = 3 << 4,
|
||||
NVME_RW_DSM_SEQ_REQ = 1 << 6,
|
||||
NVME_RW_DSM_COMPRESSED = 1 << 7,
|
||||
NVME_RW_PRINFO_PRCHK_REF = 1 << 10,
|
||||
NVME_RW_PRINFO_PRCHK_APP = 1 << 11,
|
||||
NVME_RW_PRINFO_PRCHK_GUARD = 1 << 12,
|
||||
NVME_RW_PRINFO_PRACT = 1 << 13,
|
||||
};
|
||||
|
||||
struct nvme_dsm_cmd {
|
||||
@@ -549,6 +571,8 @@ struct nvme_passthru_cmd {
|
||||
__u32 result;
|
||||
};
|
||||
|
||||
#define NVME_VS(major, minor) (((major) << 16) | ((minor) << 8))
|
||||
|
||||
#define nvme_admin_cmd nvme_passthru_cmd
|
||||
|
||||
#define NVME_IOCTL_ID _IO('N', 0x40)
|
||||
|
@@ -252,11 +252,21 @@ enum ovs_vport_attr {
|
||||
|
||||
#define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1)
|
||||
|
||||
enum {
|
||||
OVS_VXLAN_EXT_UNSPEC,
|
||||
OVS_VXLAN_EXT_GBP, /* Flag or __u32 */
|
||||
__OVS_VXLAN_EXT_MAX,
|
||||
};
|
||||
|
||||
#define OVS_VXLAN_EXT_MAX (__OVS_VXLAN_EXT_MAX - 1)
|
||||
|
||||
|
||||
/* OVS_VPORT_ATTR_OPTIONS attributes for tunnels.
|
||||
*/
|
||||
enum {
|
||||
OVS_TUNNEL_ATTR_UNSPEC,
|
||||
OVS_TUNNEL_ATTR_DST_PORT, /* 16-bit UDP port, used by L4 tunnels. */
|
||||
OVS_TUNNEL_ATTR_EXTENSION,
|
||||
__OVS_TUNNEL_ATTR_MAX
|
||||
};
|
||||
|
||||
@@ -328,6 +338,7 @@ enum ovs_tunnel_key_attr {
|
||||
OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, /* Array of Geneve options. */
|
||||
OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */
|
||||
OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */
|
||||
OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS, /* Nested OVS_VXLAN_EXT_* */
|
||||
__OVS_TUNNEL_KEY_ATTR_MAX
|
||||
};
|
||||
|
||||
@@ -448,6 +459,14 @@ struct ovs_key_nd {
|
||||
* a wildcarded match. Omitting attribute is treated as wildcarding all
|
||||
* corresponding fields. Optional for all requests. If not present,
|
||||
* all flow key bits are exact match bits.
|
||||
* @OVS_FLOW_ATTR_UFID: A value between 1-16 octets specifying a unique
|
||||
* identifier for the flow. Causes the flow to be indexed by this value rather
|
||||
* than the value of the %OVS_FLOW_ATTR_KEY attribute. Optional for all
|
||||
* requests. Present in notifications if the flow was created with this
|
||||
* attribute.
|
||||
* @OVS_FLOW_ATTR_UFID_FLAGS: A 32-bit value of OR'd %OVS_UFID_F_*
|
||||
* flags that provide alternative semantics for flow installation and
|
||||
* retrieval. Optional for all requests.
|
||||
*
|
||||
* These attributes follow the &struct ovs_header within the Generic Netlink
|
||||
* payload for %OVS_FLOW_* commands.
|
||||
@@ -463,11 +482,23 @@ enum ovs_flow_attr {
|
||||
OVS_FLOW_ATTR_MASK, /* Sequence of OVS_KEY_ATTR_* attributes. */
|
||||
OVS_FLOW_ATTR_PROBE, /* Flow operation is a feature probe, error
|
||||
* logging should be suppressed. */
|
||||
OVS_FLOW_ATTR_UFID, /* Variable length unique flow identifier. */
|
||||
OVS_FLOW_ATTR_UFID_FLAGS,/* u32 of OVS_UFID_F_*. */
|
||||
__OVS_FLOW_ATTR_MAX
|
||||
};
|
||||
|
||||
#define OVS_FLOW_ATTR_MAX (__OVS_FLOW_ATTR_MAX - 1)
|
||||
|
||||
/**
|
||||
* Omit attributes for notifications.
|
||||
*
|
||||
* If a datapath request contains an %OVS_UFID_F_OMIT_* flag, then the datapath
|
||||
* may omit the corresponding %OVS_FLOW_ATTR_* from the response.
|
||||
*/
|
||||
#define OVS_UFID_F_OMIT_KEY (1 << 0)
|
||||
#define OVS_UFID_F_OMIT_MASK (1 << 1)
|
||||
#define OVS_UFID_F_OMIT_ACTIONS (1 << 2)
|
||||
|
||||
/**
|
||||
* enum ovs_sample_attr - Attributes for %OVS_ACTION_ATTR_SAMPLE action.
|
||||
* @OVS_SAMPLE_ATTR_PROBABILITY: 32-bit fraction of packets to sample with
|
||||
@@ -568,6 +599,12 @@ struct ovs_action_hash {
|
||||
* @OVS_ACTION_ATTR_SET: Replaces the contents of an existing header. The
|
||||
* single nested %OVS_KEY_ATTR_* attribute specifies a header to modify and its
|
||||
* value.
|
||||
* @OVS_ACTION_ATTR_SET_MASKED: Replaces the contents of an existing header. A
|
||||
* nested %OVS_KEY_ATTR_* attribute specifies a header to modify, its value,
|
||||
* and a mask. For every bit set in the mask, the corresponding bit value
|
||||
* is copied from the value to the packet header field, rest of the bits are
|
||||
* left unchanged. The non-masked value bits must be passed in as zeroes.
|
||||
* Masking is not supported for the %OVS_KEY_ATTR_TUNNEL attribute.
|
||||
* @OVS_ACTION_ATTR_PUSH_VLAN: Push a new outermost 802.1Q header onto the
|
||||
* packet.
|
||||
* @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q header off the packet.
|
||||
@@ -586,6 +623,9 @@ struct ovs_action_hash {
|
||||
* Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all
|
||||
* fields within a header are modifiable, e.g. the IPv4 protocol and fragment
|
||||
* type may not be changed.
|
||||
*
|
||||
* @OVS_ACTION_ATTR_SET_TO_MASKED: Kernel internal masked set action translated
|
||||
* from the @OVS_ACTION_ATTR_SET.
|
||||
*/
|
||||
|
||||
enum ovs_action_attr {
|
||||
@@ -600,8 +640,19 @@ enum ovs_action_attr {
|
||||
OVS_ACTION_ATTR_HASH, /* struct ovs_action_hash. */
|
||||
OVS_ACTION_ATTR_PUSH_MPLS, /* struct ovs_action_push_mpls. */
|
||||
OVS_ACTION_ATTR_POP_MPLS, /* __be16 ethertype. */
|
||||
OVS_ACTION_ATTR_SET_MASKED, /* One nested OVS_KEY_ATTR_* including
|
||||
* data immediately followed by a mask.
|
||||
* The data must be zero for the unmasked
|
||||
* bits. */
|
||||
|
||||
__OVS_ACTION_ATTR_MAX
|
||||
__OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted
|
||||
* from userspace. */
|
||||
|
||||
#ifdef __KERNEL__
|
||||
OVS_ACTION_ATTR_SET_TO_MASKED, /* Kernel module internal masked
|
||||
* set action converted from
|
||||
* OVS_ACTION_ATTR_SET. */
|
||||
#endif
|
||||
};
|
||||
|
||||
#define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1)
|
||||
|
@@ -774,6 +774,8 @@ enum {
|
||||
|
||||
TCA_FQ_FLOW_REFILL_DELAY, /* flow credit refill delay in usec */
|
||||
|
||||
TCA_FQ_ORPHAN_MASK, /* mask applied to orphaned skb hashes */
|
||||
|
||||
__TCA_FQ_MAX
|
||||
};
|
||||
|
||||
|
@@ -185,4 +185,9 @@ struct prctl_mm_map {
|
||||
#define PR_MPX_ENABLE_MANAGEMENT 43
|
||||
#define PR_MPX_DISABLE_MANAGEMENT 44
|
||||
|
||||
#define PR_SET_FP_MODE 45
|
||||
#define PR_GET_FP_MODE 46
|
||||
# define PR_FP_MODE_FR (1 << 0) /* 64b FP registers */
|
||||
# define PR_FP_MODE_FRE (1 << 1) /* 32b compatibility */
|
||||
|
||||
#endif /* _LINUX_PRCTL_H */
|
||||
|
@@ -132,6 +132,11 @@ enum {
|
||||
RTM_GETMDB = 86,
|
||||
#define RTM_GETMDB RTM_GETMDB
|
||||
|
||||
RTM_NEWNSID = 88,
|
||||
#define RTM_NEWNSID RTM_NEWNSID
|
||||
RTM_GETNSID = 90,
|
||||
#define RTM_GETNSID RTM_GETNSID
|
||||
|
||||
__RTM_MAX,
|
||||
#define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)
|
||||
};
|
||||
@@ -389,6 +394,8 @@ enum {
|
||||
#define RTAX_INITRWND RTAX_INITRWND
|
||||
RTAX_QUICKACK,
|
||||
#define RTAX_QUICKACK RTAX_QUICKACK
|
||||
RTAX_CC_ALGO,
|
||||
#define RTAX_CC_ALGO RTAX_CC_ALGO
|
||||
__RTAX_MAX
|
||||
};
|
||||
|
||||
@@ -634,6 +641,7 @@ struct tcamsg {
|
||||
/* New extended info filters for IFLA_EXT_MASK */
|
||||
#define RTEXT_FILTER_VF (1 << 0)
|
||||
#define RTEXT_FILTER_BRVLAN (1 << 1)
|
||||
#define RTEXT_FILTER_BRVLAN_COMPRESSED (1 << 2)
|
||||
|
||||
/* End of information exported to user level */
|
||||
|
||||
|
@@ -55,7 +55,8 @@
|
||||
#define PORT_ALTR_16550_F64 27 /* Altera 16550 UART with 64 FIFOs */
|
||||
#define PORT_ALTR_16550_F128 28 /* Altera 16550 UART with 128 FIFOs */
|
||||
#define PORT_RT2880 29 /* Ralink RT2880 internal UART */
|
||||
#define PORT_MAX_8250 29 /* max port ID */
|
||||
#define PORT_16550A_FSL64 30 /* Freescale 16550 UART with 64 FIFOs */
|
||||
#define PORT_MAX_8250 30 /* max port ID */
|
||||
|
||||
/*
|
||||
* ARM specific type numbers. These are not currently guaranteed
|
||||
@@ -248,4 +249,13 @@
|
||||
/* MESON */
|
||||
#define PORT_MESON 109
|
||||
|
||||
/* Conexant Digicolor */
|
||||
#define PORT_DIGICOLOR 110
|
||||
|
||||
/* SPRD SERIAL */
|
||||
#define PORT_SPRD 111
|
||||
|
||||
/* Cris v10 / v32 SoC */
|
||||
#define PORT_CRIS 112
|
||||
|
||||
#endif /* _UAPILINUX_SERIAL_CORE_H */
|
||||
|
@@ -86,7 +86,8 @@
|
||||
#define UART_FCR6_T_TRIGGER_8 0x10 /* Mask for transmit trigger set at 8 */
|
||||
#define UART_FCR6_T_TRIGGER_24 0x20 /* Mask for transmit trigger set at 24 */
|
||||
#define UART_FCR6_T_TRIGGER_30 0x30 /* Mask for transmit trigger set at 30 */
|
||||
#define UART_FCR7_64BYTE 0x20 /* Go into 64 byte mode (TI16C750) */
|
||||
#define UART_FCR7_64BYTE 0x20 /* Go into 64 byte mode (TI16C750 and
|
||||
some Freescale UARTs) */
|
||||
|
||||
#define UART_FCR_R_TRIG_SHIFT 6
|
||||
#define UART_FCR_R_TRIG_BITS(x) \
|
||||
|
@@ -270,6 +270,12 @@ enum
|
||||
LINUX_MIB_TCPHYSTARTTRAINCWND, /* TCPHystartTrainCwnd */
|
||||
LINUX_MIB_TCPHYSTARTDELAYDETECT, /* TCPHystartDelayDetect */
|
||||
LINUX_MIB_TCPHYSTARTDELAYCWND, /* TCPHystartDelayCwnd */
|
||||
LINUX_MIB_TCPACKSKIPPEDSYNRECV, /* TCPACKSkippedSynRecv */
|
||||
LINUX_MIB_TCPACKSKIPPEDPAWS, /* TCPACKSkippedPAWS */
|
||||
LINUX_MIB_TCPACKSKIPPEDSEQ, /* TCPACKSkippedSeq */
|
||||
LINUX_MIB_TCPACKSKIPPEDFINWAIT2, /* TCPACKSkippedFinWait2 */
|
||||
LINUX_MIB_TCPACKSKIPPEDTIMEWAIT, /* TCPACKSkippedTimeWait */
|
||||
LINUX_MIB_TCPACKSKIPPEDCHALLENGE, /* TCPACKSkippedChallenge */
|
||||
__LINUX_MIB_MAX
|
||||
};
|
||||
|
||||
|
@@ -1,154 +0,0 @@
|
||||
#ifndef _LINUX_SOM_H
|
||||
#define _LINUX_SOM_H
|
||||
|
||||
/* File format definition for SOM executables / shared libraries */
|
||||
|
||||
/* we need struct timespec */
|
||||
#include <linux/time.h>
|
||||
|
||||
#define SOM_PAGESIZE 4096
|
||||
|
||||
/* this is the SOM header */
|
||||
struct som_hdr {
|
||||
short system_id; /* magic number - system */
|
||||
short a_magic; /* magic number - file type */
|
||||
unsigned int version_id; /* versiod ID: YYMMDDHH */
|
||||
struct timespec file_time; /* system clock */
|
||||
unsigned int entry_space; /* space for entry point */
|
||||
unsigned int entry_subspace; /* subspace for entry point */
|
||||
unsigned int entry_offset; /* offset of entry point */
|
||||
unsigned int aux_header_location; /* auxiliary header location */
|
||||
unsigned int aux_header_size; /* auxiliary header size */
|
||||
unsigned int som_length; /* length of entire SOM */
|
||||
unsigned int presumed_dp; /* compiler's DP value */
|
||||
unsigned int space_location; /* space dictionary location */
|
||||
unsigned int space_total; /* number of space entries */
|
||||
unsigned int subspace_location; /* subspace entries location */
|
||||
unsigned int subspace_total; /* number of subspace entries */
|
||||
unsigned int loader_fixup_location; /* MPE/iX loader fixup */
|
||||
unsigned int loader_fixup_total; /* number of fixup records */
|
||||
unsigned int space_strings_location; /* (sub)space names */
|
||||
unsigned int space_strings_size; /* size of strings area */
|
||||
unsigned int init_array_location; /* reserved */
|
||||
unsigned int init_array_total; /* reserved */
|
||||
unsigned int compiler_location; /* module dictionary */
|
||||
unsigned int compiler_total; /* number of modules */
|
||||
unsigned int symbol_location; /* symbol dictionary */
|
||||
unsigned int symbol_total; /* number of symbols */
|
||||
unsigned int fixup_request_location; /* fixup requests */
|
||||
unsigned int fixup_request_total; /* number of fixup requests */
|
||||
unsigned int symbol_strings_location;/* module & symbol names area */
|
||||
unsigned int symbol_strings_size; /* size of strings area */
|
||||
unsigned int unloadable_sp_location; /* unloadable spaces location */
|
||||
unsigned int unloadable_sp_size; /* size of data */
|
||||
unsigned int checksum;
|
||||
};
|
||||
|
||||
/* values for system_id */
|
||||
|
||||
#define SOM_SID_PARISC_1_0 0x020b
|
||||
#define SOM_SID_PARISC_1_1 0x0210
|
||||
#define SOM_SID_PARISC_2_0 0x0214
|
||||
|
||||
/* values for a_magic */
|
||||
|
||||
#define SOM_LIB_EXEC 0x0104
|
||||
#define SOM_RELOCATABLE 0x0106
|
||||
#define SOM_EXEC_NONSHARE 0x0107
|
||||
#define SOM_EXEC_SHARE 0x0108
|
||||
#define SOM_EXEC_DEMAND 0x010B
|
||||
#define SOM_LIB_DYN 0x010D
|
||||
#define SOM_LIB_SHARE 0x010E
|
||||
#define SOM_LIB_RELOC 0x0619
|
||||
|
||||
/* values for version_id. Decimal not hex, yes. Grr. */
|
||||
|
||||
#define SOM_ID_OLD 85082112
|
||||
#define SOM_ID_NEW 87102412
|
||||
|
||||
struct aux_id {
|
||||
unsigned int mandatory :1; /* the linker must understand this */
|
||||
unsigned int copy :1; /* Must be copied by the linker */
|
||||
unsigned int append :1; /* Must be merged by the linker */
|
||||
unsigned int ignore :1; /* Discard section if unknown */
|
||||
unsigned int reserved :12;
|
||||
unsigned int type :16; /* Header type */
|
||||
unsigned int length; /* length of _following_ data */
|
||||
};
|
||||
|
||||
/* The Exec Auxiliary Header. Called The HP-UX Header within HP apparently. */
|
||||
struct som_exec_auxhdr {
|
||||
struct aux_id som_auxhdr;
|
||||
int exec_tsize; /* Text size in bytes */
|
||||
int exec_tmem; /* Address to load text at */
|
||||
int exec_tfile; /* Location of text in file */
|
||||
int exec_dsize; /* Data size in bytes */
|
||||
int exec_dmem; /* Address to load data at */
|
||||
int exec_dfile; /* Location of data in file */
|
||||
int exec_bsize; /* Uninitialised data (bss) */
|
||||
int exec_entry; /* Address to start executing */
|
||||
int exec_flags; /* loader flags */
|
||||
int exec_bfill; /* initialisation value for bss */
|
||||
};
|
||||
|
||||
/* Oh, the things people do to avoid casts. Shame it'll break with gcc's
|
||||
* new aliasing rules really.
|
||||
*/
|
||||
union name_pt {
|
||||
char * n_name;
|
||||
unsigned int n_strx;
|
||||
};
|
||||
|
||||
/* The Space Dictionary */
|
||||
struct space_dictionary_record {
|
||||
union name_pt name; /* index to subspace name */
|
||||
unsigned int is_loadable :1; /* loadable */
|
||||
unsigned int is_defined :1; /* defined within file */
|
||||
unsigned int is_private :1; /* not sharable */
|
||||
unsigned int has_intermediate_code :1; /* contains intermediate code */
|
||||
unsigned int is_tspecific :1; /* thread specific */
|
||||
unsigned int reserved :11; /* for future expansion */
|
||||
unsigned int sort_key :8; /* for linker */
|
||||
unsigned int reserved2 :8; /* for future expansion */
|
||||
|
||||
int space_number; /* index */
|
||||
int subspace_index; /* index into subspace dict */
|
||||
unsigned int subspace_quantity; /* number of subspaces */
|
||||
int loader_fix_index; /* for loader */
|
||||
unsigned int loader_fix_quantity; /* for loader */
|
||||
int init_pointer_index; /* data pointer array index */
|
||||
unsigned int init_pointer_quantity; /* number of data pointers */
|
||||
};
|
||||
|
||||
/* The Subspace Dictionary */
|
||||
struct subspace_dictionary_record {
|
||||
int space_index;
|
||||
unsigned int access_control_bits :7;
|
||||
unsigned int memory_resident :1;
|
||||
unsigned int dup_common :1;
|
||||
unsigned int is_common :1;
|
||||
unsigned int quadrant :2;
|
||||
unsigned int initially_frozen :1;
|
||||
unsigned int is_first :1;
|
||||
unsigned int code_only :1;
|
||||
unsigned int sort_key :8;
|
||||
unsigned int replicate_init :1;
|
||||
unsigned int continuation :1;
|
||||
unsigned int is_tspecific :1;
|
||||
unsigned int is_comdat :1;
|
||||
unsigned int reserved :4;
|
||||
|
||||
int file_loc_init_value;
|
||||
unsigned int initialization_length;
|
||||
unsigned int subspace_start;
|
||||
unsigned int subspace_length;
|
||||
|
||||
unsigned int reserved2 :5;
|
||||
unsigned int alignment :27;
|
||||
|
||||
union name_pt name;
|
||||
int fixup_request_index;
|
||||
unsigned int fixup_request_quantity;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_SOM_H */
|
@@ -8,3 +8,4 @@ header-y += tc_nat.h
|
||||
header-y += tc_pedit.h
|
||||
header-y += tc_skbedit.h
|
||||
header-y += tc_vlan.h
|
||||
header-y += tc_bpf.h
|
||||
|
31
include/uapi/linux/tc_act/tc_bpf.h
Normal file
31
include/uapi/linux/tc_act/tc_bpf.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_TC_BPF_H
|
||||
#define __LINUX_TC_BPF_H
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_BPF 13
|
||||
|
||||
struct tc_act_bpf {
|
||||
tc_gen;
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_ACT_BPF_UNSPEC,
|
||||
TCA_ACT_BPF_TM,
|
||||
TCA_ACT_BPF_PARMS,
|
||||
TCA_ACT_BPF_OPS_LEN,
|
||||
TCA_ACT_BPF_OPS,
|
||||
__TCA_ACT_BPF_MAX,
|
||||
};
|
||||
#define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1)
|
||||
|
||||
#endif
|
22
include/uapi/linux/tc_act/tc_connmark.h
Normal file
22
include/uapi/linux/tc_act/tc_connmark.h
Normal file
@@ -0,0 +1,22 @@
|
||||
#ifndef __UAPI_TC_CONNMARK_H
|
||||
#define __UAPI_TC_CONNMARK_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_CONNMARK 14
|
||||
|
||||
struct tc_connmark {
|
||||
tc_gen;
|
||||
__u16 zone;
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_CONNMARK_UNSPEC,
|
||||
TCA_CONNMARK_PARMS,
|
||||
TCA_CONNMARK_TM,
|
||||
__TCA_CONNMARK_MAX
|
||||
};
|
||||
#define TCA_CONNMARK_MAX (__TCA_CONNMARK_MAX - 1)
|
||||
|
||||
#endif
|
@@ -272,6 +272,26 @@ static inline int TLV_CHECK(const void *tlv, __u16 space, __u16 exp_type)
|
||||
(ntohs(((struct tlv_desc *)tlv)->tlv_type) == exp_type);
|
||||
}
|
||||
|
||||
static inline int TLV_GET_LEN(struct tlv_desc *tlv)
|
||||
{
|
||||
return ntohs(tlv->tlv_len);
|
||||
}
|
||||
|
||||
static inline void TLV_SET_LEN(struct tlv_desc *tlv, __u16 len)
|
||||
{
|
||||
tlv->tlv_len = htons(len);
|
||||
}
|
||||
|
||||
static inline int TLV_CHECK_TYPE(struct tlv_desc *tlv, __u16 type)
|
||||
{
|
||||
return (ntohs(tlv->tlv_type) == type);
|
||||
}
|
||||
|
||||
static inline void TLV_SET_TYPE(struct tlv_desc *tlv, __u16 type)
|
||||
{
|
||||
tlv->tlv_type = htons(type);
|
||||
}
|
||||
|
||||
static inline int TLV_SET(void *tlv, __u16 type, void *data, __u16 len)
|
||||
{
|
||||
struct tlv_desc *tlv_ptr;
|
||||
|
@@ -20,6 +20,7 @@ enum functionfs_flags {
|
||||
FUNCTIONFS_HAS_SS_DESC = 4,
|
||||
FUNCTIONFS_HAS_MS_OS_DESC = 8,
|
||||
FUNCTIONFS_VIRTUAL_ADDR = 16,
|
||||
FUNCTIONFS_EVENTFD = 32,
|
||||
};
|
||||
|
||||
/* Descriptor of an non-audio endpoint */
|
||||
|
@@ -128,11 +128,12 @@ struct usbdevfs_hub_portinfo {
|
||||
char port [127]; /* e.g. port 3 connects to device 27 */
|
||||
};
|
||||
|
||||
/* Device capability flags */
|
||||
/* System and bus capability flags */
|
||||
#define USBDEVFS_CAP_ZERO_PACKET 0x01
|
||||
#define USBDEVFS_CAP_BULK_CONTINUATION 0x02
|
||||
#define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04
|
||||
#define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08
|
||||
#define USBDEVFS_CAP_REAP_AFTER_DISCONNECT 0x10
|
||||
|
||||
/* USBDEVFS_DISCONNECT_CLAIM flags & struct */
|
||||
|
||||
|
@@ -170,6 +170,10 @@ enum v4l2_colorfx {
|
||||
* We reserve 16 controls for this driver. */
|
||||
#define V4L2_CID_USER_SAA7134_BASE (V4L2_CID_USER_BASE + 0x1060)
|
||||
|
||||
/* The base for the adv7180 driver controls.
|
||||
* We reserve 16 controls for this driver. */
|
||||
#define V4L2_CID_USER_ADV7180_BASE (V4L2_CID_USER_BASE + 0x1070)
|
||||
|
||||
/* MPEG-class control IDs */
|
||||
/* The MPEG controls are applicable to all codec controls
|
||||
* and the 'MPEG' part of the define is historical */
|
||||
|
@@ -333,6 +333,7 @@ enum {
|
||||
VFIO_PCI_MSI_IRQ_INDEX,
|
||||
VFIO_PCI_MSIX_IRQ_INDEX,
|
||||
VFIO_PCI_ERR_IRQ_INDEX,
|
||||
VFIO_PCI_REQ_IRQ_INDEX,
|
||||
VFIO_PCI_NUM_IRQS
|
||||
};
|
||||
|
||||
|
@@ -463,10 +463,11 @@ struct v4l2_pix_format {
|
||||
#define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */
|
||||
#define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */
|
||||
#define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */
|
||||
#define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') /* 12 BGBG.. GRGR.. */
|
||||
#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */
|
||||
#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */
|
||||
#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */
|
||||
/* 10bit raw bayer packed, 5 bytes for every 4 pixels */
|
||||
#define V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A')
|
||||
#define V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A')
|
||||
#define V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A')
|
||||
#define V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A')
|
||||
/* 10bit raw bayer a-law compressed to 8 bits */
|
||||
#define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8')
|
||||
#define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8')
|
||||
@@ -477,10 +478,10 @@ struct v4l2_pix_format {
|
||||
#define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8')
|
||||
#define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0')
|
||||
#define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8')
|
||||
/*
|
||||
* 10bit raw bayer, expanded to 16 bits
|
||||
* xxxxrrrrrrrrrrxxxxgggggggggg xxxxggggggggggxxxxbbbbbbbbbb...
|
||||
*/
|
||||
#define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') /* 12 BGBG.. GRGR.. */
|
||||
#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */
|
||||
#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */
|
||||
#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */
|
||||
#define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */
|
||||
|
||||
/* compressed formats */
|
||||
|
@@ -36,8 +36,7 @@
|
||||
/* Size of a PFN in the balloon interface. */
|
||||
#define VIRTIO_BALLOON_PFN_SHIFT 12
|
||||
|
||||
struct virtio_balloon_config
|
||||
{
|
||||
struct virtio_balloon_config {
|
||||
/* Number of pages host wants Guest to give up. */
|
||||
__le32 num_pages;
|
||||
/* Number of pages we've actually got in balloon. */
|
||||
|
@@ -31,22 +31,25 @@
|
||||
#include <linux/virtio_types.h>
|
||||
|
||||
/* Feature bits */
|
||||
#define VIRTIO_BLK_F_BARRIER 0 /* Does host support barriers? */
|
||||
#define VIRTIO_BLK_F_SIZE_MAX 1 /* Indicates maximum segment size */
|
||||
#define VIRTIO_BLK_F_SEG_MAX 2 /* Indicates maximum # of segments */
|
||||
#define VIRTIO_BLK_F_GEOMETRY 4 /* Legacy geometry available */
|
||||
#define VIRTIO_BLK_F_RO 5 /* Disk is read-only */
|
||||
#define VIRTIO_BLK_F_BLK_SIZE 6 /* Block size of disk is available*/
|
||||
#define VIRTIO_BLK_F_SCSI 7 /* Supports scsi command passthru */
|
||||
#define VIRTIO_BLK_F_WCE 9 /* Writeback mode enabled after reset */
|
||||
#define VIRTIO_BLK_F_TOPOLOGY 10 /* Topology information is available */
|
||||
#define VIRTIO_BLK_F_CONFIG_WCE 11 /* Writeback mode available in config */
|
||||
#define VIRTIO_BLK_F_MQ 12 /* support more than one vq */
|
||||
|
||||
/* Legacy feature bits */
|
||||
#ifndef VIRTIO_BLK_NO_LEGACY
|
||||
#define VIRTIO_BLK_F_BARRIER 0 /* Does host support barriers? */
|
||||
#define VIRTIO_BLK_F_SCSI 7 /* Supports scsi command passthru */
|
||||
#define VIRTIO_BLK_F_WCE 9 /* Writeback mode enabled after reset */
|
||||
#define VIRTIO_BLK_F_CONFIG_WCE 11 /* Writeback mode available in config */
|
||||
#ifndef __KERNEL__
|
||||
/* Old (deprecated) name for VIRTIO_BLK_F_WCE. */
|
||||
#define VIRTIO_BLK_F_FLUSH VIRTIO_BLK_F_WCE
|
||||
#endif
|
||||
#endif /* !VIRTIO_BLK_NO_LEGACY */
|
||||
|
||||
#define VIRTIO_BLK_ID_BYTES 20 /* ID string length */
|
||||
|
||||
@@ -100,8 +103,10 @@ struct virtio_blk_config {
|
||||
#define VIRTIO_BLK_T_IN 0
|
||||
#define VIRTIO_BLK_T_OUT 1
|
||||
|
||||
#ifndef VIRTIO_BLK_NO_LEGACY
|
||||
/* This bit says it's a scsi command, not an actual read or write. */
|
||||
#define VIRTIO_BLK_T_SCSI_CMD 2
|
||||
#endif /* VIRTIO_BLK_NO_LEGACY */
|
||||
|
||||
/* Cache flush command */
|
||||
#define VIRTIO_BLK_T_FLUSH 4
|
||||
@@ -109,8 +114,10 @@ struct virtio_blk_config {
|
||||
/* Get device ID command */
|
||||
#define VIRTIO_BLK_T_GET_ID 8
|
||||
|
||||
#ifndef VIRTIO_BLK_NO_LEGACY
|
||||
/* Barrier before this op. */
|
||||
#define VIRTIO_BLK_T_BARRIER 0x80000000
|
||||
#endif /* !VIRTIO_BLK_NO_LEGACY */
|
||||
|
||||
/* This is the first element of the read scatter-gather list. */
|
||||
struct virtio_blk_outhdr {
|
||||
@@ -122,12 +129,14 @@ struct virtio_blk_outhdr {
|
||||
__virtio64 sector;
|
||||
};
|
||||
|
||||
#ifndef VIRTIO_BLK_NO_LEGACY
|
||||
struct virtio_scsi_inhdr {
|
||||
__virtio32 errors;
|
||||
__virtio32 data_len;
|
||||
__virtio32 sense_len;
|
||||
__virtio32 residual;
|
||||
};
|
||||
#endif /* !VIRTIO_BLK_NO_LEGACY */
|
||||
|
||||
/* And this is the final byte of the write scatter-gather list. */
|
||||
#define VIRTIO_BLK_S_OK 0
|
||||
|
@@ -49,12 +49,14 @@
|
||||
#define VIRTIO_TRANSPORT_F_START 28
|
||||
#define VIRTIO_TRANSPORT_F_END 33
|
||||
|
||||
#ifndef VIRTIO_CONFIG_NO_LEGACY
|
||||
/* Do we get callbacks when the ring is completely used, even if we've
|
||||
* suppressed them? */
|
||||
#define VIRTIO_F_NOTIFY_ON_EMPTY 24
|
||||
|
||||
/* Can the device handle any descriptor layout? */
|
||||
#define VIRTIO_F_ANY_LAYOUT 27
|
||||
#endif /* VIRTIO_CONFIG_NO_LEGACY */
|
||||
|
||||
/* v1.0 compliant. */
|
||||
#define VIRTIO_F_VERSION_1 32
|
||||
|
@@ -35,7 +35,6 @@
|
||||
#define VIRTIO_NET_F_CSUM 0 /* Host handles pkts w/ partial csum */
|
||||
#define VIRTIO_NET_F_GUEST_CSUM 1 /* Guest handles pkts w/ partial csum */
|
||||
#define VIRTIO_NET_F_MAC 5 /* Host has given MAC address. */
|
||||
#define VIRTIO_NET_F_GSO 6 /* Host handles pkts w/ any GSO type */
|
||||
#define VIRTIO_NET_F_GUEST_TSO4 7 /* Guest can handle TSOv4 in. */
|
||||
#define VIRTIO_NET_F_GUEST_TSO6 8 /* Guest can handle TSOv6 in. */
|
||||
#define VIRTIO_NET_F_GUEST_ECN 9 /* Guest can handle TSO[6] w/ ECN in. */
|
||||
@@ -56,6 +55,10 @@
|
||||
* Steering */
|
||||
#define VIRTIO_NET_F_CTRL_MAC_ADDR 23 /* Set MAC address */
|
||||
|
||||
#ifndef VIRTIO_NET_NO_LEGACY
|
||||
#define VIRTIO_NET_F_GSO 6 /* Host handles pkts w/ any GSO type */
|
||||
#endif /* VIRTIO_NET_NO_LEGACY */
|
||||
|
||||
#define VIRTIO_NET_S_LINK_UP 1 /* Link is up */
|
||||
#define VIRTIO_NET_S_ANNOUNCE 2 /* Announcement is needed */
|
||||
|
||||
@@ -71,19 +74,39 @@ struct virtio_net_config {
|
||||
__u16 max_virtqueue_pairs;
|
||||
} __attribute__((packed));
|
||||
|
||||
/*
|
||||
* This header comes first in the scatter-gather list. If you don't
|
||||
* specify GSO or CSUM features, you can simply ignore the header.
|
||||
*
|
||||
* This is bitwise-equivalent to the legacy struct virtio_net_hdr_mrg_rxbuf,
|
||||
* only flattened.
|
||||
*/
|
||||
struct virtio_net_hdr_v1 {
|
||||
#define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 /* Use csum_start, csum_offset */
|
||||
#define VIRTIO_NET_HDR_F_DATA_VALID 2 /* Csum is valid */
|
||||
__u8 flags;
|
||||
#define VIRTIO_NET_HDR_GSO_NONE 0 /* Not a GSO frame */
|
||||
#define VIRTIO_NET_HDR_GSO_TCPV4 1 /* GSO frame, IPv4 TCP (TSO) */
|
||||
#define VIRTIO_NET_HDR_GSO_UDP 3 /* GSO frame, IPv4 UDP (UFO) */
|
||||
#define VIRTIO_NET_HDR_GSO_TCPV6 4 /* GSO frame, IPv6 TCP */
|
||||
#define VIRTIO_NET_HDR_GSO_ECN 0x80 /* TCP has ECN set */
|
||||
__u8 gso_type;
|
||||
__virtio16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */
|
||||
__virtio16 gso_size; /* Bytes to append to hdr_len per frame */
|
||||
__virtio16 csum_start; /* Position to start checksumming from */
|
||||
__virtio16 csum_offset; /* Offset after that to place checksum */
|
||||
__virtio16 num_buffers; /* Number of merged rx buffers */
|
||||
};
|
||||
|
||||
#ifndef VIRTIO_NET_NO_LEGACY
|
||||
/* This header comes first in the scatter-gather list.
|
||||
* If VIRTIO_F_ANY_LAYOUT is not negotiated, it must
|
||||
* For legacy virtio, if VIRTIO_F_ANY_LAYOUT is not negotiated, it must
|
||||
* be the first element of the scatter-gather list. If you don't
|
||||
* specify GSO or CSUM features, you can simply ignore the header. */
|
||||
struct virtio_net_hdr {
|
||||
#define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 // Use csum_start, csum_offset
|
||||
#define VIRTIO_NET_HDR_F_DATA_VALID 2 // Csum is valid
|
||||
/* See VIRTIO_NET_HDR_F_* */
|
||||
__u8 flags;
|
||||
#define VIRTIO_NET_HDR_GSO_NONE 0 // Not a GSO frame
|
||||
#define VIRTIO_NET_HDR_GSO_TCPV4 1 // GSO frame, IPv4 TCP (TSO)
|
||||
#define VIRTIO_NET_HDR_GSO_UDP 3 // GSO frame, IPv4 UDP (UFO)
|
||||
#define VIRTIO_NET_HDR_GSO_TCPV6 4 // GSO frame, IPv6 TCP
|
||||
#define VIRTIO_NET_HDR_GSO_ECN 0x80 // TCP has ECN set
|
||||
/* See VIRTIO_NET_HDR_GSO_* */
|
||||
__u8 gso_type;
|
||||
__virtio16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */
|
||||
__virtio16 gso_size; /* Bytes to append to hdr_len per frame */
|
||||
@@ -97,6 +120,7 @@ struct virtio_net_hdr_mrg_rxbuf {
|
||||
struct virtio_net_hdr hdr;
|
||||
__virtio16 num_buffers; /* Number of merged rx buffers */
|
||||
};
|
||||
#endif /* ...VIRTIO_NET_NO_LEGACY */
|
||||
|
||||
/*
|
||||
* Control virtqueue data structures
|
||||
|
@@ -39,7 +39,7 @@
|
||||
#ifndef _LINUX_VIRTIO_PCI_H
|
||||
#define _LINUX_VIRTIO_PCI_H
|
||||
|
||||
#include <linux/virtio_config.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#ifndef VIRTIO_PCI_NO_LEGACY
|
||||
|
||||
@@ -99,4 +99,95 @@
|
||||
/* Vector value used to disable MSI for queue */
|
||||
#define VIRTIO_MSI_NO_VECTOR 0xffff
|
||||
|
||||
#ifndef VIRTIO_PCI_NO_MODERN
|
||||
|
||||
/* IDs for different capabilities. Must all exist. */
|
||||
|
||||
/* Common configuration */
|
||||
#define VIRTIO_PCI_CAP_COMMON_CFG 1
|
||||
/* Notifications */
|
||||
#define VIRTIO_PCI_CAP_NOTIFY_CFG 2
|
||||
/* ISR access */
|
||||
#define VIRTIO_PCI_CAP_ISR_CFG 3
|
||||
/* Device specific configuration */
|
||||
#define VIRTIO_PCI_CAP_DEVICE_CFG 4
|
||||
/* PCI configuration access */
|
||||
#define VIRTIO_PCI_CAP_PCI_CFG 5
|
||||
|
||||
/* This is the PCI capability header: */
|
||||
struct virtio_pci_cap {
|
||||
__u8 cap_vndr; /* Generic PCI field: PCI_CAP_ID_VNDR */
|
||||
__u8 cap_next; /* Generic PCI field: next ptr. */
|
||||
__u8 cap_len; /* Generic PCI field: capability length */
|
||||
__u8 cfg_type; /* Identifies the structure. */
|
||||
__u8 bar; /* Where to find it. */
|
||||
__u8 padding[3]; /* Pad to full dword. */
|
||||
__le32 offset; /* Offset within bar. */
|
||||
__le32 length; /* Length of the structure, in bytes. */
|
||||
};
|
||||
|
||||
struct virtio_pci_notify_cap {
|
||||
struct virtio_pci_cap cap;
|
||||
__le32 notify_off_multiplier; /* Multiplier for queue_notify_off. */
|
||||
};
|
||||
|
||||
/* Fields in VIRTIO_PCI_CAP_COMMON_CFG: */
|
||||
struct virtio_pci_common_cfg {
|
||||
/* About the whole device. */
|
||||
__le32 device_feature_select; /* read-write */
|
||||
__le32 device_feature; /* read-only */
|
||||
__le32 guest_feature_select; /* read-write */
|
||||
__le32 guest_feature; /* read-write */
|
||||
__le16 msix_config; /* read-write */
|
||||
__le16 num_queues; /* read-only */
|
||||
__u8 device_status; /* read-write */
|
||||
__u8 config_generation; /* read-only */
|
||||
|
||||
/* About a specific virtqueue. */
|
||||
__le16 queue_select; /* read-write */
|
||||
__le16 queue_size; /* read-write, power of 2. */
|
||||
__le16 queue_msix_vector; /* read-write */
|
||||
__le16 queue_enable; /* read-write */
|
||||
__le16 queue_notify_off; /* read-only */
|
||||
__le32 queue_desc_lo; /* read-write */
|
||||
__le32 queue_desc_hi; /* read-write */
|
||||
__le32 queue_avail_lo; /* read-write */
|
||||
__le32 queue_avail_hi; /* read-write */
|
||||
__le32 queue_used_lo; /* read-write */
|
||||
__le32 queue_used_hi; /* read-write */
|
||||
};
|
||||
|
||||
/* Macro versions of offsets for the Old Timers! */
|
||||
#define VIRTIO_PCI_CAP_VNDR 0
|
||||
#define VIRTIO_PCI_CAP_NEXT 1
|
||||
#define VIRTIO_PCI_CAP_LEN 2
|
||||
#define VIRTIO_PCI_CAP_CFG_TYPE 3
|
||||
#define VIRTIO_PCI_CAP_BAR 4
|
||||
#define VIRTIO_PCI_CAP_OFFSET 8
|
||||
#define VIRTIO_PCI_CAP_LENGTH 12
|
||||
|
||||
#define VIRTIO_PCI_NOTIFY_CAP_MULT 16
|
||||
|
||||
#define VIRTIO_PCI_COMMON_DFSELECT 0
|
||||
#define VIRTIO_PCI_COMMON_DF 4
|
||||
#define VIRTIO_PCI_COMMON_GFSELECT 8
|
||||
#define VIRTIO_PCI_COMMON_GF 12
|
||||
#define VIRTIO_PCI_COMMON_MSIX 16
|
||||
#define VIRTIO_PCI_COMMON_NUMQ 18
|
||||
#define VIRTIO_PCI_COMMON_STATUS 20
|
||||
#define VIRTIO_PCI_COMMON_CFGGENERATION 21
|
||||
#define VIRTIO_PCI_COMMON_Q_SELECT 22
|
||||
#define VIRTIO_PCI_COMMON_Q_SIZE 24
|
||||
#define VIRTIO_PCI_COMMON_Q_MSIX 26
|
||||
#define VIRTIO_PCI_COMMON_Q_ENABLE 28
|
||||
#define VIRTIO_PCI_COMMON_Q_NOFF 30
|
||||
#define VIRTIO_PCI_COMMON_Q_DESCLO 32
|
||||
#define VIRTIO_PCI_COMMON_Q_DESCHI 36
|
||||
#define VIRTIO_PCI_COMMON_Q_AVAILLO 40
|
||||
#define VIRTIO_PCI_COMMON_Q_AVAILHI 44
|
||||
#define VIRTIO_PCI_COMMON_Q_USEDLO 48
|
||||
#define VIRTIO_PCI_COMMON_Q_USEDHI 52
|
||||
|
||||
#endif /* VIRTIO_PCI_NO_MODERN */
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user