diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0112-lib-crc-Move-polynomial-definition-to-separate-heade.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0112-lib-crc-Move-polynomial-definition-to-separate-heade.patch | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0112-lib-crc-Move-polynomial-definition-to-separate-heade.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0112-lib-crc-Move-polynomial-definition-to-separate-heade.patch new file mode 100644 index 00000000..307bc389 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0112-lib-crc-Move-polynomial-definition-to-separate-heade.patch @@ -0,0 +1,96 @@ +From 56993bb2133c233893248f4611cdedddcefb9a79 Mon Sep 17 00:00:00 2001 +From: Krzysztof Kozlowski <krzk@kernel.org> +Date: Tue, 17 Jul 2018 18:05:36 +0200 +Subject: [PATCH 112/131] lib/crc: Move polynomial definition to separate + header + +Allow other drivers and parts of kernel to use the same define for +CRC32 polynomial, instead of duplicating it in many places. This code +does not bring any functional changes, except moving existing code. + +Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> +Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> +Signed-off-by: Sudheesh Mavila <sudheesh.mavila@amd.com> +--- + include/linux/crc32poly.h | 20 ++++++++++++++++++++ + lib/crc32.c | 1 + + lib/crc32defs.h | 14 -------------- + lib/gen_crc32table.c | 1 + + 4 files changed, 22 insertions(+), 14 deletions(-) + create mode 100644 include/linux/crc32poly.h + +diff --git a/include/linux/crc32poly.h b/include/linux/crc32poly.h +new file mode 100644 +index 0000000..7ad5aa9 +--- /dev/null ++++ b/include/linux/crc32poly.h +@@ -0,0 +1,20 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++#ifndef _LINUX_CRC32_POLY_H ++#define _LINUX_CRC32_POLY_H ++ ++/* ++ * There are multiple 16-bit CRC polynomials in common use, but this is ++ * *the* standard CRC-32 polynomial, first popularized by Ethernet. ++ * x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x^1+x^0 ++ */ ++#define CRCPOLY_LE 0xedb88320 ++#define CRCPOLY_BE 0x04c11db7 ++ ++/* ++ * This is the CRC32c polynomial, as outlined by Castagnoli. ++ * x^32+x^28+x^27+x^26+x^25+x^23+x^22+x^20+x^19+x^18+x^14+x^13+x^11+x^10+x^9+ ++ * x^8+x^6+x^0 ++ */ ++#define CRC32C_POLY_LE 0x82F63B78 ++ ++#endif /* _LINUX_CRC32_POLY_H */ +diff --git a/lib/crc32.c b/lib/crc32.c +index 6ddc92b..82bfc053 100644 +--- a/lib/crc32.c ++++ b/lib/crc32.c +@@ -27,6 +27,7 @@ + /* see: Documentation/crc32.txt for a description of algorithms */ + + #include <linux/crc32.h> ++#include <linux/crc32poly.h> + #include <linux/module.h> + #include <linux/types.h> + #include <linux/sched.h> +diff --git a/lib/crc32defs.h b/lib/crc32defs.h +index cb275a2..0c8fb59 100644 +--- a/lib/crc32defs.h ++++ b/lib/crc32defs.h +@@ -1,18 +1,4 @@ + /* SPDX-License-Identifier: GPL-2.0 */ +-/* +- * There are multiple 16-bit CRC polynomials in common use, but this is +- * *the* standard CRC-32 polynomial, first popularized by Ethernet. +- * x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x^1+x^0 +- */ +-#define CRCPOLY_LE 0xedb88320 +-#define CRCPOLY_BE 0x04c11db7 +- +-/* +- * This is the CRC32c polynomial, as outlined by Castagnoli. +- * x^32+x^28+x^27+x^26+x^25+x^23+x^22+x^20+x^19+x^18+x^14+x^13+x^11+x^10+x^9+ +- * x^8+x^6+x^0 +- */ +-#define CRC32C_POLY_LE 0x82F63B78 + + /* Try to choose an implementation variant via Kconfig */ + #ifdef CONFIG_CRC32_SLICEBY8 +diff --git a/lib/gen_crc32table.c b/lib/gen_crc32table.c +index 8f26660..34c3bc8 100644 +--- a/lib/gen_crc32table.c ++++ b/lib/gen_crc32table.c +@@ -1,5 +1,6 @@ + // SPDX-License-Identifier: GPL-2.0 + #include <stdio.h> ++#include "../include/linux/crc32poly.h" + #include "../include/generated/autoconf.h" + #include "crc32defs.h" + #include <inttypes.h> +-- +2.7.4 + |