Skip to content

Commit 43709a0

Browse files
committed
linux-headers: update to 5.16-rc1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Acked-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20211111110604.207376-3-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
1 parent a4663f1 commit 43709a0

File tree

21 files changed

+276
-21
lines changed

21 files changed

+276
-21
lines changed

include/standard-headers/drm/drm_fourcc.h

+118-3
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,12 @@ extern "C" {
103103
/* 8 bpp Red */
104104
#define DRM_FORMAT_R8 fourcc_code('R', '8', ' ', ' ') /* [7:0] R */
105105

106+
/* 10 bpp Red */
107+
#define DRM_FORMAT_R10 fourcc_code('R', '1', '0', ' ') /* [15:0] x:R 6:10 little endian */
108+
109+
/* 12 bpp Red */
110+
#define DRM_FORMAT_R12 fourcc_code('R', '1', '2', ' ') /* [15:0] x:R 4:12 little endian */
111+
106112
/* 16 bpp Red */
107113
#define DRM_FORMAT_R16 fourcc_code('R', '1', '6', ' ') /* [15:0] R little endian */
108114

@@ -372,6 +378,12 @@ extern "C" {
372378

373379
#define DRM_FORMAT_RESERVED ((1ULL << 56) - 1)
374380

381+
#define fourcc_mod_get_vendor(modifier) \
382+
(((modifier) >> 56) & 0xff)
383+
384+
#define fourcc_mod_is_vendor(modifier, vendor) \
385+
(fourcc_mod_get_vendor(modifier) == DRM_FORMAT_MOD_VENDOR_## vendor)
386+
375387
#define fourcc_mod_code(vendor, val) \
376388
((((uint64_t)DRM_FORMAT_MOD_VENDOR_## vendor) << 56) | ((val) & 0x00ffffffffffffffULL))
377389

@@ -899,9 +911,9 @@ drm_fourcc_canonicalize_nvidia_format_mod(uint64_t modifier)
899911

900912
/*
901913
* The top 4 bits (out of the 56 bits alloted for specifying vendor specific
902-
* modifiers) denote the category for modifiers. Currently we have only two
903-
* categories of modifiers ie AFBC and MISC. We can have a maximum of sixteen
904-
* different categories.
914+
* modifiers) denote the category for modifiers. Currently we have three
915+
* categories of modifiers ie AFBC, MISC and AFRC. We can have a maximum of
916+
* sixteen different categories.
905917
*/
906918
#define DRM_FORMAT_MOD_ARM_CODE(__type, __val) \
907919
fourcc_mod_code(ARM, ((uint64_t)(__type) << 52) | ((__val) & 0x000fffffffffffffULL))
@@ -1016,6 +1028,109 @@ drm_fourcc_canonicalize_nvidia_format_mod(uint64_t modifier)
10161028
*/
10171029
#define AFBC_FORMAT_MOD_USM (1ULL << 12)
10181030

1031+
/*
1032+
* Arm Fixed-Rate Compression (AFRC) modifiers
1033+
*
1034+
* AFRC is a proprietary fixed rate image compression protocol and format,
1035+
* designed to provide guaranteed bandwidth and memory footprint
1036+
* reductions in graphics and media use-cases.
1037+
*
1038+
* AFRC buffers consist of one or more planes, with the same components
1039+
* and meaning as an uncompressed buffer using the same pixel format.
1040+
*
1041+
* Within each plane, the pixel/luma/chroma values are grouped into
1042+
* "coding unit" blocks which are individually compressed to a
1043+
* fixed size (in bytes). All coding units within a given plane of a buffer
1044+
* store the same number of values, and have the same compressed size.
1045+
*
1046+
* The coding unit size is configurable, allowing different rates of compression.
1047+
*
1048+
* The start of each AFRC buffer plane must be aligned to an alignment granule which
1049+
* depends on the coding unit size.
1050+
*
1051+
* Coding Unit Size Plane Alignment
1052+
* ---------------- ---------------
1053+
* 16 bytes 1024 bytes
1054+
* 24 bytes 512 bytes
1055+
* 32 bytes 2048 bytes
1056+
*
1057+
* Coding units are grouped into paging tiles. AFRC buffer dimensions must be aligned
1058+
* to a multiple of the paging tile dimensions.
1059+
* The dimensions of each paging tile depend on whether the buffer is optimised for
1060+
* scanline (SCAN layout) or rotated (ROT layout) access.
1061+
*
1062+
* Layout Paging Tile Width Paging Tile Height
1063+
* ------ ----------------- ------------------
1064+
* SCAN 16 coding units 4 coding units
1065+
* ROT 8 coding units 8 coding units
1066+
*
1067+
* The dimensions of each coding unit depend on the number of components
1068+
* in the compressed plane and whether the buffer is optimised for
1069+
* scanline (SCAN layout) or rotated (ROT layout) access.
1070+
*
1071+
* Number of Components in Plane Layout Coding Unit Width Coding Unit Height
1072+
* ----------------------------- --------- ----------------- ------------------
1073+
* 1 SCAN 16 samples 4 samples
1074+
* Example: 16x4 luma samples in a 'Y' plane
1075+
* 16x4 chroma 'V' values, in the 'V' plane of a fully-planar YUV buffer
1076+
* ----------------------------- --------- ----------------- ------------------
1077+
* 1 ROT 8 samples 8 samples
1078+
* Example: 8x8 luma samples in a 'Y' plane
1079+
* 8x8 chroma 'V' values, in the 'V' plane of a fully-planar YUV buffer
1080+
* ----------------------------- --------- ----------------- ------------------
1081+
* 2 DONT CARE 8 samples 4 samples
1082+
* Example: 8x4 chroma pairs in the 'UV' plane of a semi-planar YUV buffer
1083+
* ----------------------------- --------- ----------------- ------------------
1084+
* 3 DONT CARE 4 samples 4 samples
1085+
* Example: 4x4 pixels in an RGB buffer without alpha
1086+
* ----------------------------- --------- ----------------- ------------------
1087+
* 4 DONT CARE 4 samples 4 samples
1088+
* Example: 4x4 pixels in an RGB buffer with alpha
1089+
*/
1090+
1091+
#define DRM_FORMAT_MOD_ARM_TYPE_AFRC 0x02
1092+
1093+
#define DRM_FORMAT_MOD_ARM_AFRC(__afrc_mode) \
1094+
DRM_FORMAT_MOD_ARM_CODE(DRM_FORMAT_MOD_ARM_TYPE_AFRC, __afrc_mode)
1095+
1096+
/*
1097+
* AFRC coding unit size modifier.
1098+
*
1099+
* Indicates the number of bytes used to store each compressed coding unit for
1100+
* one or more planes in an AFRC encoded buffer. The coding unit size for chrominance
1101+
* is the same for both Cb and Cr, which may be stored in separate planes.
1102+
*
1103+
* AFRC_FORMAT_MOD_CU_SIZE_P0 indicates the number of bytes used to store
1104+
* each compressed coding unit in the first plane of the buffer. For RGBA buffers
1105+
* this is the only plane, while for semi-planar and fully-planar YUV buffers,
1106+
* this corresponds to the luma plane.
1107+
*
1108+
* AFRC_FORMAT_MOD_CU_SIZE_P12 indicates the number of bytes used to store
1109+
* each compressed coding unit in the second and third planes in the buffer.
1110+
* For semi-planar and fully-planar YUV buffers, this corresponds to the chroma plane(s).
1111+
*
1112+
* For single-plane buffers, AFRC_FORMAT_MOD_CU_SIZE_P0 must be specified
1113+
* and AFRC_FORMAT_MOD_CU_SIZE_P12 must be zero.
1114+
* For semi-planar and fully-planar buffers, both AFRC_FORMAT_MOD_CU_SIZE_P0 and
1115+
* AFRC_FORMAT_MOD_CU_SIZE_P12 must be specified.
1116+
*/
1117+
#define AFRC_FORMAT_MOD_CU_SIZE_MASK 0xf
1118+
#define AFRC_FORMAT_MOD_CU_SIZE_16 (1ULL)
1119+
#define AFRC_FORMAT_MOD_CU_SIZE_24 (2ULL)
1120+
#define AFRC_FORMAT_MOD_CU_SIZE_32 (3ULL)
1121+
1122+
#define AFRC_FORMAT_MOD_CU_SIZE_P0(__afrc_cu_size) (__afrc_cu_size)
1123+
#define AFRC_FORMAT_MOD_CU_SIZE_P12(__afrc_cu_size) ((__afrc_cu_size) << 4)
1124+
1125+
/*
1126+
* AFRC scanline memory layout.
1127+
*
1128+
* Indicates if the buffer uses the scanline-optimised layout
1129+
* for an AFRC encoded buffer, otherwise, it uses the rotation-optimised layout.
1130+
* The memory layout is the same for all planes.
1131+
*/
1132+
#define AFRC_FORMAT_MOD_LAYOUT_SCAN (1ULL << 8)
1133+
10191134
/*
10201135
* Arm 16x16 Block U-Interleaved modifier
10211136
*

include/standard-headers/linux/ethtool.h

+31
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,7 @@ enum ethtool_link_ext_state {
603603
ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE,
604604
ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED,
605605
ETHTOOL_LINK_EXT_STATE_OVERHEAT,
606+
ETHTOOL_LINK_EXT_STATE_MODULE,
606607
};
607608

608609
/* More information in addition to ETHTOOL_LINK_EXT_STATE_AUTONEG. */
@@ -639,6 +640,8 @@ enum ethtool_link_ext_substate_link_logical_mismatch {
639640
enum ethtool_link_ext_substate_bad_signal_integrity {
640641
ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1,
641642
ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE,
643+
ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST,
644+
ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS,
642645
};
643646

644647
/* More information in addition to ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE. */
@@ -647,6 +650,11 @@ enum ethtool_link_ext_substate_cable_issue {
647650
ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE,
648651
};
649652

653+
/* More information in addition to ETHTOOL_LINK_EXT_STATE_MODULE. */
654+
enum ethtool_link_ext_substate_module {
655+
ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY = 1,
656+
};
657+
650658
#define ETH_GSTRING_LEN 32
651659

652660
/**
@@ -704,6 +712,29 @@ enum ethtool_stringset {
704712
ETH_SS_COUNT
705713
};
706714

715+
/**
716+
* enum ethtool_module_power_mode_policy - plug-in module power mode policy
717+
* @ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH: Module is always in high power mode.
718+
* @ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO: Module is transitioned by the host
719+
* to high power mode when the first port using it is put administratively
720+
* up and to low power mode when the last port using it is put
721+
* administratively down.
722+
*/
723+
enum ethtool_module_power_mode_policy {
724+
ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH = 1,
725+
ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO,
726+
};
727+
728+
/**
729+
* enum ethtool_module_power_mode - plug-in module power mode
730+
* @ETHTOOL_MODULE_POWER_MODE_LOW: Module is in low power mode.
731+
* @ETHTOOL_MODULE_POWER_MODE_HIGH: Module is in high power mode.
732+
*/
733+
enum ethtool_module_power_mode {
734+
ETHTOOL_MODULE_POWER_MODE_LOW = 1,
735+
ETHTOOL_MODULE_POWER_MODE_HIGH,
736+
};
737+
707738
/**
708739
* struct ethtool_gstrings - string set for data tagging
709740
* @cmd: Command number = %ETHTOOL_GSTRINGS

include/standard-headers/linux/fuse.h

+9-1
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,9 @@
181181
* - add FUSE_OPEN_KILL_SUIDGID
182182
* - extend fuse_setxattr_in, add FUSE_SETXATTR_EXT
183183
* - add FUSE_SETXATTR_ACL_KILL_SGID
184+
*
185+
* 7.34
186+
* - add FUSE_SYNCFS
184187
*/
185188

186189
#ifndef _LINUX_FUSE_H
@@ -212,7 +215,7 @@
212215
#define FUSE_KERNEL_VERSION 7
213216

214217
/** Minor version number of this interface */
215-
#define FUSE_KERNEL_MINOR_VERSION 33
218+
#define FUSE_KERNEL_MINOR_VERSION 34
216219

217220
/** The node ID of the root inode */
218221
#define FUSE_ROOT_ID 1
@@ -505,6 +508,7 @@ enum fuse_opcode {
505508
FUSE_COPY_FILE_RANGE = 47,
506509
FUSE_SETUPMAPPING = 48,
507510
FUSE_REMOVEMAPPING = 49,
511+
FUSE_SYNCFS = 50,
508512

509513
/* CUSE specific operations */
510514
CUSE_INIT = 4096,
@@ -967,4 +971,8 @@ struct fuse_removemapping_one {
967971
#define FUSE_REMOVEMAPPING_MAX_ENTRY \
968972
(PAGE_SIZE / sizeof(struct fuse_removemapping_one))
969973

974+
struct fuse_syncfs_in {
975+
uint64_t padding;
976+
};
977+
970978
#endif /* _LINUX_FUSE_H */

include/standard-headers/linux/pci_regs.h

+6
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,12 @@
504504
#define PCI_EXP_DEVCTL_URRE 0x0008 /* Unsupported Request Reporting En. */
505505
#define PCI_EXP_DEVCTL_RELAX_EN 0x0010 /* Enable relaxed ordering */
506506
#define PCI_EXP_DEVCTL_PAYLOAD 0x00e0 /* Max_Payload_Size */
507+
#define PCI_EXP_DEVCTL_PAYLOAD_128B 0x0000 /* 128 Bytes */
508+
#define PCI_EXP_DEVCTL_PAYLOAD_256B 0x0020 /* 256 Bytes */
509+
#define PCI_EXP_DEVCTL_PAYLOAD_512B 0x0040 /* 512 Bytes */
510+
#define PCI_EXP_DEVCTL_PAYLOAD_1024B 0x0060 /* 1024 Bytes */
511+
#define PCI_EXP_DEVCTL_PAYLOAD_2048B 0x0080 /* 2048 Bytes */
512+
#define PCI_EXP_DEVCTL_PAYLOAD_4096B 0x00a0 /* 4096 Bytes */
507513
#define PCI_EXP_DEVCTL_EXT_TAG 0x0100 /* Extended Tag Field Enable */
508514
#define PCI_EXP_DEVCTL_PHANTOM 0x0200 /* Phantom Functions Enable */
509515
#define PCI_EXP_DEVCTL_AUX_PME 0x0400 /* Auxiliary Power PM Enable */

include/standard-headers/linux/virtio_gpu.h

+15-3
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@
5959
* VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB
6060
*/
6161
#define VIRTIO_GPU_F_RESOURCE_BLOB 3
62+
/*
63+
* VIRTIO_GPU_CMD_CREATE_CONTEXT with
64+
* context_init and multiple timelines
65+
*/
66+
#define VIRTIO_GPU_F_CONTEXT_INIT 4
6267

6368
enum virtio_gpu_ctrl_type {
6469
VIRTIO_GPU_UNDEFINED = 0,
@@ -122,14 +127,20 @@ enum virtio_gpu_shm_id {
122127
VIRTIO_GPU_SHM_ID_HOST_VISIBLE = 1
123128
};
124129

125-
#define VIRTIO_GPU_FLAG_FENCE (1 << 0)
130+
#define VIRTIO_GPU_FLAG_FENCE (1 << 0)
131+
/*
132+
* If the following flag is set, then ring_idx contains the index
133+
* of the command ring that needs to used when creating the fence
134+
*/
135+
#define VIRTIO_GPU_FLAG_INFO_RING_IDX (1 << 1)
126136

127137
struct virtio_gpu_ctrl_hdr {
128138
uint32_t type;
129139
uint32_t flags;
130140
uint64_t fence_id;
131141
uint32_t ctx_id;
132-
uint32_t padding;
142+
uint8_t ring_idx;
143+
uint8_t padding[3];
133144
};
134145

135146
/* data passed in the cursor vq */
@@ -269,10 +280,11 @@ struct virtio_gpu_resource_create_3d {
269280
};
270281

271282
/* VIRTIO_GPU_CMD_CTX_CREATE */
283+
#define VIRTIO_GPU_CONTEXT_INIT_CAPSET_ID_MASK 0x000000ff
272284
struct virtio_gpu_ctx_create {
273285
struct virtio_gpu_ctrl_hdr hdr;
274286
uint32_t nlen;
275-
uint32_t padding;
287+
uint32_t context_init;
276288
char debug_name[64];
277289
};
278290

include/standard-headers/linux/virtio_ids.h

+24
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,31 @@
5454
#define VIRTIO_ID_SOUND 25 /* virtio sound */
5555
#define VIRTIO_ID_FS 26 /* virtio filesystem */
5656
#define VIRTIO_ID_PMEM 27 /* virtio pmem */
57+
#define VIRTIO_ID_RPMB 28 /* virtio rpmb */
5758
#define VIRTIO_ID_MAC80211_HWSIM 29 /* virtio mac80211-hwsim */
59+
#define VIRTIO_ID_VIDEO_ENCODER 30 /* virtio video encoder */
60+
#define VIRTIO_ID_VIDEO_DECODER 31 /* virtio video decoder */
61+
#define VIRTIO_ID_SCMI 32 /* virtio SCMI */
62+
#define VIRTIO_ID_NITRO_SEC_MOD 33 /* virtio nitro secure module*/
63+
#define VIRTIO_ID_I2C_ADAPTER 34 /* virtio i2c adapter */
64+
#define VIRTIO_ID_WATCHDOG 35 /* virtio watchdog */
65+
#define VIRTIO_ID_CAN 36 /* virtio can */
66+
#define VIRTIO_ID_DMABUF 37 /* virtio dmabuf */
67+
#define VIRTIO_ID_PARAM_SERV 38 /* virtio parameter server */
68+
#define VIRTIO_ID_AUDIO_POLICY 39 /* virtio audio policy */
5869
#define VIRTIO_ID_BT 40 /* virtio bluetooth */
70+
#define VIRTIO_ID_GPIO 41 /* virtio gpio */
71+
72+
/*
73+
* Virtio Transitional IDs
74+
*/
75+
76+
#define VIRTIO_TRANS_ID_NET 1000 /* transitional virtio net */
77+
#define VIRTIO_TRANS_ID_BLOCK 1001 /* transitional virtio block */
78+
#define VIRTIO_TRANS_ID_BALLOON 1002 /* transitional virtio balloon */
79+
#define VIRTIO_TRANS_ID_CONSOLE 1003 /* transitional virtio console */
80+
#define VIRTIO_TRANS_ID_SCSI 1004 /* transitional virtio SCSI */
81+
#define VIRTIO_TRANS_ID_RNG 1005 /* transitional virtio rng */
82+
#define VIRTIO_TRANS_ID_9P 1009 /* transitional virtio 9p console */
5983

6084
#endif /* _LINUX_VIRTIO_IDS_H */

include/standard-headers/linux/virtio_vsock.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@ enum virtio_vsock_shutdown {
9797

9898
/* VIRTIO_VSOCK_OP_RW flags values */
9999
enum virtio_vsock_rw {
100-
VIRTIO_VSOCK_SEQ_EOR = 1,
100+
VIRTIO_VSOCK_SEQ_EOM = 1,
101+
VIRTIO_VSOCK_SEQ_EOR = 2,
101102
};
102103

103104
#endif /* _LINUX_VIRTIO_VSOCK_H */

linux-headers/asm-arm64/unistd.h

+1
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@
2020
#define __ARCH_WANT_SET_GET_RLIMIT
2121
#define __ARCH_WANT_TIME32_SYSCALLS
2222
#define __ARCH_WANT_SYS_CLONE3
23+
#define __ARCH_WANT_MEMFD_SECRET
2324

2425
#include <asm-generic/unistd.h>

linux-headers/asm-generic/unistd.h

+16-6
Original file line numberDiff line numberDiff line change
@@ -673,15 +673,15 @@ __SYSCALL(__NR_madvise, sys_madvise)
673673
#define __NR_remap_file_pages 234
674674
__SYSCALL(__NR_remap_file_pages, sys_remap_file_pages)
675675
#define __NR_mbind 235
676-
__SC_COMP(__NR_mbind, sys_mbind, compat_sys_mbind)
676+
__SYSCALL(__NR_mbind, sys_mbind)
677677
#define __NR_get_mempolicy 236
678-
__SC_COMP(__NR_get_mempolicy, sys_get_mempolicy, compat_sys_get_mempolicy)
678+
__SYSCALL(__NR_get_mempolicy, sys_get_mempolicy)
679679
#define __NR_set_mempolicy 237
680-
__SC_COMP(__NR_set_mempolicy, sys_set_mempolicy, compat_sys_set_mempolicy)
680+
__SYSCALL(__NR_set_mempolicy, sys_set_mempolicy)
681681
#define __NR_migrate_pages 238
682-
__SC_COMP(__NR_migrate_pages, sys_migrate_pages, compat_sys_migrate_pages)
682+
__SYSCALL(__NR_migrate_pages, sys_migrate_pages)
683683
#define __NR_move_pages 239
684-
__SC_COMP(__NR_move_pages, sys_move_pages, compat_sys_move_pages)
684+
__SYSCALL(__NR_move_pages, sys_move_pages)
685685
#endif
686686

687687
#define __NR_rt_tgsigqueueinfo 240
@@ -873,8 +873,18 @@ __SYSCALL(__NR_landlock_add_rule, sys_landlock_add_rule)
873873
#define __NR_landlock_restrict_self 446
874874
__SYSCALL(__NR_landlock_restrict_self, sys_landlock_restrict_self)
875875

876+
#ifdef __ARCH_WANT_MEMFD_SECRET
877+
#define __NR_memfd_secret 447
878+
__SYSCALL(__NR_memfd_secret, sys_memfd_secret)
879+
#endif
880+
#define __NR_process_mrelease 448
881+
__SYSCALL(__NR_process_mrelease, sys_process_mrelease)
882+
883+
#define __NR_futex_waitv 449
884+
__SYSCALL(__NR_futex_waitv, sys_futex_waitv)
885+
876886
#undef __NR_syscalls
877-
#define __NR_syscalls 447
887+
#define __NR_syscalls 450
878888

879889
/*
880890
* 32 bit systems traditionally used different

0 commit comments

Comments
 (0)