mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-22 17:52:09 +00:00
Merge branch 'for-6.1/logitech' into for-linus
- Add hanlding of all Bluetooth HID++ devices and fixes in hid++ (Bastien Nocera)
This commit is contained in:
@@ -46,6 +46,7 @@ typedef unsigned int speed_t;
|
||||
#define EXTA B19200
|
||||
#define EXTB B38400
|
||||
|
||||
#define ADDRB 0x20000000 /* address bit */
|
||||
#define CMSPAR 0x40000000 /* mark or space (stick) parity */
|
||||
#define CRTSCTS 0x80000000 /* flow control */
|
||||
|
||||
|
||||
47
include/uapi/linux/atm_zatm.h
Normal file
47
include/uapi/linux/atm_zatm.h
Normal file
@@ -0,0 +1,47 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/* atm_zatm.h - Driver-specific declarations of the ZATM driver (for use by
|
||||
driver-specific utilities) */
|
||||
|
||||
/* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */
|
||||
|
||||
|
||||
#ifndef LINUX_ATM_ZATM_H
|
||||
#define LINUX_ATM_ZATM_H
|
||||
|
||||
/*
|
||||
* Note: non-kernel programs including this file must also include
|
||||
* sys/types.h for struct timeval
|
||||
*/
|
||||
|
||||
#include <linux/atmapi.h>
|
||||
#include <linux/atmioc.h>
|
||||
|
||||
#define ZATM_GETPOOL _IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc)
|
||||
/* get pool statistics */
|
||||
#define ZATM_GETPOOLZ _IOW('a',ATMIOC_SARPRV+2,struct atmif_sioc)
|
||||
/* get statistics and zero */
|
||||
#define ZATM_SETPOOL _IOW('a',ATMIOC_SARPRV+3,struct atmif_sioc)
|
||||
/* set pool parameters */
|
||||
|
||||
struct zatm_pool_info {
|
||||
int ref_count; /* free buffer pool usage counters */
|
||||
int low_water,high_water; /* refill parameters */
|
||||
int rqa_count,rqu_count; /* queue condition counters */
|
||||
int offset,next_off; /* alignment optimizations: offset */
|
||||
int next_cnt,next_thres; /* repetition counter and threshold */
|
||||
};
|
||||
|
||||
struct zatm_pool_req {
|
||||
int pool_num; /* pool number */
|
||||
struct zatm_pool_info info; /* actual information */
|
||||
};
|
||||
|
||||
#define ZATM_OAM_POOL 0 /* free buffer pool for OAM cells */
|
||||
#define ZATM_AAL0_POOL 1 /* free buffer pool for AAL0 cells */
|
||||
#define ZATM_AAL5_POOL_BASE 2 /* first AAL5 free buffer pool */
|
||||
#define ZATM_LAST_POOL ZATM_AAL5_POOL_BASE+10 /* max. 64 kB */
|
||||
|
||||
#define ZATM_TIMER_HISTORY_SIZE 16 /* number of timer adjustments to
|
||||
record; must be 2^n */
|
||||
|
||||
#endif
|
||||
@@ -420,6 +420,7 @@ typedef struct elf64_shdr {
|
||||
#define NT_S390_GS_CB 0x30b /* s390 guarded storage registers */
|
||||
#define NT_S390_GS_BC 0x30c /* s390 guarded storage broadcast control block */
|
||||
#define NT_S390_RI_CB 0x30d /* s390 runtime instrumentation */
|
||||
#define NT_S390_PV_CPU_DATA 0x30e /* s390 protvirt cpu dump data */
|
||||
#define NT_ARM_VFP 0x400 /* ARM VFP/NEON registers */
|
||||
#define NT_ARM_TLS 0x401 /* ARM TLS register */
|
||||
#define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#define F2FS_IOC_COMMIT_ATOMIC_WRITE _IO(F2FS_IOCTL_MAGIC, 2)
|
||||
#define F2FS_IOC_START_VOLATILE_WRITE _IO(F2FS_IOCTL_MAGIC, 3)
|
||||
#define F2FS_IOC_RELEASE_VOLATILE_WRITE _IO(F2FS_IOCTL_MAGIC, 4)
|
||||
#define F2FS_IOC_ABORT_VOLATILE_WRITE _IO(F2FS_IOCTL_MAGIC, 5)
|
||||
#define F2FS_IOC_ABORT_ATOMIC_WRITE _IO(F2FS_IOCTL_MAGIC, 5)
|
||||
#define F2FS_IOC_GARBAGE_COLLECT _IOW(F2FS_IOCTL_MAGIC, 6, __u32)
|
||||
#define F2FS_IOC_WRITE_CHECKPOINT _IO(F2FS_IOCTL_MAGIC, 7)
|
||||
#define F2FS_IOC_DEFRAGMENT _IOWR(F2FS_IOCTL_MAGIC, 8, \
|
||||
|
||||
@@ -87,6 +87,8 @@ enum {
|
||||
__CTRL_ATTR_MCAST_GRP_MAX,
|
||||
};
|
||||
|
||||
#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1)
|
||||
|
||||
enum {
|
||||
CTRL_ATTR_POLICY_UNSPEC,
|
||||
CTRL_ATTR_POLICY_DO,
|
||||
@@ -96,7 +98,6 @@ enum {
|
||||
CTRL_ATTR_POLICY_DUMP_MAX = __CTRL_ATTR_POLICY_DUMP_MAX - 1
|
||||
};
|
||||
|
||||
#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1)
|
||||
|
||||
#define CTRL_ATTR_POLICY_MAX (__CTRL_ATTR_POLICY_DUMP_MAX - 1)
|
||||
|
||||
#endif /* _UAPI__LINUX_GENERIC_NETLINK_H */
|
||||
|
||||
@@ -89,14 +89,14 @@ enum iax_opcode {
|
||||
IAX_OPCODE_CRC64,
|
||||
IAX_OPCODE_ZERO_DECOMP_32 = 0x48,
|
||||
IAX_OPCODE_ZERO_DECOMP_16,
|
||||
IAX_OPCODE_DECOMP_32 = 0x4c,
|
||||
IAX_OPCODE_DECOMP_16,
|
||||
IAX_OPCODE_ZERO_COMP_32 = 0x4c,
|
||||
IAX_OPCODE_ZERO_COMP_16,
|
||||
IAX_OPCODE_SCAN = 0x50,
|
||||
IAX_OPCODE_SET_MEMBER,
|
||||
IAX_OPCODE_EXTRACT,
|
||||
IAX_OPCODE_SELECT,
|
||||
IAX_OPCODE_RLE_BURST,
|
||||
IAX_OPCDE_FIND_UNIQUE,
|
||||
IAX_OPCODE_FIND_UNIQUE,
|
||||
IAX_OPCODE_EXPAND,
|
||||
};
|
||||
|
||||
|
||||
@@ -12,6 +12,10 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/time_types.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IO submission data structure (Submission Queue Entry)
|
||||
*/
|
||||
@@ -661,4 +665,8 @@ struct io_uring_recvmsg_out {
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -17,4 +17,4 @@ struct ip6t_log_info {
|
||||
char prefix[30];
|
||||
};
|
||||
|
||||
#endif /*_IPT_LOG_H*/
|
||||
#endif /* _IP6T_LOG_H */
|
||||
|
||||
@@ -737,7 +737,8 @@
|
||||
#define PCI_EXT_CAP_ID_DVSEC 0x23 /* Designated Vendor-Specific */
|
||||
#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_ID_DOE 0x2E /* Data Object Exchange */
|
||||
#define PCI_EXT_CAP_ID_MAX PCI_EXT_CAP_ID_DOE
|
||||
|
||||
#define PCI_EXT_CAP_DSN_SIZEOF 12
|
||||
#define PCI_EXT_CAP_MCAST_ENDPOINT_SIZEOF 40
|
||||
@@ -1103,4 +1104,30 @@
|
||||
#define PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_MASK 0x000000F0
|
||||
#define PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_SHIFT 4
|
||||
|
||||
/* Data Object Exchange */
|
||||
#define PCI_DOE_CAP 0x04 /* DOE Capabilities Register */
|
||||
#define PCI_DOE_CAP_INT_SUP 0x00000001 /* Interrupt Support */
|
||||
#define PCI_DOE_CAP_INT_MSG_NUM 0x00000ffe /* Interrupt Message Number */
|
||||
#define PCI_DOE_CTRL 0x08 /* DOE Control Register */
|
||||
#define PCI_DOE_CTRL_ABORT 0x00000001 /* DOE Abort */
|
||||
#define PCI_DOE_CTRL_INT_EN 0x00000002 /* DOE Interrupt Enable */
|
||||
#define PCI_DOE_CTRL_GO 0x80000000 /* DOE Go */
|
||||
#define PCI_DOE_STATUS 0x0c /* DOE Status Register */
|
||||
#define PCI_DOE_STATUS_BUSY 0x00000001 /* DOE Busy */
|
||||
#define PCI_DOE_STATUS_INT_STATUS 0x00000002 /* DOE Interrupt Status */
|
||||
#define PCI_DOE_STATUS_ERROR 0x00000004 /* DOE Error */
|
||||
#define PCI_DOE_STATUS_DATA_OBJECT_READY 0x80000000 /* Data Object Ready */
|
||||
#define PCI_DOE_WRITE 0x10 /* DOE Write Data Mailbox Register */
|
||||
#define PCI_DOE_READ 0x14 /* DOE Read Data Mailbox Register */
|
||||
|
||||
/* DOE Data Object - note not actually registers */
|
||||
#define PCI_DOE_DATA_OBJECT_HEADER_1_VID 0x0000ffff
|
||||
#define PCI_DOE_DATA_OBJECT_HEADER_1_TYPE 0x00ff0000
|
||||
#define PCI_DOE_DATA_OBJECT_HEADER_2_LENGTH 0x0003ffff
|
||||
|
||||
#define PCI_DOE_DATA_OBJECT_DISC_REQ_3_INDEX 0x000000ff
|
||||
#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_VID 0x0000ffff
|
||||
#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_PROTOCOL 0x00ff0000
|
||||
#define PCI_DOE_DATA_OBJECT_DISC_RSP_3_NEXT_INDEX 0xff000000
|
||||
|
||||
#endif /* LINUX_PCI_REGS_H */
|
||||
|
||||
@@ -126,10 +126,26 @@ struct serial_rs485 {
|
||||
#define SER_RS485_TERMINATE_BUS (1 << 5) /* Enable bus
|
||||
termination
|
||||
(if supported) */
|
||||
|
||||
/* RS-485 addressing mode */
|
||||
#define SER_RS485_ADDRB (1 << 6) /* Enable addressing mode */
|
||||
#define SER_RS485_ADDR_RECV (1 << 7) /* Receive address filter */
|
||||
#define SER_RS485_ADDR_DEST (1 << 8) /* Destination address */
|
||||
|
||||
__u32 delay_rts_before_send; /* Delay before send (milliseconds) */
|
||||
__u32 delay_rts_after_send; /* Delay after send (milliseconds) */
|
||||
__u32 padding[5]; /* Memory is cheap, new structs
|
||||
are a royal PITA .. */
|
||||
|
||||
/* The fields below are defined by flags */
|
||||
union {
|
||||
__u32 padding[5]; /* Memory is cheap, new structs are a pain */
|
||||
|
||||
struct {
|
||||
__u8 addr_recv;
|
||||
__u8 addr_dest;
|
||||
__u8 padding0[2];
|
||||
__u32 padding1[4];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -124,10 +124,6 @@
|
||||
/* TXX9 type number */
|
||||
#define PORT_TXX9 64
|
||||
|
||||
/* NEC VR4100 series SIU/DSIU */
|
||||
#define PORT_VR41XX_SIU 65
|
||||
#define PORT_VR41XX_DSIU 66
|
||||
|
||||
/* Samsung S3C2400 SoC */
|
||||
#define PORT_S3C2400 67
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
#define UART_LSR_PE 0x04 /* Parity error indicator */
|
||||
#define UART_LSR_OE 0x02 /* Overrun error indicator */
|
||||
#define UART_LSR_DR 0x01 /* Receiver data ready */
|
||||
#define UART_LSR_BRK_ERROR_BITS 0x1E /* BI, FE, PE, OE bits */
|
||||
#define UART_LSR_BRK_ERROR_BITS (UART_LSR_BI|UART_LSR_FE|UART_LSR_PE|UART_LSR_OE)
|
||||
|
||||
#define UART_MSR 6 /* In: Modem Status Register */
|
||||
#define UART_MSR_DCD 0x80 /* Data Carrier Detect */
|
||||
@@ -150,7 +150,7 @@
|
||||
#define UART_MSR_TERI 0x04 /* Trailing edge ring indicator */
|
||||
#define UART_MSR_DDSR 0x02 /* Delta DSR */
|
||||
#define UART_MSR_DCTS 0x01 /* Delta CTS */
|
||||
#define UART_MSR_ANY_DELTA 0x0F /* Any of the delta bits! */
|
||||
#define UART_MSR_ANY_DELTA (UART_MSR_DDCD|UART_MSR_TERI|UART_MSR_DDSR|UART_MSR_DCTS)
|
||||
|
||||
#define UART_SCR 7 /* I/O: Scratch Register */
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ static inline __attribute_const__ __u32 __fswahb32(__u32 val)
|
||||
#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
|
||||
#else
|
||||
#define __swab16(x) \
|
||||
(__builtin_constant_p((__u16)(x)) ? \
|
||||
(__u16)(__builtin_constant_p(x) ? \
|
||||
___constant_swab16(x) : \
|
||||
__fswab16(x))
|
||||
#endif
|
||||
@@ -115,7 +115,7 @@ static inline __attribute_const__ __u32 __fswahb32(__u32 val)
|
||||
#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
|
||||
#else
|
||||
#define __swab32(x) \
|
||||
(__builtin_constant_p((__u32)(x)) ? \
|
||||
(__u32)(__builtin_constant_p(x) ? \
|
||||
___constant_swab32(x) : \
|
||||
__fswab32(x))
|
||||
#endif
|
||||
@@ -128,7 +128,7 @@ static inline __attribute_const__ __u32 __fswahb32(__u32 val)
|
||||
#define __swab64(x) (__u64)__builtin_bswap64((__u64)(x))
|
||||
#else
|
||||
#define __swab64(x) \
|
||||
(__builtin_constant_p((__u64)(x)) ? \
|
||||
(__u64)(__builtin_constant_p(x) ? \
|
||||
___constant_swab64(x) : \
|
||||
__fswab64(x))
|
||||
#endif
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
#define UBLK_CMD_DEL_DEV 0x05
|
||||
#define UBLK_CMD_START_DEV 0x06
|
||||
#define UBLK_CMD_STOP_DEV 0x07
|
||||
#define UBLK_CMD_SET_PARAMS 0x08
|
||||
#define UBLK_CMD_GET_PARAMS 0x09
|
||||
|
||||
/*
|
||||
* IO commands, issued by ublk server, and handled by ublk driver.
|
||||
@@ -28,12 +30,21 @@
|
||||
* this IO request, request's handling result is committed to ublk
|
||||
* driver, meantime FETCH_REQ is piggyback, and FETCH_REQ has to be
|
||||
* handled before completing io request.
|
||||
*
|
||||
* NEED_GET_DATA: only used for write requests to set io addr and copy data
|
||||
* When NEED_GET_DATA is set, ublksrv has to issue UBLK_IO_NEED_GET_DATA
|
||||
* command after ublk driver returns UBLK_IO_RES_NEED_GET_DATA.
|
||||
*
|
||||
* It is only used if ublksrv set UBLK_F_NEED_GET_DATA flag
|
||||
* while starting a ublk device.
|
||||
*/
|
||||
#define UBLK_IO_FETCH_REQ 0x20
|
||||
#define UBLK_IO_COMMIT_AND_FETCH_REQ 0x21
|
||||
#define UBLK_IO_NEED_GET_DATA 0x22
|
||||
|
||||
/* only ABORT means that no re-fetch */
|
||||
#define UBLK_IO_RES_OK 0
|
||||
#define UBLK_IO_RES_NEED_GET_DATA 1
|
||||
#define UBLK_IO_RES_ABORT (-ENODEV)
|
||||
|
||||
#define UBLKSRV_CMD_BUF_OFFSET 0
|
||||
@@ -54,6 +65,15 @@
|
||||
*/
|
||||
#define UBLK_F_URING_CMD_COMP_IN_TASK (1ULL << 1)
|
||||
|
||||
/*
|
||||
* User should issue io cmd again for write requests to
|
||||
* set io buffer address and copy data from bio vectors
|
||||
* to the userspace io buffer.
|
||||
*
|
||||
* In this mode, task_work is not used.
|
||||
*/
|
||||
#define UBLK_F_NEED_GET_DATA (1UL << 2)
|
||||
|
||||
/* device state */
|
||||
#define UBLK_S_DEV_DEAD 0
|
||||
#define UBLK_S_DEV_LIVE 1
|
||||
@@ -78,22 +98,23 @@ struct ublksrv_ctrl_cmd {
|
||||
struct ublksrv_ctrl_dev_info {
|
||||
__u16 nr_hw_queues;
|
||||
__u16 queue_depth;
|
||||
__u16 block_size;
|
||||
__u16 state;
|
||||
__u16 pad0;
|
||||
|
||||
__u32 rq_max_blocks;
|
||||
__u32 max_io_buf_bytes;
|
||||
__u32 dev_id;
|
||||
|
||||
__u64 dev_blocks;
|
||||
|
||||
__s32 ublksrv_pid;
|
||||
__s32 reserved0;
|
||||
__u32 pad1;
|
||||
|
||||
__u64 flags;
|
||||
__u64 flags_reserved;
|
||||
|
||||
/* For ublksrv internal use, invisible to ublk driver */
|
||||
__u64 ublksrv_flags;
|
||||
__u64 reserved1[9];
|
||||
|
||||
__u64 reserved0;
|
||||
__u64 reserved1;
|
||||
__u64 reserved2;
|
||||
};
|
||||
|
||||
#define UBLK_IO_OP_READ 0
|
||||
@@ -158,4 +179,49 @@ struct ublksrv_io_cmd {
|
||||
__u64 addr;
|
||||
};
|
||||
|
||||
struct ublk_param_basic {
|
||||
#define UBLK_ATTR_READ_ONLY (1 << 0)
|
||||
#define UBLK_ATTR_ROTATIONAL (1 << 1)
|
||||
#define UBLK_ATTR_VOLATILE_CACHE (1 << 2)
|
||||
#define UBLK_ATTR_FUA (1 << 3)
|
||||
__u32 attrs;
|
||||
__u8 logical_bs_shift;
|
||||
__u8 physical_bs_shift;
|
||||
__u8 io_opt_shift;
|
||||
__u8 io_min_shift;
|
||||
|
||||
__u32 max_sectors;
|
||||
__u32 chunk_sectors;
|
||||
|
||||
__u64 dev_sectors;
|
||||
__u64 virt_boundary_mask;
|
||||
};
|
||||
|
||||
struct ublk_param_discard {
|
||||
__u32 discard_alignment;
|
||||
|
||||
__u32 discard_granularity;
|
||||
__u32 max_discard_sectors;
|
||||
|
||||
__u32 max_write_zeroes_sectors;
|
||||
__u16 max_discard_segments;
|
||||
__u16 reserved0;
|
||||
};
|
||||
|
||||
struct ublk_params {
|
||||
/*
|
||||
* Total length of parameters, userspace has to set 'len' for both
|
||||
* SET_PARAMS and GET_PARAMS command, and driver may update len
|
||||
* if two sides use different version of 'ublk_params', same with
|
||||
* 'types' fields.
|
||||
*/
|
||||
__u32 len;
|
||||
#define UBLK_PARAM_TYPE_BASIC (1 << 0)
|
||||
#define UBLK_PARAM_TYPE_DISCARD (1 << 1)
|
||||
__u32 types; /* types of parameter included */
|
||||
|
||||
struct ublk_param_basic basic;
|
||||
struct ublk_param_discard discard;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -210,6 +210,53 @@ struct vduse_vq_eventfd {
|
||||
*/
|
||||
#define VDUSE_VQ_INJECT_IRQ _IOW(VDUSE_BASE, 0x17, __u32)
|
||||
|
||||
/**
|
||||
* struct vduse_iova_umem - userspace memory configuration for one IOVA region
|
||||
* @uaddr: start address of userspace memory, it must be aligned to page size
|
||||
* @iova: start of the IOVA region
|
||||
* @size: size of the IOVA region
|
||||
* @reserved: for future use, needs to be initialized to zero
|
||||
*
|
||||
* Structure used by VDUSE_IOTLB_REG_UMEM and VDUSE_IOTLB_DEREG_UMEM
|
||||
* ioctls to register/de-register userspace memory for IOVA regions
|
||||
*/
|
||||
struct vduse_iova_umem {
|
||||
__u64 uaddr;
|
||||
__u64 iova;
|
||||
__u64 size;
|
||||
__u64 reserved[3];
|
||||
};
|
||||
|
||||
/* Register userspace memory for IOVA regions */
|
||||
#define VDUSE_IOTLB_REG_UMEM _IOW(VDUSE_BASE, 0x18, struct vduse_iova_umem)
|
||||
|
||||
/* De-register the userspace memory. Caller should set iova and size field. */
|
||||
#define VDUSE_IOTLB_DEREG_UMEM _IOW(VDUSE_BASE, 0x19, struct vduse_iova_umem)
|
||||
|
||||
/**
|
||||
* struct vduse_iova_info - information of one IOVA region
|
||||
* @start: start of the IOVA region
|
||||
* @last: last of the IOVA region
|
||||
* @capability: capability of the IOVA regsion
|
||||
* @reserved: for future use, needs to be initialized to zero
|
||||
*
|
||||
* Structure used by VDUSE_IOTLB_GET_INFO ioctl to get information of
|
||||
* one IOVA region.
|
||||
*/
|
||||
struct vduse_iova_info {
|
||||
__u64 start;
|
||||
__u64 last;
|
||||
#define VDUSE_IOVA_CAP_UMEM (1 << 0)
|
||||
__u64 capability;
|
||||
__u64 reserved[3];
|
||||
};
|
||||
|
||||
/*
|
||||
* Find the first IOVA region that overlaps with the range [start, last]
|
||||
* and return some information on it. Caller should set start and last fields.
|
||||
*/
|
||||
#define VDUSE_IOTLB_GET_INFO _IOWR(VDUSE_BASE, 0x1a, struct vduse_iova_info)
|
||||
|
||||
/* The control messages definition for read(2)/write(2) on /dev/vduse/$NAME */
|
||||
|
||||
/**
|
||||
|
||||
@@ -171,4 +171,13 @@
|
||||
#define VHOST_VDPA_SET_GROUP_ASID _IOW(VHOST_VIRTIO, 0x7C, \
|
||||
struct vhost_vring_state)
|
||||
|
||||
/* Suspend a device so it does not process virtqueue requests anymore
|
||||
*
|
||||
* After the return of ioctl the device must preserve all the necessary state
|
||||
* (the virtqueue vring base plus the possible device specific states) that is
|
||||
* required for restoring in the future. The device must not change its
|
||||
* configuration after that point.
|
||||
*/
|
||||
#define VHOST_VDPA_SUSPEND _IO(VHOST_VIRTIO, 0x7D)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -161,5 +161,7 @@ struct vhost_vdpa_iova_range {
|
||||
* message
|
||||
*/
|
||||
#define VHOST_BACKEND_F_IOTLB_ASID 0x3
|
||||
/* Device can be suspended */
|
||||
#define VHOST_BACKEND_F_SUSPEND 0x4
|
||||
|
||||
#endif
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
* rest are per-device feature bits.
|
||||
*/
|
||||
#define VIRTIO_TRANSPORT_F_START 28
|
||||
#define VIRTIO_TRANSPORT_F_END 38
|
||||
#define VIRTIO_TRANSPORT_F_END 41
|
||||
|
||||
#ifndef VIRTIO_CONFIG_NO_LEGACY
|
||||
/* Do we get callbacks when the ring is completely used, even if we've
|
||||
@@ -98,4 +98,9 @@
|
||||
* Does the device support Single Root I/O Virtualization?
|
||||
*/
|
||||
#define VIRTIO_F_SR_IOV 37
|
||||
|
||||
/*
|
||||
* This feature indicates that the driver can reset a queue individually.
|
||||
*/
|
||||
#define VIRTIO_F_RING_RESET 40
|
||||
#endif /* _UAPI_LINUX_VIRTIO_CONFIG_H */
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
#define VIRTIO_NET_F_MQ 22 /* Device supports Receive Flow
|
||||
* Steering */
|
||||
#define VIRTIO_NET_F_CTRL_MAC_ADDR 23 /* Set MAC address */
|
||||
|
||||
#define VIRTIO_NET_F_NOTF_COAL 53 /* Guest can handle notifications coalescing */
|
||||
#define VIRTIO_NET_F_HASH_REPORT 57 /* Supports hash report */
|
||||
#define VIRTIO_NET_F_RSS 60 /* Supports RSS RX steering */
|
||||
#define VIRTIO_NET_F_RSC_EXT 61 /* extended coalescing info */
|
||||
@@ -355,4 +355,36 @@ struct virtio_net_hash_config {
|
||||
#define VIRTIO_NET_CTRL_GUEST_OFFLOADS 5
|
||||
#define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET 0
|
||||
|
||||
/*
|
||||
* Control notifications coalescing.
|
||||
*
|
||||
* Request the device to change the notifications coalescing parameters.
|
||||
*
|
||||
* Available with the VIRTIO_NET_F_NOTF_COAL feature bit.
|
||||
*/
|
||||
#define VIRTIO_NET_CTRL_NOTF_COAL 6
|
||||
/*
|
||||
* Set the tx-usecs/tx-max-packets patameters.
|
||||
* tx-usecs - Maximum number of usecs to delay a TX notification.
|
||||
* tx-max-packets - Maximum number of packets to send before a TX notification.
|
||||
*/
|
||||
struct virtio_net_ctrl_coal_tx {
|
||||
__le32 tx_max_packets;
|
||||
__le32 tx_usecs;
|
||||
};
|
||||
|
||||
#define VIRTIO_NET_CTRL_NOTF_COAL_TX_SET 0
|
||||
|
||||
/*
|
||||
* Set the rx-usecs/rx-max-packets patameters.
|
||||
* rx-usecs - Maximum number of usecs to delay a RX notification.
|
||||
* rx-max-frames - Maximum number of packets to receive before a RX notification.
|
||||
*/
|
||||
struct virtio_net_ctrl_coal_rx {
|
||||
__le32 rx_max_packets;
|
||||
__le32 rx_usecs;
|
||||
};
|
||||
|
||||
#define VIRTIO_NET_CTRL_NOTF_COAL_RX_SET 1
|
||||
|
||||
#endif /* _UAPI_LINUX_VIRTIO_NET_H */
|
||||
|
||||
@@ -202,6 +202,8 @@ struct virtio_pci_cfg_cap {
|
||||
#define VIRTIO_PCI_COMMON_Q_AVAILHI 44
|
||||
#define VIRTIO_PCI_COMMON_Q_USEDLO 48
|
||||
#define VIRTIO_PCI_COMMON_Q_USEDHI 52
|
||||
#define VIRTIO_PCI_COMMON_Q_NDATA 56
|
||||
#define VIRTIO_PCI_COMMON_Q_RESET 58
|
||||
|
||||
#endif /* VIRTIO_PCI_NO_MODERN */
|
||||
|
||||
|
||||
@@ -93,15 +93,21 @@
|
||||
#define VRING_USED_ALIGN_SIZE 4
|
||||
#define VRING_DESC_ALIGN_SIZE 16
|
||||
|
||||
/* Virtio ring descriptors: 16 bytes. These can chain together via "next". */
|
||||
/**
|
||||
* struct vring_desc - Virtio ring descriptors,
|
||||
* 16 bytes long. These can chain together via @next.
|
||||
*
|
||||
* @addr: buffer address (guest-physical)
|
||||
* @len: buffer length
|
||||
* @flags: descriptor flags
|
||||
* @next: index of the next descriptor in the chain,
|
||||
* if the VRING_DESC_F_NEXT flag is set. We chain unused
|
||||
* descriptors via this, too.
|
||||
*/
|
||||
struct vring_desc {
|
||||
/* Address (guest-physical). */
|
||||
__virtio64 addr;
|
||||
/* Length. */
|
||||
__virtio32 len;
|
||||
/* The flags as indicated above. */
|
||||
__virtio16 flags;
|
||||
/* We chain unused descriptors via this, too */
|
||||
__virtio16 next;
|
||||
};
|
||||
|
||||
|
||||
@@ -296,7 +296,7 @@ enum xfrm_attr_type_t {
|
||||
XFRMA_ETIMER_THRESH,
|
||||
XFRMA_SRCADDR, /* xfrm_address_t */
|
||||
XFRMA_COADDR, /* xfrm_address_t */
|
||||
XFRMA_LASTUSED, /* unsigned long */
|
||||
XFRMA_LASTUSED, /* __u64 */
|
||||
XFRMA_POLICY_TYPE, /* struct xfrm_userpolicy_type */
|
||||
XFRMA_MIGRATE,
|
||||
XFRMA_ALG_AEAD, /* struct xfrm_algo_aead */
|
||||
|
||||
@@ -69,8 +69,8 @@ enum {
|
||||
* struct mtd_write_req - data structure for requesting a write operation
|
||||
*
|
||||
* @start: start address
|
||||
* @len: length of data buffer
|
||||
* @ooblen: length of OOB buffer
|
||||
* @len: length of data buffer (only lower 32 bits are used)
|
||||
* @ooblen: length of OOB buffer (only lower 32 bits are used)
|
||||
* @usr_data: user-provided data buffer
|
||||
* @usr_oob: user-provided OOB buffer
|
||||
* @mode: MTD mode (see "MTD operation modes")
|
||||
|
||||
49
include/uapi/rdma/erdma-abi.h
Normal file
49
include/uapi/rdma/erdma-abi.h
Normal file
@@ -0,0 +1,49 @@
|
||||
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
||||
/*
|
||||
* Copyright (c) 2020-2022, Alibaba Group.
|
||||
*/
|
||||
|
||||
#ifndef __ERDMA_USER_H__
|
||||
#define __ERDMA_USER_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define ERDMA_ABI_VERSION 1
|
||||
|
||||
struct erdma_ureq_create_cq {
|
||||
__aligned_u64 db_record_va;
|
||||
__aligned_u64 qbuf_va;
|
||||
__u32 qbuf_len;
|
||||
__u32 rsvd0;
|
||||
};
|
||||
|
||||
struct erdma_uresp_create_cq {
|
||||
__u32 cq_id;
|
||||
__u32 num_cqe;
|
||||
};
|
||||
|
||||
struct erdma_ureq_create_qp {
|
||||
__aligned_u64 db_record_va;
|
||||
__aligned_u64 qbuf_va;
|
||||
__u32 qbuf_len;
|
||||
__u32 rsvd0;
|
||||
};
|
||||
|
||||
struct erdma_uresp_create_qp {
|
||||
__u32 qp_id;
|
||||
__u32 num_sqe;
|
||||
__u32 num_rqe;
|
||||
__u32 rq_offset;
|
||||
};
|
||||
|
||||
struct erdma_uresp_alloc_ctx {
|
||||
__u32 dev_id;
|
||||
__u32 pad;
|
||||
__u32 sdb_type;
|
||||
__u32 sdb_offset;
|
||||
__aligned_u64 sdb;
|
||||
__aligned_u64 rdb;
|
||||
__aligned_u64 cdb;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -250,6 +250,7 @@ enum rdma_driver_id {
|
||||
RDMA_DRIVER_QIB,
|
||||
RDMA_DRIVER_EFA,
|
||||
RDMA_DRIVER_SIW,
|
||||
RDMA_DRIVER_ERDMA,
|
||||
};
|
||||
|
||||
enum ib_uverbs_gid_type {
|
||||
|
||||
@@ -228,6 +228,7 @@ enum mlx5_ib_objects {
|
||||
MLX5_IB_OBJECT_VAR,
|
||||
MLX5_IB_OBJECT_PP,
|
||||
MLX5_IB_OBJECT_UAR,
|
||||
MLX5_IB_OBJECT_STEERING_ANCHOR,
|
||||
};
|
||||
|
||||
enum mlx5_ib_flow_matcher_create_attrs {
|
||||
@@ -248,6 +249,22 @@ enum mlx5_ib_flow_matcher_methods {
|
||||
MLX5_IB_METHOD_FLOW_MATCHER_DESTROY,
|
||||
};
|
||||
|
||||
enum mlx5_ib_flow_steering_anchor_create_attrs {
|
||||
MLX5_IB_ATTR_STEERING_ANCHOR_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||||
MLX5_IB_ATTR_STEERING_ANCHOR_FT_TYPE,
|
||||
MLX5_IB_ATTR_STEERING_ANCHOR_PRIORITY,
|
||||
MLX5_IB_ATTR_STEERING_ANCHOR_FT_ID,
|
||||
};
|
||||
|
||||
enum mlx5_ib_flow_steering_anchor_destroy_attrs {
|
||||
MLX5_IB_ATTR_STEERING_ANCHOR_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||||
};
|
||||
|
||||
enum mlx5_ib_steering_anchor_methods {
|
||||
MLX5_IB_METHOD_STEERING_ANCHOR_CREATE = (1U << UVERBS_ID_NS_SHIFT),
|
||||
MLX5_IB_METHOD_STEERING_ANCHOR_DESTROY,
|
||||
};
|
||||
|
||||
enum mlx5_ib_device_query_context_attrs {
|
||||
MLX5_IB_ATTR_QUERY_CONTEXT_RESP_UCTX = (1U << UVERBS_ID_NS_SHIFT),
|
||||
};
|
||||
|
||||
@@ -123,7 +123,7 @@ struct snd_compr_codec_caps {
|
||||
} __attribute__((packed, aligned(4)));
|
||||
|
||||
/**
|
||||
* enum sndrv_compress_encoder
|
||||
* enum sndrv_compress_encoder - encoder metadata key
|
||||
* @SNDRV_COMPRESS_ENCODER_PADDING: no of samples appended by the encoder at the
|
||||
* end of the track
|
||||
* @SNDRV_COMPRESS_ENCODER_DELAY: no of samples inserted by the encoder at the
|
||||
|
||||
@@ -250,7 +250,7 @@ struct snd_enc_wma {
|
||||
|
||||
|
||||
/**
|
||||
* struct snd_enc_vorbis
|
||||
* struct snd_enc_vorbis - Vorbis encoder parameters
|
||||
* @quality: Sets encoding quality to n, between -1 (low) and 10 (high).
|
||||
* In the default mode of operation, the quality level is 3.
|
||||
* Normal quality range is 0 - 10.
|
||||
@@ -279,7 +279,7 @@ struct snd_enc_vorbis {
|
||||
|
||||
|
||||
/**
|
||||
* struct snd_enc_real
|
||||
* struct snd_enc_real - RealAudio encoder parameters
|
||||
* @quant_bits: number of coupling quantization bits in the stream
|
||||
* @start_region: coupling start region in the stream
|
||||
* @num_regions: number of regions value
|
||||
@@ -294,7 +294,7 @@ struct snd_enc_real {
|
||||
} __attribute__((packed, aligned(4)));
|
||||
|
||||
/**
|
||||
* struct snd_enc_flac
|
||||
* struct snd_enc_flac - FLAC encoder parameters
|
||||
* @num: serial number, valid only for OGG formats
|
||||
* needs to be set by application
|
||||
* @gain: Add replay gain tags
|
||||
|
||||
@@ -24,9 +24,11 @@
|
||||
#ifndef __INCLUDE_UAPI_SOUND_SOF_ABI_H__
|
||||
#define __INCLUDE_UAPI_SOUND_SOF_ABI_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* SOF ABI version major, minor and patch numbers */
|
||||
#define SOF_ABI_MAJOR 3
|
||||
#define SOF_ABI_MINOR 21
|
||||
#define SOF_ABI_MINOR 23
|
||||
#define SOF_ABI_PATCH 0
|
||||
|
||||
/* SOF ABI version number. Format within 32bit word is MMmmmppp */
|
||||
|
||||
@@ -26,4 +26,34 @@ struct sof_abi_hdr {
|
||||
__u32 data[]; /**< Component data - opaque to core */
|
||||
} __packed;
|
||||
|
||||
#define SOF_MANIFEST_DATA_TYPE_NHLT 1
|
||||
|
||||
/**
|
||||
* struct sof_manifest_tlv - SOF manifest TLV data
|
||||
* @type: type of data
|
||||
* @size: data size (not including the size of this struct)
|
||||
* @data: payload data
|
||||
*/
|
||||
struct sof_manifest_tlv {
|
||||
__le32 type;
|
||||
__le32 size;
|
||||
__u8 data[];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct sof_manifest - SOF topology manifest
|
||||
* @abi_major: Major ABI version
|
||||
* @abi_minor: Minor ABI version
|
||||
* @abi_patch: ABI patch
|
||||
* @count: count of tlv items
|
||||
* @items: consecutive variable size tlv items
|
||||
*/
|
||||
struct sof_manifest {
|
||||
__le16 abi_major;
|
||||
__le16 abi_minor;
|
||||
__le16 abi_patch;
|
||||
__le16 count;
|
||||
struct sof_manifest_tlv items[];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -52,11 +52,17 @@
|
||||
#define SOF_TKN_SCHED_FRAMES 204
|
||||
#define SOF_TKN_SCHED_TIME_DOMAIN 205
|
||||
#define SOF_TKN_SCHED_DYNAMIC_PIPELINE 206
|
||||
#define SOF_TKN_SCHED_LP_MODE 207
|
||||
#define SOF_TKN_SCHED_MEM_USAGE 208
|
||||
|
||||
/* volume */
|
||||
#define SOF_TKN_VOLUME_RAMP_STEP_TYPE 250
|
||||
#define SOF_TKN_VOLUME_RAMP_STEP_MS 251
|
||||
|
||||
#define SOF_TKN_GAIN_RAMP_TYPE 260
|
||||
#define SOF_TKN_GAIN_RAMP_DURATION 261
|
||||
#define SOF_TKN_GAIN_VAL 262
|
||||
|
||||
/* SRC */
|
||||
#define SOF_TKN_SRC_RATE_IN 300
|
||||
#define SOF_TKN_SRC_RATE_OUT 301
|
||||
@@ -79,6 +85,9 @@
|
||||
*/
|
||||
#define SOF_TKN_COMP_CORE_ID 404
|
||||
#define SOF_TKN_COMP_UUID 405
|
||||
#define SOF_TKN_COMP_CPC 406
|
||||
#define SOF_TKN_COMP_IS_PAGES 409
|
||||
#define SOF_TKN_COMP_NUM_AUDIO_FORMATS 410
|
||||
|
||||
/* SSP */
|
||||
#define SOF_TKN_INTEL_SSP_CLKS_CONTROL 500
|
||||
@@ -145,4 +154,39 @@
|
||||
#define SOF_TKN_MEDIATEK_AFE_CH 1601
|
||||
#define SOF_TKN_MEDIATEK_AFE_FORMAT 1602
|
||||
|
||||
/* MIXER */
|
||||
#define SOF_TKN_MIXER_TYPE 1700
|
||||
|
||||
/* ACPDMIC */
|
||||
#define SOF_TKN_AMD_ACPDMIC_RATE 1800
|
||||
#define SOF_TKN_AMD_ACPDMIC_CH 1801
|
||||
|
||||
/* CAVS AUDIO FORMAT */
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_RATE 1900
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_BIT_DEPTH 1901
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_VALID_BIT 1902
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CHANNELS 1903
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CH_MAP 1904
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CH_CFG 1905
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_INTERLEAVING_STYLE 1906
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_FMT_CFG 1907
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_SAMPLE_TYPE 1908
|
||||
/* intentional token numbering discontinuity, reserved for future use */
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_RATE 1930
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_BIT_DEPTH 1931
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_VALID_BIT 1932
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CHANNELS 1933
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CH_MAP 1934
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CH_CFG 1935
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_INTERLEAVING_STYLE 1936
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_FMT_CFG 1937
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_SAMPLE_TYPE 1938
|
||||
/* intentional token numbering discontinuity, reserved for future use */
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_IBS 1970
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_OBS 1971
|
||||
#define SOF_TKN_CAVS_AUDIO_FORMAT_DMA_BUFFER_SIZE 1972
|
||||
|
||||
/* COPIER */
|
||||
#define SOF_TKN_INTEL_COPIER_NODE_TYPE 1980
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user