<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/lib/crc32.c, branch v4.19.248</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.19.248</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.19.248'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2020-10-30T09:38:21+00:00</updated>
<entry>
<title>lib/crc32.c: fix trivial typo in preprocessor condition</title>
<updated>2020-10-30T09:38:21+00:00</updated>
<author>
<name>Tobias Jordan</name>
<email>kernel@cdqe.de</email>
</author>
<published>2020-10-16T03:11:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=67f4d89b4efa2726eb0f04e6987dbcde3e7c24a0'/>
<id>urn:sha1:67f4d89b4efa2726eb0f04e6987dbcde3e7c24a0</id>
<content type='text'>
[ Upstream commit 904542dc56524f921a6bab0639ff6249c01e775f ]

Whether crc32_be needs a lookup table is chosen based on CRC_LE_BITS.
Obviously, the _be function should be governed by the _BE_ define.

This probably never pops up as it's hard to come up with a configuration
where CRC_BE_BITS isn't the same as CRC_LE_BITS and as nobody is using
bitwise CRC anyway.

Fixes: 46c5801eaf86 ("crc32: bolt on crc32c")
Signed-off-by: Tobias Jordan &lt;kernel@cdqe.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Cc: Jonathan Corbet &lt;corbet@lwn.net&gt;
Cc: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
Link: https://lkml.kernel.org/r/20200923182122.GA3338@agrajag.zerfleddert.de
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>lib/crc: Use consistent naming for CRC-32 polynomials</title>
<updated>2018-07-27T11:04:33+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>krzk@kernel.org</email>
</author>
<published>2018-07-17T16:05:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e37f2f93afe594682702439ca34eb8130598cdf2'/>
<id>urn:sha1:e37f2f93afe594682702439ca34eb8130598cdf2</id>
<content type='text'>
Header was defining CRCPOLY_LE/BE and CRC32C_POLY_LE but in fact all of
them are CRC-32 polynomials so use consistent naming.

Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>lib/crc: Move polynomial definition to separate header</title>
<updated>2018-07-27T11:04:33+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>krzk@kernel.org</email>
</author>
<published>2018-07-17T16:05:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1fb2e3f276ddafee81073d884f599cd2574c31e2'/>
<id>urn:sha1:1fb2e3f276ddafee81073d884f599cd2574c31e2</id>
<content type='text'>
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 &lt;krzk@kernel.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>docs: clean up and add rest of CRC functions to kernel-api.rst</title>
<updated>2017-09-26T21:01:20+00:00</updated>
<author>
<name>Randy Dunlap</name>
<email>rdunlap@infradead.org</email>
</author>
<published>2017-09-08T23:35:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8a29896a6e31c7aa2ca3b50d8aefe05f280b0b7e'/>
<id>urn:sha1:8a29896a6e31c7aa2ca3b50d8aefe05f280b0b7e</id>
<content type='text'>
Add the rest of the CRC library functions to kernel-api.

- try to clarify crc32() by adding '@' to a function parameter
- reorder kernel-api CRC functions to be less random
- add more CRC functions to kernel-api
- correct the function parameter names in several places

Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
</content>
</entry>
<entry>
<title>lib: add module support to crc32 tests</title>
<updated>2017-02-25T01:46:57+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2017-02-24T23:00:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5fb7f87408f1534f2c3fadb876dc429cca601104'/>
<id>urn:sha1:5fb7f87408f1534f2c3fadb876dc429cca601104</id>
<content type='text'>
Extract the crc32 test code into its own source file, to allow to
compile it either to a loadable module, or builtin into the kernel.

Link: http://lkml.kernel.org/r/1483470276-10517-1-git-send-email-geert@linux-m68k.org
Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Reviewed-by: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>crc32: use ktime_get_ns() for measurement</title>
<updated>2016-08-02T23:35:08+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2016-08-02T21:04:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a9bfd3321713ecec86282dd2bec04212189f91f1'/>
<id>urn:sha1:a9bfd3321713ecec86282dd2bec04212189f91f1</id>
<content type='text'>
The crc32 test function measures the elapsed time in nanoseconds, but
uses 'struct timespec' for that.  We want to remove timespec from the
kernel for y2038 compatibility, and ktime_get_ns() also helps make the
code simpler here.

It is also slightly better to use monontonic time, as we are only
interested in the time difference.

Link: http://lkml.kernel.org/r/20160617143932.3289626-1-arnd@arndb.de
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: "David S . Miller" &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>lib: crc32: Add some additional __pure annotations</title>
<updated>2014-06-25T23:04:00+00:00</updated>
<author>
<name>George Spelvin</name>
<email>linux@horizon.com</email>
</author>
<published>2014-06-23T13:11:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d8f1c4778e957273c3b5b6e045d8d3af38484ca8'/>
<id>urn:sha1:d8f1c4778e957273c3b5b6e045d8d3af38484ca8</id>
<content type='text'>
In case they help the compiler.

Signed-off-by: George Spelvin &lt;linux@horizon.com&gt;
Signed-off-by: Daniel Borkmann &lt;dborkman@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>lib: crc32: Mark test data __initconst</title>
<updated>2014-06-25T23:03:59+00:00</updated>
<author>
<name>George Spelvin</name>
<email>linux@horizon.com</email>
</author>
<published>2014-06-23T13:11:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4fa8e03b22df9b34f87906fa29de788bfa628bff'/>
<id>urn:sha1:4fa8e03b22df9b34f87906fa29de788bfa628bff</id>
<content type='text'>
So it gets discarded after the selftest.

Signed-off-by: George Spelvin &lt;linux@horizon.com&gt;
Signed-off-by: Daniel Borkmann &lt;dborkman@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>lib: crc32: Greatly shrink CRC combining code</title>
<updated>2014-06-25T23:03:59+00:00</updated>
<author>
<name>George Spelvin</name>
<email>linux@horizon.com</email>
</author>
<published>2014-06-23T13:11:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6d514b4e7737ad75a7e7e0a3f7dde45d46341691'/>
<id>urn:sha1:6d514b4e7737ad75a7e7e0a3f7dde45d46341691</id>
<content type='text'>
There's no need for a full 32x32 matrix, when rows before the last are
just shifted copies of the rows after them.

There's still room for improvement (especially on X86 processors with
CRC32 and PCLMUL instructions), but this is a large step in the
right direction [which is in particular useful for its current user,
namely SCTP checksumming over multiple skb frags[] entries, i.e. in
IPVS balancing when other CRC32 offloads are not available].

The internal primitive is now called crc32_generic_shift and takes one
less argument; the XOR with crc2 is done in inline wrappers.

Signed-off-by: George Spelvin &lt;linux@horizon.com&gt;
Signed-off-by: Daniel Borkmann &lt;dborkman@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>lib/crc32.c: remove unnecessary __constant</title>
<updated>2014-06-04T23:54:19+00:00</updated>
<author>
<name>Fabian Frederick</name>
<email>fabf@skynet.be</email>
</author>
<published>2014-06-04T23:11:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=38b4fe5fcc8690719339fb44afb330a75af08021'/>
<id>urn:sha1:38b4fe5fcc8690719339fb44afb330a75af08021</id>
<content type='text'>
Use cpu_to_le32 instead of __constant_cpu_to_le32.

Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
