Skip to content

Commit ee6740f

Browse files
committed
Merge tag 'crc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux
Pull CRC updates from Eric Biggers: "Another set of improvements to the kernel's CRC (cyclic redundancy check) code: - Rework the CRC64 library functions to be directly optimized, like what I did last cycle for the CRC32 and CRC-T10DIF library functions - Rewrite the x86 PCLMULQDQ-optimized CRC code, and add VPCLMULQDQ support and acceleration for crc64_be and crc64_nvme - Rewrite the riscv Zbc-optimized CRC code, and add acceleration for crc_t10dif, crc64_be, and crc64_nvme - Remove crc_t10dif and crc64_rocksoft from the crypto API, since they are no longer needed there - Rename crc64_rocksoft to crc64_nvme, as the old name was incorrect - Add kunit test cases for crc64_nvme and crc7 - Eliminate redundant functions for calculating the Castagnoli CRC32, settling on just crc32c() - Remove unnecessary prompts from some of the CRC kconfig options - Further optimize the x86 crc32c code" * tag 'crc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux: (36 commits) x86/crc: drop the avx10_256 functions and rename avx10_512 to avx512 lib/crc: remove unnecessary prompt for CONFIG_CRC64 lib/crc: remove unnecessary prompt for CONFIG_LIBCRC32C lib/crc: remove unnecessary prompt for CONFIG_CRC8 lib/crc: remove unnecessary prompt for CONFIG_CRC7 lib/crc: remove unnecessary prompt for CONFIG_CRC4 lib/crc7: unexport crc7_be_syndrome_table lib/crc_kunit.c: update comment in crc_benchmark() lib/crc_kunit.c: add test and benchmark for crc7_be() x86/crc32: optimize tail handling for crc32c short inputs riscv/crc64: add Zbc optimized CRC64 functions riscv/crc-t10dif: add Zbc optimized CRC-T10DIF function riscv/crc32: reimplement the CRC32 functions using new template riscv/crc: add "template" for Zbc optimized CRC functions x86/crc: add ANNOTATE_NOENDBR to suppress objtool warnings x86/crc32: improve crc32c_arch() code generation with clang x86/crc64: implement crc64_be and crc64_nvme using new template x86/crc-t10dif: implement crc_t10dif using new template x86/crc32: implement crc32_le using new template x86/crc: add "template" for [V]PCLMULQDQ based CRC functions ...
2 parents a86c6d0 + acf9f8d commit ee6740f

File tree

115 files changed

+2121
-1969
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+2121
-1969
lines changed

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6147,6 +6147,7 @@ F: Documentation/staging/crc*
61476147
F: arch/*/lib/crc*
61486148
F: include/linux/crc*
61496149
F: lib/crc*
6150+
F: scripts/gen-crc-consts.py
61506151

61516152
CREATIVE SB0540
61526153
M: Bastien Nocera <hadess@hadess.net>

arch/arm/configs/dove_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,6 @@ CONFIG_CRYPTO_LZO=y
129129
# CONFIG_CRYPTO_ANSI_CPRNG is not set
130130
CONFIG_CRYPTO_DEV_MARVELL_CESA=y
131131
CONFIG_CRC_CCITT=y
132-
CONFIG_LIBCRC32C=y
133132
CONFIG_PRINTK_TIME=y
134133
# CONFIG_DEBUG_BUGVERBOSE is not set
135134
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y

arch/arm/configs/ep93xx_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ CONFIG_NFS_FS=y
113113
CONFIG_ROOT_NFS=y
114114
CONFIG_NLS_CODEPAGE_437=y
115115
CONFIG_NLS_ISO8859_1=y
116-
CONFIG_LIBCRC32C=y
117116
CONFIG_MAGIC_SYSRQ=y
118117
CONFIG_DEBUG_SLAB=y
119118
CONFIG_DEBUG_SPINLOCK=y

arch/arm/configs/imx_v6_v7_defconfig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -483,8 +483,6 @@ CONFIG_CRYPTO_DEV_SAHARA=y
483483
CONFIG_CRYPTO_DEV_MXS_DCP=y
484484
CONFIG_CRC_CCITT=m
485485
CONFIG_CRC_T10DIF=y
486-
CONFIG_CRC7=m
487-
CONFIG_LIBCRC32C=m
488486
CONFIG_CMA_SIZE_MBYTES=64
489487
CONFIG_FONTS=y
490488
CONFIG_FONT_8x8=y

arch/arm/configs/lpc18xx_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,6 @@ CONFIG_EXT2_FS=y
148148
CONFIG_JFFS2_FS=y
149149
# CONFIG_NETWORK_FILESYSTEMS is not set
150150
CONFIG_CRC_ITU_T=y
151-
CONFIG_CRC7=y
152151
CONFIG_PRINTK_TIME=y
153152
# CONFIG_ENABLE_MUST_CHECK is not set
154153
# CONFIG_DEBUG_BUGVERBOSE is not set

arch/arm/configs/moxart_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ CONFIG_TMPFS=y
118118
CONFIG_CONFIGFS_FS=y
119119
CONFIG_JFFS2_FS=y
120120
CONFIG_KEYS=y
121-
CONFIG_CRC32_BIT=y
122121
CONFIG_DMA_API_DEBUG=y
123122
CONFIG_PRINTK_TIME=y
124123
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y

arch/arm/configs/multi_v5_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,6 @@ CONFIG_CRYPTO_CBC=m
290290
CONFIG_CRYPTO_PCBC=m
291291
CONFIG_CRYPTO_DEV_MARVELL_CESA=y
292292
CONFIG_CRC_CCITT=y
293-
CONFIG_LIBCRC32C=y
294293
CONFIG_DEBUG_KERNEL=y
295294
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
296295
CONFIG_MAGIC_SYSRQ=y

arch/arm/configs/mvebu_v5_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ CONFIG_CRYPTO_CBC=m
188188
CONFIG_CRYPTO_PCBC=m
189189
CONFIG_CRYPTO_DEV_MARVELL_CESA=y
190190
CONFIG_CRC_CCITT=y
191-
CONFIG_LIBCRC32C=y
192191
CONFIG_DEBUG_KERNEL=y
193192
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
194193
CONFIG_MAGIC_SYSRQ=y

arch/arm/configs/mxs_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ CONFIG_NLS_ISO8859_1=y
161161
CONFIG_NLS_ISO8859_15=y
162162
CONFIG_CRYPTO_DEV_MXS_DCP=y
163163
CONFIG_CRC_ITU_T=m
164-
CONFIG_CRC7=m
165164
CONFIG_FONTS=y
166165
CONFIG_PRINTK_TIME=y
167166
CONFIG_DEBUG_KERNEL=y

arch/arm/configs/omap1_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,6 @@ CONFIG_CRYPTO_PCBC=y
221221
CONFIG_CRYPTO_DEFLATE=y
222222
CONFIG_CRYPTO_LZO=y
223223
# CONFIG_CRYPTO_ANSI_CPRNG is not set
224-
CONFIG_LIBCRC32C=y
225224
CONFIG_FONTS=y
226225
CONFIG_FONT_8x8=y
227226
CONFIG_FONT_8x16=y

0 commit comments

Comments
 (0)