Merge drm/drm-next into drm-misc-next
We haven't done any backmerge for a while due to the merge window, and it starts to become an issue for komeda. Let's bring 5.4-rc1 in. Signed-off-by: Maxime Ripard <mripard@kernel.org>
This commit is contained in:
@@ -67,6 +67,9 @@
|
||||
#define MADV_WIPEONFORK 18 /* Zero memory on fork, child only */
|
||||
#define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK */
|
||||
|
||||
#define MADV_COLD 20 /* deactivate these pages */
|
||||
#define MADV_PAGEOUT 21 /* reclaim these pages */
|
||||
|
||||
/* compatibility flags */
|
||||
#define MAP_FILE 0
|
||||
|
||||
|
@@ -569,7 +569,7 @@ __SYSCALL(__NR_semget, sys_semget)
|
||||
__SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_semtimedop 192
|
||||
__SC_COMP(__NR_semtimedop, sys_semtimedop, sys_semtimedop_time32)
|
||||
__SC_3264(__NR_semtimedop, sys_semtimedop_time32, sys_semtimedop)
|
||||
#endif
|
||||
#define __NR_semop 193
|
||||
__SYSCALL(__NR_semop, sys_semop)
|
||||
|
@@ -128,6 +128,10 @@ extern "C" {
|
||||
* for the second page onward should be set to NC.
|
||||
*/
|
||||
#define AMDGPU_GEM_CREATE_MQD_GFX9 (1 << 8)
|
||||
/* Flag that BO may contain sensitive data that must be wiped before
|
||||
* releasing the memory
|
||||
*/
|
||||
#define AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE (1 << 9)
|
||||
|
||||
struct drm_amdgpu_gem_create_in {
|
||||
/** the requested memory size */
|
||||
|
@@ -73,6 +73,7 @@ struct drm_etnaviv_timespec {
|
||||
#define ETNAVIV_PARAM_GPU_INSTRUCTION_COUNT 0x18
|
||||
#define ETNAVIV_PARAM_GPU_NUM_CONSTANTS 0x19
|
||||
#define ETNAVIV_PARAM_GPU_NUM_VARYINGS 0x1a
|
||||
#define ETNAVIV_PARAM_SOFTPIN_START_ADDR 0x1b
|
||||
|
||||
#define ETNA_MAX_PIPES 4
|
||||
|
||||
@@ -148,6 +149,11 @@ struct drm_etnaviv_gem_submit_reloc {
|
||||
* then patching the cmdstream for this entry is skipped. This can
|
||||
* avoid kernel needing to map/access the cmdstream bo in the common
|
||||
* case.
|
||||
* If the submit is a softpin submit (ETNA_SUBMIT_SOFTPIN) the 'presumed'
|
||||
* field is interpreted as the fixed location to map the bo into the gpu
|
||||
* virtual address space. If the kernel is unable to map the buffer at
|
||||
* this location the submit will fail. This means userspace is responsible
|
||||
* for the whole gpu virtual address management.
|
||||
*/
|
||||
#define ETNA_SUBMIT_BO_READ 0x0001
|
||||
#define ETNA_SUBMIT_BO_WRITE 0x0002
|
||||
@@ -177,9 +183,11 @@ struct drm_etnaviv_gem_submit_pmr {
|
||||
#define ETNA_SUBMIT_NO_IMPLICIT 0x0001
|
||||
#define ETNA_SUBMIT_FENCE_FD_IN 0x0002
|
||||
#define ETNA_SUBMIT_FENCE_FD_OUT 0x0004
|
||||
#define ETNA_SUBMIT_SOFTPIN 0x0008
|
||||
#define ETNA_SUBMIT_FLAGS (ETNA_SUBMIT_NO_IMPLICIT | \
|
||||
ETNA_SUBMIT_FENCE_FD_IN | \
|
||||
ETNA_SUBMIT_FENCE_FD_OUT)
|
||||
ETNA_SUBMIT_FENCE_FD_OUT| \
|
||||
ETNA_SUBMIT_SOFTPIN)
|
||||
#define ETNA_PIPE_3D 0x00
|
||||
#define ETNA_PIPE_2D 0x01
|
||||
#define ETNA_PIPE_VG 0x02
|
||||
|
@@ -521,6 +521,7 @@ typedef struct drm_i915_irq_wait {
|
||||
#define I915_SCHEDULER_CAP_PRIORITY (1ul << 1)
|
||||
#define I915_SCHEDULER_CAP_PREEMPTION (1ul << 2)
|
||||
#define I915_SCHEDULER_CAP_SEMAPHORES (1ul << 3)
|
||||
#define I915_SCHEDULER_CAP_ENGINE_BUSY_STATS (1ul << 4)
|
||||
|
||||
#define I915_PARAM_HUC_STATUS 42
|
||||
|
||||
|
@@ -106,6 +106,7 @@ enum bpf_cmd {
|
||||
BPF_TASK_FD_QUERY,
|
||||
BPF_MAP_LOOKUP_AND_DELETE_ELEM,
|
||||
BPF_MAP_FREEZE,
|
||||
BPF_BTF_GET_NEXT_ID,
|
||||
};
|
||||
|
||||
enum bpf_map_type {
|
||||
@@ -134,6 +135,7 @@ enum bpf_map_type {
|
||||
BPF_MAP_TYPE_QUEUE,
|
||||
BPF_MAP_TYPE_STACK,
|
||||
BPF_MAP_TYPE_SK_STORAGE,
|
||||
BPF_MAP_TYPE_DEVMAP_HASH,
|
||||
};
|
||||
|
||||
/* Note that tracing related programs such as
|
||||
@@ -283,6 +285,9 @@ enum bpf_attach_type {
|
||||
*/
|
||||
#define BPF_F_TEST_RND_HI32 (1U << 2)
|
||||
|
||||
/* The verifier internal test flag. Behavior is undefined */
|
||||
#define BPF_F_TEST_STATE_FREQ (1U << 3)
|
||||
|
||||
/* When BPF ldimm64's insn[0].src_reg != 0 then this can have
|
||||
* two extensions:
|
||||
*
|
||||
@@ -336,6 +341,9 @@ enum bpf_attach_type {
|
||||
#define BPF_F_RDONLY_PROG (1U << 7)
|
||||
#define BPF_F_WRONLY_PROG (1U << 8)
|
||||
|
||||
/* Clone map from listener for newly accepted socket */
|
||||
#define BPF_F_CLONE (1U << 9)
|
||||
|
||||
/* flags for BPF_PROG_QUERY */
|
||||
#define BPF_F_QUERY_EFFECTIVE (1U << 0)
|
||||
|
||||
@@ -575,6 +583,8 @@ union bpf_attr {
|
||||
* limited to five).
|
||||
*
|
||||
* Each time the helper is called, it appends a line to the trace.
|
||||
* Lines are discarded while *\/sys/kernel/debug/tracing/trace* is
|
||||
* open, use *\/sys/kernel/debug/tracing/trace_pipe* to avoid this.
|
||||
* The format of the trace is customizable, and the exact output
|
||||
* one will get depends on the options set in
|
||||
* *\/sys/kernel/debug/tracing/trace_options* (see also the
|
||||
@@ -1013,7 +1023,7 @@ union bpf_attr {
|
||||
* The realm of the route for the packet associated to *skb*, or 0
|
||||
* if none was found.
|
||||
*
|
||||
* int bpf_perf_event_output(struct pt_reg *ctx, struct bpf_map *map, u64 flags, void *data, u64 size)
|
||||
* int bpf_perf_event_output(struct pt_regs *ctx, struct bpf_map *map, u64 flags, void *data, u64 size)
|
||||
* Description
|
||||
* Write raw *data* blob into a special BPF perf event held by
|
||||
* *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf
|
||||
@@ -1075,7 +1085,7 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_get_stackid(struct pt_reg *ctx, struct bpf_map *map, u64 flags)
|
||||
* int bpf_get_stackid(struct pt_regs *ctx, struct bpf_map *map, u64 flags)
|
||||
* Description
|
||||
* Walk a user or a kernel stack and return its id. To achieve
|
||||
* this, the helper needs *ctx*, which is a pointer to the context
|
||||
@@ -1466,8 +1476,8 @@ union bpf_attr {
|
||||
* If no cookie has been set yet, generate a new cookie. Once
|
||||
* generated, the socket cookie remains stable for the life of the
|
||||
* socket. This helper can be useful for monitoring per socket
|
||||
* networking traffic statistics as it provides a unique socket
|
||||
* identifier per namespace.
|
||||
* networking traffic statistics as it provides a global socket
|
||||
* identifier that can be assumed unique.
|
||||
* Return
|
||||
* A 8-byte long non-decreasing number on success, or 0 if the
|
||||
* socket field is missing inside *skb*.
|
||||
@@ -1724,7 +1734,7 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_override_return(struct pt_reg *regs, u64 rc)
|
||||
* int bpf_override_return(struct pt_regs *regs, u64 rc)
|
||||
* Description
|
||||
* Used for error injection, this helper uses kprobes to override
|
||||
* the return value of the probed function, and to set it to *rc*.
|
||||
@@ -2713,6 +2723,33 @@ union bpf_attr {
|
||||
* **-EPERM** if no permission to send the *sig*.
|
||||
*
|
||||
* **-EAGAIN** if bpf program can try again.
|
||||
*
|
||||
* s64 bpf_tcp_gen_syncookie(struct bpf_sock *sk, void *iph, u32 iph_len, struct tcphdr *th, u32 th_len)
|
||||
* Description
|
||||
* Try to issue a SYN cookie for the packet with corresponding
|
||||
* IP/TCP headers, *iph* and *th*, on the listening socket in *sk*.
|
||||
*
|
||||
* *iph* points to the start of the IPv4 or IPv6 header, while
|
||||
* *iph_len* contains **sizeof**\ (**struct iphdr**) or
|
||||
* **sizeof**\ (**struct ip6hdr**).
|
||||
*
|
||||
* *th* points to the start of the TCP header, while *th_len*
|
||||
* contains the length of the TCP header.
|
||||
*
|
||||
* Return
|
||||
* On success, lower 32 bits hold the generated SYN cookie in
|
||||
* followed by 16 bits which hold the MSS value for that cookie,
|
||||
* and the top 16 bits are unused.
|
||||
*
|
||||
* On failure, the returned value is one of the following:
|
||||
*
|
||||
* **-EINVAL** SYN cookie cannot be issued due to error
|
||||
*
|
||||
* **-ENOENT** SYN cookie should not be issued (no SYN flood)
|
||||
*
|
||||
* **-EOPNOTSUPP** kernel configuration does not enable SYN cookies
|
||||
*
|
||||
* **-EPROTONOSUPPORT** IP packet version is not 4 or 6
|
||||
*/
|
||||
#define __BPF_FUNC_MAPPER(FN) \
|
||||
FN(unspec), \
|
||||
@@ -2824,7 +2861,8 @@ union bpf_attr {
|
||||
FN(strtoul), \
|
||||
FN(sk_storage_get), \
|
||||
FN(sk_storage_delete), \
|
||||
FN(send_signal),
|
||||
FN(send_signal), \
|
||||
FN(tcp_gen_syncookie),
|
||||
|
||||
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||
* function eBPF program intends to call
|
||||
@@ -3507,6 +3545,10 @@ enum bpf_task_fd_type {
|
||||
BPF_FD_TYPE_URETPROBE, /* filename + offset */
|
||||
};
|
||||
|
||||
#define BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG (1U << 0)
|
||||
#define BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL (1U << 1)
|
||||
#define BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP (1U << 2)
|
||||
|
||||
struct bpf_flow_keys {
|
||||
__u16 nhoff;
|
||||
__u16 thoff;
|
||||
@@ -3528,6 +3570,8 @@ struct bpf_flow_keys {
|
||||
__u32 ipv6_dst[4]; /* in6_addr; network order */
|
||||
};
|
||||
};
|
||||
__u32 flags;
|
||||
__be32 flow_label;
|
||||
};
|
||||
|
||||
struct bpf_func_info {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef _UAPI_LINUX_BPFILTER_H
|
||||
#define _UAPI_LINUX_BPFILTER_H
|
||||
|
||||
|
@@ -22,9 +22,9 @@ struct btf_header {
|
||||
};
|
||||
|
||||
/* Max # of type identifier */
|
||||
#define BTF_MAX_TYPE 0x0000ffff
|
||||
#define BTF_MAX_TYPE 0x000fffff
|
||||
/* Max offset into the string section */
|
||||
#define BTF_MAX_NAME_OFFSET 0x0000ffff
|
||||
#define BTF_MAX_NAME_OFFSET 0x00ffffff
|
||||
/* Max # of struct/union/enum members or func args */
|
||||
#define BTF_MAX_VLEN 0xffff
|
||||
|
||||
|
@@ -665,7 +665,12 @@ struct btrfs_ioctl_get_dev_stats {
|
||||
/* out values: */
|
||||
__u64 values[BTRFS_DEV_STAT_VALUES_MAX];
|
||||
|
||||
__u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX]; /* pad to 1k */
|
||||
/*
|
||||
* This pads the struct to 1032 bytes. It was originally meant to pad to
|
||||
* 1024 bytes, but when adding the flags field, the padding calculation
|
||||
* was not adjusted.
|
||||
*/
|
||||
__u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX];
|
||||
};
|
||||
|
||||
#define BTRFS_QUOTA_CTL_ENABLE 1
|
||||
@@ -917,10 +922,8 @@ enum btrfs_err_code {
|
||||
#define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \
|
||||
struct btrfs_ioctl_quota_rescan_args)
|
||||
#define BTRFS_IOC_QUOTA_RESCAN_WAIT _IO(BTRFS_IOCTL_MAGIC, 46)
|
||||
#define BTRFS_IOC_GET_FSLABEL _IOR(BTRFS_IOCTL_MAGIC, 49, \
|
||||
char[BTRFS_LABEL_SIZE])
|
||||
#define BTRFS_IOC_SET_FSLABEL _IOW(BTRFS_IOCTL_MAGIC, 50, \
|
||||
char[BTRFS_LABEL_SIZE])
|
||||
#define BTRFS_IOC_GET_FSLABEL FS_IOC_GETFSLABEL
|
||||
#define BTRFS_IOC_SET_FSLABEL FS_IOC_SETFSLABEL
|
||||
#define BTRFS_IOC_GET_DEV_STATS _IOWR(BTRFS_IOCTL_MAGIC, 52, \
|
||||
struct btrfs_ioctl_get_dev_stats)
|
||||
#define BTRFS_IOC_DEV_REPLACE _IOWR(BTRFS_IOCTL_MAGIC, 53, \
|
||||
|
@@ -300,7 +300,9 @@
|
||||
#define BTRFS_CSUM_SIZE 32
|
||||
|
||||
/* csum types */
|
||||
#define BTRFS_CSUM_TYPE_CRC32 0
|
||||
enum btrfs_csum_type {
|
||||
BTRFS_CSUM_TYPE_CRC32 = 0,
|
||||
};
|
||||
|
||||
/*
|
||||
* flags definitions for directory entry item type
|
||||
@@ -806,11 +808,6 @@ struct btrfs_dev_stats_item {
|
||||
|
||||
#define BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0
|
||||
#define BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID 1
|
||||
#define BTRFS_DEV_REPLACE_ITEM_STATE_NEVER_STARTED 0
|
||||
#define BTRFS_DEV_REPLACE_ITEM_STATE_STARTED 1
|
||||
#define BTRFS_DEV_REPLACE_ITEM_STATE_SUSPENDED 2
|
||||
#define BTRFS_DEV_REPLACE_ITEM_STATE_FINISHED 3
|
||||
#define BTRFS_DEV_REPLACE_ITEM_STATE_CANCELED 4
|
||||
|
||||
struct btrfs_dev_replace_item {
|
||||
/*
|
||||
|
@@ -157,7 +157,8 @@ struct canfd_frame {
|
||||
#define CAN_TP20 4 /* VAG Transport Protocol v2.0 */
|
||||
#define CAN_MCNET 5 /* Bosch MCNet */
|
||||
#define CAN_ISOTP 6 /* ISO 15765-2 Transport Protocol */
|
||||
#define CAN_NPROTO 7
|
||||
#define CAN_J1939 7 /* SAE J1939 */
|
||||
#define CAN_NPROTO 8
|
||||
|
||||
#define SOL_CAN_BASE 100
|
||||
|
||||
@@ -174,6 +175,23 @@ struct sockaddr_can {
|
||||
/* transport protocol class address information (e.g. ISOTP) */
|
||||
struct { canid_t rx_id, tx_id; } tp;
|
||||
|
||||
/* J1939 address information */
|
||||
struct {
|
||||
/* 8 byte name when using dynamic addressing */
|
||||
__u64 name;
|
||||
|
||||
/* pgn:
|
||||
* 8 bit: PS in PDU2 case, else 0
|
||||
* 8 bit: PF
|
||||
* 1 bit: DP
|
||||
* 1 bit: reserved
|
||||
*/
|
||||
__u32 pgn;
|
||||
|
||||
/* 1 byte address */
|
||||
__u8 addr;
|
||||
} j1939;
|
||||
|
||||
/* reserved for future CAN protocols address information */
|
||||
} can_addr;
|
||||
};
|
||||
|
@@ -80,6 +80,10 @@ enum {
|
||||
CGW_DELETED, /* number of deleted CAN frames (see max_hops param) */
|
||||
CGW_LIM_HOPS, /* limit the number of hops of this specific rule */
|
||||
CGW_MOD_UID, /* user defined identifier for modification updates */
|
||||
CGW_FDMOD_AND, /* CAN FD frame modification binary AND */
|
||||
CGW_FDMOD_OR, /* CAN FD frame modification binary OR */
|
||||
CGW_FDMOD_XOR, /* CAN FD frame modification binary XOR */
|
||||
CGW_FDMOD_SET, /* CAN FD frame modification set alternate values */
|
||||
__CGW_MAX
|
||||
};
|
||||
|
||||
@@ -88,15 +92,18 @@ enum {
|
||||
#define CGW_FLAGS_CAN_ECHO 0x01
|
||||
#define CGW_FLAGS_CAN_SRC_TSTAMP 0x02
|
||||
#define CGW_FLAGS_CAN_IIF_TX_OK 0x04
|
||||
#define CGW_FLAGS_CAN_FD 0x08
|
||||
|
||||
#define CGW_MOD_FUNCS 4 /* AND OR XOR SET */
|
||||
|
||||
/* CAN frame elements that are affected by curr. 3 CAN frame modifications */
|
||||
#define CGW_MOD_ID 0x01
|
||||
#define CGW_MOD_DLC 0x02
|
||||
#define CGW_MOD_DLC 0x02 /* contains the data length in bytes */
|
||||
#define CGW_MOD_LEN CGW_MOD_DLC /* CAN FD length representation */
|
||||
#define CGW_MOD_DATA 0x04
|
||||
#define CGW_MOD_FLAGS 0x08 /* CAN FD flags */
|
||||
|
||||
#define CGW_FRAME_MODS 3 /* ID DLC DATA */
|
||||
#define CGW_FRAME_MODS 4 /* ID DLC/LEN DATA FLAGS */
|
||||
|
||||
#define MAX_MODFUNCTIONS (CGW_MOD_FUNCS * CGW_FRAME_MODS)
|
||||
|
||||
@@ -105,7 +112,13 @@ struct cgw_frame_mod {
|
||||
__u8 modtype;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct cgw_fdframe_mod {
|
||||
struct canfd_frame cf;
|
||||
__u8 modtype;
|
||||
} __attribute__((packed));
|
||||
|
||||
#define CGW_MODATTR_LEN sizeof(struct cgw_frame_mod)
|
||||
#define CGW_FDMODATTR_LEN sizeof(struct cgw_fdframe_mod)
|
||||
|
||||
struct cgw_csum_xor {
|
||||
__s8 from_idx;
|
||||
|
99
include/uapi/linux/can/j1939.h
Normal file
99
include/uapi/linux/can/j1939.h
Normal file
@@ -0,0 +1,99 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* j1939.h
|
||||
*
|
||||
* Copyright (c) 2010-2011 EIA Electronics
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_CAN_J1939_H_
|
||||
#define _UAPI_CAN_J1939_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/socket.h>
|
||||
#include <linux/can.h>
|
||||
|
||||
#define J1939_MAX_UNICAST_ADDR 0xfd
|
||||
#define J1939_IDLE_ADDR 0xfe
|
||||
#define J1939_NO_ADDR 0xff /* == broadcast or no addr */
|
||||
#define J1939_NO_NAME 0
|
||||
#define J1939_PGN_REQUEST 0x0ea00 /* Request PG */
|
||||
#define J1939_PGN_ADDRESS_CLAIMED 0x0ee00 /* Address Claimed */
|
||||
#define J1939_PGN_ADDRESS_COMMANDED 0x0fed8 /* Commanded Address */
|
||||
#define J1939_PGN_PDU1_MAX 0x3ff00
|
||||
#define J1939_PGN_MAX 0x3ffff
|
||||
#define J1939_NO_PGN 0x40000
|
||||
|
||||
/* J1939 Parameter Group Number
|
||||
*
|
||||
* bit 0-7 : PDU Specific (PS)
|
||||
* bit 8-15 : PDU Format (PF)
|
||||
* bit 16 : Data Page (DP)
|
||||
* bit 17 : Reserved (R)
|
||||
* bit 19-31 : set to zero
|
||||
*/
|
||||
typedef __u32 pgn_t;
|
||||
|
||||
/* J1939 Priority
|
||||
*
|
||||
* bit 0-2 : Priority (P)
|
||||
* bit 3-7 : set to zero
|
||||
*/
|
||||
typedef __u8 priority_t;
|
||||
|
||||
/* J1939 NAME
|
||||
*
|
||||
* bit 0-20 : Identity Number
|
||||
* bit 21-31 : Manufacturer Code
|
||||
* bit 32-34 : ECU Instance
|
||||
* bit 35-39 : Function Instance
|
||||
* bit 40-47 : Function
|
||||
* bit 48 : Reserved
|
||||
* bit 49-55 : Vehicle System
|
||||
* bit 56-59 : Vehicle System Instance
|
||||
* bit 60-62 : Industry Group
|
||||
* bit 63 : Arbitrary Address Capable
|
||||
*/
|
||||
typedef __u64 name_t;
|
||||
|
||||
/* J1939 socket options */
|
||||
#define SOL_CAN_J1939 (SOL_CAN_BASE + CAN_J1939)
|
||||
enum {
|
||||
SO_J1939_FILTER = 1, /* set filters */
|
||||
SO_J1939_PROMISC = 2, /* set/clr promiscuous mode */
|
||||
SO_J1939_SEND_PRIO = 3,
|
||||
SO_J1939_ERRQUEUE = 4,
|
||||
};
|
||||
|
||||
enum {
|
||||
SCM_J1939_DEST_ADDR = 1,
|
||||
SCM_J1939_DEST_NAME = 2,
|
||||
SCM_J1939_PRIO = 3,
|
||||
SCM_J1939_ERRQUEUE = 4,
|
||||
};
|
||||
|
||||
enum {
|
||||
J1939_NLA_PAD,
|
||||
J1939_NLA_BYTES_ACKED,
|
||||
};
|
||||
|
||||
enum {
|
||||
J1939_EE_INFO_NONE,
|
||||
J1939_EE_INFO_TX_ABORT,
|
||||
};
|
||||
|
||||
struct j1939_filter {
|
||||
name_t name;
|
||||
name_t name_mask;
|
||||
pgn_t pgn;
|
||||
pgn_t pgn_mask;
|
||||
__u8 addr;
|
||||
__u8 addr_mask;
|
||||
};
|
||||
|
||||
#define J1939_FILTER_MAX 512 /* maximum number of j1939_filter set via setsockopt() */
|
||||
|
||||
#endif /* !_UAPI_CAN_J1939_H_ */
|
@@ -40,15 +40,15 @@ struct can_bittiming {
|
||||
};
|
||||
|
||||
/*
|
||||
* CAN harware-dependent bit-timing constant
|
||||
* CAN hardware-dependent bit-timing constant
|
||||
*
|
||||
* Used for calculating and checking bit-timing parameters
|
||||
*/
|
||||
struct can_bittiming_const {
|
||||
char name[16]; /* Name of the CAN controller hardware */
|
||||
__u32 tseg1_min; /* Time segement 1 = prop_seg + phase_seg1 */
|
||||
__u32 tseg1_min; /* Time segment 1 = prop_seg + phase_seg1 */
|
||||
__u32 tseg1_max;
|
||||
__u32 tseg2_min; /* Time segement 2 = phase_seg2 */
|
||||
__u32 tseg2_min; /* Time segment 2 = phase_seg2 */
|
||||
__u32 tseg2_max;
|
||||
__u32 sjw_max; /* Synchronisation jump width */
|
||||
__u32 brp_min; /* Bit-rate prescaler */
|
||||
|
@@ -11,6 +11,9 @@
|
||||
more information about COFF, then O'Reilly has a very excellent book.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_COFF_H
|
||||
#define _UAPI_LINUX_COFF_H
|
||||
|
||||
#define E_SYMNMLEN 8 /* Number of characters in a symbol name */
|
||||
#define E_FILNMLEN 14 /* Number of characters in a file name */
|
||||
#define E_DIMNUM 4 /* Number of array dimensions in auxiliary entry */
|
||||
@@ -350,3 +353,5 @@ struct COFF_reloc {
|
||||
|
||||
/* For new sections we haven't heard of before */
|
||||
#define COFF_DEF_SECTION_ALIGNMENT 4
|
||||
|
||||
#endif /* _UAPI_LINUX_COFF_H */
|
||||
|
@@ -19,6 +19,9 @@
|
||||
* 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_CRYPTOUSER_H
|
||||
#define _UAPI_LINUX_CRYPTOUSER_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Netlink configuration messages. */
|
||||
@@ -198,3 +201,5 @@ struct crypto_report_acomp {
|
||||
|
||||
#define CRYPTO_REPORT_MAXSIZE (sizeof(struct crypto_user_alg) + \
|
||||
sizeof(struct crypto_report_blkcipher))
|
||||
|
||||
#endif /* _UAPI_LINUX_CRYPTOUSER_H */
|
||||
|
@@ -107,6 +107,16 @@ enum devlink_command {
|
||||
DEVLINK_CMD_FLASH_UPDATE_END, /* notification only */
|
||||
DEVLINK_CMD_FLASH_UPDATE_STATUS, /* notification only */
|
||||
|
||||
DEVLINK_CMD_TRAP_GET, /* can dump */
|
||||
DEVLINK_CMD_TRAP_SET,
|
||||
DEVLINK_CMD_TRAP_NEW,
|
||||
DEVLINK_CMD_TRAP_DEL,
|
||||
|
||||
DEVLINK_CMD_TRAP_GROUP_GET, /* can dump */
|
||||
DEVLINK_CMD_TRAP_GROUP_SET,
|
||||
DEVLINK_CMD_TRAP_GROUP_NEW,
|
||||
DEVLINK_CMD_TRAP_GROUP_DEL,
|
||||
|
||||
/* add new commands above here */
|
||||
__DEVLINK_CMD_MAX,
|
||||
DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
|
||||
@@ -192,6 +202,56 @@ enum devlink_param_cmode {
|
||||
enum devlink_param_fw_load_policy_value {
|
||||
DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER,
|
||||
DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH,
|
||||
DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK,
|
||||
DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_UNKNOWN,
|
||||
};
|
||||
|
||||
enum devlink_param_reset_dev_on_drv_probe_value {
|
||||
DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_UNKNOWN,
|
||||
DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS,
|
||||
DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER,
|
||||
DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK,
|
||||
};
|
||||
|
||||
enum {
|
||||
DEVLINK_ATTR_STATS_RX_PACKETS, /* u64 */
|
||||
DEVLINK_ATTR_STATS_RX_BYTES, /* u64 */
|
||||
|
||||
__DEVLINK_ATTR_STATS_MAX,
|
||||
DEVLINK_ATTR_STATS_MAX = __DEVLINK_ATTR_STATS_MAX - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum devlink_trap_action - Packet trap action.
|
||||
* @DEVLINK_TRAP_ACTION_DROP: Packet is dropped by the device and a copy is not
|
||||
* sent to the CPU.
|
||||
* @DEVLINK_TRAP_ACTION_TRAP: The sole copy of the packet is sent to the CPU.
|
||||
*/
|
||||
enum devlink_trap_action {
|
||||
DEVLINK_TRAP_ACTION_DROP,
|
||||
DEVLINK_TRAP_ACTION_TRAP,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum devlink_trap_type - Packet trap type.
|
||||
* @DEVLINK_TRAP_TYPE_DROP: Trap reason is a drop. Trapped packets are only
|
||||
* processed by devlink and not injected to the
|
||||
* kernel's Rx path.
|
||||
* @DEVLINK_TRAP_TYPE_EXCEPTION: Trap reason is an exception. Packet was not
|
||||
* forwarded as intended due to an exception
|
||||
* (e.g., missing neighbour entry) and trapped to
|
||||
* control plane for resolution. Trapped packets
|
||||
* are processed by devlink and injected to
|
||||
* the kernel's Rx path.
|
||||
*/
|
||||
enum devlink_trap_type {
|
||||
DEVLINK_TRAP_TYPE_DROP,
|
||||
DEVLINK_TRAP_TYPE_EXCEPTION,
|
||||
};
|
||||
|
||||
enum {
|
||||
/* Trap can report input port as metadata */
|
||||
DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT,
|
||||
};
|
||||
|
||||
enum devlink_attr {
|
||||
@@ -348,6 +408,19 @@ enum devlink_attr {
|
||||
DEVLINK_ATTR_PORT_PCI_PF_NUMBER, /* u16 */
|
||||
DEVLINK_ATTR_PORT_PCI_VF_NUMBER, /* u16 */
|
||||
|
||||
DEVLINK_ATTR_STATS, /* nested */
|
||||
|
||||
DEVLINK_ATTR_TRAP_NAME, /* string */
|
||||
/* enum devlink_trap_action */
|
||||
DEVLINK_ATTR_TRAP_ACTION, /* u8 */
|
||||
/* enum devlink_trap_type */
|
||||
DEVLINK_ATTR_TRAP_TYPE, /* u8 */
|
||||
DEVLINK_ATTR_TRAP_GENERIC, /* flag */
|
||||
DEVLINK_ATTR_TRAP_METADATA, /* nested */
|
||||
DEVLINK_ATTR_TRAP_GROUP_NAME, /* string */
|
||||
|
||||
DEVLINK_ATTR_RELOAD_FAILED, /* u8 0 or 1 */
|
||||
|
||||
/* add new attributes above here, update the policy in devlink.c */
|
||||
|
||||
__DEVLINK_ATTR_MAX,
|
||||
|
@@ -243,6 +243,7 @@ enum {
|
||||
DM_TARGET_MSG_CMD,
|
||||
DM_DEV_SET_GEOMETRY_CMD,
|
||||
DM_DEV_ARM_POLL_CMD,
|
||||
DM_GET_TARGET_VERSION_CMD,
|
||||
};
|
||||
|
||||
#define DM_IOCTL 0xfd
|
||||
@@ -265,14 +266,15 @@ enum {
|
||||
#define DM_TABLE_STATUS _IOWR(DM_IOCTL, DM_TABLE_STATUS_CMD, struct dm_ioctl)
|
||||
|
||||
#define DM_LIST_VERSIONS _IOWR(DM_IOCTL, DM_LIST_VERSIONS_CMD, struct dm_ioctl)
|
||||
#define DM_GET_TARGET_VERSION _IOWR(DM_IOCTL, DM_GET_TARGET_VERSION_CMD, struct dm_ioctl)
|
||||
|
||||
#define DM_TARGET_MSG _IOWR(DM_IOCTL, DM_TARGET_MSG_CMD, struct dm_ioctl)
|
||||
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
||||
|
||||
#define DM_VERSION_MAJOR 4
|
||||
#define DM_VERSION_MINOR 40
|
||||
#define DM_VERSION_MINOR 41
|
||||
#define DM_VERSION_PATCHLEVEL 0
|
||||
#define DM_VERSION_EXTRA "-ioctl (2019-01-18)"
|
||||
#define DM_VERSION_EXTRA "-ioctl (2019-09-16)"
|
||||
|
||||
/* Status bits */
|
||||
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
||||
|
@@ -259,10 +259,32 @@ struct ethtool_tunable {
|
||||
#define ETHTOOL_PHY_FAST_LINK_DOWN_ON 0
|
||||
#define ETHTOOL_PHY_FAST_LINK_DOWN_OFF 0xff
|
||||
|
||||
/* Energy Detect Power Down (EDPD) is a feature supported by some PHYs, where
|
||||
* the PHY's RX & TX blocks are put into a low-power mode when there is no
|
||||
* link detected (typically cable is un-plugged). For RX, only a minimal
|
||||
* link-detection is available, and for TX the PHY wakes up to send link pulses
|
||||
* to avoid any lock-ups in case the peer PHY may also be running in EDPD mode.
|
||||
*
|
||||
* Some PHYs may support configuration of the wake-up interval for TX pulses,
|
||||
* and some PHYs may support only disabling TX pulses entirely. For the latter
|
||||
* a special value is required (ETHTOOL_PHY_EDPD_NO_TX) so that this can be
|
||||
* configured from userspace (should the user want it).
|
||||
*
|
||||
* The interval units for TX wake-up are in milliseconds, since this should
|
||||
* cover a reasonable range of intervals:
|
||||
* - from 1 millisecond, which does not sound like much of a power-saver
|
||||
* - to ~65 seconds which is quite a lot to wait for a link to come up when
|
||||
* plugging a cable
|
||||
*/
|
||||
#define ETHTOOL_PHY_EDPD_DFLT_TX_MSECS 0xffff
|
||||
#define ETHTOOL_PHY_EDPD_NO_TX 0xfffe
|
||||
#define ETHTOOL_PHY_EDPD_DISABLE 0
|
||||
|
||||
enum phy_tunable_id {
|
||||
ETHTOOL_PHY_ID_UNSPEC,
|
||||
ETHTOOL_PHY_DOWNSHIFT,
|
||||
ETHTOOL_PHY_FAST_LINK_DOWN,
|
||||
ETHTOOL_PHY_EDPD,
|
||||
/*
|
||||
* Add your fresh new phy tunable attribute above and remember to update
|
||||
* phy_tunable_strings[] in net/core/ethtool.c
|
||||
|
@@ -176,4 +176,22 @@ struct dfl_fpga_fme_port_pr {
|
||||
|
||||
#define DFL_FPGA_FME_PORT_PR _IO(DFL_FPGA_MAGIC, DFL_FME_BASE + 0)
|
||||
|
||||
/**
|
||||
* DFL_FPGA_FME_PORT_RELEASE - _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 1,
|
||||
* int port_id)
|
||||
*
|
||||
* Driver releases the port per Port ID provided by caller.
|
||||
* Return: 0 on success, -errno on failure.
|
||||
*/
|
||||
#define DFL_FPGA_FME_PORT_RELEASE _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 1, int)
|
||||
|
||||
/**
|
||||
* DFL_FPGA_FME_PORT_ASSIGN - _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 2,
|
||||
* int port_id)
|
||||
*
|
||||
* Driver assigns the port back per Port ID provided by caller.
|
||||
* Return: 0 on success, -errno on failure.
|
||||
*/
|
||||
#define DFL_FPGA_FME_PORT_ASSIGN _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 2, int)
|
||||
|
||||
#endif /* _UAPI_LINUX_FPGA_DFL_H */
|
||||
|
@@ -13,6 +13,9 @@
|
||||
#include <linux/limits.h>
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
#ifndef __KERNEL__
|
||||
#include <linux/fscrypt.h>
|
||||
#endif
|
||||
|
||||
/* Use of MS_* flags within the kernel is restricted to core mount(2) code. */
|
||||
#if !defined(__KERNEL__)
|
||||
@@ -212,57 +215,6 @@ struct fsxattr {
|
||||
#define FS_IOC_GETFSLABEL _IOR(0x94, 49, char[FSLABEL_MAX])
|
||||
#define FS_IOC_SETFSLABEL _IOW(0x94, 50, char[FSLABEL_MAX])
|
||||
|
||||
/*
|
||||
* File system encryption support
|
||||
*/
|
||||
/* Policy provided via an ioctl on the topmost directory */
|
||||
#define FS_KEY_DESCRIPTOR_SIZE 8
|
||||
|
||||
#define FS_POLICY_FLAGS_PAD_4 0x00
|
||||
#define FS_POLICY_FLAGS_PAD_8 0x01
|
||||
#define FS_POLICY_FLAGS_PAD_16 0x02
|
||||
#define FS_POLICY_FLAGS_PAD_32 0x03
|
||||
#define FS_POLICY_FLAGS_PAD_MASK 0x03
|
||||
#define FS_POLICY_FLAG_DIRECT_KEY 0x04 /* use master key directly */
|
||||
#define FS_POLICY_FLAGS_VALID 0x07
|
||||
|
||||
/* Encryption algorithms */
|
||||
#define FS_ENCRYPTION_MODE_INVALID 0
|
||||
#define FS_ENCRYPTION_MODE_AES_256_XTS 1
|
||||
#define FS_ENCRYPTION_MODE_AES_256_GCM 2
|
||||
#define FS_ENCRYPTION_MODE_AES_256_CBC 3
|
||||
#define FS_ENCRYPTION_MODE_AES_256_CTS 4
|
||||
#define FS_ENCRYPTION_MODE_AES_128_CBC 5
|
||||
#define FS_ENCRYPTION_MODE_AES_128_CTS 6
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_XTS 7 /* Removed, do not use. */
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_CTS 8 /* Removed, do not use. */
|
||||
#define FS_ENCRYPTION_MODE_ADIANTUM 9
|
||||
|
||||
struct fscrypt_policy {
|
||||
__u8 version;
|
||||
__u8 contents_encryption_mode;
|
||||
__u8 filenames_encryption_mode;
|
||||
__u8 flags;
|
||||
__u8 master_key_descriptor[FS_KEY_DESCRIPTOR_SIZE];
|
||||
};
|
||||
|
||||
#define FS_IOC_SET_ENCRYPTION_POLICY _IOR('f', 19, struct fscrypt_policy)
|
||||
#define FS_IOC_GET_ENCRYPTION_PWSALT _IOW('f', 20, __u8[16])
|
||||
#define FS_IOC_GET_ENCRYPTION_POLICY _IOW('f', 21, struct fscrypt_policy)
|
||||
|
||||
/* Parameters for passing an encryption key into the kernel keyring */
|
||||
#define FS_KEY_DESC_PREFIX "fscrypt:"
|
||||
#define FS_KEY_DESC_PREFIX_SIZE 8
|
||||
|
||||
/* Structure that userspace passes to the kernel keyring */
|
||||
#define FS_MAX_KEY_SIZE 64
|
||||
|
||||
struct fscrypt_key {
|
||||
__u32 mode;
|
||||
__u8 raw[FS_MAX_KEY_SIZE];
|
||||
__u32 size;
|
||||
};
|
||||
|
||||
/*
|
||||
* Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS)
|
||||
*
|
||||
@@ -306,11 +258,13 @@ struct fscrypt_key {
|
||||
#define FS_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
|
||||
#define FS_HUGE_FILE_FL 0x00040000 /* Reserved for ext4 */
|
||||
#define FS_EXTENT_FL 0x00080000 /* Extents */
|
||||
#define FS_VERITY_FL 0x00100000 /* Verity protected inode */
|
||||
#define FS_EA_INODE_FL 0x00200000 /* Inode used for large EA */
|
||||
#define FS_EOFBLOCKS_FL 0x00400000 /* Reserved for ext4 */
|
||||
#define FS_NOCOW_FL 0x00800000 /* Do not cow file */
|
||||
#define FS_INLINE_DATA_FL 0x10000000 /* Reserved for ext4 */
|
||||
#define FS_PROJINHERIT_FL 0x20000000 /* Create with parents projid */
|
||||
#define FS_CASEFOLD_FL 0x40000000 /* Folder is case insensitive */
|
||||
#define FS_RESERVED_FL 0x80000000 /* reserved for ext2 lib */
|
||||
|
||||
#define FS_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */
|
||||
|
181
include/uapi/linux/fscrypt.h
Normal file
181
include/uapi/linux/fscrypt.h
Normal file
@@ -0,0 +1,181 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* fscrypt user API
|
||||
*
|
||||
* These ioctls can be used on filesystems that support fscrypt. See the
|
||||
* "User API" section of Documentation/filesystems/fscrypt.rst.
|
||||
*/
|
||||
#ifndef _UAPI_LINUX_FSCRYPT_H
|
||||
#define _UAPI_LINUX_FSCRYPT_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Encryption policy flags */
|
||||
#define FSCRYPT_POLICY_FLAGS_PAD_4 0x00
|
||||
#define FSCRYPT_POLICY_FLAGS_PAD_8 0x01
|
||||
#define FSCRYPT_POLICY_FLAGS_PAD_16 0x02
|
||||
#define FSCRYPT_POLICY_FLAGS_PAD_32 0x03
|
||||
#define FSCRYPT_POLICY_FLAGS_PAD_MASK 0x03
|
||||
#define FSCRYPT_POLICY_FLAG_DIRECT_KEY 0x04
|
||||
#define FSCRYPT_POLICY_FLAGS_VALID 0x07
|
||||
|
||||
/* Encryption algorithms */
|
||||
#define FSCRYPT_MODE_AES_256_XTS 1
|
||||
#define FSCRYPT_MODE_AES_256_CTS 4
|
||||
#define FSCRYPT_MODE_AES_128_CBC 5
|
||||
#define FSCRYPT_MODE_AES_128_CTS 6
|
||||
#define FSCRYPT_MODE_ADIANTUM 9
|
||||
#define __FSCRYPT_MODE_MAX 9
|
||||
|
||||
/*
|
||||
* Legacy policy version; ad-hoc KDF and no key verification.
|
||||
* For new encrypted directories, use fscrypt_policy_v2 instead.
|
||||
*
|
||||
* Careful: the .version field for this is actually 0, not 1.
|
||||
*/
|
||||
#define FSCRYPT_POLICY_V1 0
|
||||
#define FSCRYPT_KEY_DESCRIPTOR_SIZE 8
|
||||
struct fscrypt_policy_v1 {
|
||||
__u8 version;
|
||||
__u8 contents_encryption_mode;
|
||||
__u8 filenames_encryption_mode;
|
||||
__u8 flags;
|
||||
__u8 master_key_descriptor[FSCRYPT_KEY_DESCRIPTOR_SIZE];
|
||||
};
|
||||
#define fscrypt_policy fscrypt_policy_v1
|
||||
|
||||
/*
|
||||
* Process-subscribed "logon" key description prefix and payload format.
|
||||
* Deprecated; prefer FS_IOC_ADD_ENCRYPTION_KEY instead.
|
||||
*/
|
||||
#define FSCRYPT_KEY_DESC_PREFIX "fscrypt:"
|
||||
#define FSCRYPT_KEY_DESC_PREFIX_SIZE 8
|
||||
#define FSCRYPT_MAX_KEY_SIZE 64
|
||||
struct fscrypt_key {
|
||||
__u32 mode;
|
||||
__u8 raw[FSCRYPT_MAX_KEY_SIZE];
|
||||
__u32 size;
|
||||
};
|
||||
|
||||
/*
|
||||
* New policy version with HKDF and key verification (recommended).
|
||||
*/
|
||||
#define FSCRYPT_POLICY_V2 2
|
||||
#define FSCRYPT_KEY_IDENTIFIER_SIZE 16
|
||||
struct fscrypt_policy_v2 {
|
||||
__u8 version;
|
||||
__u8 contents_encryption_mode;
|
||||
__u8 filenames_encryption_mode;
|
||||
__u8 flags;
|
||||
__u8 __reserved[4];
|
||||
__u8 master_key_identifier[FSCRYPT_KEY_IDENTIFIER_SIZE];
|
||||
};
|
||||
|
||||
/* Struct passed to FS_IOC_GET_ENCRYPTION_POLICY_EX */
|
||||
struct fscrypt_get_policy_ex_arg {
|
||||
__u64 policy_size; /* input/output */
|
||||
union {
|
||||
__u8 version;
|
||||
struct fscrypt_policy_v1 v1;
|
||||
struct fscrypt_policy_v2 v2;
|
||||
} policy; /* output */
|
||||
};
|
||||
|
||||
/*
|
||||
* v1 policy keys are specified by an arbitrary 8-byte key "descriptor",
|
||||
* matching fscrypt_policy_v1::master_key_descriptor.
|
||||
*/
|
||||
#define FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR 1
|
||||
|
||||
/*
|
||||
* v2 policy keys are specified by a 16-byte key "identifier" which the kernel
|
||||
* calculates as a cryptographic hash of the key itself,
|
||||
* matching fscrypt_policy_v2::master_key_identifier.
|
||||
*/
|
||||
#define FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER 2
|
||||
|
||||
/*
|
||||
* Specifies a key, either for v1 or v2 policies. This doesn't contain the
|
||||
* actual key itself; this is just the "name" of the key.
|
||||
*/
|
||||
struct fscrypt_key_specifier {
|
||||
__u32 type; /* one of FSCRYPT_KEY_SPEC_TYPE_* */
|
||||
__u32 __reserved;
|
||||
union {
|
||||
__u8 __reserved[32]; /* reserve some extra space */
|
||||
__u8 descriptor[FSCRYPT_KEY_DESCRIPTOR_SIZE];
|
||||
__u8 identifier[FSCRYPT_KEY_IDENTIFIER_SIZE];
|
||||
} u;
|
||||
};
|
||||
|
||||
/* Struct passed to FS_IOC_ADD_ENCRYPTION_KEY */
|
||||
struct fscrypt_add_key_arg {
|
||||
struct fscrypt_key_specifier key_spec;
|
||||
__u32 raw_size;
|
||||
__u32 __reserved[9];
|
||||
__u8 raw[];
|
||||
};
|
||||
|
||||
/* Struct passed to FS_IOC_REMOVE_ENCRYPTION_KEY */
|
||||
struct fscrypt_remove_key_arg {
|
||||
struct fscrypt_key_specifier key_spec;
|
||||
#define FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY 0x00000001
|
||||
#define FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS 0x00000002
|
||||
__u32 removal_status_flags; /* output */
|
||||
__u32 __reserved[5];
|
||||
};
|
||||
|
||||
/* Struct passed to FS_IOC_GET_ENCRYPTION_KEY_STATUS */
|
||||
struct fscrypt_get_key_status_arg {
|
||||
/* input */
|
||||
struct fscrypt_key_specifier key_spec;
|
||||
__u32 __reserved[6];
|
||||
|
||||
/* output */
|
||||
#define FSCRYPT_KEY_STATUS_ABSENT 1
|
||||
#define FSCRYPT_KEY_STATUS_PRESENT 2
|
||||
#define FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED 3
|
||||
__u32 status;
|
||||
#define FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF 0x00000001
|
||||
__u32 status_flags;
|
||||
__u32 user_count;
|
||||
__u32 __out_reserved[13];
|
||||
};
|
||||
|
||||
#define FS_IOC_SET_ENCRYPTION_POLICY _IOR('f', 19, struct fscrypt_policy)
|
||||
#define FS_IOC_GET_ENCRYPTION_PWSALT _IOW('f', 20, __u8[16])
|
||||
#define FS_IOC_GET_ENCRYPTION_POLICY _IOW('f', 21, struct fscrypt_policy)
|
||||
#define FS_IOC_GET_ENCRYPTION_POLICY_EX _IOWR('f', 22, __u8[9]) /* size + version */
|
||||
#define FS_IOC_ADD_ENCRYPTION_KEY _IOWR('f', 23, struct fscrypt_add_key_arg)
|
||||
#define FS_IOC_REMOVE_ENCRYPTION_KEY _IOWR('f', 24, struct fscrypt_remove_key_arg)
|
||||
#define FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS _IOWR('f', 25, struct fscrypt_remove_key_arg)
|
||||
#define FS_IOC_GET_ENCRYPTION_KEY_STATUS _IOWR('f', 26, struct fscrypt_get_key_status_arg)
|
||||
|
||||
/**********************************************************************/
|
||||
|
||||
/* old names; don't add anything new here! */
|
||||
#ifndef __KERNEL__
|
||||
#define FS_KEY_DESCRIPTOR_SIZE FSCRYPT_KEY_DESCRIPTOR_SIZE
|
||||
#define FS_POLICY_FLAGS_PAD_4 FSCRYPT_POLICY_FLAGS_PAD_4
|
||||
#define FS_POLICY_FLAGS_PAD_8 FSCRYPT_POLICY_FLAGS_PAD_8
|
||||
#define FS_POLICY_FLAGS_PAD_16 FSCRYPT_POLICY_FLAGS_PAD_16
|
||||
#define FS_POLICY_FLAGS_PAD_32 FSCRYPT_POLICY_FLAGS_PAD_32
|
||||
#define FS_POLICY_FLAGS_PAD_MASK FSCRYPT_POLICY_FLAGS_PAD_MASK
|
||||
#define FS_POLICY_FLAG_DIRECT_KEY FSCRYPT_POLICY_FLAG_DIRECT_KEY
|
||||
#define FS_POLICY_FLAGS_VALID FSCRYPT_POLICY_FLAGS_VALID
|
||||
#define FS_ENCRYPTION_MODE_INVALID 0 /* never used */
|
||||
#define FS_ENCRYPTION_MODE_AES_256_XTS FSCRYPT_MODE_AES_256_XTS
|
||||
#define FS_ENCRYPTION_MODE_AES_256_GCM 2 /* never used */
|
||||
#define FS_ENCRYPTION_MODE_AES_256_CBC 3 /* never used */
|
||||
#define FS_ENCRYPTION_MODE_AES_256_CTS FSCRYPT_MODE_AES_256_CTS
|
||||
#define FS_ENCRYPTION_MODE_AES_128_CBC FSCRYPT_MODE_AES_128_CBC
|
||||
#define FS_ENCRYPTION_MODE_AES_128_CTS FSCRYPT_MODE_AES_128_CTS
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_XTS 7 /* removed */
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_CTS 8 /* removed */
|
||||
#define FS_ENCRYPTION_MODE_ADIANTUM FSCRYPT_MODE_ADIANTUM
|
||||
#define FS_KEY_DESC_PREFIX FSCRYPT_KEY_DESC_PREFIX
|
||||
#define FS_KEY_DESC_PREFIX_SIZE FSCRYPT_KEY_DESC_PREFIX_SIZE
|
||||
#define FS_MAX_KEY_SIZE FSCRYPT_MAX_KEY_SIZE
|
||||
#endif /* !__KERNEL__ */
|
||||
|
||||
#endif /* _UAPI_LINUX_FSCRYPT_H */
|
40
include/uapi/linux/fsverity.h
Normal file
40
include/uapi/linux/fsverity.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* fs-verity user API
|
||||
*
|
||||
* These ioctls can be used on filesystems that support fs-verity. See the
|
||||
* "User API" section of Documentation/filesystems/fsverity.rst.
|
||||
*
|
||||
* Copyright 2019 Google LLC
|
||||
*/
|
||||
#ifndef _UAPI_LINUX_FSVERITY_H
|
||||
#define _UAPI_LINUX_FSVERITY_H
|
||||
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#define FS_VERITY_HASH_ALG_SHA256 1
|
||||
#define FS_VERITY_HASH_ALG_SHA512 2
|
||||
|
||||
struct fsverity_enable_arg {
|
||||
__u32 version;
|
||||
__u32 hash_algorithm;
|
||||
__u32 block_size;
|
||||
__u32 salt_size;
|
||||
__u64 salt_ptr;
|
||||
__u32 sig_size;
|
||||
__u32 __reserved1;
|
||||
__u64 sig_ptr;
|
||||
__u64 __reserved2[11];
|
||||
};
|
||||
|
||||
struct fsverity_digest {
|
||||
__u16 digest_algorithm;
|
||||
__u16 digest_size; /* input/output */
|
||||
__u8 digest[];
|
||||
};
|
||||
|
||||
#define FS_IOC_ENABLE_VERITY _IOW('f', 133, struct fsverity_enable_arg)
|
||||
#define FS_IOC_MEASURE_VERITY _IOWR('f', 134, struct fsverity_digest)
|
||||
|
||||
#endif /* _UAPI_LINUX_FSVERITY_H */
|
@@ -133,6 +133,8 @@
|
||||
*
|
||||
* 7.31
|
||||
* - add FUSE_WRITE_KILL_PRIV flag
|
||||
* - add FUSE_SETUPMAPPING and FUSE_REMOVEMAPPING
|
||||
* - add map_alignment to fuse_init_out, add FUSE_MAP_ALIGNMENT flag
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_FUSE_H
|
||||
@@ -274,6 +276,7 @@ struct fuse_file_lock {
|
||||
* FUSE_CACHE_SYMLINKS: cache READLINK responses
|
||||
* FUSE_NO_OPENDIR_SUPPORT: kernel supports zero-message opendir
|
||||
* FUSE_EXPLICIT_INVAL_DATA: only invalidate cached pages on explicit request
|
||||
* FUSE_MAP_ALIGNMENT: map_alignment field is valid
|
||||
*/
|
||||
#define FUSE_ASYNC_READ (1 << 0)
|
||||
#define FUSE_POSIX_LOCKS (1 << 1)
|
||||
@@ -301,6 +304,7 @@ struct fuse_file_lock {
|
||||
#define FUSE_CACHE_SYMLINKS (1 << 23)
|
||||
#define FUSE_NO_OPENDIR_SUPPORT (1 << 24)
|
||||
#define FUSE_EXPLICIT_INVAL_DATA (1 << 25)
|
||||
#define FUSE_MAP_ALIGNMENT (1 << 26)
|
||||
|
||||
/**
|
||||
* CUSE INIT request/reply flags
|
||||
@@ -422,9 +426,15 @@ enum fuse_opcode {
|
||||
FUSE_RENAME2 = 45,
|
||||
FUSE_LSEEK = 46,
|
||||
FUSE_COPY_FILE_RANGE = 47,
|
||||
FUSE_SETUPMAPPING = 48,
|
||||
FUSE_REMOVEMAPPING = 49,
|
||||
|
||||
/* CUSE specific operations */
|
||||
CUSE_INIT = 4096,
|
||||
|
||||
/* Reserved opcodes: helpful to detect structure endian-ness */
|
||||
CUSE_INIT_BSWAP_RESERVED = 1048576, /* CUSE_INIT << 8 */
|
||||
FUSE_INIT_BSWAP_RESERVED = 436207616, /* FUSE_INIT << 24 */
|
||||
};
|
||||
|
||||
enum fuse_notify_code {
|
||||
@@ -652,7 +662,7 @@ struct fuse_init_out {
|
||||
uint32_t max_write;
|
||||
uint32_t time_gran;
|
||||
uint16_t max_pages;
|
||||
uint16_t padding;
|
||||
uint16_t map_alignment;
|
||||
uint32_t unused[8];
|
||||
};
|
||||
|
||||
|
@@ -37,5 +37,7 @@ struct gsm_netconfig {
|
||||
#define GSMIOC_ENABLE_NET _IOW('G', 2, struct gsm_netconfig)
|
||||
#define GSMIOC_DISABLE_NET _IO('G', 3)
|
||||
|
||||
/* get the base tty number for a configured gsmmux tty */
|
||||
#define GSMIOC_GETFIRST _IOR('G', 4, __u32)
|
||||
|
||||
#endif
|
||||
|
@@ -237,6 +237,7 @@ struct br_mdb_entry {
|
||||
#define MDB_PERMANENT 1
|
||||
__u8 state;
|
||||
#define MDB_FLAGS_OFFLOAD (1 << 0)
|
||||
#define MDB_FLAGS_FAST_LEAVE (1 << 1)
|
||||
__u8 flags;
|
||||
__u16 vid;
|
||||
struct {
|
||||
|
@@ -16,6 +16,18 @@
|
||||
#define XDP_SHARED_UMEM (1 << 0)
|
||||
#define XDP_COPY (1 << 1) /* Force copy-mode */
|
||||
#define XDP_ZEROCOPY (1 << 2) /* Force zero-copy mode */
|
||||
/* If this option is set, the driver might go sleep and in that case
|
||||
* the XDP_RING_NEED_WAKEUP flag in the fill and/or Tx rings will be
|
||||
* set. If it is set, the application need to explicitly wake up the
|
||||
* driver with a poll() (Rx and Tx) or sendto() (Tx only). If you are
|
||||
* running the driver and the application on the same core, you should
|
||||
* use this option so that the kernel will yield to the user space
|
||||
* application.
|
||||
*/
|
||||
#define XDP_USE_NEED_WAKEUP (1 << 3)
|
||||
|
||||
/* Flags for xsk_umem_config flags */
|
||||
#define XDP_UMEM_UNALIGNED_CHUNK_FLAG (1 << 0)
|
||||
|
||||
struct sockaddr_xdp {
|
||||
__u16 sxdp_family;
|
||||
@@ -25,10 +37,14 @@ struct sockaddr_xdp {
|
||||
__u32 sxdp_shared_umem_fd;
|
||||
};
|
||||
|
||||
/* XDP_RING flags */
|
||||
#define XDP_RING_NEED_WAKEUP (1 << 0)
|
||||
|
||||
struct xdp_ring_offset {
|
||||
__u64 producer;
|
||||
__u64 consumer;
|
||||
__u64 desc;
|
||||
__u64 flags;
|
||||
};
|
||||
|
||||
struct xdp_mmap_offsets {
|
||||
@@ -53,6 +69,7 @@ struct xdp_umem_reg {
|
||||
__u64 len; /* Length of packet data area */
|
||||
__u32 chunk_size;
|
||||
__u32 headroom;
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
struct xdp_statistics {
|
||||
@@ -74,6 +91,11 @@ struct xdp_options {
|
||||
#define XDP_UMEM_PGOFF_FILL_RING 0x100000000ULL
|
||||
#define XDP_UMEM_PGOFF_COMPLETION_RING 0x180000000ULL
|
||||
|
||||
/* Masks for unaligned chunks mode */
|
||||
#define XSK_UNALIGNED_BUF_OFFSET_SHIFT 48
|
||||
#define XSK_UNALIGNED_BUF_ADDR_MASK \
|
||||
((1ULL << XSK_UNALIGNED_BUF_OFFSET_SHIFT) - 1)
|
||||
|
||||
/* Rx/Tx descriptor */
|
||||
struct xdp_desc {
|
||||
__u64 addr;
|
||||
|
@@ -153,11 +153,20 @@ enum {
|
||||
INET_DIAG_BBRINFO, /* request as INET_DIAG_VEGASINFO */
|
||||
INET_DIAG_CLASS_ID, /* request as INET_DIAG_TCLASS */
|
||||
INET_DIAG_MD5SIG,
|
||||
INET_DIAG_ULP_INFO,
|
||||
__INET_DIAG_MAX,
|
||||
};
|
||||
|
||||
#define INET_DIAG_MAX (__INET_DIAG_MAX - 1)
|
||||
|
||||
enum {
|
||||
INET_ULP_INFO_UNSPEC,
|
||||
INET_ULP_INFO_NAME,
|
||||
INET_ULP_INFO_TLS,
|
||||
__INET_ULP_INFO_MAX,
|
||||
};
|
||||
#define INET_ULP_INFO_MAX (__INET_ULP_INFO_MAX - 1)
|
||||
|
||||
/* INET_DIAG_MEM */
|
||||
|
||||
struct inet_diag_meminfo {
|
||||
|
@@ -28,6 +28,7 @@ struct io_uring_sqe {
|
||||
__u16 poll_events;
|
||||
__u32 sync_range_flags;
|
||||
__u32 msg_flags;
|
||||
__u32 timeout_flags;
|
||||
};
|
||||
__u64 user_data; /* data to be passed back at completion time */
|
||||
union {
|
||||
@@ -61,6 +62,7 @@ struct io_uring_sqe {
|
||||
#define IORING_OP_SYNC_FILE_RANGE 8
|
||||
#define IORING_OP_SENDMSG 9
|
||||
#define IORING_OP_RECVMSG 10
|
||||
#define IORING_OP_TIMEOUT 11
|
||||
|
||||
/*
|
||||
* sqe->fsync_flags
|
||||
@@ -128,11 +130,17 @@ struct io_uring_params {
|
||||
__u32 flags;
|
||||
__u32 sq_thread_cpu;
|
||||
__u32 sq_thread_idle;
|
||||
__u32 resv[5];
|
||||
__u32 features;
|
||||
__u32 resv[4];
|
||||
struct io_sqring_offsets sq_off;
|
||||
struct io_cqring_offsets cq_off;
|
||||
};
|
||||
|
||||
/*
|
||||
* io_uring_params->features flags
|
||||
*/
|
||||
#define IORING_FEAT_SINGLE_MMAP (1U << 0)
|
||||
|
||||
/*
|
||||
* io_uring_register(2) opcodes and arguments
|
||||
*/
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* Copyright (c) 2015-2018, Intel Corporation.
|
||||
*/
|
||||
|
@@ -16,6 +16,7 @@
|
||||
#define CAPI_MSG_BASELEN 8
|
||||
#define CAPI_DATA_B3_REQ_LEN (CAPI_MSG_BASELEN+4+4+2+2+2)
|
||||
#define CAPI_DATA_B3_RESP_LEN (CAPI_MSG_BASELEN+4+2)
|
||||
#define CAPI_DISCONNECT_B3_RESP_LEN (CAPI_MSG_BASELEN+4)
|
||||
|
||||
/*----- CAPI commands -----*/
|
||||
#define CAPI_ALERT 0x01
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* Intel Speed Select Interface: OS to hardware Interface
|
||||
* Copyright (c) 2019, Intel Corporation.
|
||||
|
@@ -77,11 +77,6 @@
|
||||
|
||||
#define JFFS2_ACL_VERSION 0x0001
|
||||
|
||||
// Maybe later...
|
||||
//#define JFFS2_NODETYPE_CHECKPOINT (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 3)
|
||||
//#define JFFS2_NODETYPE_OPTIONS (JFFS2_FEATURE_RWCOMPAT_COPY | JFFS2_NODE_ACCURATE | 4)
|
||||
|
||||
|
||||
#define JFFS2_INO_FLAG_PREREAD 1 /* Do read_inode() for this one at
|
||||
mount time, don't wait for it to
|
||||
happen later */
|
||||
|
@@ -31,6 +31,7 @@
|
||||
#define KEXEC_ARCH_DEFAULT ( 0 << 16)
|
||||
#define KEXEC_ARCH_386 ( 3 << 16)
|
||||
#define KEXEC_ARCH_68K ( 4 << 16)
|
||||
#define KEXEC_ARCH_PARISC (15 << 16)
|
||||
#define KEXEC_ARCH_X86_64 (62 << 16)
|
||||
#define KEXEC_ARCH_PPC (20 << 16)
|
||||
#define KEXEC_ARCH_PPC64 (21 << 16)
|
||||
|
@@ -410,21 +410,6 @@ struct kfd_ioctl_unmap_memory_from_gpu_args {
|
||||
__u32 n_success; /* to/from KFD */
|
||||
};
|
||||
|
||||
/* Allocate GWS for specific queue
|
||||
*
|
||||
* @gpu_id: device identifier
|
||||
* @queue_id: queue's id that GWS is allocated for
|
||||
* @num_gws: how many GWS to allocate
|
||||
* @first_gws: index of the first GWS allocated.
|
||||
* only support contiguous GWS allocation
|
||||
*/
|
||||
struct kfd_ioctl_alloc_queue_gws_args {
|
||||
__u32 gpu_id; /* to KFD */
|
||||
__u32 queue_id; /* to KFD */
|
||||
__u32 num_gws; /* to KFD */
|
||||
__u32 first_gws; /* from KFD */
|
||||
};
|
||||
|
||||
struct kfd_ioctl_get_dmabuf_info_args {
|
||||
__u64 size; /* from KFD */
|
||||
__u64 metadata_ptr; /* to KFD */
|
||||
@@ -544,10 +529,7 @@ enum kfd_mmio_remap {
|
||||
#define AMDKFD_IOC_IMPORT_DMABUF \
|
||||
AMDKFD_IOWR(0x1D, struct kfd_ioctl_import_dmabuf_args)
|
||||
|
||||
#define AMDKFD_IOC_ALLOC_QUEUE_GWS \
|
||||
AMDKFD_IOWR(0x1E, struct kfd_ioctl_alloc_queue_gws_args)
|
||||
|
||||
#define AMDKFD_COMMAND_START 0x01
|
||||
#define AMDKFD_COMMAND_END 0x1F
|
||||
#define AMDKFD_COMMAND_END 0x1E
|
||||
|
||||
#endif
|
||||
|
@@ -116,7 +116,7 @@ struct kvm_irq_level {
|
||||
* ACPI gsi notion of irq.
|
||||
* For IA-64 (APIC model) IOAPIC0: irq 0-23; IOAPIC1: irq 24-47..
|
||||
* For X86 (standard AT mode) PIC0/1: irq 0-15. IOAPIC0: 0-23..
|
||||
* For ARM: See Documentation/virtual/kvm/api.txt
|
||||
* For ARM: See Documentation/virt/kvm/api.txt
|
||||
*/
|
||||
union {
|
||||
__u32 irq;
|
||||
@@ -243,6 +243,8 @@ struct kvm_hyperv_exit {
|
||||
#define KVM_INTERNAL_ERROR_SIMUL_EX 2
|
||||
/* Encounter unexpected vm-exit due to delivery event. */
|
||||
#define KVM_INTERNAL_ERROR_DELIVERY_EV 3
|
||||
/* Encounter unexpected vm-exit reason */
|
||||
#define KVM_INTERNAL_ERROR_UNEXPECTED_EXIT_REASON 4
|
||||
|
||||
/* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */
|
||||
struct kvm_run {
|
||||
@@ -996,6 +998,8 @@ struct kvm_ppc_resize_hpt {
|
||||
#define KVM_CAP_ARM_PTRAUTH_ADDRESS 171
|
||||
#define KVM_CAP_ARM_PTRAUTH_GENERIC 172
|
||||
#define KVM_CAP_PMU_EVENT_FILTER 173
|
||||
#define KVM_CAP_ARM_IRQ_LINE_LAYOUT_2 174
|
||||
#define KVM_CAP_HYPERV_DIRECT_TLBFLUSH 175
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
@@ -1086,7 +1090,7 @@ struct kvm_xen_hvm_config {
|
||||
*
|
||||
* KVM_IRQFD_FLAG_RESAMPLE indicates resamplefd is valid and specifies
|
||||
* the irqfd to operate in resampling mode for level triggered interrupt
|
||||
* emulation. See Documentation/virtual/kvm/api.txt.
|
||||
* emulation. See Documentation/virt/kvm/api.txt.
|
||||
*/
|
||||
#define KVM_IRQFD_FLAG_RESAMPLE (1 << 1)
|
||||
|
||||
@@ -1142,6 +1146,7 @@ struct kvm_dirty_tlb {
|
||||
#define KVM_REG_S390 0x5000000000000000ULL
|
||||
#define KVM_REG_ARM64 0x6000000000000000ULL
|
||||
#define KVM_REG_MIPS 0x7000000000000000ULL
|
||||
#define KVM_REG_RISCV 0x8000000000000000ULL
|
||||
|
||||
#define KVM_REG_SIZE_SHIFT 52
|
||||
#define KVM_REG_SIZE_MASK 0x00f0000000000000ULL
|
||||
|
@@ -19,6 +19,7 @@
|
||||
#define SQUASHFS_MAGIC 0x73717368
|
||||
#define ECRYPTFS_SUPER_MAGIC 0xf15f
|
||||
#define EFS_SUPER_MAGIC 0x414A53
|
||||
#define EROFS_SUPER_MAGIC_V1 0xE0F5E1E2
|
||||
#define EXT2_SUPER_MAGIC 0xEF53
|
||||
#define EXT3_SUPER_MAGIC 0xEF53
|
||||
#define XENFS_SUPER_MAGIC 0xabba1974
|
||||
|
@@ -45,11 +45,14 @@
|
||||
#define MDIO_AN_ADVERTISE 16 /* AN advertising (base page) */
|
||||
#define MDIO_AN_LPA 19 /* AN LP abilities (base page) */
|
||||
#define MDIO_PCS_EEE_ABLE 20 /* EEE Capability register */
|
||||
#define MDIO_PCS_EEE_ABLE2 21 /* EEE Capability register 2 */
|
||||
#define MDIO_PMA_NG_EXTABLE 21 /* 2.5G/5G PMA/PMD extended ability */
|
||||
#define MDIO_PCS_EEE_WK_ERR 22 /* EEE wake error counter */
|
||||
#define MDIO_PHYXS_LNSTAT 24 /* PHY XGXS lane state */
|
||||
#define MDIO_AN_EEE_ADV 60 /* EEE advertisement */
|
||||
#define MDIO_AN_EEE_LPABLE 61 /* EEE link partner ability */
|
||||
#define MDIO_AN_EEE_ADV2 62 /* EEE advertisement 2 */
|
||||
#define MDIO_AN_EEE_LPABLE2 63 /* EEE link partner ability 2 */
|
||||
|
||||
/* Media-dependent registers. */
|
||||
#define MDIO_PMA_10GBT_SWAPPOL 130 /* 10GBASE-T pair swap & polarity */
|
||||
@@ -276,6 +279,13 @@
|
||||
#define MDIO_EEE_1000KX 0x0010 /* 1000KX EEE cap */
|
||||
#define MDIO_EEE_10GKX4 0x0020 /* 10G KX4 EEE cap */
|
||||
#define MDIO_EEE_10GKR 0x0040 /* 10G KR EEE cap */
|
||||
#define MDIO_EEE_40GR_FW 0x0100 /* 40G R fast wake */
|
||||
#define MDIO_EEE_40GR_DS 0x0200 /* 40G R deep sleep */
|
||||
#define MDIO_EEE_100GR_FW 0x1000 /* 100G R fast wake */
|
||||
#define MDIO_EEE_100GR_DS 0x2000 /* 100G R deep sleep */
|
||||
|
||||
#define MDIO_EEE_2_5GT 0x0001 /* 2.5GT EEE cap */
|
||||
#define MDIO_EEE_5GT 0x0002 /* 5GT EEE cap */
|
||||
|
||||
/* 2.5G/5G Extended abilities register. */
|
||||
#define MDIO_PMA_NG_EXTABLE_2_5GBT 0x0001 /* 2.5GBASET ability */
|
||||
|
@@ -53,6 +53,11 @@ enum {
|
||||
NET_DM_CMD_CONFIG,
|
||||
NET_DM_CMD_START,
|
||||
NET_DM_CMD_STOP,
|
||||
NET_DM_CMD_PACKET_ALERT,
|
||||
NET_DM_CMD_CONFIG_GET,
|
||||
NET_DM_CMD_CONFIG_NEW,
|
||||
NET_DM_CMD_STATS_GET,
|
||||
NET_DM_CMD_STATS_NEW,
|
||||
_NET_DM_CMD_MAX,
|
||||
};
|
||||
|
||||
@@ -62,4 +67,65 @@ enum {
|
||||
* Our group identifiers
|
||||
*/
|
||||
#define NET_DM_GRP_ALERT 1
|
||||
|
||||
enum net_dm_attr {
|
||||
NET_DM_ATTR_UNSPEC,
|
||||
|
||||
NET_DM_ATTR_ALERT_MODE, /* u8 */
|
||||
NET_DM_ATTR_PC, /* u64 */
|
||||
NET_DM_ATTR_SYMBOL, /* string */
|
||||
NET_DM_ATTR_IN_PORT, /* nested */
|
||||
NET_DM_ATTR_TIMESTAMP, /* u64 */
|
||||
NET_DM_ATTR_PROTO, /* u16 */
|
||||
NET_DM_ATTR_PAYLOAD, /* binary */
|
||||
NET_DM_ATTR_PAD,
|
||||
NET_DM_ATTR_TRUNC_LEN, /* u32 */
|
||||
NET_DM_ATTR_ORIG_LEN, /* u32 */
|
||||
NET_DM_ATTR_QUEUE_LEN, /* u32 */
|
||||
NET_DM_ATTR_STATS, /* nested */
|
||||
NET_DM_ATTR_HW_STATS, /* nested */
|
||||
NET_DM_ATTR_ORIGIN, /* u16 */
|
||||
NET_DM_ATTR_HW_TRAP_GROUP_NAME, /* string */
|
||||
NET_DM_ATTR_HW_TRAP_NAME, /* string */
|
||||
NET_DM_ATTR_HW_ENTRIES, /* nested */
|
||||
NET_DM_ATTR_HW_ENTRY, /* nested */
|
||||
NET_DM_ATTR_HW_TRAP_COUNT, /* u32 */
|
||||
NET_DM_ATTR_SW_DROPS, /* flag */
|
||||
NET_DM_ATTR_HW_DROPS, /* flag */
|
||||
|
||||
__NET_DM_ATTR_MAX,
|
||||
NET_DM_ATTR_MAX = __NET_DM_ATTR_MAX - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum net_dm_alert_mode - Alert mode.
|
||||
* @NET_DM_ALERT_MODE_SUMMARY: A summary of recent drops is sent to user space.
|
||||
* @NET_DM_ALERT_MODE_PACKET: Each dropped packet is sent to user space along
|
||||
* with metadata.
|
||||
*/
|
||||
enum net_dm_alert_mode {
|
||||
NET_DM_ALERT_MODE_SUMMARY,
|
||||
NET_DM_ALERT_MODE_PACKET,
|
||||
};
|
||||
|
||||
enum {
|
||||
NET_DM_ATTR_PORT_NETDEV_IFINDEX, /* u32 */
|
||||
NET_DM_ATTR_PORT_NETDEV_NAME, /* string */
|
||||
|
||||
__NET_DM_ATTR_PORT_MAX,
|
||||
NET_DM_ATTR_PORT_MAX = __NET_DM_ATTR_PORT_MAX - 1
|
||||
};
|
||||
|
||||
enum {
|
||||
NET_DM_ATTR_STATS_DROPPED, /* u64 */
|
||||
|
||||
__NET_DM_ATTR_STATS_MAX,
|
||||
NET_DM_ATTR_STATS_MAX = __NET_DM_ATTR_STATS_MAX - 1
|
||||
};
|
||||
|
||||
enum net_dm_origin {
|
||||
NET_DM_ORIGIN_SW,
|
||||
NET_DM_ORIGIN_HW,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef _NF_SYNPROXY_H
|
||||
#define _NF_SYNPROXY_H
|
||||
|
||||
|
@@ -636,6 +636,7 @@ enum nft_lookup_attributes {
|
||||
enum nft_dynset_ops {
|
||||
NFT_DYNSET_OP_ADD,
|
||||
NFT_DYNSET_OP_UPDATE,
|
||||
NFT_DYNSET_OP_DELETE,
|
||||
};
|
||||
|
||||
enum nft_dynset_flags {
|
||||
@@ -799,6 +800,9 @@ enum nft_exthdr_attributes {
|
||||
* @NFT_META_OIFKIND: packet output interface kind name (dev->rtnl_link_ops->kind)
|
||||
* @NFT_META_BRI_IIFPVID: packet input bridge port pvid
|
||||
* @NFT_META_BRI_IIFVPROTO: packet input bridge vlan proto
|
||||
* @NFT_META_TIME_NS: time since epoch (in nanoseconds)
|
||||
* @NFT_META_TIME_DAY: day of week (from 0 = Sunday to 6 = Saturday)
|
||||
* @NFT_META_TIME_HOUR: hour of day (in seconds)
|
||||
*/
|
||||
enum nft_meta_keys {
|
||||
NFT_META_LEN,
|
||||
@@ -831,6 +835,9 @@ enum nft_meta_keys {
|
||||
NFT_META_OIFKIND,
|
||||
NFT_META_BRI_IIFPVID,
|
||||
NFT_META_BRI_IIFVPROTO,
|
||||
NFT_META_TIME_NS,
|
||||
NFT_META_TIME_DAY,
|
||||
NFT_META_TIME_HOUR,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1474,7 +1481,8 @@ enum nft_ct_expectation_attributes {
|
||||
#define NFT_OBJECT_CT_TIMEOUT 7
|
||||
#define NFT_OBJECT_SECMARK 8
|
||||
#define NFT_OBJECT_CT_EXPECT 9
|
||||
#define __NFT_OBJECT_MAX 10
|
||||
#define NFT_OBJECT_SYNPROXY 10
|
||||
#define __NFT_OBJECT_MAX 11
|
||||
#define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1)
|
||||
|
||||
/**
|
||||
|
@@ -33,6 +33,15 @@ struct nfulnl_msg_packet_timestamp {
|
||||
__aligned_be64 usec;
|
||||
};
|
||||
|
||||
enum nfulnl_vlan_attr {
|
||||
NFULA_VLAN_UNSPEC,
|
||||
NFULA_VLAN_PROTO, /* __be16 skb vlan_proto */
|
||||
NFULA_VLAN_TCI, /* __be16 skb htons(vlan_tci) */
|
||||
__NFULA_VLAN_MAX,
|
||||
};
|
||||
|
||||
#define NFULA_VLAN_MAX (__NFULA_VLAN_MAX + 1)
|
||||
|
||||
enum nfulnl_attr_type {
|
||||
NFULA_UNSPEC,
|
||||
NFULA_PACKET_HDR,
|
||||
@@ -54,6 +63,8 @@ enum nfulnl_attr_type {
|
||||
NFULA_HWLEN, /* hardware header length */
|
||||
NFULA_CT, /* nf_conntrack_netlink.h */
|
||||
NFULA_CT_INFO, /* enum ip_conntrack_info */
|
||||
NFULA_VLAN, /* nested attribute: packet vlan info */
|
||||
NFULA_L2HDR, /* full L2 header */
|
||||
|
||||
__NFULA_MAX
|
||||
};
|
||||
|
@@ -1,4 +1,8 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
|
||||
#ifndef _UAPI_XT_CONNLABEL_H
|
||||
#define _UAPI_XT_CONNLABEL_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define XT_CONNLABEL_MAXBIT 127
|
||||
@@ -11,3 +15,5 @@ struct xt_connlabel_mtinfo {
|
||||
__u16 bit;
|
||||
__u16 options;
|
||||
};
|
||||
|
||||
#endif /* _UAPI_XT_CONNLABEL_H */
|
||||
|
@@ -11,4 +11,9 @@ struct xt_nfacct_match_info {
|
||||
struct nf_acct *nfacct;
|
||||
};
|
||||
|
||||
struct xt_nfacct_match_info_v1 {
|
||||
char name[NFACCT_NAME_MAX];
|
||||
struct nf_acct *nfacct __attribute__((aligned(8)));
|
||||
};
|
||||
|
||||
#endif /* _XT_NFACCT_MATCH_H */
|
||||
|
@@ -2,6 +2,7 @@
|
||||
#ifndef _XT_POLICY_H
|
||||
#define _XT_POLICY_H
|
||||
|
||||
#include <linux/netfilter.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/in.h>
|
||||
#include <linux/in6.h>
|
||||
|
@@ -123,7 +123,7 @@ struct ebt_entry_match {
|
||||
union {
|
||||
struct {
|
||||
char name[EBT_EXTENSION_MAXNAMELEN];
|
||||
uint8_t revision;
|
||||
__u8 revision;
|
||||
};
|
||||
struct xt_match *match;
|
||||
} u;
|
||||
@@ -136,7 +136,7 @@ struct ebt_entry_watcher {
|
||||
union {
|
||||
struct {
|
||||
char name[EBT_EXTENSION_MAXNAMELEN];
|
||||
uint8_t revision;
|
||||
__u8 revision;
|
||||
};
|
||||
struct xt_target *watcher;
|
||||
} u;
|
||||
@@ -149,7 +149,7 @@ struct ebt_entry_target {
|
||||
union {
|
||||
struct {
|
||||
char name[EBT_EXTENSION_MAXNAMELEN];
|
||||
uint8_t revision;
|
||||
__u8 revision;
|
||||
};
|
||||
struct xt_target *target;
|
||||
} u;
|
||||
|
@@ -2,8 +2,6 @@
|
||||
#ifndef _IPT_LOG_H
|
||||
#define _IPT_LOG_H
|
||||
|
||||
#warning "Please update iptables, this file will be removed soon!"
|
||||
|
||||
/* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */
|
||||
#define IPT_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */
|
||||
#define IPT_LOG_TCPOPT 0x02 /* Log TCP options */
|
||||
|
@@ -2,8 +2,6 @@
|
||||
#ifndef _IP6T_LOG_H
|
||||
#define _IP6T_LOG_H
|
||||
|
||||
#warning "Please update iptables, this file will be removed soon!"
|
||||
|
||||
/* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */
|
||||
#define IP6T_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */
|
||||
#define IP6T_LOG_TCPOPT 0x02 /* Log TCP options */
|
||||
|
@@ -26,17 +26,22 @@
|
||||
#include <linux/types.h>
|
||||
|
||||
/* latest upcall version available */
|
||||
#define CLD_UPCALL_VERSION 1
|
||||
#define CLD_UPCALL_VERSION 2
|
||||
|
||||
/* defined by RFC3530 */
|
||||
#define NFS4_OPAQUE_LIMIT 1024
|
||||
|
||||
#ifndef SHA256_DIGEST_SIZE
|
||||
#define SHA256_DIGEST_SIZE 32
|
||||
#endif
|
||||
|
||||
enum cld_command {
|
||||
Cld_Create, /* create a record for this cm_id */
|
||||
Cld_Remove, /* remove record of this cm_id */
|
||||
Cld_Check, /* is this cm_id allowed? */
|
||||
Cld_GraceDone, /* grace period is complete */
|
||||
Cld_GraceStart,
|
||||
Cld_GraceStart, /* grace start (upload client records) */
|
||||
Cld_GetVersion, /* query max supported upcall version */
|
||||
};
|
||||
|
||||
/* representation of long-form NFSv4 client ID */
|
||||
@@ -45,6 +50,17 @@ struct cld_name {
|
||||
unsigned char cn_id[NFS4_OPAQUE_LIMIT]; /* client-provided */
|
||||
} __attribute__((packed));
|
||||
|
||||
/* sha256 hash of the kerberos principal */
|
||||
struct cld_princhash {
|
||||
__u8 cp_len; /* length of cp_data */
|
||||
unsigned char cp_data[SHA256_DIGEST_SIZE]; /* hash of principal */
|
||||
} __attribute__((packed));
|
||||
|
||||
struct cld_clntinfo {
|
||||
struct cld_name cc_name;
|
||||
struct cld_princhash cc_princhash;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* message struct for communication with userspace */
|
||||
struct cld_msg {
|
||||
__u8 cm_vers; /* upcall version */
|
||||
@@ -54,7 +70,28 @@ struct cld_msg {
|
||||
union {
|
||||
__s64 cm_gracetime; /* grace period start time */
|
||||
struct cld_name cm_name;
|
||||
__u8 cm_version; /* for getting max version */
|
||||
} __attribute__((packed)) cm_u;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* version 2 message can include hash of kerberos principal */
|
||||
struct cld_msg_v2 {
|
||||
__u8 cm_vers; /* upcall version */
|
||||
__u8 cm_cmd; /* upcall command */
|
||||
__s16 cm_status; /* return code */
|
||||
__u32 cm_xid; /* transaction id */
|
||||
union {
|
||||
struct cld_name cm_name;
|
||||
__u8 cm_version; /* for getting max version */
|
||||
struct cld_clntinfo cm_clntinfo; /* name & princ hash */
|
||||
} __attribute__((packed)) cm_u;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct cld_msg_hdr {
|
||||
__u8 cm_vers; /* upcall version */
|
||||
__u8 cm_cmd; /* upcall command */
|
||||
__s16 cm_status; /* return code */
|
||||
__u32 cm_xid; /* transaction id */
|
||||
} __attribute__((packed));
|
||||
|
||||
#endif /* !_NFSD_CLD_H */
|
||||
|
@@ -52,6 +52,11 @@
|
||||
#define NL80211_MULTICAST_GROUP_NAN "nan"
|
||||
#define NL80211_MULTICAST_GROUP_TESTMODE "testmode"
|
||||
|
||||
#define NL80211_EDMG_BW_CONFIG_MIN 4
|
||||
#define NL80211_EDMG_BW_CONFIG_MAX 15
|
||||
#define NL80211_EDMG_CHANNELS_MIN 1
|
||||
#define NL80211_EDMG_CHANNELS_MAX 0x3c /* 0b00111100 */
|
||||
|
||||
/**
|
||||
* DOC: Station handling
|
||||
*
|
||||
@@ -657,7 +662,9 @@
|
||||
* is used during CSA period.
|
||||
* @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this
|
||||
* command may be used with the corresponding cookie to cancel the wait
|
||||
* time if it is known that it is no longer necessary.
|
||||
* time if it is known that it is no longer necessary. This command is
|
||||
* also sent as an event whenever the driver has completed the off-channel
|
||||
* wait time.
|
||||
* @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility.
|
||||
* @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame
|
||||
* transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies
|
||||
@@ -2356,6 +2363,16 @@ enum nl80211_commands {
|
||||
*
|
||||
* @NL80211_ATTR_TWT_RESPONDER: Enable target wait time responder support.
|
||||
*
|
||||
* @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection
|
||||
* functionality.
|
||||
*
|
||||
* @NL80211_ATTR_WIPHY_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
|
||||
* channel(s) that are allowed to be used for EDMG transmissions.
|
||||
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute)
|
||||
* @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
|
||||
* the allowed channel bandwidth configurations. (u8 attribute)
|
||||
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
@@ -2813,6 +2830,11 @@ enum nl80211_attrs {
|
||||
|
||||
NL80211_ATTR_TWT_RESPONDER,
|
||||
|
||||
NL80211_ATTR_HE_OBSS_PD,
|
||||
|
||||
NL80211_ATTR_WIPHY_EDMG_CHANNELS,
|
||||
NL80211_ATTR_WIPHY_EDMG_BW_CONFIG,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
@@ -2863,7 +2885,7 @@ enum nl80211_attrs {
|
||||
#define NL80211_HT_CAPABILITY_LEN 26
|
||||
#define NL80211_VHT_CAPABILITY_LEN 12
|
||||
#define NL80211_HE_MIN_CAPABILITY_LEN 16
|
||||
#define NL80211_HE_MAX_CAPABILITY_LEN 51
|
||||
#define NL80211_HE_MAX_CAPABILITY_LEN 54
|
||||
#define NL80211_MAX_NR_CIPHER_SUITES 5
|
||||
#define NL80211_MAX_NR_AKM_SUITES 2
|
||||
|
||||
@@ -3194,6 +3216,8 @@ enum nl80211_sta_bss_param {
|
||||
* sent to the station (u64, usec)
|
||||
* @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
|
||||
* @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
|
||||
* @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds)
|
||||
* of STA's association
|
||||
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
||||
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
||||
*/
|
||||
@@ -3240,6 +3264,7 @@ enum nl80211_sta_info {
|
||||
NL80211_STA_INFO_TX_DURATION,
|
||||
NL80211_STA_INFO_AIRTIME_WEIGHT,
|
||||
NL80211_STA_INFO_AIRTIME_LINK_METRIC,
|
||||
NL80211_STA_INFO_ASSOC_AT_BOOTTIME,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_INFO_AFTER_LAST,
|
||||
@@ -3421,6 +3446,12 @@ enum nl80211_band_iftype_attr {
|
||||
* @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE
|
||||
* @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using
|
||||
* attributes from &enum nl80211_band_iftype_attr
|
||||
* @NL80211_BAND_ATTR_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
|
||||
* channel(s) that are allowed to be used for EDMG transmissions.
|
||||
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251.
|
||||
* @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
|
||||
* the allowed channel bandwidth configurations.
|
||||
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
|
||||
* @NL80211_BAND_ATTR_MAX: highest band attribute currently defined
|
||||
* @__NL80211_BAND_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
@@ -3438,6 +3469,9 @@ enum nl80211_band_attr {
|
||||
NL80211_BAND_ATTR_VHT_CAPA,
|
||||
NL80211_BAND_ATTR_IFTYPE_DATA,
|
||||
|
||||
NL80211_BAND_ATTR_EDMG_CHANNELS,
|
||||
NL80211_BAND_ATTR_EDMG_BW_CONFIG,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_BAND_ATTR_AFTER_LAST,
|
||||
NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
|
||||
@@ -3836,6 +3870,8 @@ enum nl80211_user_reg_hint_type {
|
||||
* @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
|
||||
* (on this channel or globally)
|
||||
* @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment
|
||||
* @NL80211_SURVEY_INFO_TIME_BSS_RX: amount of time the radio spent
|
||||
* receiving frames destined to the local BSS
|
||||
* @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
|
||||
* currently defined
|
||||
* @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
|
||||
@@ -3852,6 +3888,7 @@ enum nl80211_survey_info {
|
||||
NL80211_SURVEY_INFO_TIME_TX,
|
||||
NL80211_SURVEY_INFO_TIME_SCAN,
|
||||
NL80211_SURVEY_INFO_PAD,
|
||||
NL80211_SURVEY_INFO_TIME_BSS_RX,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_SURVEY_INFO_AFTER_LAST,
|
||||
@@ -4536,6 +4573,7 @@ enum nl80211_txrate_gi {
|
||||
* @NL80211_BAND_2GHZ: 2.4 GHz ISM band
|
||||
* @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
|
||||
* @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
|
||||
* @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
|
||||
* @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
|
||||
* since newer kernel versions may support more bands
|
||||
*/
|
||||
@@ -4543,6 +4581,7 @@ enum nl80211_band {
|
||||
NL80211_BAND_2GHZ,
|
||||
NL80211_BAND_5GHZ,
|
||||
NL80211_BAND_60GHZ,
|
||||
NL80211_BAND_6GHZ,
|
||||
|
||||
NUM_NL80211_BANDS,
|
||||
};
|
||||
@@ -6488,4 +6527,26 @@ enum nl80211_peer_measurement_ftm_resp {
|
||||
NL80211_PMSR_FTM_RESP_ATTR_MAX = NUM_NL80211_PMSR_FTM_RESP_ATTR - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_obss_pd_attributes - OBSS packet detection attributes
|
||||
* @__NL80211_HE_OBSS_PD_ATTR_INVALID: Invalid
|
||||
*
|
||||
* @NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET: the OBSS PD minimum tx power offset.
|
||||
* @NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET: the OBSS PD maximum tx power offset.
|
||||
*
|
||||
* @__NL80211_HE_OBSS_PD_ATTR_LAST: Internal
|
||||
* @NL80211_HE_OBSS_PD_ATTR_MAX: highest OBSS PD attribute.
|
||||
*/
|
||||
enum nl80211_obss_pd_attributes {
|
||||
__NL80211_HE_OBSS_PD_ATTR_INVALID,
|
||||
|
||||
NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET,
|
||||
NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_HE_OBSS_PD_ATTR_LAST,
|
||||
NL80211_HE_OBSS_PD_ATTR_MAX = __NL80211_HE_OBSS_PD_ATTR_LAST - 1,
|
||||
};
|
||||
|
||||
|
||||
#endif /* __LINUX_NL80211_H */
|
||||
|
@@ -123,6 +123,9 @@ struct ovs_vport_stats {
|
||||
/* Allow datapath to associate multiple Netlink PIDs to each vport */
|
||||
#define OVS_DP_F_VPORT_PIDS (1 << 1)
|
||||
|
||||
/* Allow tc offload recirc sharing */
|
||||
#define OVS_DP_F_TC_RECIRC_SHARING (1 << 2)
|
||||
|
||||
/* Fixed logical ports. */
|
||||
#define OVSP_LOCAL ((__u32)0)
|
||||
|
||||
|
@@ -591,6 +591,7 @@
|
||||
#define PCI_EXP_SLTCTL_CCIE 0x0010 /* Command Completed Interrupt Enable */
|
||||
#define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */
|
||||
#define PCI_EXP_SLTCTL_AIC 0x00c0 /* Attention Indicator Control */
|
||||
#define PCI_EXP_SLTCTL_ATTN_IND_SHIFT 6 /* Attention Indicator shift */
|
||||
#define PCI_EXP_SLTCTL_ATTN_IND_ON 0x0040 /* Attention Indicator on */
|
||||
#define PCI_EXP_SLTCTL_ATTN_IND_BLINK 0x0080 /* Attention Indicator blinking */
|
||||
#define PCI_EXP_SLTCTL_ATTN_IND_OFF 0x00c0 /* Attention Indicator off */
|
||||
@@ -713,7 +714,9 @@
|
||||
#define PCI_EXT_CAP_ID_DPC 0x1D /* Downstream Port Containment */
|
||||
#define PCI_EXT_CAP_ID_L1SS 0x1E /* L1 PM Substates */
|
||||
#define PCI_EXT_CAP_ID_PTM 0x1F /* Precision Time Measurement */
|
||||
#define PCI_EXT_CAP_ID_MAX PCI_EXT_CAP_ID_PTM
|
||||
#define PCI_EXT_CAP_ID_DLF 0x25 /* Data Link Feature */
|
||||
#define PCI_EXT_CAP_ID_PL_16GT 0x26 /* Physical Layer 16.0 GT/s */
|
||||
#define PCI_EXT_CAP_ID_MAX PCI_EXT_CAP_ID_PL_16GT
|
||||
|
||||
#define PCI_EXT_CAP_DSN_SIZEOF 12
|
||||
#define PCI_EXT_CAP_MCAST_ENDPOINT_SIZEOF 40
|
||||
@@ -1053,4 +1056,14 @@
|
||||
#define PCI_L1SS_CTL1_LTR_L12_TH_SCALE 0xe0000000 /* LTR_L1.2_THRESHOLD_Scale */
|
||||
#define PCI_L1SS_CTL2 0x0c /* Control 2 Register */
|
||||
|
||||
/* Data Link Feature */
|
||||
#define PCI_DLF_CAP 0x04 /* Capabilities Register */
|
||||
#define PCI_DLF_EXCHANGE_ENABLE 0x80000000 /* Data Link Feature Exchange Enable */
|
||||
|
||||
/* Physical Layer 16.0 GT/s */
|
||||
#define PCI_PL_16GT_LE_CTRL 0x20 /* Lane Equalization Control Register */
|
||||
#define PCI_PL_16GT_LE_CTRL_DSP_TX_PRESET_MASK 0x0000000F
|
||||
#define PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_MASK 0x000000F0
|
||||
#define PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_SHIFT 4
|
||||
|
||||
#endif /* LINUX_PCI_REGS_H */
|
||||
|
@@ -374,7 +374,8 @@ struct perf_event_attr {
|
||||
namespaces : 1, /* include namespaces data */
|
||||
ksymbol : 1, /* include ksymbol events */
|
||||
bpf_event : 1, /* include bpf events */
|
||||
__reserved_1 : 33;
|
||||
aux_output : 1, /* generate AUX records instead of events */
|
||||
__reserved_1 : 32;
|
||||
|
||||
union {
|
||||
__u32 wakeup_events; /* wakeup every n events */
|
||||
|
@@ -160,6 +160,8 @@ enum {
|
||||
TCA_POLICE_RESULT,
|
||||
TCA_POLICE_TM,
|
||||
TCA_POLICE_PAD,
|
||||
TCA_POLICE_RATE64,
|
||||
TCA_POLICE_PEAKRATE64,
|
||||
__TCA_POLICE_MAX
|
||||
#define TCA_POLICE_RESULT TCA_POLICE_RESULT
|
||||
};
|
||||
|
@@ -1160,7 +1160,8 @@ enum {
|
||||
* [TCA_TAPRIO_ATTR_SCHED_ENTRY_INTERVAL]
|
||||
*/
|
||||
|
||||
#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST 0x1
|
||||
#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST BIT(0)
|
||||
#define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD BIT(1)
|
||||
|
||||
enum {
|
||||
TCA_TAPRIO_ATTR_UNSPEC,
|
||||
|
@@ -15,6 +15,9 @@
|
||||
* Added PPGETMODES/PPGETMODE/PPGETPHASE, Fred Barnes <frmb2@ukc.ac.uk>, 03/01/2001
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_PPDEV_H
|
||||
#define _UAPI_LINUX_PPDEV_H
|
||||
|
||||
#define PP_IOCTL 'p'
|
||||
|
||||
/* Set mode for read/write (e.g. IEEE1284_MODE_EPP) */
|
||||
@@ -97,4 +100,4 @@ struct ppdev_frob_struct {
|
||||
/* only masks user-visible flags */
|
||||
#define PP_FLAGMASK (PP_FASTWRITE | PP_FASTREAD | PP_W91284PIC)
|
||||
|
||||
|
||||
#endif /* _UAPI_LINUX_PPDEV_H */
|
||||
|
@@ -181,7 +181,7 @@ struct prctl_mm_map {
|
||||
#define PR_GET_THP_DISABLE 42
|
||||
|
||||
/*
|
||||
* Tell the kernel to start/stop helping userspace manage bounds tables.
|
||||
* No longer implemented, but left here to ensure the numbers stay reserved:
|
||||
*/
|
||||
#define PR_MPX_ENABLE_MANAGEMENT 43
|
||||
#define PR_MPX_DISABLE_MANAGEMENT 44
|
||||
@@ -229,4 +229,9 @@ struct prctl_mm_map {
|
||||
# define PR_PAC_APDBKEY (1UL << 3)
|
||||
# define PR_PAC_APGAKEY (1UL << 4)
|
||||
|
||||
/* Tagged user address controls for arm64 */
|
||||
#define PR_SET_TAGGED_ADDR_CTRL 55
|
||||
#define PR_GET_TAGGED_ADDR_CTRL 56
|
||||
# define PR_TAGGED_ADDR_ENABLE (1UL << 0)
|
||||
|
||||
#endif /* _LINUX_PRCTL_H */
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
|
||||
/*
|
||||
* Userspace interface for AMD Secure Encrypted Virtualization (SEV)
|
||||
* platform management commands.
|
||||
|
@@ -25,11 +25,43 @@
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/* PTP_xxx bits, for the flags field within the request structures. */
|
||||
/*
|
||||
* Bits of the ptp_extts_request.flags field:
|
||||
*/
|
||||
#define PTP_ENABLE_FEATURE (1<<0)
|
||||
#define PTP_RISING_EDGE (1<<1)
|
||||
#define PTP_FALLING_EDGE (1<<2)
|
||||
|
||||
/*
|
||||
* flag fields valid for the new PTP_EXTTS_REQUEST2 ioctl.
|
||||
*/
|
||||
#define PTP_EXTTS_VALID_FLAGS (PTP_ENABLE_FEATURE | \
|
||||
PTP_RISING_EDGE | \
|
||||
PTP_FALLING_EDGE)
|
||||
|
||||
/*
|
||||
* flag fields valid for the original PTP_EXTTS_REQUEST ioctl.
|
||||
* DO NOT ADD NEW FLAGS HERE.
|
||||
*/
|
||||
#define PTP_EXTTS_V1_VALID_FLAGS (PTP_ENABLE_FEATURE | \
|
||||
PTP_RISING_EDGE | \
|
||||
PTP_FALLING_EDGE)
|
||||
|
||||
/*
|
||||
* Bits of the ptp_perout_request.flags field:
|
||||
*/
|
||||
#define PTP_PEROUT_ONE_SHOT (1<<0)
|
||||
|
||||
/*
|
||||
* flag fields valid for the new PTP_PEROUT_REQUEST2 ioctl.
|
||||
*/
|
||||
#define PTP_PEROUT_VALID_FLAGS (PTP_PEROUT_ONE_SHOT)
|
||||
|
||||
/*
|
||||
* No flags are valid for the original PTP_PEROUT_REQUEST ioctl
|
||||
*/
|
||||
#define PTP_PEROUT_V1_VALID_FLAGS (0)
|
||||
|
||||
/*
|
||||
* struct ptp_clock_time - represents a time value
|
||||
*
|
||||
@@ -67,7 +99,7 @@ struct ptp_perout_request {
|
||||
struct ptp_clock_time start; /* Absolute start time. */
|
||||
struct ptp_clock_time period; /* Desired period, zero means disable. */
|
||||
unsigned int index; /* Which channel to configure. */
|
||||
unsigned int flags; /* Reserved for future use. */
|
||||
unsigned int flags;
|
||||
unsigned int rsv[4]; /* Reserved for future use. */
|
||||
};
|
||||
|
||||
@@ -149,6 +181,18 @@ struct ptp_pin_desc {
|
||||
#define PTP_SYS_OFFSET_EXTENDED \
|
||||
_IOWR(PTP_CLK_MAGIC, 9, struct ptp_sys_offset_extended)
|
||||
|
||||
#define PTP_CLOCK_GETCAPS2 _IOR(PTP_CLK_MAGIC, 10, struct ptp_clock_caps)
|
||||
#define PTP_EXTTS_REQUEST2 _IOW(PTP_CLK_MAGIC, 11, struct ptp_extts_request)
|
||||
#define PTP_PEROUT_REQUEST2 _IOW(PTP_CLK_MAGIC, 12, struct ptp_perout_request)
|
||||
#define PTP_ENABLE_PPS2 _IOW(PTP_CLK_MAGIC, 13, int)
|
||||
#define PTP_SYS_OFFSET2 _IOW(PTP_CLK_MAGIC, 14, struct ptp_sys_offset)
|
||||
#define PTP_PIN_GETFUNC2 _IOWR(PTP_CLK_MAGIC, 15, struct ptp_pin_desc)
|
||||
#define PTP_PIN_SETFUNC2 _IOW(PTP_CLK_MAGIC, 16, struct ptp_pin_desc)
|
||||
#define PTP_SYS_OFFSET_PRECISE2 \
|
||||
_IOWR(PTP_CLK_MAGIC, 17, struct ptp_sys_offset_precise)
|
||||
#define PTP_SYS_OFFSET_EXTENDED2 \
|
||||
_IOWR(PTP_CLK_MAGIC, 18, struct ptp_sys_offset_extended)
|
||||
|
||||
struct ptp_extts_event {
|
||||
struct ptp_clock_time t; /* Time event occured. */
|
||||
unsigned int index; /* Which channel produced the event. */
|
||||
|
@@ -329,6 +329,7 @@ struct mdp_superblock_1 {
|
||||
#define MD_FEATURE_JOURNAL 512 /* support write cache */
|
||||
#define MD_FEATURE_PPL 1024 /* support PPL */
|
||||
#define MD_FEATURE_MULTIPLE_PPLS 2048 /* support for multiple PPLs */
|
||||
#define MD_FEATURE_RAID0_LAYOUT 4096 /* layout is meaningful for RAID0 */
|
||||
#define MD_FEATURE_ALL (MD_FEATURE_BITMAP_OFFSET \
|
||||
|MD_FEATURE_RECOVERY_OFFSET \
|
||||
|MD_FEATURE_RESHAPE_ACTIVE \
|
||||
@@ -341,6 +342,7 @@ struct mdp_superblock_1 {
|
||||
|MD_FEATURE_JOURNAL \
|
||||
|MD_FEATURE_PPL \
|
||||
|MD_FEATURE_MULTIPLE_PPLS \
|
||||
|MD_FEATURE_RAID0_LAYOUT \
|
||||
)
|
||||
|
||||
struct r5l_payload_header {
|
||||
|
@@ -250,6 +250,7 @@ struct rds_info_rdma_connection {
|
||||
__u32 rdma_mr_max;
|
||||
__u32 rdma_mr_size;
|
||||
__u8 tos;
|
||||
__u8 sl;
|
||||
__u32 cache_allocs;
|
||||
};
|
||||
|
||||
@@ -265,6 +266,7 @@ struct rds6_info_rdma_connection {
|
||||
__u32 rdma_mr_max;
|
||||
__u32 rdma_mr_size;
|
||||
__u8 tos;
|
||||
__u8 sl;
|
||||
__u32 cache_allocs;
|
||||
};
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later WITH Linux-syscall-note */
|
||||
/* Types and definitions for AF_RXRPC.
|
||||
*
|
||||
* Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
|
||||
|
@@ -134,6 +134,9 @@ typedef __s32 sctp_assoc_t;
|
||||
#define SCTP_INTERLEAVING_SUPPORTED 125
|
||||
#define SCTP_SENDMSG_CONNECT 126
|
||||
#define SCTP_EVENT 127
|
||||
#define SCTP_ASCONF_SUPPORTED 128
|
||||
#define SCTP_AUTH_SUPPORTED 129
|
||||
#define SCTP_ECN_SUPPORTED 130
|
||||
|
||||
/* PR-SCTP policies */
|
||||
#define SCTP_PR_SCTP_NONE 0x0000
|
||||
|
@@ -150,9 +150,6 @@
|
||||
|
||||
#define PORT_PNX8XXX 70
|
||||
|
||||
/* Hilscher netx */
|
||||
#define PORT_NETX 71
|
||||
|
||||
/* SUN4V Hypervisor Console */
|
||||
#define PORT_SUNHV 72
|
||||
|
||||
@@ -164,9 +161,6 @@
|
||||
/* Blackfin bf5xx */
|
||||
#define PORT_BFIN 75
|
||||
|
||||
/* Micrel KS8695 */
|
||||
#define PORT_KS8695 76
|
||||
|
||||
/* Broadcom SB1250, etc. SOC */
|
||||
#define PORT_SB1250_DUART 77
|
||||
|
||||
@@ -293,4 +287,10 @@
|
||||
/* SiFive UART */
|
||||
#define PORT_SIFIVE_V0 120
|
||||
|
||||
/* Sunix UART */
|
||||
#define PORT_SUNIX 121
|
||||
|
||||
/* Freescale Linflex UART */
|
||||
#define PORT_LINFLEXUART 121
|
||||
|
||||
#endif /* _UAPILINUX_SERIAL_CORE_H */
|
||||
|
@@ -82,5 +82,6 @@
|
||||
#define SERIO_EGALAX 0x3f
|
||||
#define SERIO_PULSE8_CEC 0x40
|
||||
#define SERIO_RAINSHADOW_CEC 0x41
|
||||
#define SERIO_FSIA6B 0x42
|
||||
|
||||
#endif /* _UAPI_SERIO_H */
|
||||
|
@@ -6,17 +6,24 @@
|
||||
* Desired design of maximum size and alignment (see RFC2553)
|
||||
*/
|
||||
#define _K_SS_MAXSIZE 128 /* Implementation specific max size */
|
||||
#define _K_SS_ALIGNSIZE (__alignof__ (struct sockaddr *))
|
||||
/* Implementation specific desired alignment */
|
||||
|
||||
typedef unsigned short __kernel_sa_family_t;
|
||||
|
||||
/*
|
||||
* The definition uses anonymous union and struct in order to control the
|
||||
* default alignment.
|
||||
*/
|
||||
struct __kernel_sockaddr_storage {
|
||||
__kernel_sa_family_t ss_family; /* address family */
|
||||
/* Following field(s) are implementation specific */
|
||||
char __data[_K_SS_MAXSIZE - sizeof(unsigned short)];
|
||||
union {
|
||||
struct {
|
||||
__kernel_sa_family_t ss_family; /* address family */
|
||||
/* Following field(s) are implementation specific */
|
||||
char __data[_K_SS_MAXSIZE - sizeof(unsigned short)];
|
||||
/* space to achieve desired size, */
|
||||
/* _SS_MAXSIZE value minus size of ss_family */
|
||||
} __attribute__ ((aligned(_K_SS_ALIGNSIZE))); /* force desired alignment */
|
||||
};
|
||||
void *__align; /* implementation specific desired alignment */
|
||||
};
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_SOCKET_H */
|
||||
|
@@ -270,6 +270,12 @@ struct tcp_info {
|
||||
__u64 tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans */
|
||||
__u32 tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */
|
||||
__u32 tcpi_reord_seen; /* reordering events seen */
|
||||
|
||||
__u32 tcpi_rcv_ooopack; /* Out-of-order packets received */
|
||||
|
||||
__u32 tcpi_snd_wnd; /* peer's advertised receive window after
|
||||
* scaling (bytes)
|
||||
*/
|
||||
};
|
||||
|
||||
/* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */
|
||||
|
@@ -109,4 +109,19 @@ struct tls12_crypto_info_aes_ccm_128 {
|
||||
unsigned char rec_seq[TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE];
|
||||
};
|
||||
|
||||
enum {
|
||||
TLS_INFO_UNSPEC,
|
||||
TLS_INFO_VERSION,
|
||||
TLS_INFO_CIPHER,
|
||||
TLS_INFO_TXCONF,
|
||||
TLS_INFO_RXCONF,
|
||||
__TLS_INFO_MAX,
|
||||
};
|
||||
#define TLS_INFO_MAX (__TLS_INFO_MAX - 1)
|
||||
|
||||
#define TLS_CONF_BASE 1
|
||||
#define TLS_CONF_SW 2
|
||||
#define TLS_CONF_HW 3
|
||||
#define TLS_CONF_HW_RECORD 4
|
||||
|
||||
#endif /* _UAPI_LINUX_TLS_H */
|
||||
|
@@ -894,6 +894,8 @@ struct usb_ext_cap_descriptor { /* Link Power Management */
|
||||
#define USB_BESL_SUPPORT (1 << 2) /* supports BESL */
|
||||
#define USB_BESL_BASELINE_VALID (1 << 3) /* Baseline BESL valid*/
|
||||
#define USB_BESL_DEEP_VALID (1 << 4) /* Deep BESL valid */
|
||||
#define USB_SET_BESL_BASELINE(p) (((p) & 0xf) << 8)
|
||||
#define USB_SET_BESL_DEEP(p) (((p) & 0xf) << 12)
|
||||
#define USB_GET_BESL_BASELINE(p) (((p) & (0xf << 8)) >> 8)
|
||||
#define USB_GET_BESL_DEEP(p) (((p) & (0xf << 12)) >> 12)
|
||||
} __attribute__((packed));
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
|
||||
/*
|
||||
* g_uvc.h -- USB Video Class Gadget driver API
|
||||
*
|
||||
|
@@ -158,6 +158,7 @@ struct usbdevfs_hub_portinfo {
|
||||
#define USBDEVFS_CAP_MMAP 0x20
|
||||
#define USBDEVFS_CAP_DROP_PRIVILEGES 0x40
|
||||
#define USBDEVFS_CAP_CONNINFO_EX 0x80
|
||||
#define USBDEVFS_CAP_SUSPEND 0x100
|
||||
|
||||
/* USBDEVFS_DISCONNECT_CLAIM flags & struct */
|
||||
|
||||
@@ -223,5 +224,8 @@ struct usbdevfs_streams {
|
||||
* extending size of the data returned.
|
||||
*/
|
||||
#define USBDEVFS_CONNINFO_EX(len) _IOC(_IOC_READ, 'U', 32, len)
|
||||
#define USBDEVFS_FORBID_SUSPEND _IO('U', 33)
|
||||
#define USBDEVFS_ALLOW_SUSPEND _IO('U', 34)
|
||||
#define USBDEVFS_WAIT_FOR_RESUME _IO('U', 35)
|
||||
|
||||
#endif /* _UAPI_LINUX_USBDEVICE_FS_H */
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: (GPL-2.0 OR CDDL-1.0) */
|
||||
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR CDDL-1.0) */
|
||||
/*
|
||||
* Virtual Device for Guest <-> VMM/Host communication, type definitions
|
||||
* which are also used for the vboxguest ioctl interface / by vboxsf
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: (GPL-2.0 OR CDDL-1.0) */
|
||||
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR CDDL-1.0) */
|
||||
/*
|
||||
* VBoxGuest - VirtualBox Guest Additions Driver Interface.
|
||||
*
|
||||
|
@@ -295,15 +295,38 @@ struct vfio_region_info_cap_type {
|
||||
__u32 subtype; /* type specific */
|
||||
};
|
||||
|
||||
/*
|
||||
* List of region types, global per bus driver.
|
||||
* If you introduce a new type, please add it here.
|
||||
*/
|
||||
|
||||
/* PCI region type containing a PCI vendor part */
|
||||
#define VFIO_REGION_TYPE_PCI_VENDOR_TYPE (1 << 31)
|
||||
#define VFIO_REGION_TYPE_PCI_VENDOR_MASK (0xffff)
|
||||
#define VFIO_REGION_TYPE_GFX (1)
|
||||
#define VFIO_REGION_TYPE_CCW (2)
|
||||
|
||||
/* 8086 Vendor sub-types */
|
||||
/* sub-types for VFIO_REGION_TYPE_PCI_* */
|
||||
|
||||
/* 8086 vendor PCI sub-types */
|
||||
#define VFIO_REGION_SUBTYPE_INTEL_IGD_OPREGION (1)
|
||||
#define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG (2)
|
||||
#define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3)
|
||||
|
||||
#define VFIO_REGION_TYPE_GFX (1)
|
||||
/* 10de vendor PCI sub-types */
|
||||
/*
|
||||
* NVIDIA GPU NVlink2 RAM is coherent RAM mapped onto the host address space.
|
||||
*/
|
||||
#define VFIO_REGION_SUBTYPE_NVIDIA_NVLINK2_RAM (1)
|
||||
|
||||
/* 1014 vendor PCI sub-types */
|
||||
/*
|
||||
* IBM NPU NVlink2 ATSD (Address Translation Shootdown) register of NPU
|
||||
* to do TLB invalidation on a GPU.
|
||||
*/
|
||||
#define VFIO_REGION_SUBTYPE_IBM_NVLINK2_ATSD (1)
|
||||
|
||||
/* sub-types for VFIO_REGION_TYPE_GFX */
|
||||
#define VFIO_REGION_SUBTYPE_GFX_EDID (1)
|
||||
|
||||
/**
|
||||
@@ -353,25 +376,9 @@ struct vfio_region_gfx_edid {
|
||||
#define VFIO_DEVICE_GFX_LINK_STATE_DOWN 2
|
||||
};
|
||||
|
||||
#define VFIO_REGION_TYPE_CCW (2)
|
||||
/* ccw sub-types */
|
||||
/* sub-types for VFIO_REGION_TYPE_CCW */
|
||||
#define VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD (1)
|
||||
|
||||
/*
|
||||
* 10de vendor sub-type
|
||||
*
|
||||
* NVIDIA GPU NVlink2 RAM is coherent RAM mapped onto the host address space.
|
||||
*/
|
||||
#define VFIO_REGION_SUBTYPE_NVIDIA_NVLINK2_RAM (1)
|
||||
|
||||
/*
|
||||
* 1014 vendor sub-type
|
||||
*
|
||||
* IBM NPU NVlink2 ATSD (Address Translation Shootdown) register of NPU
|
||||
* to do TLB invalidation on a GPU.
|
||||
*/
|
||||
#define VFIO_REGION_SUBTYPE_IBM_NVLINK2_ATSD (1)
|
||||
|
||||
/*
|
||||
* The MSIX mappable capability informs that MSIX data of a BAR can be mmapped
|
||||
* which allows direct access to non-MSIX registers which happened to be within
|
||||
@@ -714,7 +721,31 @@ struct vfio_iommu_type1_info {
|
||||
__u32 argsz;
|
||||
__u32 flags;
|
||||
#define VFIO_IOMMU_INFO_PGSIZES (1 << 0) /* supported page sizes info */
|
||||
__u64 iova_pgsizes; /* Bitmap of supported page sizes */
|
||||
#define VFIO_IOMMU_INFO_CAPS (1 << 1) /* Info supports caps */
|
||||
__u64 iova_pgsizes; /* Bitmap of supported page sizes */
|
||||
__u32 cap_offset; /* Offset within info struct of first cap */
|
||||
};
|
||||
|
||||
/*
|
||||
* The IOVA capability allows to report the valid IOVA range(s)
|
||||
* excluding any non-relaxable reserved regions exposed by
|
||||
* devices attached to the container. Any DMA map attempt
|
||||
* outside the valid iova range will return error.
|
||||
*
|
||||
* The structures below define version 1 of this capability.
|
||||
*/
|
||||
#define VFIO_IOMMU_TYPE1_INFO_CAP_IOVA_RANGE 1
|
||||
|
||||
struct vfio_iova_range {
|
||||
__u64 start;
|
||||
__u64 end;
|
||||
};
|
||||
|
||||
struct vfio_iommu_type1_info_cap_iova_range {
|
||||
struct vfio_info_cap_header header;
|
||||
__u32 nr_iovas;
|
||||
__u32 reserved;
|
||||
struct vfio_iova_range iova_ranges[];
|
||||
};
|
||||
|
||||
#define VFIO_IOMMU_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
|
||||
|
@@ -518,7 +518,13 @@ struct v4l2_pix_format {
|
||||
#define V4L2_PIX_FMT_RGBX444 v4l2_fourcc('R', 'X', '1', '2') /* 16 rrrrgggg bbbbxxxx */
|
||||
#define V4L2_PIX_FMT_ABGR444 v4l2_fourcc('A', 'B', '1', '2') /* 16 aaaabbbb ggggrrrr */
|
||||
#define V4L2_PIX_FMT_XBGR444 v4l2_fourcc('X', 'B', '1', '2') /* 16 xxxxbbbb ggggrrrr */
|
||||
#define V4L2_PIX_FMT_BGRA444 v4l2_fourcc('B', 'A', '1', '2') /* 16 bbbbgggg rrrraaaa */
|
||||
|
||||
/*
|
||||
* Originally this had 'BA12' as fourcc, but this clashed with the older
|
||||
* V4L2_PIX_FMT_SGRBG12 which inexplicably used that same fourcc.
|
||||
* So use 'GA12' instead for V4L2_PIX_FMT_BGRA444.
|
||||
*/
|
||||
#define V4L2_PIX_FMT_BGRA444 v4l2_fourcc('G', 'A', '1', '2') /* 16 bbbbgggg rrrraaaa */
|
||||
#define V4L2_PIX_FMT_BGRX444 v4l2_fourcc('B', 'X', '1', '2') /* 16 bbbbgggg rrrrxxxx */
|
||||
#define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */
|
||||
#define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') /* 16 ARGB-1-5-5-5 */
|
||||
@@ -768,8 +774,10 @@ struct v4l2_fmtdesc {
|
||||
__u32 reserved[4];
|
||||
};
|
||||
|
||||
#define V4L2_FMT_FLAG_COMPRESSED 0x0001
|
||||
#define V4L2_FMT_FLAG_EMULATED 0x0002
|
||||
#define V4L2_FMT_FLAG_COMPRESSED 0x0001
|
||||
#define V4L2_FMT_FLAG_EMULATED 0x0002
|
||||
#define V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM 0x0004
|
||||
#define V4L2_FMT_FLAG_DYN_RESOLUTION 0x0008
|
||||
|
||||
/* Frame Size and frame rate enumeration */
|
||||
/*
|
||||
|
19
include/uapi/linux/virtio_fs.h
Normal file
19
include/uapi/linux/virtio_fs.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
||||
|
||||
#ifndef _UAPI_LINUX_VIRTIO_FS_H
|
||||
#define _UAPI_LINUX_VIRTIO_FS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/virtio_ids.h>
|
||||
#include <linux/virtio_config.h>
|
||||
#include <linux/virtio_types.h>
|
||||
|
||||
struct virtio_fs_config {
|
||||
/* Filesystem name (UTF-8, not NUL-terminated, padded with NULs) */
|
||||
__u8 tag[36];
|
||||
|
||||
/* Number of request queues */
|
||||
__u32 num_request_queues;
|
||||
} __attribute__((packed));
|
||||
|
||||
#endif /* _UAPI_LINUX_VIRTIO_FS_H */
|
@@ -44,6 +44,7 @@
|
||||
#define VIRTIO_ID_VSOCK 19 /* virtio vsock transport */
|
||||
#define VIRTIO_ID_CRYPTO 20 /* virtio crypto */
|
||||
#define VIRTIO_ID_IOMMU 23 /* virtio IOMMU */
|
||||
#define VIRTIO_ID_FS 26 /* virtio filesystem */
|
||||
#define VIRTIO_ID_PMEM 27 /* virtio pmem */
|
||||
|
||||
#endif /* _LINUX_VIRTIO_IDS_H */
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/* SPDX-License-Identifier: BSD-3-Clause */
|
||||
/*
|
||||
* Virtio-iommu definition v0.9
|
||||
* Virtio-iommu definition v0.12
|
||||
*
|
||||
* Copyright (C) 2018 Arm Ltd.
|
||||
* Copyright (C) 2019 Arm Ltd.
|
||||
*/
|
||||
#ifndef _UAPI_LINUX_VIRTIO_IOMMU_H
|
||||
#define _UAPI_LINUX_VIRTIO_IOMMU_H
|
||||
@@ -11,26 +11,31 @@
|
||||
|
||||
/* Feature bits */
|
||||
#define VIRTIO_IOMMU_F_INPUT_RANGE 0
|
||||
#define VIRTIO_IOMMU_F_DOMAIN_BITS 1
|
||||
#define VIRTIO_IOMMU_F_DOMAIN_RANGE 1
|
||||
#define VIRTIO_IOMMU_F_MAP_UNMAP 2
|
||||
#define VIRTIO_IOMMU_F_BYPASS 3
|
||||
#define VIRTIO_IOMMU_F_PROBE 4
|
||||
#define VIRTIO_IOMMU_F_MMIO 5
|
||||
|
||||
struct virtio_iommu_range {
|
||||
__u64 start;
|
||||
__u64 end;
|
||||
struct virtio_iommu_range_64 {
|
||||
__le64 start;
|
||||
__le64 end;
|
||||
};
|
||||
|
||||
struct virtio_iommu_range_32 {
|
||||
__le32 start;
|
||||
__le32 end;
|
||||
};
|
||||
|
||||
struct virtio_iommu_config {
|
||||
/* Supported page sizes */
|
||||
__u64 page_size_mask;
|
||||
__le64 page_size_mask;
|
||||
/* Supported IOVA range */
|
||||
struct virtio_iommu_range input_range;
|
||||
struct virtio_iommu_range_64 input_range;
|
||||
/* Max domain ID size */
|
||||
__u8 domain_bits;
|
||||
__u8 padding[3];
|
||||
struct virtio_iommu_range_32 domain_range;
|
||||
/* Probe buffer size */
|
||||
__u32 probe_size;
|
||||
__le32 probe_size;
|
||||
};
|
||||
|
||||
/* Request types */
|
||||
@@ -49,6 +54,7 @@ struct virtio_iommu_config {
|
||||
#define VIRTIO_IOMMU_S_RANGE 0x05
|
||||
#define VIRTIO_IOMMU_S_NOENT 0x06
|
||||
#define VIRTIO_IOMMU_S_FAULT 0x07
|
||||
#define VIRTIO_IOMMU_S_NOMEM 0x08
|
||||
|
||||
struct virtio_iommu_req_head {
|
||||
__u8 type;
|
||||
@@ -78,12 +84,10 @@ struct virtio_iommu_req_detach {
|
||||
|
||||
#define VIRTIO_IOMMU_MAP_F_READ (1 << 0)
|
||||
#define VIRTIO_IOMMU_MAP_F_WRITE (1 << 1)
|
||||
#define VIRTIO_IOMMU_MAP_F_EXEC (1 << 2)
|
||||
#define VIRTIO_IOMMU_MAP_F_MMIO (1 << 3)
|
||||
#define VIRTIO_IOMMU_MAP_F_MMIO (1 << 2)
|
||||
|
||||
#define VIRTIO_IOMMU_MAP_F_MASK (VIRTIO_IOMMU_MAP_F_READ | \
|
||||
VIRTIO_IOMMU_MAP_F_WRITE | \
|
||||
VIRTIO_IOMMU_MAP_F_EXEC | \
|
||||
VIRTIO_IOMMU_MAP_F_MMIO)
|
||||
|
||||
struct virtio_iommu_req_map {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
|
||||
/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause */
|
||||
/*
|
||||
* Definitions for virtio-pmem devices.
|
||||
*
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef _UAPI_VMCORE_H
|
||||
#define _UAPI_VMCORE_H
|
||||
|
||||
|
@@ -17,6 +17,7 @@
|
||||
#define P_ALL 0
|
||||
#define P_PID 1
|
||||
#define P_PGID 2
|
||||
#define P_PIDFD 3
|
||||
|
||||
|
||||
#endif /* _UAPI_LINUX_WAIT_H */
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
|
||||
/*
|
||||
* User API methods for ACPI-WMI mapping driver
|
||||
*
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
|
||||
#ifndef __QCOM_FASTRPC_H__
|
||||
#define __QCOM_FASTRPC_H__
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
|
||||
*
|
||||
* Copyright 2016-2018 HabanaLabs, Ltd.
|
||||
* Copyright 2016-2019 HabanaLabs, Ltd.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
*/
|
||||
@@ -28,20 +28,20 @@
|
||||
|
||||
enum goya_queue_id {
|
||||
GOYA_QUEUE_ID_DMA_0 = 0,
|
||||
GOYA_QUEUE_ID_DMA_1,
|
||||
GOYA_QUEUE_ID_DMA_2,
|
||||
GOYA_QUEUE_ID_DMA_3,
|
||||
GOYA_QUEUE_ID_DMA_4,
|
||||
GOYA_QUEUE_ID_CPU_PQ,
|
||||
GOYA_QUEUE_ID_MME, /* Internal queues start here */
|
||||
GOYA_QUEUE_ID_TPC0,
|
||||
GOYA_QUEUE_ID_TPC1,
|
||||
GOYA_QUEUE_ID_TPC2,
|
||||
GOYA_QUEUE_ID_TPC3,
|
||||
GOYA_QUEUE_ID_TPC4,
|
||||
GOYA_QUEUE_ID_TPC5,
|
||||
GOYA_QUEUE_ID_TPC6,
|
||||
GOYA_QUEUE_ID_TPC7,
|
||||
GOYA_QUEUE_ID_DMA_1 = 1,
|
||||
GOYA_QUEUE_ID_DMA_2 = 2,
|
||||
GOYA_QUEUE_ID_DMA_3 = 3,
|
||||
GOYA_QUEUE_ID_DMA_4 = 4,
|
||||
GOYA_QUEUE_ID_CPU_PQ = 5,
|
||||
GOYA_QUEUE_ID_MME = 6, /* Internal queues start here */
|
||||
GOYA_QUEUE_ID_TPC0 = 7,
|
||||
GOYA_QUEUE_ID_TPC1 = 8,
|
||||
GOYA_QUEUE_ID_TPC2 = 9,
|
||||
GOYA_QUEUE_ID_TPC3 = 10,
|
||||
GOYA_QUEUE_ID_TPC4 = 11,
|
||||
GOYA_QUEUE_ID_TPC5 = 12,
|
||||
GOYA_QUEUE_ID_TPC6 = 13,
|
||||
GOYA_QUEUE_ID_TPC7 = 14,
|
||||
GOYA_QUEUE_ID_SIZE
|
||||
};
|
||||
|
||||
@@ -75,12 +75,34 @@ enum hl_device_status {
|
||||
HL_DEVICE_STATUS_MALFUNCTION
|
||||
};
|
||||
|
||||
/* Opcode for management ioctl */
|
||||
#define HL_INFO_HW_IP_INFO 0
|
||||
#define HL_INFO_HW_EVENTS 1
|
||||
#define HL_INFO_DRAM_USAGE 2
|
||||
#define HL_INFO_HW_IDLE 3
|
||||
#define HL_INFO_DEVICE_STATUS 4
|
||||
/* Opcode for management ioctl
|
||||
*
|
||||
* HW_IP_INFO - Receive information about different IP blocks in the
|
||||
* device.
|
||||
* HL_INFO_HW_EVENTS - Receive an array describing how many times each event
|
||||
* occurred since the last hard reset.
|
||||
* HL_INFO_DRAM_USAGE - Retrieve the dram usage inside the device and of the
|
||||
* specific context. This is relevant only for devices
|
||||
* where the dram is managed by the kernel driver
|
||||
* HL_INFO_HW_IDLE - Retrieve information about the idle status of each
|
||||
* internal engine.
|
||||
* HL_INFO_DEVICE_STATUS - Retrieve the device's status. This opcode doesn't
|
||||
* require an open context.
|
||||
* HL_INFO_DEVICE_UTILIZATION - Retrieve the total utilization of the device
|
||||
* over the last period specified by the user.
|
||||
* The period can be between 100ms to 1s, in
|
||||
* resolution of 100ms. The return value is a
|
||||
* percentage of the utilization rate.
|
||||
* HL_INFO_HW_EVENTS_AGGREGATE - Receive an array describing how many times each
|
||||
* event occurred since the driver was loaded.
|
||||
*/
|
||||
#define HL_INFO_HW_IP_INFO 0
|
||||
#define HL_INFO_HW_EVENTS 1
|
||||
#define HL_INFO_DRAM_USAGE 2
|
||||
#define HL_INFO_HW_IDLE 3
|
||||
#define HL_INFO_DEVICE_STATUS 4
|
||||
#define HL_INFO_DEVICE_UTILIZATION 6
|
||||
#define HL_INFO_HW_EVENTS_AGGREGATE 7
|
||||
|
||||
#define HL_INFO_VERSION_MAX_LEN 128
|
||||
|
||||
@@ -122,6 +144,11 @@ struct hl_info_device_status {
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
struct hl_info_device_utilization {
|
||||
__u32 utilization;
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
struct hl_info_args {
|
||||
/* Location of relevant struct in userspace */
|
||||
__u64 return_pointer;
|
||||
@@ -137,8 +164,15 @@ struct hl_info_args {
|
||||
/* HL_INFO_* */
|
||||
__u32 op;
|
||||
|
||||
/* Context ID - Currently not in use */
|
||||
__u32 ctx_id;
|
||||
union {
|
||||
/* Context ID - Currently not in use */
|
||||
__u32 ctx_id;
|
||||
/* Period value for utilization rate (100ms - 1000ms, in 100ms
|
||||
* resolution.
|
||||
*/
|
||||
__u32 period_ms;
|
||||
};
|
||||
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
@@ -295,12 +329,12 @@ struct hl_mem_in {
|
||||
struct {
|
||||
/*
|
||||
* Requested virtual address of mapped memory.
|
||||
* KMD will try to map the requested region to this
|
||||
* hint address, as long as the address is valid and
|
||||
* not already mapped. The user should check the
|
||||
* The driver will try to map the requested region to
|
||||
* this hint address, as long as the address is valid
|
||||
* and not already mapped. The user should check the
|
||||
* returned address of the IOCTL to make sure he got
|
||||
* the hint address. Passing 0 here means that KMD
|
||||
* will choose the address itself.
|
||||
* the hint address. Passing 0 here means that the
|
||||
* driver will choose the address itself.
|
||||
*/
|
||||
__u64 hint_addr;
|
||||
/* Handle returned from HL_MEM_OP_ALLOC */
|
||||
@@ -313,12 +347,12 @@ struct hl_mem_in {
|
||||
__u64 host_virt_addr;
|
||||
/*
|
||||
* Requested virtual address of mapped memory.
|
||||
* KMD will try to map the requested region to this
|
||||
* hint address, as long as the address is valid and
|
||||
* not already mapped. The user should check the
|
||||
* The driver will try to map the requested region to
|
||||
* this hint address, as long as the address is valid
|
||||
* and not already mapped. The user should check the
|
||||
* returned address of the IOCTL to make sure he got
|
||||
* the hint address. Passing 0 here means that KMD
|
||||
* will choose the address itself.
|
||||
* the hint address. Passing 0 here means that the
|
||||
* driver will choose the address itself.
|
||||
*/
|
||||
__u64 hint_addr;
|
||||
/* Size of allocated host memory */
|
||||
@@ -439,7 +473,7 @@ struct hl_debug_params_spmu {
|
||||
#define HL_DEBUG_OP_BMON 4
|
||||
/* Opcode for SPMU component */
|
||||
#define HL_DEBUG_OP_SPMU 5
|
||||
/* Opcode for timestamp */
|
||||
/* Opcode for timestamp (deprecated) */
|
||||
#define HL_DEBUG_OP_TIMESTAMP 6
|
||||
/* Opcode for setting the device into or out of debug mode. The enable
|
||||
* variable should be 1 for enabling debug mode and 0 for disabling it
|
||||
|
448
include/uapi/misc/xilinx_sdfec.h
Normal file
448
include/uapi/misc/xilinx_sdfec.h
Normal file
@@ -0,0 +1,448 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
|
||||
/*
|
||||
* Xilinx SD-FEC
|
||||
*
|
||||
* Copyright (C) 2019 Xilinx, Inc.
|
||||
*
|
||||
* Description:
|
||||
* This driver is developed for SDFEC16 IP. It provides a char device
|
||||
* in sysfs and supports file operations like open(), close() and ioctl().
|
||||
*/
|
||||
#ifndef __XILINX_SDFEC_H__
|
||||
#define __XILINX_SDFEC_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Shared LDPC Tables */
|
||||
#define XSDFEC_LDPC_SC_TABLE_ADDR_BASE (0x10000)
|
||||
#define XSDFEC_LDPC_SC_TABLE_ADDR_HIGH (0x10400)
|
||||
#define XSDFEC_LDPC_LA_TABLE_ADDR_BASE (0x18000)
|
||||
#define XSDFEC_LDPC_LA_TABLE_ADDR_HIGH (0x19000)
|
||||
#define XSDFEC_LDPC_QC_TABLE_ADDR_BASE (0x20000)
|
||||
#define XSDFEC_LDPC_QC_TABLE_ADDR_HIGH (0x28000)
|
||||
|
||||
/* LDPC tables depth */
|
||||
#define XSDFEC_SC_TABLE_DEPTH \
|
||||
(XSDFEC_LDPC_SC_TABLE_ADDR_HIGH - XSDFEC_LDPC_SC_TABLE_ADDR_BASE)
|
||||
#define XSDFEC_LA_TABLE_DEPTH \
|
||||
(XSDFEC_LDPC_LA_TABLE_ADDR_HIGH - XSDFEC_LDPC_LA_TABLE_ADDR_BASE)
|
||||
#define XSDFEC_QC_TABLE_DEPTH \
|
||||
(XSDFEC_LDPC_QC_TABLE_ADDR_HIGH - XSDFEC_LDPC_QC_TABLE_ADDR_BASE)
|
||||
|
||||
/**
|
||||
* enum xsdfec_code - Code Type.
|
||||
* @XSDFEC_TURBO_CODE: Driver is configured for Turbo mode.
|
||||
* @XSDFEC_LDPC_CODE: Driver is configured for LDPC mode.
|
||||
*
|
||||
* This enum is used to indicate the mode of the driver. The mode is determined
|
||||
* by checking which codes are set in the driver. Note that the mode cannot be
|
||||
* changed by the driver.
|
||||
*/
|
||||
enum xsdfec_code {
|
||||
XSDFEC_TURBO_CODE = 0,
|
||||
XSDFEC_LDPC_CODE,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum xsdfec_order - Order
|
||||
* @XSDFEC_MAINTAIN_ORDER: Maintain order execution of blocks.
|
||||
* @XSDFEC_OUT_OF_ORDER: Out-of-order execution of blocks.
|
||||
*
|
||||
* This enum is used to indicate whether the order of blocks can change from
|
||||
* input to output.
|
||||
*/
|
||||
enum xsdfec_order {
|
||||
XSDFEC_MAINTAIN_ORDER = 0,
|
||||
XSDFEC_OUT_OF_ORDER,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum xsdfec_turbo_alg - Turbo Algorithm Type.
|
||||
* @XSDFEC_MAX_SCALE: Max Log-Map algorithm with extrinsic scaling. When
|
||||
* scaling is set to this is equivalent to the Max Log-Map
|
||||
* algorithm.
|
||||
* @XSDFEC_MAX_STAR: Log-Map algorithm.
|
||||
* @XSDFEC_TURBO_ALG_MAX: Used to indicate out of bound Turbo algorithms.
|
||||
*
|
||||
* This enum specifies which Turbo Decode algorithm is in use.
|
||||
*/
|
||||
enum xsdfec_turbo_alg {
|
||||
XSDFEC_MAX_SCALE = 0,
|
||||
XSDFEC_MAX_STAR,
|
||||
XSDFEC_TURBO_ALG_MAX,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum xsdfec_state - State.
|
||||
* @XSDFEC_INIT: Driver is initialized.
|
||||
* @XSDFEC_STARTED: Driver is started.
|
||||
* @XSDFEC_STOPPED: Driver is stopped.
|
||||
* @XSDFEC_NEEDS_RESET: Driver needs to be reset.
|
||||
* @XSDFEC_PL_RECONFIGURE: Programmable Logic needs to be recofigured.
|
||||
*
|
||||
* This enum is used to indicate the state of the driver.
|
||||
*/
|
||||
enum xsdfec_state {
|
||||
XSDFEC_INIT = 0,
|
||||
XSDFEC_STARTED,
|
||||
XSDFEC_STOPPED,
|
||||
XSDFEC_NEEDS_RESET,
|
||||
XSDFEC_PL_RECONFIGURE,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum xsdfec_axis_width - AXIS_WIDTH.DIN Setting for 128-bit width.
|
||||
* @XSDFEC_1x128b: DIN data input stream consists of a 128-bit lane
|
||||
* @XSDFEC_2x128b: DIN data input stream consists of two 128-bit lanes
|
||||
* @XSDFEC_4x128b: DIN data input stream consists of four 128-bit lanes
|
||||
*
|
||||
* This enum is used to indicate the AXIS_WIDTH.DIN setting for 128-bit width.
|
||||
* The number of lanes of the DIN data input stream depends upon the
|
||||
* AXIS_WIDTH.DIN parameter.
|
||||
*/
|
||||
enum xsdfec_axis_width {
|
||||
XSDFEC_1x128b = 1,
|
||||
XSDFEC_2x128b = 2,
|
||||
XSDFEC_4x128b = 4,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum xsdfec_axis_word_include - Words Configuration.
|
||||
* @XSDFEC_FIXED_VALUE: Fixed, the DIN_WORDS AXI4-Stream interface is removed
|
||||
* from the IP instance and is driven with the specified
|
||||
* number of words.
|
||||
* @XSDFEC_IN_BLOCK: In Block, configures the IP instance to expect a single
|
||||
* DIN_WORDS value per input code block. The DIN_WORDS
|
||||
* interface is present.
|
||||
* @XSDFEC_PER_AXI_TRANSACTION: Per Transaction, configures the IP instance to
|
||||
* expect one DIN_WORDS value per input transaction on the DIN interface. The
|
||||
* DIN_WORDS interface is present.
|
||||
* @XSDFEC_AXIS_WORDS_INCLUDE_MAX: Used to indicate out of bound Words
|
||||
* Configurations.
|
||||
*
|
||||
* This enum is used to specify the DIN_WORDS configuration.
|
||||
*/
|
||||
enum xsdfec_axis_word_include {
|
||||
XSDFEC_FIXED_VALUE = 0,
|
||||
XSDFEC_IN_BLOCK,
|
||||
XSDFEC_PER_AXI_TRANSACTION,
|
||||
XSDFEC_AXIS_WORDS_INCLUDE_MAX,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct xsdfec_turbo - User data for Turbo codes.
|
||||
* @alg: Specifies which Turbo decode algorithm to use
|
||||
* @scale: Specifies the extrinsic scaling to apply when the Max Scale algorithm
|
||||
* has been selected
|
||||
*
|
||||
* Turbo code structure to communicate parameters to XSDFEC driver.
|
||||
*/
|
||||
struct xsdfec_turbo {
|
||||
__u32 alg;
|
||||
__u8 scale;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct xsdfec_ldpc_params - User data for LDPC codes.
|
||||
* @n: Number of code word bits
|
||||
* @k: Number of information bits
|
||||
* @psize: Size of sub-matrix
|
||||
* @nlayers: Number of layers in code
|
||||
* @nqc: Quasi Cyclic Number
|
||||
* @nmqc: Number of M-sized QC operations in parity check matrix
|
||||
* @nm: Number of M-size vectors in N
|
||||
* @norm_type: Normalization required or not
|
||||
* @no_packing: Determines if multiple QC ops should be performed
|
||||
* @special_qc: Sub-Matrix property for Circulant weight > 0
|
||||
* @no_final_parity: Decide if final parity check needs to be performed
|
||||
* @max_schedule: Experimental code word scheduling limit
|
||||
* @sc_off: SC offset
|
||||
* @la_off: LA offset
|
||||
* @qc_off: QC offset
|
||||
* @sc_table: Pointer to SC Table which must be page aligned
|
||||
* @la_table: Pointer to LA Table which must be page aligned
|
||||
* @qc_table: Pointer to QC Table which must be page aligned
|
||||
* @code_id: LDPC Code
|
||||
*
|
||||
* This structure describes the LDPC code that is passed to the driver by the
|
||||
* application.
|
||||
*/
|
||||
struct xsdfec_ldpc_params {
|
||||
__u32 n;
|
||||
__u32 k;
|
||||
__u32 psize;
|
||||
__u32 nlayers;
|
||||
__u32 nqc;
|
||||
__u32 nmqc;
|
||||
__u32 nm;
|
||||
__u32 norm_type;
|
||||
__u32 no_packing;
|
||||
__u32 special_qc;
|
||||
__u32 no_final_parity;
|
||||
__u32 max_schedule;
|
||||
__u32 sc_off;
|
||||
__u32 la_off;
|
||||
__u32 qc_off;
|
||||
__u32 *sc_table;
|
||||
__u32 *la_table;
|
||||
__u32 *qc_table;
|
||||
__u16 code_id;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct xsdfec_status - Status of SD-FEC core.
|
||||
* @state: State of the SD-FEC core
|
||||
* @activity: Describes if the SD-FEC instance is Active
|
||||
*/
|
||||
struct xsdfec_status {
|
||||
__u32 state;
|
||||
__s8 activity;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct xsdfec_irq - Enabling or Disabling Interrupts.
|
||||
* @enable_isr: If true enables the ISR
|
||||
* @enable_ecc_isr: If true enables the ECC ISR
|
||||
*/
|
||||
struct xsdfec_irq {
|
||||
__s8 enable_isr;
|
||||
__s8 enable_ecc_isr;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct xsdfec_config - Configuration of SD-FEC core.
|
||||
* @code: The codes being used by the SD-FEC instance
|
||||
* @order: Order of Operation
|
||||
* @din_width: Width of the DIN AXI4-Stream
|
||||
* @din_word_include: How DIN_WORDS are inputted
|
||||
* @dout_width: Width of the DOUT AXI4-Stream
|
||||
* @dout_word_include: HOW DOUT_WORDS are outputted
|
||||
* @irq: Enabling or disabling interrupts
|
||||
* @bypass: Is the core being bypassed
|
||||
* @code_wr_protect: Is write protection of LDPC codes enabled
|
||||
*/
|
||||
struct xsdfec_config {
|
||||
__u32 code;
|
||||
__u32 order;
|
||||
__u32 din_width;
|
||||
__u32 din_word_include;
|
||||
__u32 dout_width;
|
||||
__u32 dout_word_include;
|
||||
struct xsdfec_irq irq;
|
||||
__s8 bypass;
|
||||
__s8 code_wr_protect;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct xsdfec_stats - Stats retrived by ioctl XSDFEC_GET_STATS. Used
|
||||
* to buffer atomic_t variables from struct
|
||||
* xsdfec_dev. Counts are accumulated until
|
||||
* the user clears them.
|
||||
* @isr_err_count: Count of ISR errors
|
||||
* @cecc_count: Count of Correctable ECC errors (SBE)
|
||||
* @uecc_count: Count of Uncorrectable ECC errors (MBE)
|
||||
*/
|
||||
struct xsdfec_stats {
|
||||
__u32 isr_err_count;
|
||||
__u32 cecc_count;
|
||||
__u32 uecc_count;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct xsdfec_ldpc_param_table_sizes - Used to store sizes of SD-FEC table
|
||||
* entries for an individual LPDC code
|
||||
* parameter.
|
||||
* @sc_size: Size of SC table used
|
||||
* @la_size: Size of LA table used
|
||||
* @qc_size: Size of QC table used
|
||||
*/
|
||||
struct xsdfec_ldpc_param_table_sizes {
|
||||
__u32 sc_size;
|
||||
__u32 la_size;
|
||||
__u32 qc_size;
|
||||
};
|
||||
|
||||
/*
|
||||
* XSDFEC IOCTL List
|
||||
*/
|
||||
#define XSDFEC_MAGIC 'f'
|
||||
/**
|
||||
* DOC: XSDFEC_START_DEV
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl to start SD-FEC core
|
||||
*
|
||||
* This fails if the XSDFEC_SET_ORDER ioctl has not been previously called
|
||||
*/
|
||||
#define XSDFEC_START_DEV _IO(XSDFEC_MAGIC, 0)
|
||||
/**
|
||||
* DOC: XSDFEC_STOP_DEV
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl to stop the SD-FEC core
|
||||
*/
|
||||
#define XSDFEC_STOP_DEV _IO(XSDFEC_MAGIC, 1)
|
||||
/**
|
||||
* DOC: XSDFEC_GET_STATUS
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl that returns status of SD-FEC core
|
||||
*/
|
||||
#define XSDFEC_GET_STATUS _IOR(XSDFEC_MAGIC, 2, struct xsdfec_status)
|
||||
/**
|
||||
* DOC: XSDFEC_SET_IRQ
|
||||
* @Parameters
|
||||
*
|
||||
* @struct xsdfec_irq *
|
||||
* Pointer to the &struct xsdfec_irq that contains the interrupt settings
|
||||
* for the SD-FEC core
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl to enable or disable irq
|
||||
*/
|
||||
#define XSDFEC_SET_IRQ _IOW(XSDFEC_MAGIC, 3, struct xsdfec_irq)
|
||||
/**
|
||||
* DOC: XSDFEC_SET_TURBO
|
||||
* @Parameters
|
||||
*
|
||||
* @struct xsdfec_turbo *
|
||||
* Pointer to the &struct xsdfec_turbo that contains the Turbo decode
|
||||
* settings for the SD-FEC core
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl that sets the SD-FEC Turbo parameter values
|
||||
*
|
||||
* This can only be used when the driver is in the XSDFEC_STOPPED state
|
||||
*/
|
||||
#define XSDFEC_SET_TURBO _IOW(XSDFEC_MAGIC, 4, struct xsdfec_turbo)
|
||||
/**
|
||||
* DOC: XSDFEC_ADD_LDPC_CODE_PARAMS
|
||||
* @Parameters
|
||||
*
|
||||
* @struct xsdfec_ldpc_params *
|
||||
* Pointer to the &struct xsdfec_ldpc_params that contains the LDPC code
|
||||
* parameters to be added to the SD-FEC Block
|
||||
*
|
||||
* @Description
|
||||
* ioctl to add an LDPC code to the SD-FEC LDPC codes
|
||||
*
|
||||
* This can only be used when:
|
||||
*
|
||||
* - Driver is in the XSDFEC_STOPPED state
|
||||
*
|
||||
* - SD-FEC core is configured as LPDC
|
||||
*
|
||||
* - SD-FEC Code Write Protection is disabled
|
||||
*/
|
||||
#define XSDFEC_ADD_LDPC_CODE_PARAMS \
|
||||
_IOW(XSDFEC_MAGIC, 5, struct xsdfec_ldpc_params)
|
||||
/**
|
||||
* DOC: XSDFEC_GET_CONFIG
|
||||
* @Parameters
|
||||
*
|
||||
* @struct xsdfec_config *
|
||||
* Pointer to the &struct xsdfec_config that contains the current
|
||||
* configuration settings of the SD-FEC Block
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl that returns SD-FEC core configuration
|
||||
*/
|
||||
#define XSDFEC_GET_CONFIG _IOR(XSDFEC_MAGIC, 6, struct xsdfec_config)
|
||||
/**
|
||||
* DOC: XSDFEC_GET_TURBO
|
||||
* @Parameters
|
||||
*
|
||||
* @struct xsdfec_turbo *
|
||||
* Pointer to the &struct xsdfec_turbo that contains the current Turbo
|
||||
* decode settings of the SD-FEC Block
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl that returns SD-FEC turbo param values
|
||||
*/
|
||||
#define XSDFEC_GET_TURBO _IOR(XSDFEC_MAGIC, 7, struct xsdfec_turbo)
|
||||
/**
|
||||
* DOC: XSDFEC_SET_ORDER
|
||||
* @Parameters
|
||||
*
|
||||
* @struct unsigned long *
|
||||
* Pointer to the unsigned long that contains a value from the
|
||||
* @enum xsdfec_order
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl that sets order, if order of blocks can change from input to output
|
||||
*
|
||||
* This can only be used when the driver is in the XSDFEC_STOPPED state
|
||||
*/
|
||||
#define XSDFEC_SET_ORDER _IOW(XSDFEC_MAGIC, 8, unsigned long)
|
||||
/**
|
||||
* DOC: XSDFEC_SET_BYPASS
|
||||
* @Parameters
|
||||
*
|
||||
* @struct bool *
|
||||
* Pointer to bool that sets the bypass value, where false results in
|
||||
* normal operation and false results in the SD-FEC performing the
|
||||
* configured operations (same number of cycles) but output data matches
|
||||
* the input data
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl that sets bypass.
|
||||
*
|
||||
* This can only be used when the driver is in the XSDFEC_STOPPED state
|
||||
*/
|
||||
#define XSDFEC_SET_BYPASS _IOW(XSDFEC_MAGIC, 9, bool)
|
||||
/**
|
||||
* DOC: XSDFEC_IS_ACTIVE
|
||||
* @Parameters
|
||||
*
|
||||
* @struct bool *
|
||||
* Pointer to bool that returns true if the SD-FEC is processing data
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl that determines if SD-FEC is processing data
|
||||
*/
|
||||
#define XSDFEC_IS_ACTIVE _IOR(XSDFEC_MAGIC, 10, bool)
|
||||
/**
|
||||
* DOC: XSDFEC_CLEAR_STATS
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl that clears error stats collected during interrupts
|
||||
*/
|
||||
#define XSDFEC_CLEAR_STATS _IO(XSDFEC_MAGIC, 11)
|
||||
/**
|
||||
* DOC: XSDFEC_GET_STATS
|
||||
* @Parameters
|
||||
*
|
||||
* @struct xsdfec_stats *
|
||||
* Pointer to the &struct xsdfec_stats that will contain the updated stats
|
||||
* values
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl that returns SD-FEC core stats
|
||||
*
|
||||
* This can only be used when the driver is in the XSDFEC_STOPPED state
|
||||
*/
|
||||
#define XSDFEC_GET_STATS _IOR(XSDFEC_MAGIC, 12, struct xsdfec_stats)
|
||||
/**
|
||||
* DOC: XSDFEC_SET_DEFAULT_CONFIG
|
||||
*
|
||||
* @Description
|
||||
*
|
||||
* ioctl that returns SD-FEC core to default config, use after a reset
|
||||
*
|
||||
* This can only be used when the driver is in the XSDFEC_STOPPED state
|
||||
*/
|
||||
#define XSDFEC_SET_DEFAULT_CONFIG _IO(XSDFEC_MAGIC, 13)
|
||||
|
||||
#endif /* __XILINX_SDFEC_H__ */
|
@@ -43,6 +43,7 @@ enum mlx5_ib_uapi_flow_table_type {
|
||||
MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_RX = 0x0,
|
||||
MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_TX = 0x1,
|
||||
MLX5_IB_UAPI_FLOW_TABLE_TYPE_FDB = 0x2,
|
||||
MLX5_IB_UAPI_FLOW_TABLE_TYPE_RDMA_RX = 0x3,
|
||||
};
|
||||
|
||||
enum mlx5_ib_uapi_flow_action_packet_reformat_type {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
|
||||
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
||||
|
||||
/*
|
||||
* This file contains defines, structures, etc. that are used
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause */
|
||||
/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) or BSD-3-Clause */
|
||||
|
||||
/* Authors: Bernard Metzler <bmt@zurich.ibm.com> */
|
||||
/* Copyright (c) 2008-2019, IBM Corporation */
|
||||
@@ -180,6 +180,7 @@ struct siw_cqe {
|
||||
* to control CQ arming.
|
||||
*/
|
||||
struct siw_cq_ctrl {
|
||||
__aligned_u64 notify;
|
||||
__u32 flags;
|
||||
__u32 pad;
|
||||
};
|
||||
#endif
|
||||
|
@@ -8,6 +8,8 @@
|
||||
#ifndef SCSI_BSG_FC_H
|
||||
#define SCSI_BSG_FC_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* This file intended to be included by both kernel and user space
|
||||
*/
|
||||
@@ -66,10 +68,10 @@
|
||||
* with the transport upon completion of the login.
|
||||
*/
|
||||
struct fc_bsg_host_add_rport {
|
||||
uint8_t reserved;
|
||||
__u8 reserved;
|
||||
|
||||
/* FC Address Identier of the remote port to login to */
|
||||
uint8_t port_id[3];
|
||||
__u8 port_id[3];
|
||||
};
|
||||
|
||||
/* Response:
|
||||
@@ -87,10 +89,10 @@ struct fc_bsg_host_add_rport {
|
||||
* remain logged in with the remote port.
|
||||
*/
|
||||
struct fc_bsg_host_del_rport {
|
||||
uint8_t reserved;
|
||||
__u8 reserved;
|
||||
|
||||
/* FC Address Identier of the remote port to logout of */
|
||||
uint8_t port_id[3];
|
||||
__u8 port_id[3];
|
||||
};
|
||||
|
||||
/* Response:
|
||||
@@ -111,10 +113,10 @@ struct fc_bsg_host_els {
|
||||
* ELS Command Code being sent (must be the same as byte 0
|
||||
* of the payload)
|
||||
*/
|
||||
uint8_t command_code;
|
||||
__u8 command_code;
|
||||
|
||||
/* FC Address Identier of the remote port to send the ELS to */
|
||||
uint8_t port_id[3];
|
||||
__u8 port_id[3];
|
||||
};
|
||||
|
||||
/* Response:
|
||||
@@ -151,14 +153,14 @@ struct fc_bsg_ctels_reply {
|
||||
* Note: x_RJT/BSY status will indicae that the rjt_data field
|
||||
* is valid and contains the reason/explanation values.
|
||||
*/
|
||||
uint32_t status; /* See FC_CTELS_STATUS_xxx */
|
||||
__u32 status; /* See FC_CTELS_STATUS_xxx */
|
||||
|
||||
/* valid if status is not FC_CTELS_STATUS_OK */
|
||||
struct {
|
||||
uint8_t action; /* fragment_id for CT REJECT */
|
||||
uint8_t reason_code;
|
||||
uint8_t reason_explanation;
|
||||
uint8_t vendor_unique;
|
||||
__u8 action; /* fragment_id for CT REJECT */
|
||||
__u8 reason_code;
|
||||
__u8 reason_explanation;
|
||||
__u8 vendor_unique;
|
||||
} rjt_data;
|
||||
};
|
||||
|
||||
@@ -174,17 +176,17 @@ struct fc_bsg_ctels_reply {
|
||||
* and whether to tear it down after the request.
|
||||
*/
|
||||
struct fc_bsg_host_ct {
|
||||
uint8_t reserved;
|
||||
__u8 reserved;
|
||||
|
||||
/* FC Address Identier of the remote port to send the ELS to */
|
||||
uint8_t port_id[3];
|
||||
__u8 port_id[3];
|
||||
|
||||
/*
|
||||
* We need words 0-2 of the generic preamble for the LLD's
|
||||
*/
|
||||
uint32_t preamble_word0; /* revision & IN_ID */
|
||||
uint32_t preamble_word1; /* GS_Type, GS_SubType, Options, Rsvd */
|
||||
uint32_t preamble_word2; /* Cmd Code, Max Size */
|
||||
__u32 preamble_word0; /* revision & IN_ID */
|
||||
__u32 preamble_word1; /* GS_Type, GS_SubType, Options, Rsvd */
|
||||
__u32 preamble_word2; /* Cmd Code, Max Size */
|
||||
|
||||
};
|
||||
/* Response:
|
||||
@@ -204,17 +206,17 @@ struct fc_bsg_host_vendor {
|
||||
* Identifies the vendor that the message is formatted for. This
|
||||
* should be the recipient of the message.
|
||||
*/
|
||||
uint64_t vendor_id;
|
||||
__u64 vendor_id;
|
||||
|
||||
/* start of vendor command area */
|
||||
uint32_t vendor_cmd[0];
|
||||
__u32 vendor_cmd[0];
|
||||
};
|
||||
|
||||
/* Response:
|
||||
*/
|
||||
struct fc_bsg_host_vendor_reply {
|
||||
/* start of vendor response area */
|
||||
uint32_t vendor_rsp[0];
|
||||
__u32 vendor_rsp[0];
|
||||
};
|
||||
|
||||
|
||||
@@ -233,7 +235,7 @@ struct fc_bsg_rport_els {
|
||||
* ELS Command Code being sent (must be the same as
|
||||
* byte 0 of the payload)
|
||||
*/
|
||||
uint8_t els_code;
|
||||
__u8 els_code;
|
||||
};
|
||||
|
||||
/* Response:
|
||||
@@ -251,9 +253,9 @@ struct fc_bsg_rport_ct {
|
||||
/*
|
||||
* We need words 0-2 of the generic preamble for the LLD's
|
||||
*/
|
||||
uint32_t preamble_word0; /* revision & IN_ID */
|
||||
uint32_t preamble_word1; /* GS_Type, GS_SubType, Options, Rsvd */
|
||||
uint32_t preamble_word2; /* Cmd Code, Max Size */
|
||||
__u32 preamble_word0; /* revision & IN_ID */
|
||||
__u32 preamble_word1; /* GS_Type, GS_SubType, Options, Rsvd */
|
||||
__u32 preamble_word2; /* Cmd Code, Max Size */
|
||||
};
|
||||
/* Response:
|
||||
*
|
||||
@@ -265,7 +267,7 @@ struct fc_bsg_rport_ct {
|
||||
|
||||
/* request (CDB) structure of the sg_io_v4 */
|
||||
struct fc_bsg_request {
|
||||
uint32_t msgcode;
|
||||
__u32 msgcode;
|
||||
union {
|
||||
struct fc_bsg_host_add_rport h_addrport;
|
||||
struct fc_bsg_host_del_rport h_delrport;
|
||||
@@ -289,10 +291,10 @@ struct fc_bsg_reply {
|
||||
* msg and status fields. The per-msgcode reply structure
|
||||
* will contain valid data.
|
||||
*/
|
||||
uint32_t result;
|
||||
__u32 result;
|
||||
|
||||
/* If there was reply_payload, how much was recevied ? */
|
||||
uint32_t reply_payload_rcv_len;
|
||||
__u32 reply_payload_rcv_len;
|
||||
|
||||
union {
|
||||
struct fc_bsg_host_vendor_reply vendor_reply;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* UFS Transport SGIO v4 BSG Message Support
|
||||
*
|
||||
|
@@ -26,12 +26,12 @@
|
||||
|
||||
/* SCSI_TRANSPORT_MSG event message header */
|
||||
struct scsi_nl_hdr {
|
||||
uint8_t version;
|
||||
uint8_t transport;
|
||||
uint16_t magic;
|
||||
uint16_t msgtype;
|
||||
uint16_t msglen;
|
||||
} __attribute__((aligned(sizeof(uint64_t))));
|
||||
__u8 version;
|
||||
__u8 transport;
|
||||
__u16 magic;
|
||||
__u16 msgtype;
|
||||
__u16 msglen;
|
||||
} __attribute__((aligned(sizeof(__u64))));
|
||||
|
||||
/* scsi_nl_hdr->version value */
|
||||
#define SCSI_NL_VERSION 1
|
||||
@@ -75,10 +75,10 @@ struct scsi_nl_hdr {
|
||||
*/
|
||||
struct scsi_nl_host_vendor_msg {
|
||||
struct scsi_nl_hdr snlh; /* must be 1st element ! */
|
||||
uint64_t vendor_id;
|
||||
uint16_t host_no;
|
||||
uint16_t vmsg_datalen;
|
||||
} __attribute__((aligned(sizeof(uint64_t))));
|
||||
__u64 vendor_id;
|
||||
__u16 host_no;
|
||||
__u16 vmsg_datalen;
|
||||
} __attribute__((aligned(sizeof(__u64))));
|
||||
|
||||
|
||||
/*
|
||||
|
@@ -7,6 +7,7 @@
|
||||
#ifndef SCSI_NETLINK_FC_H
|
||||
#define SCSI_NETLINK_FC_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <scsi/scsi_netlink.h>
|
||||
|
||||
/*
|
||||
@@ -43,14 +44,14 @@
|
||||
*/
|
||||
struct fc_nl_event {
|
||||
struct scsi_nl_hdr snlh; /* must be 1st element ! */
|
||||
uint64_t seconds;
|
||||
uint64_t vendor_id;
|
||||
uint16_t host_no;
|
||||
uint16_t event_datalen;
|
||||
uint32_t event_num;
|
||||
uint32_t event_code;
|
||||
uint32_t event_data;
|
||||
} __attribute__((aligned(sizeof(uint64_t))));
|
||||
__u64 seconds;
|
||||
__u64 vendor_id;
|
||||
__u16 host_no;
|
||||
__u16 event_datalen;
|
||||
__u32 event_num;
|
||||
__u32 event_code;
|
||||
__u32 event_data;
|
||||
} __attribute__((aligned(sizeof(__u64))));
|
||||
|
||||
|
||||
#endif /* SCSI_NETLINK_FC_H */
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* skl-tplg-interface.h - Intel DSP FW private data interface
|
||||
*
|
||||
|
@@ -26,7 +26,7 @@
|
||||
|
||||
/* SOF ABI version major, minor and patch numbers */
|
||||
#define SOF_ABI_MAJOR 3
|
||||
#define SOF_ABI_MINOR 8
|
||||
#define SOF_ABI_MINOR 10
|
||||
#define SOF_ABI_PATCH 0
|
||||
|
||||
/* SOF ABI version number. Format within 32bit word is MMmmmppp */
|
||||
|
@@ -13,6 +13,8 @@
|
||||
#ifndef __INCLUDE_UAPI_SOF_FW_H__
|
||||
#define __INCLUDE_UAPI_SOF_FW_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define SND_SOF_FW_SIG_SIZE 4
|
||||
#define SND_SOF_FW_ABI 1
|
||||
#define SND_SOF_FW_SIG "Reef"
|
||||
@@ -46,8 +48,8 @@ enum snd_sof_fw_blk_type {
|
||||
|
||||
struct snd_sof_blk_hdr {
|
||||
enum snd_sof_fw_blk_type type;
|
||||
uint32_t size; /* bytes minus this header */
|
||||
uint32_t offset; /* offset from base */
|
||||
__u32 size; /* bytes minus this header */
|
||||
__u32 offset; /* offset from base */
|
||||
} __packed;
|
||||
|
||||
/*
|
||||
@@ -61,8 +63,8 @@ enum snd_sof_fw_mod_type {
|
||||
|
||||
struct snd_sof_mod_hdr {
|
||||
enum snd_sof_fw_mod_type type;
|
||||
uint32_t size; /* bytes minus this header */
|
||||
uint32_t num_blocks; /* number of blocks */
|
||||
__u32 size; /* bytes minus this header */
|
||||
__u32 num_blocks; /* number of blocks */
|
||||
} __packed;
|
||||
|
||||
/*
|
||||
@@ -70,9 +72,9 @@ struct snd_sof_mod_hdr {
|
||||
*/
|
||||
struct snd_sof_fw_header {
|
||||
unsigned char sig[SND_SOF_FW_SIG_SIZE]; /* "Reef" */
|
||||
uint32_t file_size; /* size of file minus this header */
|
||||
uint32_t num_modules; /* number of modules */
|
||||
uint32_t abi; /* version of header format */
|
||||
__u32 file_size; /* size of file minus this header */
|
||||
__u32 num_modules; /* number of modules */
|
||||
__u32 abi; /* version of header format */
|
||||
} __packed;
|
||||
|
||||
#endif
|
||||
|
@@ -9,6 +9,8 @@
|
||||
#ifndef __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__
|
||||
#define __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* Header for all non IPC ABI data.
|
||||
*
|
||||
@@ -16,12 +18,12 @@
|
||||
* Used by any bespoke component data structures or binary blobs.
|
||||
*/
|
||||
struct sof_abi_hdr {
|
||||
uint32_t magic; /**< 'S', 'O', 'F', '\0' */
|
||||
uint32_t type; /**< component specific type */
|
||||
uint32_t size; /**< size in bytes of data excl. this struct */
|
||||
uint32_t abi; /**< SOF ABI version */
|
||||
uint32_t reserved[4]; /**< reserved for future use */
|
||||
uint32_t data[0]; /**< Component data - opaque to core */
|
||||
__u32 magic; /**< 'S', 'O', 'F', '\0' */
|
||||
__u32 type; /**< component specific type */
|
||||
__u32 size; /**< size in bytes of data excl. this struct */
|
||||
__u32 abi; /**< SOF ABI version */
|
||||
__u32 reserved[4]; /**< reserved for future use */
|
||||
__u32 data[0]; /**< Component data - opaque to core */
|
||||
} __packed;
|
||||
|
||||
#endif
|
||||
|
@@ -75,6 +75,7 @@
|
||||
#define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH 503
|
||||
#define SOF_TKN_INTEL_SSP_QUIRKS 504
|
||||
#define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT 505
|
||||
#define SOF_TKN_INTEL_SSP_BCLK_DELAY 506
|
||||
|
||||
/* DMIC */
|
||||
#define SOF_TKN_INTEL_DMIC_DRIVER_VERSION 600
|
||||
@@ -105,4 +106,12 @@
|
||||
/* for backward compatibility */
|
||||
#define SOF_TKN_EFFECT_TYPE SOF_TKN_PROCESS_TYPE
|
||||
|
||||
/* SAI */
|
||||
#define SOF_TKN_IMX_SAI_FIRST_TOKEN 1000
|
||||
/* TODO: Add SAI tokens */
|
||||
|
||||
/* ESAI */
|
||||
#define SOF_TKN_IMX_ESAI_FIRST_TOKEN 1100
|
||||
/* TODO: Add ESAI tokens */
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user