aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0112-lib-crc-Move-polynomial-definition-to-separate-heade.patch
diff options
context:
space:
mode:
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.patch96
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
+