Merge drm/drm-next into drm-intel-gt-next
Catching up with 5.14-rc1 and also preparing for a needed common topic branch for the "Minor revid/stepping and workaround cleanup" Reference: https://patchwork.freedesktop.org/series/92299/ Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
@@ -72,6 +72,9 @@
|
||||
#define MADV_COLD 20 /* deactivate these pages */
|
||||
#define MADV_PAGEOUT 21 /* reclaim these pages */
|
||||
|
||||
#define MADV_POPULATE_READ 22 /* populate (prefault) page tables readable */
|
||||
#define MADV_POPULATE_WRITE 23 /* populate (prefault) page tables writable */
|
||||
|
||||
/* compatibility flags */
|
||||
#define MAP_FILE 0
|
||||
|
||||
|
||||
@@ -122,6 +122,8 @@
|
||||
#define SO_PREFER_BUSY_POLL 69
|
||||
#define SO_BUSY_POLL_BUDGET 70
|
||||
|
||||
#define SO_NETNS_COOKIE 71
|
||||
|
||||
#if !defined(__KERNEL__)
|
||||
|
||||
#if __BITS_PER_LONG == 64 || (defined(__x86_64__) && defined(__ILP32__))
|
||||
|
||||
@@ -863,8 +863,8 @@ __SYSCALL(__NR_process_madvise, sys_process_madvise)
|
||||
__SC_COMP(__NR_epoll_pwait2, sys_epoll_pwait2, compat_sys_epoll_pwait2)
|
||||
#define __NR_mount_setattr 442
|
||||
__SYSCALL(__NR_mount_setattr, sys_mount_setattr)
|
||||
#define __NR_quotactl_path 443
|
||||
__SYSCALL(__NR_quotactl_path, sys_quotactl_path)
|
||||
#define __NR_quotactl_fd 443
|
||||
__SYSCALL(__NR_quotactl_fd, sys_quotactl_fd)
|
||||
|
||||
#define __NR_landlock_create_ruleset 444
|
||||
__SYSCALL(__NR_landlock_create_ruleset, sys_landlock_create_ruleset)
|
||||
@@ -873,8 +873,13 @@ __SYSCALL(__NR_landlock_add_rule, sys_landlock_add_rule)
|
||||
#define __NR_landlock_restrict_self 446
|
||||
__SYSCALL(__NR_landlock_restrict_self, sys_landlock_restrict_self)
|
||||
|
||||
#ifdef __ARCH_WANT_MEMFD_SECRET
|
||||
#define __NR_memfd_secret 447
|
||||
__SYSCALL(__NR_memfd_secret, sys_memfd_secret)
|
||||
#endif
|
||||
|
||||
#undef __NR_syscalls
|
||||
#define __NR_syscalls 447
|
||||
#define __NR_syscalls 448
|
||||
|
||||
/*
|
||||
* 32 bit systems traditionally used different
|
||||
|
||||
@@ -94,13 +94,12 @@ struct drm_msm_param {
|
||||
/* cache modes */
|
||||
#define MSM_BO_CACHED 0x00010000
|
||||
#define MSM_BO_WC 0x00020000
|
||||
#define MSM_BO_UNCACHED 0x00040000
|
||||
#define MSM_BO_UNCACHED 0x00040000 /* deprecated, use MSM_BO_WC */
|
||||
#define MSM_BO_CACHED_COHERENT 0x080000
|
||||
|
||||
#define MSM_BO_FLAGS (MSM_BO_SCANOUT | \
|
||||
MSM_BO_GPU_READONLY | \
|
||||
MSM_BO_CACHED | \
|
||||
MSM_BO_WC | \
|
||||
MSM_BO_UNCACHED)
|
||||
MSM_BO_CACHE_MASK)
|
||||
|
||||
struct drm_msm_gem_new {
|
||||
__u64 size; /* in */
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
* 2500 - 2999 future user space (maybe integrity labels and related events)
|
||||
*
|
||||
* Messages from 1000-1199 are bi-directional. 1200-1299 & 2100 - 2999 are
|
||||
* exclusively user space. 1300-2099 is kernel --> user space
|
||||
* exclusively user space. 1300-2099 is kernel --> user space
|
||||
* communication.
|
||||
*/
|
||||
#define AUDIT_GET 1000 /* Get status */
|
||||
@@ -78,7 +78,7 @@
|
||||
#define AUDIT_LAST_USER_MSG 1199
|
||||
#define AUDIT_FIRST_USER_MSG2 2100 /* More user space messages */
|
||||
#define AUDIT_LAST_USER_MSG2 2999
|
||||
|
||||
|
||||
#define AUDIT_DAEMON_START 1200 /* Daemon startup record */
|
||||
#define AUDIT_DAEMON_END 1201 /* Daemon normal stop record */
|
||||
#define AUDIT_DAEMON_ABORT 1202 /* Daemon error stop record */
|
||||
|
||||
@@ -33,5 +33,8 @@
|
||||
|
||||
#define AT_EXECFN 31 /* filename of program */
|
||||
|
||||
#ifndef AT_MINSIGSTKSZ
|
||||
#define AT_MINSIGSTKSZ 51 /* minimal stack size for signal delivery */
|
||||
#endif
|
||||
|
||||
#endif /* _UAPI_LINUX_AUXVEC_H */
|
||||
|
||||
@@ -527,6 +527,15 @@ union bpf_iter_link_info {
|
||||
* Look up an element with the given *key* in the map referred to
|
||||
* by the file descriptor *fd*, and if found, delete the element.
|
||||
*
|
||||
* For **BPF_MAP_TYPE_QUEUE** and **BPF_MAP_TYPE_STACK** map
|
||||
* types, the *flags* argument needs to be set to 0, but for other
|
||||
* map types, it may be specified as:
|
||||
*
|
||||
* **BPF_F_LOCK**
|
||||
* Look up and delete the value of a spin-locked map
|
||||
* without returning the lock. This must be specified if
|
||||
* the elements contain a spinlock.
|
||||
*
|
||||
* The **BPF_MAP_TYPE_QUEUE** and **BPF_MAP_TYPE_STACK** map types
|
||||
* implement this command as a "pop" operation, deleting the top
|
||||
* element rather than one corresponding to *key*.
|
||||
@@ -536,6 +545,10 @@ union bpf_iter_link_info {
|
||||
* This command is only valid for the following map types:
|
||||
* * **BPF_MAP_TYPE_QUEUE**
|
||||
* * **BPF_MAP_TYPE_STACK**
|
||||
* * **BPF_MAP_TYPE_HASH**
|
||||
* * **BPF_MAP_TYPE_PERCPU_HASH**
|
||||
* * **BPF_MAP_TYPE_LRU_HASH**
|
||||
* * **BPF_MAP_TYPE_LRU_PERCPU_HASH**
|
||||
*
|
||||
* Return
|
||||
* Returns zero on success. On error, -1 is returned and *errno*
|
||||
@@ -837,6 +850,7 @@ enum bpf_cmd {
|
||||
BPF_PROG_ATTACH,
|
||||
BPF_PROG_DETACH,
|
||||
BPF_PROG_TEST_RUN,
|
||||
BPF_PROG_RUN = BPF_PROG_TEST_RUN,
|
||||
BPF_PROG_GET_NEXT_ID,
|
||||
BPF_MAP_GET_NEXT_ID,
|
||||
BPF_PROG_GET_FD_BY_ID,
|
||||
@@ -937,6 +951,7 @@ enum bpf_prog_type {
|
||||
BPF_PROG_TYPE_EXT,
|
||||
BPF_PROG_TYPE_LSM,
|
||||
BPF_PROG_TYPE_SK_LOOKUP,
|
||||
BPF_PROG_TYPE_SYSCALL, /* a program that can execute syscalls */
|
||||
};
|
||||
|
||||
enum bpf_attach_type {
|
||||
@@ -979,6 +994,8 @@ enum bpf_attach_type {
|
||||
BPF_SK_LOOKUP,
|
||||
BPF_XDP,
|
||||
BPF_SK_SKB_VERDICT,
|
||||
BPF_SK_REUSEPORT_SELECT,
|
||||
BPF_SK_REUSEPORT_SELECT_OR_MIGRATE,
|
||||
__MAX_BPF_ATTACH_TYPE
|
||||
};
|
||||
|
||||
@@ -1097,8 +1114,8 @@ enum bpf_link_type {
|
||||
/* When BPF ldimm64's insn[0].src_reg != 0 then this can have
|
||||
* the following extensions:
|
||||
*
|
||||
* insn[0].src_reg: BPF_PSEUDO_MAP_FD
|
||||
* insn[0].imm: map fd
|
||||
* insn[0].src_reg: BPF_PSEUDO_MAP_[FD|IDX]
|
||||
* insn[0].imm: map fd or fd_idx
|
||||
* insn[1].imm: 0
|
||||
* insn[0].off: 0
|
||||
* insn[1].off: 0
|
||||
@@ -1106,15 +1123,19 @@ enum bpf_link_type {
|
||||
* verifier type: CONST_PTR_TO_MAP
|
||||
*/
|
||||
#define BPF_PSEUDO_MAP_FD 1
|
||||
/* insn[0].src_reg: BPF_PSEUDO_MAP_VALUE
|
||||
* insn[0].imm: map fd
|
||||
#define BPF_PSEUDO_MAP_IDX 5
|
||||
|
||||
/* insn[0].src_reg: BPF_PSEUDO_MAP_[IDX_]VALUE
|
||||
* insn[0].imm: map fd or fd_idx
|
||||
* insn[1].imm: offset into value
|
||||
* insn[0].off: 0
|
||||
* insn[1].off: 0
|
||||
* ldimm64 rewrite: address of map[0]+offset
|
||||
* verifier type: PTR_TO_MAP_VALUE
|
||||
*/
|
||||
#define BPF_PSEUDO_MAP_VALUE 2
|
||||
#define BPF_PSEUDO_MAP_VALUE 2
|
||||
#define BPF_PSEUDO_MAP_IDX_VALUE 6
|
||||
|
||||
/* insn[0].src_reg: BPF_PSEUDO_BTF_ID
|
||||
* insn[0].imm: kernel btd id of VAR
|
||||
* insn[1].imm: 0
|
||||
@@ -1314,6 +1335,8 @@ union bpf_attr {
|
||||
/* or valid module BTF object fd or 0 to attach to vmlinux */
|
||||
__u32 attach_btf_obj_fd;
|
||||
};
|
||||
__u32 :32; /* pad */
|
||||
__aligned_u64 fd_array; /* array of FDs */
|
||||
};
|
||||
|
||||
struct { /* anonymous struct used by BPF_OBJ_* commands */
|
||||
@@ -2534,8 +2557,12 @@ union bpf_attr {
|
||||
* The lower two bits of *flags* are used as the return code if
|
||||
* the map lookup fails. This is so that the return value can be
|
||||
* one of the XDP program return codes up to **XDP_TX**, as chosen
|
||||
* by the caller. Any higher bits in the *flags* argument must be
|
||||
* unset.
|
||||
* by the caller. The higher bits of *flags* can be set to
|
||||
* BPF_F_BROADCAST or BPF_F_EXCLUDE_INGRESS as defined below.
|
||||
*
|
||||
* With BPF_F_BROADCAST the packet will be broadcasted to all the
|
||||
* interfaces in the map, with BPF_F_EXCLUDE_INGRESS the ingress
|
||||
* interface will be excluded when do broadcasting.
|
||||
*
|
||||
* See also **bpf_redirect**\ (), which only supports redirecting
|
||||
* to an ifindex, but doesn't require a map to do so.
|
||||
@@ -4735,6 +4762,24 @@ union bpf_attr {
|
||||
* be zero-terminated except when **str_size** is 0.
|
||||
*
|
||||
* Or **-EBUSY** if the per-CPU memory copy buffer is busy.
|
||||
*
|
||||
* long bpf_sys_bpf(u32 cmd, void *attr, u32 attr_size)
|
||||
* Description
|
||||
* Execute bpf syscall with given arguments.
|
||||
* Return
|
||||
* A syscall result.
|
||||
*
|
||||
* long bpf_btf_find_by_name_kind(char *name, int name_sz, u32 kind, int flags)
|
||||
* Description
|
||||
* Find BTF type with given name and kind in vmlinux BTF or in module's BTFs.
|
||||
* Return
|
||||
* Returns btf_id and btf_obj_fd in lower and upper 32 bits.
|
||||
*
|
||||
* long bpf_sys_close(u32 fd)
|
||||
* Description
|
||||
* Execute close syscall for given FD.
|
||||
* Return
|
||||
* A syscall result.
|
||||
*/
|
||||
#define __BPF_FUNC_MAPPER(FN) \
|
||||
FN(unspec), \
|
||||
@@ -4903,6 +4948,9 @@ union bpf_attr {
|
||||
FN(check_mtu), \
|
||||
FN(for_each_map_elem), \
|
||||
FN(snprintf), \
|
||||
FN(sys_bpf), \
|
||||
FN(btf_find_by_name_kind), \
|
||||
FN(sys_close), \
|
||||
/* */
|
||||
|
||||
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||
@@ -5080,6 +5128,12 @@ enum {
|
||||
BPF_F_BPRM_SECUREEXEC = (1ULL << 0),
|
||||
};
|
||||
|
||||
/* Flags for bpf_redirect_map helper */
|
||||
enum {
|
||||
BPF_F_BROADCAST = (1ULL << 3),
|
||||
BPF_F_EXCLUDE_INGRESS = (1ULL << 4),
|
||||
};
|
||||
|
||||
#define __bpf_md_ptr(type, name) \
|
||||
union { \
|
||||
type name; \
|
||||
@@ -5364,6 +5418,20 @@ struct sk_reuseport_md {
|
||||
__u32 ip_protocol; /* IP protocol. e.g. IPPROTO_TCP, IPPROTO_UDP */
|
||||
__u32 bind_inany; /* Is sock bound to an INANY address? */
|
||||
__u32 hash; /* A hash of the packet 4 tuples */
|
||||
/* When reuse->migrating_sk is NULL, it is selecting a sk for the
|
||||
* new incoming connection request (e.g. selecting a listen sk for
|
||||
* the received SYN in the TCP case). reuse->sk is one of the sk
|
||||
* in the reuseport group. The bpf prog can use reuse->sk to learn
|
||||
* the local listening ip/port without looking into the skb.
|
||||
*
|
||||
* When reuse->migrating_sk is not NULL, reuse->sk is closed and
|
||||
* reuse->migrating_sk is the socket that needs to be migrated
|
||||
* to another listening socket. migrating_sk could be a fullsock
|
||||
* sk that is fully established or a reqsk that is in-the-middle
|
||||
* of 3-way handshake.
|
||||
*/
|
||||
__bpf_md_ptr(struct bpf_sock *, sk);
|
||||
__bpf_md_ptr(struct bpf_sock *, migrating_sk);
|
||||
};
|
||||
|
||||
#define BPF_TAG_SIZE 8
|
||||
|
||||
@@ -154,7 +154,7 @@ struct btrfs_scrub_progress {
|
||||
__u64 tree_bytes_scrubbed; /* # of tree bytes scrubbed */
|
||||
__u64 read_errors; /* # of read errors encountered (EIO) */
|
||||
__u64 csum_errors; /* # of failed csum checks */
|
||||
__u64 verify_errors; /* # of occurences, where the metadata
|
||||
__u64 verify_errors; /* # of occurrences, where the metadata
|
||||
* of a tree block did not match the
|
||||
* expected values, like generation or
|
||||
* logical */
|
||||
@@ -174,7 +174,7 @@ struct btrfs_scrub_progress {
|
||||
__u64 last_physical; /* last physical address scrubbed. In
|
||||
* case a scrub was aborted, this can
|
||||
* be used to restart the scrub */
|
||||
__u64 unverified_errors; /* # of occurences where a read for a
|
||||
__u64 unverified_errors; /* # of occurrences where a read for a
|
||||
* full (64k) bio failed, but the re-
|
||||
* check succeeded for each 4k piece.
|
||||
* Intermittent error. */
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
/* for storing balance parameters in the root tree */
|
||||
#define BTRFS_BALANCE_OBJECTID -4ULL
|
||||
|
||||
/* orhpan objectid for tracking unlinked/truncated files */
|
||||
/* orphan objectid for tracking unlinked/truncated files */
|
||||
#define BTRFS_ORPHAN_OBJECTID -5ULL
|
||||
|
||||
/* does write ahead logging to speed up fsyncs */
|
||||
@@ -275,7 +275,7 @@
|
||||
#define BTRFS_PERSISTENT_ITEM_KEY 249
|
||||
|
||||
/*
|
||||
* Persistantly stores the device replace state in the device tree.
|
||||
* Persistently stores the device replace state in the device tree.
|
||||
* The key is built like this: (0, BTRFS_DEV_REPLACE_KEY, 0).
|
||||
*/
|
||||
#define BTRFS_DEV_REPLACE_KEY 250
|
||||
|
||||
@@ -123,8 +123,8 @@ struct can_frame {
|
||||
/*
|
||||
* defined bits for canfd_frame.flags
|
||||
*
|
||||
* The use of struct canfd_frame implies the Extended Data Length (EDL) bit to
|
||||
* be set in the CAN frame bitstream on the wire. The EDL bit switch turns
|
||||
* The use of struct canfd_frame implies the FD Frame (FDF) bit to
|
||||
* be set in the CAN frame bitstream on the wire. The FDF bit switch turns
|
||||
* the CAN controllers bitstream processor into the CAN FD mode which creates
|
||||
* two new options within the CAN FD frame specification:
|
||||
*
|
||||
@@ -135,9 +135,18 @@ struct can_frame {
|
||||
* controller only the CANFD_BRS bit is relevant for real CAN controllers when
|
||||
* building a CAN FD frame for transmission. Setting the CANFD_ESI bit can make
|
||||
* sense for virtual CAN interfaces to test applications with echoed frames.
|
||||
*
|
||||
* The struct can_frame and struct canfd_frame intentionally share the same
|
||||
* layout to be able to write CAN frame content into a CAN FD frame structure.
|
||||
* When this is done the former differentiation via CAN_MTU / CANFD_MTU gets
|
||||
* lost. CANFD_FDF allows programmers to mark CAN FD frames in the case of
|
||||
* using struct canfd_frame for mixed CAN / CAN FD content (dual use).
|
||||
* N.B. the Kernel APIs do NOT provide mixed CAN / CAN FD content inside of
|
||||
* struct canfd_frame therefore the CANFD_FDF flag is disregarded by Linux.
|
||||
*/
|
||||
#define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */
|
||||
#define CANFD_ESI 0x02 /* error state indicator of the transmitting node */
|
||||
#define CANFD_FDF 0x04 /* mark CAN FD for dual use of struct canfd_frame */
|
||||
|
||||
/**
|
||||
* struct canfd_frame - CAN flexible data rate frame structure
|
||||
|
||||
@@ -1665,7 +1665,7 @@ static inline void cec_ops_report_current_latency(const struct cec_msg *msg,
|
||||
if (*audio_out_compensated == 3 && msg->len >= 7)
|
||||
*audio_out_delay = msg->msg[6];
|
||||
else
|
||||
*audio_out_delay = 0;
|
||||
*audio_out_delay = 1;
|
||||
}
|
||||
|
||||
static inline void cec_msg_request_current_latency(struct cec_msg *msg,
|
||||
|
||||
@@ -29,6 +29,18 @@
|
||||
___C(GET_LSA, "Get Label Storage Area"), \
|
||||
___C(GET_HEALTH_INFO, "Get Health Info"), \
|
||||
___C(GET_LOG, "Get Log"), \
|
||||
___C(SET_PARTITION_INFO, "Set Partition Information"), \
|
||||
___C(SET_LSA, "Set Label Storage Area"), \
|
||||
___C(GET_ALERT_CONFIG, "Get Alert Configuration"), \
|
||||
___C(SET_ALERT_CONFIG, "Set Alert Configuration"), \
|
||||
___C(GET_SHUTDOWN_STATE, "Get Shutdown State"), \
|
||||
___C(SET_SHUTDOWN_STATE, "Set Shutdown State"), \
|
||||
___C(GET_POISON, "Get Poison List"), \
|
||||
___C(INJECT_POISON, "Inject Poison"), \
|
||||
___C(CLEAR_POISON, "Clear Poison"), \
|
||||
___C(GET_SCAN_MEDIA_CAPS, "Get Scan Media Capabilities"), \
|
||||
___C(SCAN_MEDIA, "Scan Media"), \
|
||||
___C(GET_SCAN_MEDIA, "Get Scan Media Results"), \
|
||||
___C(MAX, "invalid / last command")
|
||||
|
||||
#define ___C(a, b) CXL_MEM_COMMAND_ID_##a
|
||||
|
||||
@@ -126,6 +126,11 @@ enum devlink_command {
|
||||
|
||||
DEVLINK_CMD_HEALTH_REPORTER_TEST,
|
||||
|
||||
DEVLINK_CMD_RATE_GET, /* can dump */
|
||||
DEVLINK_CMD_RATE_SET,
|
||||
DEVLINK_CMD_RATE_NEW,
|
||||
DEVLINK_CMD_RATE_DEL,
|
||||
|
||||
/* add new commands above here */
|
||||
__DEVLINK_CMD_MAX,
|
||||
DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
|
||||
@@ -206,6 +211,11 @@ enum devlink_port_flavour {
|
||||
*/
|
||||
};
|
||||
|
||||
enum devlink_rate_type {
|
||||
DEVLINK_RATE_TYPE_LEAF,
|
||||
DEVLINK_RATE_TYPE_NODE,
|
||||
};
|
||||
|
||||
enum devlink_param_cmode {
|
||||
DEVLINK_PARAM_CMODE_RUNTIME,
|
||||
DEVLINK_PARAM_CMODE_DRIVERINIT,
|
||||
@@ -534,6 +544,13 @@ enum devlink_attr {
|
||||
DEVLINK_ATTR_RELOAD_ACTION_STATS, /* nested */
|
||||
|
||||
DEVLINK_ATTR_PORT_PCI_SF_NUMBER, /* u32 */
|
||||
|
||||
DEVLINK_ATTR_RATE_TYPE, /* u16 */
|
||||
DEVLINK_ATTR_RATE_TX_SHARE, /* u64 */
|
||||
DEVLINK_ATTR_RATE_TX_MAX, /* u64 */
|
||||
DEVLINK_ATTR_RATE_NODE_NAME, /* string */
|
||||
DEVLINK_ATTR_RATE_PARENT_NODE_NAME, /* string */
|
||||
|
||||
/* add new attributes above here, update the policy in devlink.c */
|
||||
|
||||
__DEVLINK_ATTR_MAX,
|
||||
|
||||
@@ -1,101 +0,0 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
|
||||
/*
|
||||
* audio.h - DEPRECATED MPEG-TS audio decoder API
|
||||
*
|
||||
* NOTE: should not be used on future drivers
|
||||
*
|
||||
* Copyright (C) 2000 Ralph Metzler <ralph@convergence.de>
|
||||
* & Marcus Metzler <marcus@convergence.de>
|
||||
* for convergence integrated media GmbH
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Lesser Public License
|
||||
* as published by the Free Software Foundation; either version 2.1
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _DVBAUDIO_H_
|
||||
#define _DVBAUDIO_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
typedef enum {
|
||||
AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */
|
||||
AUDIO_SOURCE_MEMORY /* Select internal memory as the main source */
|
||||
} audio_stream_source_t;
|
||||
|
||||
|
||||
typedef enum {
|
||||
AUDIO_STOPPED, /* Device is stopped */
|
||||
AUDIO_PLAYING, /* Device is currently playing */
|
||||
AUDIO_PAUSED /* Device is paused */
|
||||
} audio_play_state_t;
|
||||
|
||||
|
||||
typedef enum {
|
||||
AUDIO_STEREO,
|
||||
AUDIO_MONO_LEFT,
|
||||
AUDIO_MONO_RIGHT,
|
||||
AUDIO_MONO,
|
||||
AUDIO_STEREO_SWAPPED
|
||||
} audio_channel_select_t;
|
||||
|
||||
|
||||
typedef struct audio_mixer {
|
||||
unsigned int volume_left;
|
||||
unsigned int volume_right;
|
||||
/* what else do we need? bass, pass-through, ... */
|
||||
} audio_mixer_t;
|
||||
|
||||
|
||||
typedef struct audio_status {
|
||||
int AV_sync_state; /* sync audio and video? */
|
||||
int mute_state; /* audio is muted */
|
||||
audio_play_state_t play_state; /* current playback state */
|
||||
audio_stream_source_t stream_source; /* current stream source */
|
||||
audio_channel_select_t channel_select; /* currently selected channel */
|
||||
int bypass_mode; /* pass on audio data to */
|
||||
audio_mixer_t mixer_state; /* current mixer state */
|
||||
} audio_status_t; /* separate decoder hardware */
|
||||
|
||||
|
||||
/* for GET_CAPABILITIES and SET_FORMAT, the latter should only set one bit */
|
||||
#define AUDIO_CAP_DTS 1
|
||||
#define AUDIO_CAP_LPCM 2
|
||||
#define AUDIO_CAP_MP1 4
|
||||
#define AUDIO_CAP_MP2 8
|
||||
#define AUDIO_CAP_MP3 16
|
||||
#define AUDIO_CAP_AAC 32
|
||||
#define AUDIO_CAP_OGG 64
|
||||
#define AUDIO_CAP_SDDS 128
|
||||
#define AUDIO_CAP_AC3 256
|
||||
|
||||
#define AUDIO_STOP _IO('o', 1)
|
||||
#define AUDIO_PLAY _IO('o', 2)
|
||||
#define AUDIO_PAUSE _IO('o', 3)
|
||||
#define AUDIO_CONTINUE _IO('o', 4)
|
||||
#define AUDIO_SELECT_SOURCE _IO('o', 5)
|
||||
#define AUDIO_SET_MUTE _IO('o', 6)
|
||||
#define AUDIO_SET_AV_SYNC _IO('o', 7)
|
||||
#define AUDIO_SET_BYPASS_MODE _IO('o', 8)
|
||||
#define AUDIO_CHANNEL_SELECT _IO('o', 9)
|
||||
#define AUDIO_GET_STATUS _IOR('o', 10, audio_status_t)
|
||||
|
||||
#define AUDIO_GET_CAPABILITIES _IOR('o', 11, unsigned int)
|
||||
#define AUDIO_CLEAR_BUFFER _IO('o', 12)
|
||||
#define AUDIO_SET_ID _IO('o', 13)
|
||||
#define AUDIO_SET_MIXER _IOW('o', 14, audio_mixer_t)
|
||||
#define AUDIO_SET_STREAMTYPE _IO('o', 15)
|
||||
#define AUDIO_BILINGUAL_CHANNEL_SELECT _IO('o', 20)
|
||||
|
||||
#endif /* _DVBAUDIO_H_ */
|
||||
@@ -1,181 +0,0 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
|
||||
/*
|
||||
* osd.h - DEPRECATED On Screen Display API
|
||||
*
|
||||
* NOTE: should not be used on future drivers
|
||||
*
|
||||
* Copyright (C) 2001 Ralph Metzler <ralph@convergence.de>
|
||||
* & Marcus Metzler <marcus@convergence.de>
|
||||
* for convergence integrated media GmbH
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Lesser Public License
|
||||
* as published by the Free Software Foundation; either version 2.1
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _DVBOSD_H_
|
||||
#define _DVBOSD_H_
|
||||
|
||||
#include <linux/compiler.h>
|
||||
|
||||
typedef enum {
|
||||
/* All functions return -2 on "not open" */
|
||||
OSD_Close = 1, /* () */
|
||||
/*
|
||||
* Disables OSD and releases the buffers
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_Open, /* (x0,y0,x1,y1,BitPerPixel[2/4/8](color&0x0F),mix[0..15](color&0xF0)) */
|
||||
/*
|
||||
* Opens OSD with this size and bit depth
|
||||
* returns 0 on success, -1 on DRAM allocation error, -2 on "already open"
|
||||
*/
|
||||
OSD_Show, /* () */
|
||||
/*
|
||||
* enables OSD mode
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_Hide, /* () */
|
||||
/*
|
||||
* disables OSD mode
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_Clear, /* () */
|
||||
/*
|
||||
* Sets all pixel to color 0
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_Fill, /* (color) */
|
||||
/*
|
||||
* Sets all pixel to color <col>
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_SetColor, /* (color,R{x0},G{y0},B{x1},opacity{y1}) */
|
||||
/*
|
||||
* set palette entry <num> to <r,g,b>, <mix> and <trans> apply
|
||||
* R,G,B: 0..255
|
||||
* R=Red, G=Green, B=Blue
|
||||
* opacity=0: pixel opacity 0% (only video pixel shows)
|
||||
* opacity=1..254: pixel opacity as specified in header
|
||||
* opacity=255: pixel opacity 100% (only OSD pixel shows)
|
||||
* returns 0 on success, -1 on error
|
||||
*/
|
||||
OSD_SetPalette, /* (firstcolor{color},lastcolor{x0},data) */
|
||||
/*
|
||||
* Set a number of entries in the palette
|
||||
* sets the entries "firstcolor" through "lastcolor" from the array "data"
|
||||
* data has 4 byte for each color:
|
||||
* R,G,B, and a opacity value: 0->transparent, 1..254->mix, 255->pixel
|
||||
*/
|
||||
OSD_SetTrans, /* (transparency{color}) */
|
||||
/*
|
||||
* Sets transparency of mixed pixel (0..15)
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_SetPixel, /* (x0,y0,color) */
|
||||
/*
|
||||
* sets pixel <x>,<y> to color number <col>
|
||||
* returns 0 on success, -1 on error
|
||||
*/
|
||||
OSD_GetPixel, /* (x0,y0) */
|
||||
/* returns color number of pixel <x>,<y>, or -1 */
|
||||
OSD_SetRow, /* (x0,y0,x1,data) */
|
||||
/*
|
||||
* fills pixels x0,y through x1,y with the content of data[]
|
||||
* returns 0 on success, -1 on clipping all pixel (no pixel drawn)
|
||||
*/
|
||||
OSD_SetBlock, /* (x0,y0,x1,y1,increment{color},data) */
|
||||
/*
|
||||
* fills pixels x0,y0 through x1,y1 with the content of data[]
|
||||
* inc contains the width of one line in the data block,
|
||||
* inc<=0 uses blockwidth as linewidth
|
||||
* returns 0 on success, -1 on clipping all pixel
|
||||
*/
|
||||
OSD_FillRow, /* (x0,y0,x1,color) */
|
||||
/*
|
||||
* fills pixels x0,y through x1,y with the color <col>
|
||||
* returns 0 on success, -1 on clipping all pixel
|
||||
*/
|
||||
OSD_FillBlock, /* (x0,y0,x1,y1,color) */
|
||||
/*
|
||||
* fills pixels x0,y0 through x1,y1 with the color <col>
|
||||
* returns 0 on success, -1 on clipping all pixel
|
||||
*/
|
||||
OSD_Line, /* (x0,y0,x1,y1,color) */
|
||||
/*
|
||||
* draw a line from x0,y0 to x1,y1 with the color <col>
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_Query, /* (x0,y0,x1,y1,xasp{color}}), yasp=11 */
|
||||
/*
|
||||
* fills parameters with the picture dimensions and the pixel aspect ratio
|
||||
* returns 0 on success
|
||||
*/
|
||||
OSD_Test, /* () */
|
||||
/*
|
||||
* draws a test picture. for debugging purposes only
|
||||
* returns 0 on success
|
||||
* TODO: remove "test" in final version
|
||||
*/
|
||||
OSD_Text, /* (x0,y0,size,color,text) */
|
||||
OSD_SetWindow, /* (x0) set window with number 0<x0<8 as current */
|
||||
OSD_MoveWindow, /* move current window to (x0, y0) */
|
||||
OSD_OpenRaw, /* Open other types of OSD windows */
|
||||
} OSD_Command;
|
||||
|
||||
typedef struct osd_cmd_s {
|
||||
OSD_Command cmd;
|
||||
int x0;
|
||||
int y0;
|
||||
int x1;
|
||||
int y1;
|
||||
int color;
|
||||
void __user *data;
|
||||
} osd_cmd_t;
|
||||
|
||||
/* OSD_OpenRaw: set 'color' to desired window type */
|
||||
typedef enum {
|
||||
OSD_BITMAP1, /* 1 bit bitmap */
|
||||
OSD_BITMAP2, /* 2 bit bitmap */
|
||||
OSD_BITMAP4, /* 4 bit bitmap */
|
||||
OSD_BITMAP8, /* 8 bit bitmap */
|
||||
OSD_BITMAP1HR, /* 1 Bit bitmap half resolution */
|
||||
OSD_BITMAP2HR, /* 2 bit bitmap half resolution */
|
||||
OSD_BITMAP4HR, /* 4 bit bitmap half resolution */
|
||||
OSD_BITMAP8HR, /* 8 bit bitmap half resolution */
|
||||
OSD_YCRCB422, /* 4:2:2 YCRCB Graphic Display */
|
||||
OSD_YCRCB444, /* 4:4:4 YCRCB Graphic Display */
|
||||
OSD_YCRCB444HR, /* 4:4:4 YCRCB graphic half resolution */
|
||||
OSD_VIDEOTSIZE, /* True Size Normal MPEG Video Display */
|
||||
OSD_VIDEOHSIZE, /* MPEG Video Display Half Resolution */
|
||||
OSD_VIDEOQSIZE, /* MPEG Video Display Quarter Resolution */
|
||||
OSD_VIDEODSIZE, /* MPEG Video Display Double Resolution */
|
||||
OSD_VIDEOTHSIZE, /* True Size MPEG Video Display Half Resolution */
|
||||
OSD_VIDEOTQSIZE, /* True Size MPEG Video Display Quarter Resolution*/
|
||||
OSD_VIDEOTDSIZE, /* True Size MPEG Video Display Double Resolution */
|
||||
OSD_VIDEONSIZE, /* Full Size MPEG Video Display */
|
||||
OSD_CURSOR /* Cursor */
|
||||
} osd_raw_window_t;
|
||||
|
||||
typedef struct osd_cap_s {
|
||||
int cmd;
|
||||
#define OSD_CAP_MEMSIZE 1 /* memory size */
|
||||
long val;
|
||||
} osd_cap_t;
|
||||
|
||||
|
||||
#define OSD_SEND_CMD _IOW('o', 160, osd_cmd_t)
|
||||
#define OSD_GET_CAPABILITY _IOR('o', 161, osd_cap_t)
|
||||
|
||||
#endif
|
||||
@@ -1,220 +0,0 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
|
||||
/*
|
||||
* video.h - DEPRECATED MPEG-TS video decoder API
|
||||
*
|
||||
* NOTE: should not be used on future drivers
|
||||
*
|
||||
* Copyright (C) 2000 Marcus Metzler <marcus@convergence.de>
|
||||
* & Ralph Metzler <ralph@convergence.de>
|
||||
* for convergence integrated media GmbH
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public License
|
||||
* as published by the Free Software Foundation; either version 2.1
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_DVBVIDEO_H_
|
||||
#define _UAPI_DVBVIDEO_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
#ifndef __KERNEL__
|
||||
#include <time.h>
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
VIDEO_FORMAT_4_3, /* Select 4:3 format */
|
||||
VIDEO_FORMAT_16_9, /* Select 16:9 format. */
|
||||
VIDEO_FORMAT_221_1 /* 2.21:1 */
|
||||
} video_format_t;
|
||||
|
||||
|
||||
typedef enum {
|
||||
VIDEO_PAN_SCAN, /* use pan and scan format */
|
||||
VIDEO_LETTER_BOX, /* use letterbox format */
|
||||
VIDEO_CENTER_CUT_OUT /* use center cut out format */
|
||||
} video_displayformat_t;
|
||||
|
||||
typedef struct {
|
||||
int w;
|
||||
int h;
|
||||
video_format_t aspect_ratio;
|
||||
} video_size_t;
|
||||
|
||||
typedef enum {
|
||||
VIDEO_SOURCE_DEMUX, /* Select the demux as the main source */
|
||||
VIDEO_SOURCE_MEMORY /* If this source is selected, the stream
|
||||
comes from the user through the write
|
||||
system call */
|
||||
} video_stream_source_t;
|
||||
|
||||
|
||||
typedef enum {
|
||||
VIDEO_STOPPED, /* Video is stopped */
|
||||
VIDEO_PLAYING, /* Video is currently playing */
|
||||
VIDEO_FREEZED /* Video is freezed */
|
||||
} video_play_state_t;
|
||||
|
||||
|
||||
/* Decoder commands */
|
||||
#define VIDEO_CMD_PLAY (0)
|
||||
#define VIDEO_CMD_STOP (1)
|
||||
#define VIDEO_CMD_FREEZE (2)
|
||||
#define VIDEO_CMD_CONTINUE (3)
|
||||
|
||||
/* Flags for VIDEO_CMD_FREEZE */
|
||||
#define VIDEO_CMD_FREEZE_TO_BLACK (1 << 0)
|
||||
|
||||
/* Flags for VIDEO_CMD_STOP */
|
||||
#define VIDEO_CMD_STOP_TO_BLACK (1 << 0)
|
||||
#define VIDEO_CMD_STOP_IMMEDIATELY (1 << 1)
|
||||
|
||||
/* Play input formats: */
|
||||
/* The decoder has no special format requirements */
|
||||
#define VIDEO_PLAY_FMT_NONE (0)
|
||||
/* The decoder requires full GOPs */
|
||||
#define VIDEO_PLAY_FMT_GOP (1)
|
||||
|
||||
/* The structure must be zeroed before use by the application
|
||||
This ensures it can be extended safely in the future. */
|
||||
struct video_command {
|
||||
__u32 cmd;
|
||||
__u32 flags;
|
||||
union {
|
||||
struct {
|
||||
__u64 pts;
|
||||
} stop;
|
||||
|
||||
struct {
|
||||
/* 0 or 1000 specifies normal speed,
|
||||
1 specifies forward single stepping,
|
||||
-1 specifies backward single stepping,
|
||||
>1: playback at speed/1000 of the normal speed,
|
||||
<-1: reverse playback at (-speed/1000) of the normal speed. */
|
||||
__s32 speed;
|
||||
__u32 format;
|
||||
} play;
|
||||
|
||||
struct {
|
||||
__u32 data[16];
|
||||
} raw;
|
||||
};
|
||||
};
|
||||
|
||||
/* FIELD_UNKNOWN can be used if the hardware does not know whether
|
||||
the Vsync is for an odd, even or progressive (i.e. non-interlaced)
|
||||
field. */
|
||||
#define VIDEO_VSYNC_FIELD_UNKNOWN (0)
|
||||
#define VIDEO_VSYNC_FIELD_ODD (1)
|
||||
#define VIDEO_VSYNC_FIELD_EVEN (2)
|
||||
#define VIDEO_VSYNC_FIELD_PROGRESSIVE (3)
|
||||
|
||||
struct video_event {
|
||||
__s32 type;
|
||||
#define VIDEO_EVENT_SIZE_CHANGED 1
|
||||
#define VIDEO_EVENT_FRAME_RATE_CHANGED 2
|
||||
#define VIDEO_EVENT_DECODER_STOPPED 3
|
||||
#define VIDEO_EVENT_VSYNC 4
|
||||
/* unused, make sure to use atomic time for y2038 if it ever gets used */
|
||||
long timestamp;
|
||||
union {
|
||||
video_size_t size;
|
||||
unsigned int frame_rate; /* in frames per 1000sec */
|
||||
unsigned char vsync_field; /* unknown/odd/even/progressive */
|
||||
} u;
|
||||
};
|
||||
|
||||
|
||||
struct video_status {
|
||||
int video_blank; /* blank video on freeze? */
|
||||
video_play_state_t play_state; /* current state of playback */
|
||||
video_stream_source_t stream_source; /* current source (demux/memory) */
|
||||
video_format_t video_format; /* current aspect ratio of stream*/
|
||||
video_displayformat_t display_format;/* selected cropping mode */
|
||||
};
|
||||
|
||||
|
||||
struct video_still_picture {
|
||||
char __user *iFrame; /* pointer to a single iframe in memory */
|
||||
__s32 size;
|
||||
};
|
||||
|
||||
|
||||
typedef __u16 video_attributes_t;
|
||||
/* bits: descr. */
|
||||
/* 15-14 Video compression mode (0=MPEG-1, 1=MPEG-2) */
|
||||
/* 13-12 TV system (0=525/60, 1=625/50) */
|
||||
/* 11-10 Aspect ratio (0=4:3, 3=16:9) */
|
||||
/* 9- 8 permitted display mode on 4:3 monitor (0=both, 1=only pan-sca */
|
||||
/* 7 line 21-1 data present in GOP (1=yes, 0=no) */
|
||||
/* 6 line 21-2 data present in GOP (1=yes, 0=no) */
|
||||
/* 5- 3 source resolution (0=720x480/576, 1=704x480/576, 2=352x480/57 */
|
||||
/* 2 source letterboxed (1=yes, 0=no) */
|
||||
/* 0 film/camera mode (0=
|
||||
*camera, 1=film (625/50 only)) */
|
||||
|
||||
|
||||
/* bit definitions for capabilities: */
|
||||
/* can the hardware decode MPEG1 and/or MPEG2? */
|
||||
#define VIDEO_CAP_MPEG1 1
|
||||
#define VIDEO_CAP_MPEG2 2
|
||||
/* can you send a system and/or program stream to video device?
|
||||
(you still have to open the video and the audio device but only
|
||||
send the stream to the video device) */
|
||||
#define VIDEO_CAP_SYS 4
|
||||
#define VIDEO_CAP_PROG 8
|
||||
/* can the driver also handle SPU, NAVI and CSS encoded data?
|
||||
(CSS API is not present yet) */
|
||||
#define VIDEO_CAP_SPU 16
|
||||
#define VIDEO_CAP_NAVI 32
|
||||
#define VIDEO_CAP_CSS 64
|
||||
|
||||
|
||||
#define VIDEO_STOP _IO('o', 21)
|
||||
#define VIDEO_PLAY _IO('o', 22)
|
||||
#define VIDEO_FREEZE _IO('o', 23)
|
||||
#define VIDEO_CONTINUE _IO('o', 24)
|
||||
#define VIDEO_SELECT_SOURCE _IO('o', 25)
|
||||
#define VIDEO_SET_BLANK _IO('o', 26)
|
||||
#define VIDEO_GET_STATUS _IOR('o', 27, struct video_status)
|
||||
#define VIDEO_GET_EVENT _IOR('o', 28, struct video_event)
|
||||
#define VIDEO_SET_DISPLAY_FORMAT _IO('o', 29)
|
||||
#define VIDEO_STILLPICTURE _IOW('o', 30, struct video_still_picture)
|
||||
#define VIDEO_FAST_FORWARD _IO('o', 31)
|
||||
#define VIDEO_SLOWMOTION _IO('o', 32)
|
||||
#define VIDEO_GET_CAPABILITIES _IOR('o', 33, unsigned int)
|
||||
#define VIDEO_CLEAR_BUFFER _IO('o', 34)
|
||||
#define VIDEO_SET_STREAMTYPE _IO('o', 36)
|
||||
#define VIDEO_SET_FORMAT _IO('o', 37)
|
||||
#define VIDEO_GET_SIZE _IOR('o', 55, video_size_t)
|
||||
|
||||
/**
|
||||
* VIDEO_GET_PTS
|
||||
*
|
||||
* Read the 33 bit presentation time stamp as defined
|
||||
* in ITU T-REC-H.222.0 / ISO/IEC 13818-1.
|
||||
*
|
||||
* The PTS should belong to the currently played
|
||||
* frame if possible, but may also be a value close to it
|
||||
* like the PTS of the last decoded frame or the last PTS
|
||||
* extracted by the PES parser.
|
||||
*/
|
||||
#define VIDEO_GET_PTS _IOR('o', 57, __u64)
|
||||
|
||||
/* Read the number of displayed frames since the decoder was started */
|
||||
#define VIDEO_GET_FRAME_COUNT _IOR('o', 58, __u64)
|
||||
|
||||
#define VIDEO_COMMAND _IOWR('o', 59, struct video_command)
|
||||
#define VIDEO_TRY_COMMAND _IOWR('o', 60, struct video_command)
|
||||
|
||||
#endif /* _UAPI_DVBVIDEO_H_ */
|
||||
@@ -233,7 +233,7 @@ enum tunable_id {
|
||||
ETHTOOL_PFC_PREVENTION_TOUT, /* timeout in msecs */
|
||||
/*
|
||||
* Add your fresh new tunable attribute above and remember to update
|
||||
* tunable_strings[] in net/core/ethtool.c
|
||||
* tunable_strings[] in net/ethtool/common.c
|
||||
*/
|
||||
__ETHTOOL_TUNABLE_COUNT,
|
||||
};
|
||||
@@ -297,7 +297,7 @@ enum phy_tunable_id {
|
||||
ETHTOOL_PHY_EDPD,
|
||||
/*
|
||||
* Add your fresh new phy tunable attribute above and remember to update
|
||||
* phy_tunable_strings[] in net/core/ethtool.c
|
||||
* phy_tunable_strings[] in net/ethtool/common.c
|
||||
*/
|
||||
__ETHTOOL_PHY_TUNABLE_COUNT,
|
||||
};
|
||||
|
||||
@@ -675,7 +675,7 @@ enum {
|
||||
ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */
|
||||
ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */
|
||||
ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */
|
||||
ETHTOOL_A_MODULE_EEPROM_DATA, /* nested */
|
||||
ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */
|
||||
|
||||
__ETHTOOL_A_MODULE_EEPROM_CNT,
|
||||
ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
|
||||
|
||||
@@ -181,6 +181,9 @@
|
||||
* - add FUSE_OPEN_KILL_SUIDGID
|
||||
* - extend fuse_setxattr_in, add FUSE_SETXATTR_EXT
|
||||
* - add FUSE_SETXATTR_ACL_KILL_SGID
|
||||
*
|
||||
* 7.34
|
||||
* - add FUSE_SYNCFS
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_FUSE_H
|
||||
@@ -216,7 +219,7 @@
|
||||
#define FUSE_KERNEL_VERSION 7
|
||||
|
||||
/** Minor version number of this interface */
|
||||
#define FUSE_KERNEL_MINOR_VERSION 33
|
||||
#define FUSE_KERNEL_MINOR_VERSION 34
|
||||
|
||||
/** The node ID of the root inode */
|
||||
#define FUSE_ROOT_ID 1
|
||||
@@ -509,6 +512,7 @@ enum fuse_opcode {
|
||||
FUSE_COPY_FILE_RANGE = 47,
|
||||
FUSE_SETUPMAPPING = 48,
|
||||
FUSE_REMOVEMAPPING = 49,
|
||||
FUSE_SYNCFS = 50,
|
||||
|
||||
/* CUSE specific operations */
|
||||
CUSE_INIT = 4096,
|
||||
@@ -971,4 +975,8 @@ struct fuse_removemapping_one {
|
||||
#define FUSE_REMOVEMAPPING_MAX_ENTRY \
|
||||
(PAGE_SIZE / sizeof(struct fuse_removemapping_one))
|
||||
|
||||
struct fuse_syncfs_in {
|
||||
uint64_t padding;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_FUSE_H */
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#define FUTEX_WAKE_BITSET 10
|
||||
#define FUTEX_WAIT_REQUEUE_PI 11
|
||||
#define FUTEX_CMP_REQUEUE_PI 12
|
||||
#define FUTEX_LOCK_PI2 13
|
||||
|
||||
#define FUTEX_PRIVATE_FLAG 128
|
||||
#define FUTEX_CLOCK_REALTIME 256
|
||||
@@ -32,6 +33,7 @@
|
||||
#define FUTEX_CMP_REQUEUE_PRIVATE (FUTEX_CMP_REQUEUE | FUTEX_PRIVATE_FLAG)
|
||||
#define FUTEX_WAKE_OP_PRIVATE (FUTEX_WAKE_OP | FUTEX_PRIVATE_FLAG)
|
||||
#define FUTEX_LOCK_PI_PRIVATE (FUTEX_LOCK_PI | FUTEX_PRIVATE_FLAG)
|
||||
#define FUTEX_LOCK_PI2_PRIVATE (FUTEX_LOCK_PI2 | FUTEX_PRIVATE_FLAG)
|
||||
#define FUTEX_UNLOCK_PI_PRIVATE (FUTEX_UNLOCK_PI | FUTEX_PRIVATE_FLAG)
|
||||
#define FUTEX_TRYLOCK_PI_PRIVATE (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG)
|
||||
#define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG)
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h>
|
||||
#include <linux/in.h>
|
||||
#include <linux/if.h>
|
||||
#include <linux/in6.h>
|
||||
|
||||
@@ -154,7 +153,7 @@ struct icmp_ext_echo_iio {
|
||||
struct {
|
||||
struct icmp_ext_echo_ctype3_hdr ctype3_hdr;
|
||||
union {
|
||||
struct in_addr ipv4_addr;
|
||||
__be32 ipv4_addr;
|
||||
struct in6_addr ipv6_addr;
|
||||
} ip_addr;
|
||||
} addr;
|
||||
|
||||
@@ -627,6 +627,8 @@ enum {
|
||||
MDBA_ROUTER_PATTR_UNSPEC,
|
||||
MDBA_ROUTER_PATTR_TIMER,
|
||||
MDBA_ROUTER_PATTR_TYPE,
|
||||
MDBA_ROUTER_PATTR_INET_TIMER,
|
||||
MDBA_ROUTER_PATTR_INET6_TIMER,
|
||||
__MDBA_ROUTER_PATTR_MAX
|
||||
};
|
||||
#define MDBA_ROUTER_PATTR_MAX (__MDBA_ROUTER_PATTR_MAX - 1)
|
||||
|
||||
@@ -341,6 +341,13 @@ enum {
|
||||
IFLA_ALT_IFNAME, /* Alternative ifname */
|
||||
IFLA_PERM_ADDRESS,
|
||||
IFLA_PROTO_DOWN_REASON,
|
||||
|
||||
/* device (sysfs) name as parent, used instead
|
||||
* of IFLA_LINK where there's no parent netdev
|
||||
*/
|
||||
IFLA_PARENT_DEV_NAME,
|
||||
IFLA_PARENT_DEV_BUS_NAME,
|
||||
|
||||
__IFLA_MAX
|
||||
};
|
||||
|
||||
@@ -1236,6 +1243,8 @@ enum {
|
||||
#define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1)
|
||||
#define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2)
|
||||
#define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3)
|
||||
#define RMNET_FLAGS_INGRESS_MAP_CKSUMV5 (1U << 4)
|
||||
#define RMNET_FLAGS_EGRESS_MAP_CKSUMV5 (1U << 5)
|
||||
|
||||
enum {
|
||||
IFLA_RMNET_UNSPEC,
|
||||
|
||||
@@ -289,6 +289,9 @@ struct sockaddr_in {
|
||||
/* Address indicating an error return. */
|
||||
#define INADDR_NONE ((unsigned long int) 0xffffffff)
|
||||
|
||||
/* Dummy address for src of ICMP replies if no real address is set (RFC7600). */
|
||||
#define INADDR_DUMMY ((unsigned long int) 0xc0000008)
|
||||
|
||||
/* Network number for local host loopback. */
|
||||
#define IN_LOOPBACKNET 127
|
||||
|
||||
|
||||
@@ -611,6 +611,7 @@
|
||||
#define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */
|
||||
#define KEY_ASSISTANT 0x247 /* AL Context-aware desktop assistant */
|
||||
#define KEY_KBD_LAYOUT_NEXT 0x248 /* AC Next Keyboard Layout Select */
|
||||
#define KEY_EMOJI_PICKER 0x249 /* Show/hide emoji picker (HUTRR101) */
|
||||
|
||||
#define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */
|
||||
#define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */
|
||||
|
||||
@@ -46,21 +46,17 @@ struct io_uring_sqe {
|
||||
__u32 unlink_flags;
|
||||
};
|
||||
__u64 user_data; /* data to be passed back at completion time */
|
||||
/* pack this to avoid bogus arm OABI complaints */
|
||||
union {
|
||||
struct {
|
||||
/* pack this to avoid bogus arm OABI complaints */
|
||||
union {
|
||||
/* index into fixed buffers, if used */
|
||||
__u16 buf_index;
|
||||
/* for grouped buffer selection */
|
||||
__u16 buf_group;
|
||||
} __attribute__((packed));
|
||||
/* personality to use, if used */
|
||||
__u16 personality;
|
||||
__s32 splice_fd_in;
|
||||
};
|
||||
__u64 __pad2[3];
|
||||
};
|
||||
/* index into fixed buffers, if used */
|
||||
__u16 buf_index;
|
||||
/* for grouped buffer selection */
|
||||
__u16 buf_group;
|
||||
} __attribute__((packed));
|
||||
/* personality to use, if used */
|
||||
__u16 personality;
|
||||
__s32 splice_fd_in;
|
||||
__u64 __pad2[2];
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -280,6 +276,7 @@ struct io_uring_params {
|
||||
#define IORING_FEAT_SQPOLL_NONFIXED (1U << 7)
|
||||
#define IORING_FEAT_EXT_ARG (1U << 8)
|
||||
#define IORING_FEAT_NATIVE_WORKERS (1U << 9)
|
||||
#define IORING_FEAT_RSRC_TAGS (1U << 10)
|
||||
|
||||
/*
|
||||
* io_uring_register(2) opcodes and arguments
|
||||
@@ -298,8 +295,16 @@ enum {
|
||||
IORING_UNREGISTER_PERSONALITY = 10,
|
||||
IORING_REGISTER_RESTRICTIONS = 11,
|
||||
IORING_REGISTER_ENABLE_RINGS = 12,
|
||||
IORING_REGISTER_RSRC = 13,
|
||||
IORING_REGISTER_RSRC_UPDATE = 14,
|
||||
|
||||
/* extended with tagging */
|
||||
IORING_REGISTER_FILES2 = 13,
|
||||
IORING_REGISTER_FILES_UPDATE2 = 14,
|
||||
IORING_REGISTER_BUFFERS2 = 15,
|
||||
IORING_REGISTER_BUFFERS_UPDATE = 16,
|
||||
|
||||
/* set/clear io-wq thread affinities */
|
||||
IORING_REGISTER_IOWQ_AFF = 17,
|
||||
IORING_UNREGISTER_IOWQ_AFF = 18,
|
||||
|
||||
/* this goes last */
|
||||
IORING_REGISTER_LAST
|
||||
@@ -312,14 +317,10 @@ struct io_uring_files_update {
|
||||
__aligned_u64 /* __s32 * */ fds;
|
||||
};
|
||||
|
||||
enum {
|
||||
IORING_RSRC_FILE = 0,
|
||||
IORING_RSRC_BUFFER = 1,
|
||||
};
|
||||
|
||||
struct io_uring_rsrc_register {
|
||||
__u32 type;
|
||||
__u32 nr;
|
||||
__u32 resv;
|
||||
__u64 resv2;
|
||||
__aligned_u64 data;
|
||||
__aligned_u64 tags;
|
||||
};
|
||||
@@ -335,8 +336,8 @@ struct io_uring_rsrc_update2 {
|
||||
__u32 resv;
|
||||
__aligned_u64 data;
|
||||
__aligned_u64 tags;
|
||||
__u32 type;
|
||||
__u32 nr;
|
||||
__u32 resv2;
|
||||
};
|
||||
|
||||
/* Skip updating fd indexes set to this value in the fd table */
|
||||
|
||||
+108
-2
@@ -8,6 +8,7 @@
|
||||
* Note: you must update KVM_API_VERSION if you change this interface.
|
||||
*/
|
||||
|
||||
#include <linux/const.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/ioctl.h>
|
||||
@@ -279,6 +280,9 @@ struct kvm_xen_exit {
|
||||
/* Encounter unexpected vm-exit reason */
|
||||
#define KVM_INTERNAL_ERROR_UNEXPECTED_EXIT_REASON 4
|
||||
|
||||
/* Flags that describe what fields in emulation_failure hold valid data. */
|
||||
#define KVM_INTERNAL_ERROR_EMULATION_FLAG_INSTRUCTION_BYTES (1ULL << 0)
|
||||
|
||||
/* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */
|
||||
struct kvm_run {
|
||||
/* in */
|
||||
@@ -382,6 +386,25 @@ struct kvm_run {
|
||||
__u32 ndata;
|
||||
__u64 data[16];
|
||||
} internal;
|
||||
/*
|
||||
* KVM_INTERNAL_ERROR_EMULATION
|
||||
*
|
||||
* "struct emulation_failure" is an overlay of "struct internal"
|
||||
* that is used for the KVM_INTERNAL_ERROR_EMULATION sub-type of
|
||||
* KVM_EXIT_INTERNAL_ERROR. Note, unlike other internal error
|
||||
* sub-types, this struct is ABI! It also needs to be backwards
|
||||
* compatible with "struct internal". Take special care that
|
||||
* "ndata" is correct, that new fields are enumerated in "flags",
|
||||
* and that each flag enumerates fields that are 64-bit aligned
|
||||
* and sized (so that ndata+internal.data[] is valid/accurate).
|
||||
*/
|
||||
struct {
|
||||
__u32 suberror;
|
||||
__u32 ndata;
|
||||
__u64 flags;
|
||||
__u8 insn_size;
|
||||
__u8 insn_bytes[15];
|
||||
} emulation_failure;
|
||||
/* KVM_EXIT_OSI */
|
||||
struct {
|
||||
__u64 gprs[32];
|
||||
@@ -1082,6 +1105,13 @@ struct kvm_ppc_resize_hpt {
|
||||
#define KVM_CAP_SGX_ATTRIBUTE 196
|
||||
#define KVM_CAP_VM_COPY_ENC_CONTEXT_FROM 197
|
||||
#define KVM_CAP_PTP_KVM 198
|
||||
#define KVM_CAP_HYPERV_ENFORCE_CPUID 199
|
||||
#define KVM_CAP_SREGS2 200
|
||||
#define KVM_CAP_EXIT_HYPERCALL 201
|
||||
#define KVM_CAP_PPC_RPT_INVALIDATE 202
|
||||
#define KVM_CAP_BINARY_STATS_FD 203
|
||||
#define KVM_CAP_EXIT_ON_EMULATION_FAILURE 204
|
||||
#define KVM_CAP_ARM_MTE 205
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
@@ -1427,6 +1457,7 @@ struct kvm_s390_ucas_mapping {
|
||||
/* Available with KVM_CAP_PMU_EVENT_FILTER */
|
||||
#define KVM_SET_PMU_EVENT_FILTER _IOW(KVMIO, 0xb2, struct kvm_pmu_event_filter)
|
||||
#define KVM_PPC_SVM_OFF _IO(KVMIO, 0xb3)
|
||||
#define KVM_ARM_MTE_COPY_TAGS _IOR(KVMIO, 0xb4, struct kvm_arm_copy_mte_tags)
|
||||
|
||||
/* ioctl for vm fd */
|
||||
#define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device)
|
||||
@@ -1620,6 +1651,9 @@ struct kvm_xen_hvm_attr {
|
||||
#define KVM_XEN_VCPU_GET_ATTR _IOWR(KVMIO, 0xca, struct kvm_xen_vcpu_attr)
|
||||
#define KVM_XEN_VCPU_SET_ATTR _IOW(KVMIO, 0xcb, struct kvm_xen_vcpu_attr)
|
||||
|
||||
#define KVM_GET_SREGS2 _IOR(KVMIO, 0xcc, struct kvm_sregs2)
|
||||
#define KVM_SET_SREGS2 _IOW(KVMIO, 0xcd, struct kvm_sregs2)
|
||||
|
||||
struct kvm_xen_vcpu_attr {
|
||||
__u16 type;
|
||||
__u16 pad[3];
|
||||
@@ -1879,8 +1913,8 @@ struct kvm_hyperv_eventfd {
|
||||
* conversion after harvesting an entry. Also, it must not skip any
|
||||
* dirty bits, so that dirty bits are always harvested in sequence.
|
||||
*/
|
||||
#define KVM_DIRTY_GFN_F_DIRTY BIT(0)
|
||||
#define KVM_DIRTY_GFN_F_RESET BIT(1)
|
||||
#define KVM_DIRTY_GFN_F_DIRTY _BITUL(0)
|
||||
#define KVM_DIRTY_GFN_F_RESET _BITUL(1)
|
||||
#define KVM_DIRTY_GFN_F_MASK 0x3
|
||||
|
||||
/*
|
||||
@@ -1898,4 +1932,76 @@ struct kvm_dirty_gfn {
|
||||
#define KVM_BUS_LOCK_DETECTION_OFF (1 << 0)
|
||||
#define KVM_BUS_LOCK_DETECTION_EXIT (1 << 1)
|
||||
|
||||
/**
|
||||
* struct kvm_stats_header - Header of per vm/vcpu binary statistics data.
|
||||
* @flags: Some extra information for header, always 0 for now.
|
||||
* @name_size: The size in bytes of the memory which contains statistics
|
||||
* name string including trailing '\0'. The memory is allocated
|
||||
* at the send of statistics descriptor.
|
||||
* @num_desc: The number of statistics the vm or vcpu has.
|
||||
* @id_offset: The offset of the vm/vcpu stats' id string in the file pointed
|
||||
* by vm/vcpu stats fd.
|
||||
* @desc_offset: The offset of the vm/vcpu stats' descriptor block in the file
|
||||
* pointd by vm/vcpu stats fd.
|
||||
* @data_offset: The offset of the vm/vcpu stats' data block in the file
|
||||
* pointed by vm/vcpu stats fd.
|
||||
*
|
||||
* This is the header userspace needs to read from stats fd before any other
|
||||
* readings. It is used by userspace to discover all the information about the
|
||||
* vm/vcpu's binary statistics.
|
||||
* Userspace reads this header from the start of the vm/vcpu's stats fd.
|
||||
*/
|
||||
struct kvm_stats_header {
|
||||
__u32 flags;
|
||||
__u32 name_size;
|
||||
__u32 num_desc;
|
||||
__u32 id_offset;
|
||||
__u32 desc_offset;
|
||||
__u32 data_offset;
|
||||
};
|
||||
|
||||
#define KVM_STATS_TYPE_SHIFT 0
|
||||
#define KVM_STATS_TYPE_MASK (0xF << KVM_STATS_TYPE_SHIFT)
|
||||
#define KVM_STATS_TYPE_CUMULATIVE (0x0 << KVM_STATS_TYPE_SHIFT)
|
||||
#define KVM_STATS_TYPE_INSTANT (0x1 << KVM_STATS_TYPE_SHIFT)
|
||||
#define KVM_STATS_TYPE_PEAK (0x2 << KVM_STATS_TYPE_SHIFT)
|
||||
#define KVM_STATS_TYPE_MAX KVM_STATS_TYPE_PEAK
|
||||
|
||||
#define KVM_STATS_UNIT_SHIFT 4
|
||||
#define KVM_STATS_UNIT_MASK (0xF << KVM_STATS_UNIT_SHIFT)
|
||||
#define KVM_STATS_UNIT_NONE (0x0 << KVM_STATS_UNIT_SHIFT)
|
||||
#define KVM_STATS_UNIT_BYTES (0x1 << KVM_STATS_UNIT_SHIFT)
|
||||
#define KVM_STATS_UNIT_SECONDS (0x2 << KVM_STATS_UNIT_SHIFT)
|
||||
#define KVM_STATS_UNIT_CYCLES (0x3 << KVM_STATS_UNIT_SHIFT)
|
||||
#define KVM_STATS_UNIT_MAX KVM_STATS_UNIT_CYCLES
|
||||
|
||||
#define KVM_STATS_BASE_SHIFT 8
|
||||
#define KVM_STATS_BASE_MASK (0xF << KVM_STATS_BASE_SHIFT)
|
||||
#define KVM_STATS_BASE_POW10 (0x0 << KVM_STATS_BASE_SHIFT)
|
||||
#define KVM_STATS_BASE_POW2 (0x1 << KVM_STATS_BASE_SHIFT)
|
||||
#define KVM_STATS_BASE_MAX KVM_STATS_BASE_POW2
|
||||
|
||||
/**
|
||||
* struct kvm_stats_desc - Descriptor of a KVM statistics.
|
||||
* @flags: Annotations of the stats, like type, unit, etc.
|
||||
* @exponent: Used together with @flags to determine the unit.
|
||||
* @size: The number of data items for this stats.
|
||||
* Every data item is of type __u64.
|
||||
* @offset: The offset of the stats to the start of stat structure in
|
||||
* struture kvm or kvm_vcpu.
|
||||
* @unused: Unused field for future usage. Always 0 for now.
|
||||
* @name: The name string for the stats. Its size is indicated by the
|
||||
* &kvm_stats_header->name_size.
|
||||
*/
|
||||
struct kvm_stats_desc {
|
||||
__u32 flags;
|
||||
__s16 exponent;
|
||||
__u16 size;
|
||||
__u32 offset;
|
||||
__u32 unused;
|
||||
char name[];
|
||||
};
|
||||
|
||||
#define KVM_GET_STATS_FD _IO(KVMIO, 0xce)
|
||||
|
||||
#endif /* __LINUX_KVM_H */
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#define KVM_HC_CLOCK_PAIRING 9
|
||||
#define KVM_HC_SEND_IPI 10
|
||||
#define KVM_HC_SCHED_YIELD 11
|
||||
#define KVM_HC_MAP_GPA_RANGE 12
|
||||
|
||||
/*
|
||||
* hypercalls use architecture specific
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* lirc.h - linux infrared remote control header file
|
||||
* last modified 2010/07/13 by Jarod Wilson
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_LIRC_H
|
||||
|
||||
@@ -97,5 +97,6 @@
|
||||
#define DEVMEM_MAGIC 0x454d444d /* "DMEM" */
|
||||
#define Z3FOLD_MAGIC 0x33
|
||||
#define PPC_CMM_MAGIC 0xc7571590
|
||||
#define SECRETMEM_MAGIC 0x5345434d /* "SECM" */
|
||||
|
||||
#endif /* __LINUX_MAGIC_H__ */
|
||||
|
||||
@@ -60,7 +60,6 @@ enum {
|
||||
* are never OR'ed into the mode in mempolicy API arguments.
|
||||
*/
|
||||
#define MPOL_F_SHARED (1 << 0) /* identify shared policies */
|
||||
#define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */
|
||||
#define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */
|
||||
#define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */
|
||||
|
||||
|
||||
@@ -120,6 +120,7 @@ enum fsconfig_command {
|
||||
#define MOUNT_ATTR_STRICTATIME 0x00000020 /* - Always perform atime updates */
|
||||
#define MOUNT_ATTR_NODIRATIME 0x00000080 /* Do not update directory access times */
|
||||
#define MOUNT_ATTR_IDMAP 0x00100000 /* Idmap mount to @userns_fd in struct mount_attr. */
|
||||
#define MOUNT_ATTR_NOSYMFOLLOW 0x00200000 /* Do not follow symlinks */
|
||||
|
||||
/*
|
||||
* mount_setattr()
|
||||
|
||||
@@ -105,6 +105,7 @@ struct mptcp_info {
|
||||
__u64 mptcpi_rcv_nxt;
|
||||
__u8 mptcpi_local_addr_used;
|
||||
__u8 mptcpi_local_addr_max;
|
||||
__u8 mptcpi_csum_enabled;
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */
|
||||
/* r3964 linediscipline for linux
|
||||
*
|
||||
* -----------------------------------------------------------
|
||||
* Copyright by
|
||||
* Philips Automation Projects
|
||||
* Kassel (Germany)
|
||||
* -----------------------------------------------------------
|
||||
* This software may be used and distributed according to the terms of
|
||||
* the GNU General Public License, incorporated herein by reference.
|
||||
*
|
||||
* Author:
|
||||
* L. Haag
|
||||
*
|
||||
* $Log: r3964.h,v $
|
||||
* Revision 1.4 2005/12/21 19:54:24 Kurt Huwig <kurt huwig de>
|
||||
* Fixed HZ usage on 2.6 kernels
|
||||
* Removed unnecessary include
|
||||
*
|
||||
* Revision 1.3 2001/03/18 13:02:24 dwmw2
|
||||
* Fix timer usage, use spinlocks properly.
|
||||
*
|
||||
* Revision 1.2 2001/03/18 12:53:15 dwmw2
|
||||
* Merge changes in 2.4.2
|
||||
*
|
||||
* Revision 1.1.1.1 1998/10/13 16:43:14 dwmw2
|
||||
* This'll screw the version control
|
||||
*
|
||||
* Revision 1.6 1998/09/30 00:40:38 dwmw2
|
||||
* Updated to use kernel's N_R3964 if available
|
||||
*
|
||||
* Revision 1.4 1998/04/02 20:29:44 lhaag
|
||||
* select, blocking, ...
|
||||
*
|
||||
* Revision 1.3 1998/02/12 18:58:43 root
|
||||
* fixed some memory leaks
|
||||
* calculation of checksum characters
|
||||
*
|
||||
* Revision 1.2 1998/02/07 13:03:17 root
|
||||
* ioctl read_telegram
|
||||
*
|
||||
* Revision 1.1 1998/02/06 19:19:43 root
|
||||
* Initial revision
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _UAPI__LINUX_N_R3964_H__
|
||||
#define _UAPI__LINUX_N_R3964_H__
|
||||
|
||||
/* line disciplines for r3964 protocol */
|
||||
|
||||
|
||||
/*
|
||||
* Ioctl-commands
|
||||
*/
|
||||
|
||||
#define R3964_ENABLE_SIGNALS 0x5301
|
||||
#define R3964_SETPRIORITY 0x5302
|
||||
#define R3964_USE_BCC 0x5303
|
||||
#define R3964_READ_TELEGRAM 0x5304
|
||||
|
||||
/* Options for R3964_SETPRIORITY */
|
||||
#define R3964_MASTER 0
|
||||
#define R3964_SLAVE 1
|
||||
|
||||
/* Options for R3964_ENABLE_SIGNALS */
|
||||
#define R3964_SIG_ACK 0x0001
|
||||
#define R3964_SIG_DATA 0x0002
|
||||
#define R3964_SIG_ALL 0x000f
|
||||
#define R3964_SIG_NONE 0x0000
|
||||
#define R3964_USE_SIGIO 0x1000
|
||||
|
||||
/*
|
||||
* r3964 operation states:
|
||||
*/
|
||||
|
||||
/* types for msg_id: */
|
||||
enum {R3964_MSG_ACK=1, R3964_MSG_DATA };
|
||||
|
||||
#define R3964_MAX_MSG_COUNT 32
|
||||
|
||||
/* error codes for client messages */
|
||||
#define R3964_OK 0 /* no error. */
|
||||
#define R3964_TX_FAIL -1 /* transmission error, block NOT sent */
|
||||
#define R3964_OVERFLOW -2 /* msg queue overflow */
|
||||
|
||||
/* the client gets this struct when calling read(fd,...): */
|
||||
struct r3964_client_message {
|
||||
int msg_id;
|
||||
int arg;
|
||||
int error_code;
|
||||
};
|
||||
|
||||
#define R3964_MTU 256
|
||||
|
||||
|
||||
|
||||
#endif /* _UAPI__LINUX_N_R3964_H__ */
|
||||
@@ -35,6 +35,7 @@ enum {
|
||||
NBD_ATTR_SOCKETS,
|
||||
NBD_ATTR_DEAD_CONN_TIMEOUT,
|
||||
NBD_ATTR_DEVICE_LIST,
|
||||
NBD_ATTR_BACKEND_IDENTIFIER,
|
||||
__NBD_ATTR_MAX,
|
||||
};
|
||||
#define NBD_ATTR_MAX (__NBD_ATTR_MAX - 1)
|
||||
|
||||
@@ -813,11 +813,13 @@ enum nft_exthdr_flags {
|
||||
* @NFT_EXTHDR_OP_IPV6: match against ipv6 extension headers
|
||||
* @NFT_EXTHDR_OP_TCP: match against tcp options
|
||||
* @NFT_EXTHDR_OP_IPV4: match against ipv4 options
|
||||
* @NFT_EXTHDR_OP_SCTP: match against sctp chunks
|
||||
*/
|
||||
enum nft_exthdr_op {
|
||||
NFT_EXTHDR_OP_IPV6,
|
||||
NFT_EXTHDR_OP_TCPOPT,
|
||||
NFT_EXTHDR_OP_IPV4,
|
||||
NFT_EXTHDR_OP_SCTP,
|
||||
__NFT_EXTHDR_OP_MAX
|
||||
};
|
||||
#define NFT_EXTHDR_OP_MAX (__NFT_EXTHDR_OP_MAX - 1)
|
||||
@@ -1193,6 +1195,21 @@ enum nft_counter_attributes {
|
||||
};
|
||||
#define NFTA_COUNTER_MAX (__NFTA_COUNTER_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_last_attributes - nf_tables last expression netlink attributes
|
||||
*
|
||||
* @NFTA_LAST_SET: last update has been set, zero means never updated (NLA_U32)
|
||||
* @NFTA_LAST_MSECS: milliseconds since last update (NLA_U64)
|
||||
*/
|
||||
enum nft_last_attributes {
|
||||
NFTA_LAST_UNSPEC,
|
||||
NFTA_LAST_SET,
|
||||
NFTA_LAST_MSECS,
|
||||
NFTA_LAST_PAD,
|
||||
__NFTA_LAST_MAX
|
||||
};
|
||||
#define NFTA_LAST_MAX (__NFTA_LAST_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_log_attributes - nf_tables log expression netlink attributes
|
||||
*
|
||||
|
||||
@@ -60,7 +60,8 @@ struct nfgenmsg {
|
||||
#define NFNL_SUBSYS_CTHELPER 9
|
||||
#define NFNL_SUBSYS_NFTABLES 10
|
||||
#define NFNL_SUBSYS_NFT_COMPAT 11
|
||||
#define NFNL_SUBSYS_COUNT 12
|
||||
#define NFNL_SUBSYS_HOOK 12
|
||||
#define NFNL_SUBSYS_COUNT 13
|
||||
|
||||
/* Reserved control nfnetlink messages */
|
||||
#define NFNL_MSG_BATCH_BEGIN NLMSG_MIN_TYPE
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef _NFNL_HOOK_H_
|
||||
#define _NFNL_HOOK_H_
|
||||
|
||||
enum nfnl_hook_msg_types {
|
||||
NFNL_MSG_HOOK_GET,
|
||||
NFNL_MSG_HOOK_MAX,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nfnl_hook_attributes - netfilter hook netlink attributes
|
||||
*
|
||||
* @NFNLA_HOOK_HOOKNUM: netfilter hook number (NLA_U32)
|
||||
* @NFNLA_HOOK_PRIORITY: netfilter hook priority (NLA_U32)
|
||||
* @NFNLA_HOOK_DEV: netdevice name (NLA_STRING)
|
||||
* @NFNLA_HOOK_FUNCTION_NAME: hook function name (NLA_STRING)
|
||||
* @NFNLA_HOOK_MODULE_NAME: kernel module that registered this hook (NLA_STRING)
|
||||
* @NFNLA_HOOK_CHAIN_INFO: basechain hook metadata (NLA_NESTED)
|
||||
*/
|
||||
enum nfnl_hook_attributes {
|
||||
NFNLA_HOOK_UNSPEC,
|
||||
NFNLA_HOOK_HOOKNUM,
|
||||
NFNLA_HOOK_PRIORITY,
|
||||
NFNLA_HOOK_DEV,
|
||||
NFNLA_HOOK_FUNCTION_NAME,
|
||||
NFNLA_HOOK_MODULE_NAME,
|
||||
NFNLA_HOOK_CHAIN_INFO,
|
||||
__NFNLA_HOOK_MAX
|
||||
};
|
||||
#define NFNLA_HOOK_MAX (__NFNLA_HOOK_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nfnl_hook_chain_info_attributes - chain description
|
||||
*
|
||||
* NFNLA_HOOK_INFO_DESC: nft chain and table name (enum nft_table_attributes) (NLA_NESTED)
|
||||
* NFNLA_HOOK_INFO_TYPE: chain type (enum nfnl_hook_chaintype) (NLA_U32)
|
||||
*/
|
||||
enum nfnl_hook_chain_info_attributes {
|
||||
NFNLA_HOOK_INFO_UNSPEC,
|
||||
NFNLA_HOOK_INFO_DESC,
|
||||
NFNLA_HOOK_INFO_TYPE,
|
||||
__NFNLA_HOOK_INFO_MAX,
|
||||
};
|
||||
#define NFNLA_HOOK_INFO_MAX (__NFNLA_HOOK_INFO_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nfnl_hook_chaintype - chain type
|
||||
*
|
||||
* @NFNL_HOOK_TYPE_NFTABLES nf_tables base chain
|
||||
*/
|
||||
enum nfnl_hook_chaintype {
|
||||
NFNL_HOOK_TYPE_NFTABLES = 0x1,
|
||||
};
|
||||
|
||||
#endif /* _NFNL_HOOK_H */
|
||||
@@ -91,9 +91,10 @@ struct nlmsghdr {
|
||||
#define NLMSG_HDRLEN ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr)))
|
||||
#define NLMSG_LENGTH(len) ((len) + NLMSG_HDRLEN)
|
||||
#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len))
|
||||
#define NLMSG_DATA(nlh) ((void*)(((char*)nlh) + NLMSG_LENGTH(0)))
|
||||
#define NLMSG_DATA(nlh) ((void *)(((char *)nlh) + NLMSG_HDRLEN))
|
||||
#define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \
|
||||
(struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)))
|
||||
(struct nlmsghdr *)(((char *)(nlh)) + \
|
||||
NLMSG_ALIGN((nlh)->nlmsg_len)))
|
||||
#define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && \
|
||||
(nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && \
|
||||
(nlh)->nlmsg_len <= (len))
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
|
||||
* Copyright 2008 Colin McCabe <colin@cozybit.com>
|
||||
* Copyright 2015-2017 Intel Deutschland GmbH
|
||||
* Copyright (C) 2018-2020 Intel Corporation
|
||||
* Copyright (C) 2018-2021 Intel Corporation
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -3654,6 +3654,8 @@ enum nl80211_mpath_info {
|
||||
* defined
|
||||
* @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities (__le16),
|
||||
* given for all 6 GHz band channels
|
||||
* @NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS: vendor element capabilities that are
|
||||
* advertised on this band/for this iftype (binary)
|
||||
* @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_band_iftype_attr {
|
||||
@@ -3665,6 +3667,7 @@ enum nl80211_band_iftype_attr {
|
||||
NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET,
|
||||
NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE,
|
||||
NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA,
|
||||
NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST,
|
||||
@@ -6912,6 +6915,9 @@ enum nl80211_peer_measurement_ftm_capa {
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK: negotiate for LMR feedback. Only
|
||||
* valid if either %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED or
|
||||
* %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set.
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR: optional. The BSS color of the
|
||||
* responder. Only valid if %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED
|
||||
* or %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED is set.
|
||||
*
|
||||
* @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number
|
||||
@@ -6931,6 +6937,7 @@ enum nl80211_peer_measurement_ftm_req {
|
||||
NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_PMSR_FTM_REQ_ATTR,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/**
|
||||
/*
|
||||
* pcitest.h - PCI test uapi defines
|
||||
*
|
||||
* Copyright (C) 2017 Texas Instruments
|
||||
|
||||
@@ -259,4 +259,12 @@ struct prctl_mm_map {
|
||||
#define PR_PAC_SET_ENABLED_KEYS 60
|
||||
#define PR_PAC_GET_ENABLED_KEYS 61
|
||||
|
||||
/* Request the scheduler to share a core */
|
||||
#define PR_SCHED_CORE 62
|
||||
# define PR_SCHED_CORE_GET 0
|
||||
# define PR_SCHED_CORE_CREATE 1 /* create unique core_sched cookie */
|
||||
# define PR_SCHED_CORE_SHARE_TO 2 /* push core_sched cookie to pid */
|
||||
# define PR_SCHED_CORE_SHARE_FROM 3 /* pull core_sched cookie to pid */
|
||||
# define PR_SCHED_CORE_MAX 4
|
||||
|
||||
#endif /* _LINUX_PRCTL_H */
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef __LINUX_RAW_H
|
||||
#define __LINUX_RAW_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define RAW_SETBIND _IO( 0xac, 0 )
|
||||
#define RAW_GETBIND _IO( 0xac, 1 )
|
||||
|
||||
struct raw_config_request
|
||||
{
|
||||
int raw_minor;
|
||||
__u64 block_major;
|
||||
__u64 block_minor;
|
||||
};
|
||||
|
||||
#endif /* __LINUX_RAW_H */
|
||||
@@ -141,6 +141,7 @@ typedef __s32 sctp_assoc_t;
|
||||
#define SCTP_EXPOSE_POTENTIALLY_FAILED_STATE 131
|
||||
#define SCTP_EXPOSE_PF_STATE SCTP_EXPOSE_POTENTIALLY_FAILED_STATE
|
||||
#define SCTP_REMOTE_UDP_ENCAPS_PORT 132
|
||||
#define SCTP_PLPMTUD_PROBE_INTERVAL 133
|
||||
|
||||
/* PR-SCTP policies */
|
||||
#define SCTP_PR_SCTP_NONE 0x0000
|
||||
@@ -1213,4 +1214,11 @@ enum sctp_sched_type {
|
||||
SCTP_SS_MAX = SCTP_SS_RR
|
||||
};
|
||||
|
||||
/* Probe Interval socket option */
|
||||
struct sctp_probeinterval {
|
||||
sctp_assoc_t spi_assoc_id;
|
||||
struct sockaddr_storage spi_address;
|
||||
__u32 spi_interval;
|
||||
};
|
||||
|
||||
#endif /* _UAPI_SCTP_H */
|
||||
|
||||
@@ -115,6 +115,7 @@ struct seccomp_notif_resp {
|
||||
|
||||
/* valid flags for seccomp_notif_addfd */
|
||||
#define SECCOMP_ADDFD_FLAG_SETFD (1UL << 0) /* Specify remote fd */
|
||||
#define SECCOMP_ADDFD_FLAG_SEND (1UL << 1) /* Addfd and return it, atomically */
|
||||
|
||||
/**
|
||||
* struct seccomp_notif_addfd
|
||||
|
||||
@@ -64,6 +64,8 @@ enum {
|
||||
SEG6_LOCAL_ACTION_END_AM = 14,
|
||||
/* custom BPF action */
|
||||
SEG6_LOCAL_ACTION_END_BPF = 15,
|
||||
/* decap and lookup of DA in v4 or v6 table */
|
||||
SEG6_LOCAL_ACTION_END_DT46 = 16,
|
||||
|
||||
__SEG6_LOCAL_ACTION_MAX,
|
||||
};
|
||||
|
||||
@@ -47,6 +47,8 @@ enum {
|
||||
SMC_NETLINK_GET_LGR_SMCD,
|
||||
SMC_NETLINK_GET_DEV_SMCD,
|
||||
SMC_NETLINK_GET_DEV_SMCR,
|
||||
SMC_NETLINK_GET_STATS,
|
||||
SMC_NETLINK_GET_FBACK_STATS,
|
||||
};
|
||||
|
||||
/* SMC_GENL_FAMILY top level attributes */
|
||||
@@ -58,6 +60,8 @@ enum {
|
||||
SMC_GEN_LGR_SMCD, /* nest */
|
||||
SMC_GEN_DEV_SMCD, /* nest */
|
||||
SMC_GEN_DEV_SMCR, /* nest */
|
||||
SMC_GEN_STATS, /* nest */
|
||||
SMC_GEN_FBACK_STATS, /* nest */
|
||||
__SMC_GEN_MAX,
|
||||
SMC_GEN_MAX = __SMC_GEN_MAX - 1
|
||||
};
|
||||
@@ -159,4 +163,83 @@ enum {
|
||||
SMC_NLA_DEV_MAX = __SMC_NLA_DEV_MAX - 1
|
||||
};
|
||||
|
||||
/* SMC_NLA_STATS_T_TX(RX)_RMB_SIZE nested attributes */
|
||||
/* SMC_NLA_STATS_TX(RX)PLOAD_SIZE nested attributes */
|
||||
enum {
|
||||
SMC_NLA_STATS_PLOAD_PAD,
|
||||
SMC_NLA_STATS_PLOAD_8K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_16K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_32K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_64K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_128K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_256K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_512K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_1024K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_G_1024K, /* u64 */
|
||||
__SMC_NLA_STATS_PLOAD_MAX,
|
||||
SMC_NLA_STATS_PLOAD_MAX = __SMC_NLA_STATS_PLOAD_MAX - 1
|
||||
};
|
||||
|
||||
/* SMC_NLA_STATS_T_TX(RX)_RMB_STATS nested attributes */
|
||||
enum {
|
||||
SMC_NLA_STATS_RMB_PAD,
|
||||
SMC_NLA_STATS_RMB_SIZE_SM_PEER_CNT, /* u64 */
|
||||
SMC_NLA_STATS_RMB_SIZE_SM_CNT, /* u64 */
|
||||
SMC_NLA_STATS_RMB_FULL_PEER_CNT, /* u64 */
|
||||
SMC_NLA_STATS_RMB_FULL_CNT, /* u64 */
|
||||
SMC_NLA_STATS_RMB_REUSE_CNT, /* u64 */
|
||||
SMC_NLA_STATS_RMB_ALLOC_CNT, /* u64 */
|
||||
SMC_NLA_STATS_RMB_DGRADE_CNT, /* u64 */
|
||||
__SMC_NLA_STATS_RMB_MAX,
|
||||
SMC_NLA_STATS_RMB_MAX = __SMC_NLA_STATS_RMB_MAX - 1
|
||||
};
|
||||
|
||||
/* SMC_NLA_STATS_SMCD_TECH and _SMCR_TECH nested attributes */
|
||||
enum {
|
||||
SMC_NLA_STATS_T_PAD,
|
||||
SMC_NLA_STATS_T_TX_RMB_SIZE, /* nest */
|
||||
SMC_NLA_STATS_T_RX_RMB_SIZE, /* nest */
|
||||
SMC_NLA_STATS_T_TXPLOAD_SIZE, /* nest */
|
||||
SMC_NLA_STATS_T_RXPLOAD_SIZE, /* nest */
|
||||
SMC_NLA_STATS_T_TX_RMB_STATS, /* nest */
|
||||
SMC_NLA_STATS_T_RX_RMB_STATS, /* nest */
|
||||
SMC_NLA_STATS_T_CLNT_V1_SUCC, /* u64 */
|
||||
SMC_NLA_STATS_T_CLNT_V2_SUCC, /* u64 */
|
||||
SMC_NLA_STATS_T_SRV_V1_SUCC, /* u64 */
|
||||
SMC_NLA_STATS_T_SRV_V2_SUCC, /* u64 */
|
||||
SMC_NLA_STATS_T_SENDPAGE_CNT, /* u64 */
|
||||
SMC_NLA_STATS_T_SPLICE_CNT, /* u64 */
|
||||
SMC_NLA_STATS_T_CORK_CNT, /* u64 */
|
||||
SMC_NLA_STATS_T_NDLY_CNT, /* u64 */
|
||||
SMC_NLA_STATS_T_URG_DATA_CNT, /* u64 */
|
||||
SMC_NLA_STATS_T_RX_BYTES, /* u64 */
|
||||
SMC_NLA_STATS_T_TX_BYTES, /* u64 */
|
||||
SMC_NLA_STATS_T_RX_CNT, /* u64 */
|
||||
SMC_NLA_STATS_T_TX_CNT, /* u64 */
|
||||
__SMC_NLA_STATS_T_MAX,
|
||||
SMC_NLA_STATS_T_MAX = __SMC_NLA_STATS_T_MAX - 1
|
||||
};
|
||||
|
||||
/* SMC_GEN_STATS attributes */
|
||||
enum {
|
||||
SMC_NLA_STATS_PAD,
|
||||
SMC_NLA_STATS_SMCD_TECH, /* nest */
|
||||
SMC_NLA_STATS_SMCR_TECH, /* nest */
|
||||
SMC_NLA_STATS_CLNT_HS_ERR_CNT, /* u64 */
|
||||
SMC_NLA_STATS_SRV_HS_ERR_CNT, /* u64 */
|
||||
__SMC_NLA_STATS_MAX,
|
||||
SMC_NLA_STATS_MAX = __SMC_NLA_STATS_MAX - 1
|
||||
};
|
||||
|
||||
/* SMC_GEN_FBACK_STATS attributes */
|
||||
enum {
|
||||
SMC_NLA_FBACK_STATS_PAD,
|
||||
SMC_NLA_FBACK_STATS_TYPE, /* u8 */
|
||||
SMC_NLA_FBACK_STATS_SRV_CNT, /* u64 */
|
||||
SMC_NLA_FBACK_STATS_CLNT_CNT, /* u64 */
|
||||
SMC_NLA_FBACK_STATS_RSN_CODE, /* u32 */
|
||||
SMC_NLA_FBACK_STATS_RSN_CNT, /* u16 */
|
||||
__SMC_NLA_FBACK_STATS_MAX,
|
||||
SMC_NLA_FBACK_STATS_MAX = __SMC_NLA_FBACK_STATS_MAX - 1
|
||||
};
|
||||
#endif /* _UAPI_LINUX_SMC_H */
|
||||
|
||||
@@ -290,6 +290,8 @@ enum
|
||||
LINUX_MIB_TCPDUPLICATEDATAREHASH, /* TCPDuplicateDataRehash */
|
||||
LINUX_MIB_TCPDSACKRECVSEGS, /* TCPDSACKRecvSegs */
|
||||
LINUX_MIB_TCPDSACKIGNOREDDUBIOUS, /* TCPDSACKIgnoredDubious */
|
||||
LINUX_MIB_TCPMIGRATEREQSUCCESS, /* TCPMigrateReqSuccess */
|
||||
LINUX_MIB_TCPMIGRATEREQFAILURE, /* TCPMigrateReqFailure */
|
||||
__LINUX_MIB_MAX
|
||||
};
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* device. This device provides direct user-space access to the SSAM EC.
|
||||
* Intended for debugging and development.
|
||||
*
|
||||
* Copyright (C) 2020 Maximilian Luz <luzmaximilian@gmail.com>
|
||||
* Copyright (C) 2020-2021 Maximilian Luz <luzmaximilian@gmail.com>
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H
|
||||
@@ -73,6 +73,75 @@ struct ssam_cdev_request {
|
||||
} response;
|
||||
} __attribute__((__packed__));
|
||||
|
||||
#define SSAM_CDEV_REQUEST _IOWR(0xA5, 1, struct ssam_cdev_request)
|
||||
/**
|
||||
* struct ssam_cdev_notifier_desc - Notifier descriptor.
|
||||
* @priority: Priority value determining the order in which notifier
|
||||
* callbacks will be called. A higher value means higher
|
||||
* priority, i.e. the associated callback will be executed
|
||||
* earlier than other (lower priority) callbacks.
|
||||
* @target_category: The event target category for which this notifier should
|
||||
* receive events.
|
||||
*
|
||||
* Specifies the notifier that should be registered or unregistered,
|
||||
* specifically with which priority and for which target category of events.
|
||||
*/
|
||||
struct ssam_cdev_notifier_desc {
|
||||
__s32 priority;
|
||||
__u8 target_category;
|
||||
} __attribute__((__packed__));
|
||||
|
||||
/**
|
||||
* struct ssam_cdev_event_desc - Event descriptor.
|
||||
* @reg: Registry via which the event will be enabled/disabled.
|
||||
* @reg.target_category: Target category for the event registry requests.
|
||||
* @reg.target_id: Target ID for the event registry requests.
|
||||
* @reg.cid_enable: Command ID for the event-enable request.
|
||||
* @reg.cid_disable: Command ID for the event-disable request.
|
||||
* @id: ID specifying the event.
|
||||
* @id.target_category: Target category of the event source.
|
||||
* @id.instance: Instance ID of the event source.
|
||||
* @flags: Flags used for enabling the event.
|
||||
*
|
||||
* Specifies which event should be enabled/disabled and how to do that.
|
||||
*/
|
||||
struct ssam_cdev_event_desc {
|
||||
struct {
|
||||
__u8 target_category;
|
||||
__u8 target_id;
|
||||
__u8 cid_enable;
|
||||
__u8 cid_disable;
|
||||
} reg;
|
||||
|
||||
struct {
|
||||
__u8 target_category;
|
||||
__u8 instance;
|
||||
} id;
|
||||
|
||||
__u8 flags;
|
||||
} __attribute__((__packed__));
|
||||
|
||||
/**
|
||||
* struct ssam_cdev_event - SSAM event sent by the EC.
|
||||
* @target_category: Target category of the event source. See &enum ssam_ssh_tc.
|
||||
* @target_id: Target ID of the event source.
|
||||
* @command_id: Command ID of the event.
|
||||
* @instance_id: Instance ID of the event source.
|
||||
* @length: Length of the event payload in bytes.
|
||||
* @data: Event payload data.
|
||||
*/
|
||||
struct ssam_cdev_event {
|
||||
__u8 target_category;
|
||||
__u8 target_id;
|
||||
__u8 command_id;
|
||||
__u8 instance_id;
|
||||
__u16 length;
|
||||
__u8 data[];
|
||||
} __attribute__((__packed__));
|
||||
|
||||
#define SSAM_CDEV_REQUEST _IOWR(0xA5, 1, struct ssam_cdev_request)
|
||||
#define SSAM_CDEV_NOTIF_REGISTER _IOW(0xA5, 2, struct ssam_cdev_notifier_desc)
|
||||
#define SSAM_CDEV_NOTIF_UNREGISTER _IOW(0xA5, 3, struct ssam_cdev_notifier_desc)
|
||||
#define SSAM_CDEV_EVENT_ENABLE _IOW(0xA5, 4, struct ssam_cdev_event_desc)
|
||||
#define SSAM_CDEV_EVENT_DISABLE _IOW(0xA5, 5, struct ssam_cdev_event_desc)
|
||||
|
||||
#endif /* _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H */
|
||||
|
||||
@@ -31,7 +31,8 @@
|
||||
UFFD_FEATURE_MISSING_SHMEM | \
|
||||
UFFD_FEATURE_SIGBUS | \
|
||||
UFFD_FEATURE_THREAD_ID | \
|
||||
UFFD_FEATURE_MINOR_HUGETLBFS)
|
||||
UFFD_FEATURE_MINOR_HUGETLBFS | \
|
||||
UFFD_FEATURE_MINOR_SHMEM)
|
||||
#define UFFD_API_IOCTLS \
|
||||
((__u64)1 << _UFFDIO_REGISTER | \
|
||||
(__u64)1 << _UFFDIO_UNREGISTER | \
|
||||
@@ -80,8 +81,8 @@
|
||||
struct uffdio_zeropage)
|
||||
#define UFFDIO_WRITEPROTECT _IOWR(UFFDIO, _UFFDIO_WRITEPROTECT, \
|
||||
struct uffdio_writeprotect)
|
||||
#define UFFDIO_CONTINUE _IOR(UFFDIO, _UFFDIO_CONTINUE, \
|
||||
struct uffdio_continue)
|
||||
#define UFFDIO_CONTINUE _IOWR(UFFDIO, _UFFDIO_CONTINUE, \
|
||||
struct uffdio_continue)
|
||||
|
||||
/* read() structure */
|
||||
struct uffd_msg {
|
||||
@@ -185,6 +186,9 @@ struct uffdio_api {
|
||||
* UFFD_FEATURE_MINOR_HUGETLBFS indicates that minor faults
|
||||
* can be intercepted (via REGISTER_MODE_MINOR) for
|
||||
* hugetlbfs-backed pages.
|
||||
*
|
||||
* UFFD_FEATURE_MINOR_SHMEM indicates the same support as
|
||||
* UFFD_FEATURE_MINOR_HUGETLBFS, but for shmem-backed pages instead.
|
||||
*/
|
||||
#define UFFD_FEATURE_PAGEFAULT_FLAG_WP (1<<0)
|
||||
#define UFFD_FEATURE_EVENT_FORK (1<<1)
|
||||
@@ -196,6 +200,7 @@ struct uffdio_api {
|
||||
#define UFFD_FEATURE_SIGBUS (1<<7)
|
||||
#define UFFD_FEATURE_THREAD_ID (1<<8)
|
||||
#define UFFD_FEATURE_MINOR_HUGETLBFS (1<<9)
|
||||
#define UFFD_FEATURE_MINOR_SHMEM (1<<10)
|
||||
__u64 features;
|
||||
|
||||
__u64 ioctls;
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
#ifndef __LINUX_V4L2_CONTROLS_H
|
||||
#define __LINUX_V4L2_CONTROLS_H
|
||||
|
||||
#include <linux/const.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Control classes */
|
||||
@@ -1602,30 +1603,30 @@ struct v4l2_ctrl_h264_decode_params {
|
||||
#define V4L2_FWHT_VERSION 3
|
||||
|
||||
/* Set if this is an interlaced format */
|
||||
#define V4L2_FWHT_FL_IS_INTERLACED BIT(0)
|
||||
#define V4L2_FWHT_FL_IS_INTERLACED _BITUL(0)
|
||||
/* Set if this is a bottom-first (NTSC) interlaced format */
|
||||
#define V4L2_FWHT_FL_IS_BOTTOM_FIRST BIT(1)
|
||||
#define V4L2_FWHT_FL_IS_BOTTOM_FIRST _BITUL(1)
|
||||
/* Set if each 'frame' contains just one field */
|
||||
#define V4L2_FWHT_FL_IS_ALTERNATE BIT(2)
|
||||
#define V4L2_FWHT_FL_IS_ALTERNATE _BITUL(2)
|
||||
/*
|
||||
* If V4L2_FWHT_FL_IS_ALTERNATE was set, then this is set if this
|
||||
* 'frame' is the bottom field, else it is the top field.
|
||||
*/
|
||||
#define V4L2_FWHT_FL_IS_BOTTOM_FIELD BIT(3)
|
||||
#define V4L2_FWHT_FL_IS_BOTTOM_FIELD _BITUL(3)
|
||||
/* Set if the Y' plane is uncompressed */
|
||||
#define V4L2_FWHT_FL_LUMA_IS_UNCOMPRESSED BIT(4)
|
||||
#define V4L2_FWHT_FL_LUMA_IS_UNCOMPRESSED _BITUL(4)
|
||||
/* Set if the Cb plane is uncompressed */
|
||||
#define V4L2_FWHT_FL_CB_IS_UNCOMPRESSED BIT(5)
|
||||
#define V4L2_FWHT_FL_CB_IS_UNCOMPRESSED _BITUL(5)
|
||||
/* Set if the Cr plane is uncompressed */
|
||||
#define V4L2_FWHT_FL_CR_IS_UNCOMPRESSED BIT(6)
|
||||
#define V4L2_FWHT_FL_CR_IS_UNCOMPRESSED _BITUL(6)
|
||||
/* Set if the chroma plane is full height, if cleared it is half height */
|
||||
#define V4L2_FWHT_FL_CHROMA_FULL_HEIGHT BIT(7)
|
||||
#define V4L2_FWHT_FL_CHROMA_FULL_HEIGHT _BITUL(7)
|
||||
/* Set if the chroma plane is full width, if cleared it is half width */
|
||||
#define V4L2_FWHT_FL_CHROMA_FULL_WIDTH BIT(8)
|
||||
#define V4L2_FWHT_FL_CHROMA_FULL_WIDTH _BITUL(8)
|
||||
/* Set if the alpha plane is uncompressed */
|
||||
#define V4L2_FWHT_FL_ALPHA_IS_UNCOMPRESSED BIT(9)
|
||||
#define V4L2_FWHT_FL_ALPHA_IS_UNCOMPRESSED _BITUL(9)
|
||||
/* Set if this is an I Frame */
|
||||
#define V4L2_FWHT_FL_I_FRAME BIT(10)
|
||||
#define V4L2_FWHT_FL_I_FRAME _BITUL(10)
|
||||
|
||||
/* A 4-values flag - the number of components - 1 */
|
||||
#define V4L2_FWHT_FL_COMPONENTS_NUM_MSK GENMASK(18, 16)
|
||||
@@ -1862,6 +1863,118 @@ struct v4l2_ctrl_vp8_frame {
|
||||
__u64 flags;
|
||||
};
|
||||
|
||||
/* Stateless MPEG-2 controls */
|
||||
|
||||
#define V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE 0x01
|
||||
|
||||
#define V4L2_CID_STATELESS_MPEG2_SEQUENCE (V4L2_CID_CODEC_STATELESS_BASE+220)
|
||||
/**
|
||||
* struct v4l2_ctrl_mpeg2_sequence - MPEG-2 sequence header
|
||||
*
|
||||
* All the members on this structure match the sequence header and sequence
|
||||
* extension syntaxes as specified by the MPEG-2 specification.
|
||||
*
|
||||
* Fields horizontal_size, vertical_size and vbv_buffer_size are a
|
||||
* combination of respective _value and extension syntax elements,
|
||||
* as described in section 6.3.3 "Sequence header".
|
||||
*
|
||||
* @horizontal_size: combination of elements horizontal_size_value and
|
||||
* horizontal_size_extension.
|
||||
* @vertical_size: combination of elements vertical_size_value and
|
||||
* vertical_size_extension.
|
||||
* @vbv_buffer_size: combination of elements vbv_buffer_size_value and
|
||||
* vbv_buffer_size_extension.
|
||||
* @profile_and_level_indication: see MPEG-2 specification.
|
||||
* @chroma_format: see MPEG-2 specification.
|
||||
* @flags: see V4L2_MPEG2_SEQ_FLAG_{}.
|
||||
*/
|
||||
struct v4l2_ctrl_mpeg2_sequence {
|
||||
__u16 horizontal_size;
|
||||
__u16 vertical_size;
|
||||
__u32 vbv_buffer_size;
|
||||
__u16 profile_and_level_indication;
|
||||
__u8 chroma_format;
|
||||
__u8 flags;
|
||||
};
|
||||
|
||||
#define V4L2_MPEG2_PIC_CODING_TYPE_I 1
|
||||
#define V4L2_MPEG2_PIC_CODING_TYPE_P 2
|
||||
#define V4L2_MPEG2_PIC_CODING_TYPE_B 3
|
||||
#define V4L2_MPEG2_PIC_CODING_TYPE_D 4
|
||||
|
||||
#define V4L2_MPEG2_PIC_TOP_FIELD 0x1
|
||||
#define V4L2_MPEG2_PIC_BOTTOM_FIELD 0x2
|
||||
#define V4L2_MPEG2_PIC_FRAME 0x3
|
||||
|
||||
#define V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST 0x0001
|
||||
#define V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT 0x0002
|
||||
#define V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV 0x0004
|
||||
#define V4L2_MPEG2_PIC_FLAG_Q_SCALE_TYPE 0x0008
|
||||
#define V4L2_MPEG2_PIC_FLAG_INTRA_VLC 0x0010
|
||||
#define V4L2_MPEG2_PIC_FLAG_ALT_SCAN 0x0020
|
||||
#define V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST 0x0040
|
||||
#define V4L2_MPEG2_PIC_FLAG_PROGRESSIVE 0x0080
|
||||
|
||||
#define V4L2_CID_STATELESS_MPEG2_PICTURE (V4L2_CID_CODEC_STATELESS_BASE+221)
|
||||
/**
|
||||
* struct v4l2_ctrl_mpeg2_picture - MPEG-2 picture header
|
||||
*
|
||||
* All the members on this structure match the picture header and picture
|
||||
* coding extension syntaxes as specified by the MPEG-2 specification.
|
||||
*
|
||||
* @backward_ref_ts: timestamp of the V4L2 capture buffer to use as
|
||||
* reference for backward prediction.
|
||||
* @forward_ref_ts: timestamp of the V4L2 capture buffer to use as
|
||||
* reference for forward prediction. These timestamp refers to the
|
||||
* timestamp field in struct v4l2_buffer. Use v4l2_timeval_to_ns()
|
||||
* to convert the struct timeval to a __u64.
|
||||
* @flags: see V4L2_MPEG2_PIC_FLAG_{}.
|
||||
* @f_code: see MPEG-2 specification.
|
||||
* @picture_coding_type: see MPEG-2 specification.
|
||||
* @picture_structure: see V4L2_MPEG2_PIC_{}_FIELD.
|
||||
* @intra_dc_precision: see MPEG-2 specification.
|
||||
* @reserved: padding field. Should be zeroed by applications.
|
||||
*/
|
||||
struct v4l2_ctrl_mpeg2_picture {
|
||||
__u64 backward_ref_ts;
|
||||
__u64 forward_ref_ts;
|
||||
__u32 flags;
|
||||
__u8 f_code[2][2];
|
||||
__u8 picture_coding_type;
|
||||
__u8 picture_structure;
|
||||
__u8 intra_dc_precision;
|
||||
__u8 reserved[5];
|
||||
};
|
||||
|
||||
#define V4L2_CID_STATELESS_MPEG2_QUANTISATION (V4L2_CID_CODEC_STATELESS_BASE+222)
|
||||
/**
|
||||
* struct v4l2_ctrl_mpeg2_quantisation - MPEG-2 quantisation
|
||||
*
|
||||
* Quantisation matrices as specified by section 6.3.7
|
||||
* "Quant matrix extension".
|
||||
*
|
||||
* @intra_quantiser_matrix: The quantisation matrix coefficients
|
||||
* for intra-coded frames, in zigzag scanning order. It is relevant
|
||||
* for both luma and chroma components, although it can be superseded
|
||||
* by the chroma-specific matrix for non-4:2:0 YUV formats.
|
||||
* @non_intra_quantiser_matrix: The quantisation matrix coefficients
|
||||
* for non-intra-coded frames, in zigzag scanning order. It is relevant
|
||||
* for both luma and chroma components, although it can be superseded
|
||||
* by the chroma-specific matrix for non-4:2:0 YUV formats.
|
||||
* @chroma_intra_quantiser_matrix: The quantisation matrix coefficients
|
||||
* for the chominance component of intra-coded frames, in zigzag scanning
|
||||
* order. Only relevant for 4:2:2 and 4:4:4 YUV formats.
|
||||
* @chroma_non_intra_quantiser_matrix: The quantisation matrix coefficients
|
||||
* for the chrominance component of non-intra-coded frames, in zigzag scanning
|
||||
* order. Only relevant for 4:2:2 and 4:4:4 YUV formats.
|
||||
*/
|
||||
struct v4l2_ctrl_mpeg2_quantisation {
|
||||
__u8 intra_quantiser_matrix[64];
|
||||
__u8 non_intra_quantiser_matrix[64];
|
||||
__u8 chroma_intra_quantiser_matrix[64];
|
||||
__u8 chroma_non_intra_quantiser_matrix[64];
|
||||
};
|
||||
|
||||
#define V4L2_CID_COLORIMETRY_CLASS_BASE (V4L2_CTRL_CLASS_COLORIMETRY | 0x900)
|
||||
#define V4L2_CID_COLORIMETRY_CLASS (V4L2_CTRL_CLASS_COLORIMETRY | 1)
|
||||
|
||||
|
||||
@@ -1747,6 +1747,9 @@ struct v4l2_ext_control {
|
||||
struct v4l2_ctrl_h264_decode_params __user *p_h264_decode_params;
|
||||
struct v4l2_ctrl_fwht_params __user *p_fwht_params;
|
||||
struct v4l2_ctrl_vp8_frame __user *p_vp8_frame;
|
||||
struct v4l2_ctrl_mpeg2_sequence __user *p_mpeg2_sequence;
|
||||
struct v4l2_ctrl_mpeg2_picture __user *p_mpeg2_picture;
|
||||
struct v4l2_ctrl_mpeg2_quantisation __user *p_mpeg2_quantisation;
|
||||
void __user *ptr;
|
||||
};
|
||||
} __attribute__ ((packed));
|
||||
@@ -1807,6 +1810,10 @@ enum v4l2_ctrl_type {
|
||||
V4L2_CTRL_TYPE_FWHT_PARAMS = 0x0220,
|
||||
|
||||
V4L2_CTRL_TYPE_VP8_FRAME = 0x0240,
|
||||
|
||||
V4L2_CTRL_TYPE_MPEG2_QUANTISATION = 0x0250,
|
||||
V4L2_CTRL_TYPE_MPEG2_SEQUENCE = 0x0251,
|
||||
V4L2_CTRL_TYPE_MPEG2_PICTURE = 0x0252,
|
||||
};
|
||||
|
||||
/* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */
|
||||
|
||||
@@ -54,7 +54,19 @@
|
||||
#define VIRTIO_ID_SOUND 25 /* virtio sound */
|
||||
#define VIRTIO_ID_FS 26 /* virtio filesystem */
|
||||
#define VIRTIO_ID_PMEM 27 /* virtio pmem */
|
||||
#define VIRTIO_ID_BT 28 /* virtio bluetooth */
|
||||
#define VIRTIO_ID_MAC80211_HWSIM 29 /* virtio mac80211-hwsim */
|
||||
#define VIRTIO_ID_BT 40 /* virtio bluetooth */
|
||||
|
||||
/*
|
||||
* Virtio Transitional IDs
|
||||
*/
|
||||
|
||||
#define VIRTIO_TRANS_ID_NET 1000 /* transitional virtio net */
|
||||
#define VIRTIO_TRANS_ID_BLOCK 1001 /* transitional virtio block */
|
||||
#define VIRTIO_TRANS_ID_BALLOON 1002 /* transitional virtio balloon */
|
||||
#define VIRTIO_TRANS_ID_CONSOLE 1003 /* transitional virtio console */
|
||||
#define VIRTIO_TRANS_ID_SCSI 1004 /* transitional virtio SCSI */
|
||||
#define VIRTIO_TRANS_ID_RNG 1005 /* transitional virtio rng */
|
||||
#define VIRTIO_TRANS_ID_9P 1009 /* transitional virtio 9p console */
|
||||
|
||||
#endif /* _LINUX_VIRTIO_IDS_H */
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
||||
/*
|
||||
* Copyright (C) 2021 Intel Corporation
|
||||
* Author: Johannes Berg <johannes@sipsolutions.net>
|
||||
*/
|
||||
#ifndef _UAPI_LINUX_VIRTIO_PCIDEV_H
|
||||
#define _UAPI_LINUX_VIRTIO_PCIDEV_H
|
||||
#include <linux/types.h>
|
||||
|
||||
/**
|
||||
* enum virtio_pcidev_ops - virtual PCI device operations
|
||||
* @VIRTIO_PCIDEV_OP_CFG_READ: read config space, size is 1, 2, 4 or 8;
|
||||
* the @data field should be filled in by the device (in little endian).
|
||||
* @VIRTIO_PCIDEV_OP_CFG_WRITE: write config space, size is 1, 2, 4 or 8;
|
||||
* the @data field contains the data to write (in little endian).
|
||||
* @VIRTIO_PCIDEV_OP_BAR_READ: read BAR mem/pio, size can be variable;
|
||||
* the @data field should be filled in by the device (in little endian).
|
||||
* @VIRTIO_PCIDEV_OP_BAR_WRITE: write BAR mem/pio, size can be variable;
|
||||
* the @data field contains the data to write (in little endian).
|
||||
* @VIRTIO_PCIDEV_OP_MMIO_MEMSET: memset MMIO, size is variable but
|
||||
* the @data field only has one byte (unlike @VIRTIO_PCIDEV_OP_MMIO_WRITE)
|
||||
* @VIRTIO_PCIDEV_OP_INT: legacy INTx# pin interrupt, the addr field is 1-4 for
|
||||
* the number
|
||||
* @VIRTIO_PCIDEV_OP_MSI: MSI(-X) interrupt, this message basically transports
|
||||
* the 16- or 32-bit write that would otherwise be done into memory,
|
||||
* analogous to the write messages (@VIRTIO_PCIDEV_OP_MMIO_WRITE) above
|
||||
* @VIRTIO_PCIDEV_OP_PME: Dummy message whose content is ignored (and should be
|
||||
* all zeroes) to signal the PME# pin.
|
||||
*/
|
||||
enum virtio_pcidev_ops {
|
||||
VIRTIO_PCIDEV_OP_RESERVED = 0,
|
||||
VIRTIO_PCIDEV_OP_CFG_READ,
|
||||
VIRTIO_PCIDEV_OP_CFG_WRITE,
|
||||
VIRTIO_PCIDEV_OP_MMIO_READ,
|
||||
VIRTIO_PCIDEV_OP_MMIO_WRITE,
|
||||
VIRTIO_PCIDEV_OP_MMIO_MEMSET,
|
||||
VIRTIO_PCIDEV_OP_INT,
|
||||
VIRTIO_PCIDEV_OP_MSI,
|
||||
VIRTIO_PCIDEV_OP_PME,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct virtio_pcidev_msg - virtio PCI device operation
|
||||
* @op: the operation to do
|
||||
* @bar: the bar (only with BAR read/write messages)
|
||||
* @reserved: reserved
|
||||
* @size: the size of the read/write (in bytes)
|
||||
* @addr: the address to read/write
|
||||
* @data: the data, normally @size long, but just one byte for
|
||||
* %VIRTIO_PCIDEV_OP_MMIO_MEMSET
|
||||
*
|
||||
* Note: the fields are all in native (CPU) endian, however, the
|
||||
* @data values will often be in little endian (see the ops above.)
|
||||
*/
|
||||
struct virtio_pcidev_msg {
|
||||
__u8 op;
|
||||
__u8 bar;
|
||||
__u16 reserved;
|
||||
__u32 size;
|
||||
__u64 addr;
|
||||
__u8 data[];
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_VIRTIO_PCIDEV_H */
|
||||
@@ -38,6 +38,9 @@
|
||||
#include <linux/virtio_ids.h>
|
||||
#include <linux/virtio_config.h>
|
||||
|
||||
/* The feature bitmap for virtio vsock */
|
||||
#define VIRTIO_VSOCK_F_SEQPACKET 1 /* SOCK_SEQPACKET supported */
|
||||
|
||||
struct virtio_vsock_config {
|
||||
__le64 guest_cid;
|
||||
} __attribute__((packed));
|
||||
@@ -65,6 +68,7 @@ struct virtio_vsock_hdr {
|
||||
|
||||
enum virtio_vsock_type {
|
||||
VIRTIO_VSOCK_TYPE_STREAM = 1,
|
||||
VIRTIO_VSOCK_TYPE_SEQPACKET = 2,
|
||||
};
|
||||
|
||||
enum virtio_vsock_op {
|
||||
@@ -91,4 +95,9 @@ enum virtio_vsock_shutdown {
|
||||
VIRTIO_VSOCK_SHUTDOWN_SEND = 2,
|
||||
};
|
||||
|
||||
/* VIRTIO_VSOCK_OP_RW flags values */
|
||||
enum virtio_vsock_rw {
|
||||
VIRTIO_VSOCK_SEQ_EOR = 1,
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_VIRTIO_VSOCK_H */
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
|
||||
/*
|
||||
* Copyright (C) 2021 Intel Corporation.
|
||||
*/
|
||||
#ifndef _UAPI_WWAN_H_
|
||||
#define _UAPI_WWAN_H_
|
||||
|
||||
enum {
|
||||
IFLA_WWAN_UNSPEC,
|
||||
IFLA_WWAN_LINK_ID, /* u32 */
|
||||
|
||||
__IFLA_WWAN_MAX
|
||||
};
|
||||
#define IFLA_WWAN_MAX (__IFLA_WWAN_MAX - 1)
|
||||
|
||||
#endif /* _UAPI_WWAN_H_ */
|
||||
@@ -313,6 +313,7 @@ enum hl_device_status {
|
||||
* HL_INFO_SYNC_MANAGER - Retrieve sync manager info per dcore
|
||||
* HL_INFO_TOTAL_ENERGY - Retrieve total energy consumption
|
||||
* HL_INFO_PLL_FREQUENCY - Retrieve PLL frequency
|
||||
* HL_INFO_OPEN_STATS - Retrieve info regarding recent device open calls
|
||||
*/
|
||||
#define HL_INFO_HW_IP_INFO 0
|
||||
#define HL_INFO_HW_EVENTS 1
|
||||
@@ -331,6 +332,7 @@ enum hl_device_status {
|
||||
#define HL_INFO_TOTAL_ENERGY 15
|
||||
#define HL_INFO_PLL_FREQUENCY 16
|
||||
#define HL_INFO_POWER 17
|
||||
#define HL_INFO_OPEN_STATS 18
|
||||
|
||||
#define HL_INFO_VERSION_MAX_LEN 128
|
||||
#define HL_INFO_CARD_NAME_MAX_LEN 16
|
||||
@@ -444,6 +446,16 @@ struct hl_pll_frequency_info {
|
||||
__u16 output[HL_PLL_NUM_OUTPUTS];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct hl_open_stats_info - device open statistics information
|
||||
* @open_counter: ever growing counter, increased on each successful dev open
|
||||
* @last_open_period_ms: duration (ms) device was open last time
|
||||
*/
|
||||
struct hl_open_stats_info {
|
||||
__u64 open_counter;
|
||||
__u64 last_open_period_ms;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct hl_power_info - power information
|
||||
* @power: power consumption
|
||||
@@ -664,6 +676,7 @@ struct hl_cs_chunk {
|
||||
#define HL_CS_FLAGS_STAGED_SUBMISSION_FIRST 0x80
|
||||
#define HL_CS_FLAGS_STAGED_SUBMISSION_LAST 0x100
|
||||
#define HL_CS_FLAGS_CUSTOM_TIMEOUT 0x200
|
||||
#define HL_CS_FLAGS_SKIP_RESET_ON_TIMEOUT 0x400
|
||||
|
||||
#define HL_CS_STATUS_SUCCESS 0
|
||||
|
||||
|
||||
@@ -49,7 +49,14 @@
|
||||
#define BNXT_RE_CHIP_ID0_CHIP_MET_SFT 0x18
|
||||
|
||||
enum {
|
||||
BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL
|
||||
BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL,
|
||||
BNXT_RE_UCNTX_CMASK_HAVE_MODE = 0x02ULL,
|
||||
};
|
||||
|
||||
enum bnxt_re_wqe_mode {
|
||||
BNXT_QPLIB_WQE_MODE_STATIC = 0x00,
|
||||
BNXT_QPLIB_WQE_MODE_VARIABLE = 0x01,
|
||||
BNXT_QPLIB_WQE_MODE_INVALID = 0x02,
|
||||
};
|
||||
|
||||
struct bnxt_re_uctx_resp {
|
||||
@@ -62,6 +69,8 @@ struct bnxt_re_uctx_resp {
|
||||
__aligned_u64 comp_mask;
|
||||
__u32 chip_id0;
|
||||
__u32 chip_id1;
|
||||
__u32 mode;
|
||||
__u32 rsvd1; /* padding */
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2006 - 2016 Intel Corporation. All rights reserved.
|
||||
* Copyright (c) 2005 Topspin Communications. All rights reserved.
|
||||
* Copyright (c) 2005 Cisco Systems. All rights reserved.
|
||||
* Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.
|
||||
*
|
||||
* This software is available to you under a choice of one of two
|
||||
* licenses. You may choose to be licensed under the terms of the GNU
|
||||
* General Public License (GPL) Version 2, available from the file
|
||||
* COPYING in the main directory of this source tree, or the
|
||||
* OpenIB.org BSD license below:
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or
|
||||
* without modification, are permitted provided that the following
|
||||
* conditions are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above
|
||||
* copyright notice, this list of conditions and the following
|
||||
* disclaimer.
|
||||
*
|
||||
* - Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the following
|
||||
* disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* 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 I40IW_ABI_H
|
||||
#define I40IW_ABI_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define I40IW_ABI_VER 5
|
||||
|
||||
struct i40iw_alloc_ucontext_req {
|
||||
__u32 reserved32;
|
||||
__u8 userspace_ver;
|
||||
__u8 reserved8[3];
|
||||
};
|
||||
|
||||
struct i40iw_alloc_ucontext_resp {
|
||||
__u32 max_pds; /* maximum pds allowed for this user process */
|
||||
__u32 max_qps; /* maximum qps allowed for this user process */
|
||||
__u32 wq_size; /* size of the WQs (sq+rq) allocated to the mmaped area */
|
||||
__u8 kernel_ver;
|
||||
__u8 reserved[3];
|
||||
};
|
||||
|
||||
struct i40iw_alloc_pd_resp {
|
||||
__u32 pd_id;
|
||||
__u8 reserved[4];
|
||||
};
|
||||
|
||||
struct i40iw_create_cq_req {
|
||||
__aligned_u64 user_cq_buffer;
|
||||
__aligned_u64 user_shadow_area;
|
||||
};
|
||||
|
||||
struct i40iw_create_qp_req {
|
||||
__aligned_u64 user_wqe_buffers;
|
||||
__aligned_u64 user_compl_ctx;
|
||||
|
||||
/* UDA QP PHB */
|
||||
__aligned_u64 user_sq_phb; /* place for VA of the sq phb buff */
|
||||
__aligned_u64 user_rq_phb; /* place for VA of the rq phb buff */
|
||||
};
|
||||
|
||||
enum i40iw_memreg_type {
|
||||
IW_MEMREG_TYPE_MEM = 0x0000,
|
||||
IW_MEMREG_TYPE_QP = 0x0001,
|
||||
IW_MEMREG_TYPE_CQ = 0x0002,
|
||||
};
|
||||
|
||||
struct i40iw_mem_reg_req {
|
||||
__u16 reg_type; /* Memory, QP or CQ */
|
||||
__u16 cq_pages;
|
||||
__u16 rq_pages;
|
||||
__u16 sq_pages;
|
||||
};
|
||||
|
||||
struct i40iw_create_cq_resp {
|
||||
__u32 cq_id;
|
||||
__u32 cq_size;
|
||||
__u32 mmap_db_index;
|
||||
__u32 reserved;
|
||||
};
|
||||
|
||||
struct i40iw_create_qp_resp {
|
||||
__u32 qp_id;
|
||||
__u32 actual_sq_size;
|
||||
__u32 actual_rq_size;
|
||||
__u32 i40iw_drv_opt;
|
||||
__u16 push_idx;
|
||||
__u8 lsmm;
|
||||
__u8 rsvd2;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -240,6 +240,7 @@ enum rdma_driver_id {
|
||||
RDMA_DRIVER_OCRDMA,
|
||||
RDMA_DRIVER_NES,
|
||||
RDMA_DRIVER_I40IW,
|
||||
RDMA_DRIVER_IRDMA = RDMA_DRIVER_I40IW,
|
||||
RDMA_DRIVER_VMW_PVRDMA,
|
||||
RDMA_DRIVER_QEDR,
|
||||
RDMA_DRIVER_HNS,
|
||||
|
||||
@@ -143,7 +143,7 @@ struct ib_user_mad_hdr {
|
||||
*/
|
||||
struct ib_user_mad {
|
||||
struct ib_user_mad_hdr hdr;
|
||||
__aligned_u64 data[0];
|
||||
__aligned_u64 data[];
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR Linux-OpenIB) */
|
||||
/*
|
||||
* Copyright (c) 2006 - 2021 Intel Corporation. All rights reserved.
|
||||
* Copyright (c) 2005 Topspin Communications. All rights reserved.
|
||||
* Copyright (c) 2005 Cisco Systems. All rights reserved.
|
||||
* Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef IRDMA_ABI_H
|
||||
#define IRDMA_ABI_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* irdma must support legacy GEN_1 i40iw kernel
|
||||
* and user-space whose last ABI ver is 5
|
||||
*/
|
||||
#define IRDMA_ABI_VER 5
|
||||
|
||||
enum irdma_memreg_type {
|
||||
IRDMA_MEMREG_TYPE_MEM = 0,
|
||||
IRDMA_MEMREG_TYPE_QP = 1,
|
||||
IRDMA_MEMREG_TYPE_CQ = 2,
|
||||
};
|
||||
|
||||
struct irdma_alloc_ucontext_req {
|
||||
__u32 rsvd32;
|
||||
__u8 userspace_ver;
|
||||
__u8 rsvd8[3];
|
||||
};
|
||||
|
||||
struct irdma_alloc_ucontext_resp {
|
||||
__u32 max_pds;
|
||||
__u32 max_qps;
|
||||
__u32 wq_size; /* size of the WQs (SQ+RQ) in the mmaped area */
|
||||
__u8 kernel_ver;
|
||||
__u8 rsvd[3];
|
||||
__aligned_u64 feature_flags;
|
||||
__aligned_u64 db_mmap_key;
|
||||
__u32 max_hw_wq_frags;
|
||||
__u32 max_hw_read_sges;
|
||||
__u32 max_hw_inline;
|
||||
__u32 max_hw_rq_quanta;
|
||||
__u32 max_hw_wq_quanta;
|
||||
__u32 min_hw_cq_size;
|
||||
__u32 max_hw_cq_size;
|
||||
__u16 max_hw_sq_chunk;
|
||||
__u8 hw_rev;
|
||||
__u8 rsvd2;
|
||||
};
|
||||
|
||||
struct irdma_alloc_pd_resp {
|
||||
__u32 pd_id;
|
||||
__u8 rsvd[4];
|
||||
};
|
||||
|
||||
struct irdma_resize_cq_req {
|
||||
__aligned_u64 user_cq_buffer;
|
||||
};
|
||||
|
||||
struct irdma_create_cq_req {
|
||||
__aligned_u64 user_cq_buf;
|
||||
__aligned_u64 user_shadow_area;
|
||||
};
|
||||
|
||||
struct irdma_create_qp_req {
|
||||
__aligned_u64 user_wqe_bufs;
|
||||
__aligned_u64 user_compl_ctx;
|
||||
};
|
||||
|
||||
struct irdma_mem_reg_req {
|
||||
__u16 reg_type; /* enum irdma_memreg_type */
|
||||
__u16 cq_pages;
|
||||
__u16 rq_pages;
|
||||
__u16 sq_pages;
|
||||
};
|
||||
|
||||
struct irdma_modify_qp_req {
|
||||
__u8 sq_flush;
|
||||
__u8 rq_flush;
|
||||
__u8 rsvd[6];
|
||||
};
|
||||
|
||||
struct irdma_create_cq_resp {
|
||||
__u32 cq_id;
|
||||
__u32 cq_size;
|
||||
};
|
||||
|
||||
struct irdma_create_qp_resp {
|
||||
__u32 qp_id;
|
||||
__u32 actual_sq_size;
|
||||
__u32 actual_rq_size;
|
||||
__u32 irdma_drv_opt;
|
||||
__u16 push_idx;
|
||||
__u8 lsmm;
|
||||
__u8 rsvd;
|
||||
__u32 qp_caps;
|
||||
};
|
||||
|
||||
struct irdma_modify_qp_resp {
|
||||
__aligned_u64 push_wqe_mmap_key;
|
||||
__aligned_u64 push_db_mmap_key;
|
||||
__u16 push_offset;
|
||||
__u8 push_valid;
|
||||
__u8 rsvd[5];
|
||||
};
|
||||
|
||||
struct irdma_create_ah_resp {
|
||||
__u32 ah_id;
|
||||
__u8 rsvd[4];
|
||||
};
|
||||
#endif /* IRDMA_ABI_H */
|
||||
@@ -101,6 +101,8 @@ enum mlx5_ib_alloc_ucontext_resp_mask {
|
||||
MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_CORE_CLOCK_OFFSET = 1UL << 0,
|
||||
MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_DUMP_FILL_MKEY = 1UL << 1,
|
||||
MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_ECE = 1UL << 2,
|
||||
MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_SQD2RTS = 1UL << 3,
|
||||
MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_REAL_TIME_TS = 1UL << 4,
|
||||
};
|
||||
|
||||
enum mlx5_user_cmds_supp_uhw {
|
||||
@@ -270,6 +272,7 @@ struct mlx5_ib_query_device_resp {
|
||||
enum mlx5_ib_create_cq_flags {
|
||||
MLX5_IB_CREATE_CQ_FLAGS_CQE_128B_PAD = 1 << 0,
|
||||
MLX5_IB_CREATE_CQ_FLAGS_UAR_PAGE_INDEX = 1 << 1,
|
||||
MLX5_IB_CREATE_CQ_FLAGS_REAL_TIME_TS = 1 << 2,
|
||||
};
|
||||
|
||||
struct mlx5_ib_create_cq {
|
||||
|
||||
@@ -99,7 +99,16 @@ struct rxe_send_wr {
|
||||
__u32 remote_qkey;
|
||||
__u16 pkey_index;
|
||||
} ud;
|
||||
struct {
|
||||
__aligned_u64 addr;
|
||||
__aligned_u64 length;
|
||||
__u32 mr_lkey;
|
||||
__u32 mw_rkey;
|
||||
__u32 rkey;
|
||||
__u32 access;
|
||||
} mw;
|
||||
/* reg is only used by the kernel and is not part of the uapi */
|
||||
#ifdef __KERNEL__
|
||||
struct {
|
||||
union {
|
||||
struct ib_mr *mr;
|
||||
@@ -108,6 +117,7 @@ struct rxe_send_wr {
|
||||
__u32 key;
|
||||
__u32 access;
|
||||
} reg;
|
||||
#endif
|
||||
} wr;
|
||||
};
|
||||
|
||||
|
||||
@@ -710,7 +710,7 @@ enum {
|
||||
* Raw MIDI section - /dev/snd/midi??
|
||||
*/
|
||||
|
||||
#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 1)
|
||||
#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 2)
|
||||
|
||||
enum {
|
||||
SNDRV_RAWMIDI_STREAM_OUTPUT = 0,
|
||||
@@ -736,12 +736,38 @@ struct snd_rawmidi_info {
|
||||
unsigned char reserved[64]; /* reserved for future use */
|
||||
};
|
||||
|
||||
#define SNDRV_RAWMIDI_MODE_FRAMING_MASK (7<<0)
|
||||
#define SNDRV_RAWMIDI_MODE_FRAMING_SHIFT 0
|
||||
#define SNDRV_RAWMIDI_MODE_FRAMING_NONE (0<<0)
|
||||
#define SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP (1<<0)
|
||||
#define SNDRV_RAWMIDI_MODE_CLOCK_MASK (7<<3)
|
||||
#define SNDRV_RAWMIDI_MODE_CLOCK_SHIFT 3
|
||||
#define SNDRV_RAWMIDI_MODE_CLOCK_NONE (0<<3)
|
||||
#define SNDRV_RAWMIDI_MODE_CLOCK_REALTIME (1<<3)
|
||||
#define SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC (2<<3)
|
||||
#define SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW (3<<3)
|
||||
|
||||
#define SNDRV_RAWMIDI_FRAMING_DATA_LENGTH 16
|
||||
|
||||
struct snd_rawmidi_framing_tstamp {
|
||||
/* For now, frame_type is always 0. Midi 2.0 is expected to add new
|
||||
* types here. Applications are expected to skip unknown frame types.
|
||||
*/
|
||||
__u8 frame_type;
|
||||
__u8 length; /* number of valid bytes in data field */
|
||||
__u8 reserved[2];
|
||||
__u32 tv_nsec; /* nanoseconds */
|
||||
__u64 tv_sec; /* seconds */
|
||||
__u8 data[SNDRV_RAWMIDI_FRAMING_DATA_LENGTH];
|
||||
} __packed;
|
||||
|
||||
struct snd_rawmidi_params {
|
||||
int stream;
|
||||
size_t buffer_size; /* queue size in bytes */
|
||||
size_t avail_min; /* minimum avail bytes for wakeup */
|
||||
unsigned int no_active_sensing: 1; /* do not send active sensing byte in close() */
|
||||
unsigned char reserved[16]; /* reserved for future use */
|
||||
unsigned int mode; /* For input data only, frame incoming data */
|
||||
unsigned char reserved[12]; /* reserved for future use */
|
||||
};
|
||||
|
||||
#ifndef __KERNEL__
|
||||
|
||||
Reference in New Issue
Block a user