crc32-add-pointer-to-tab.diff Replace 2D array references by
 pointer references in loops. This change has no effect on
 X86 code but improves PPC performance.

Signed-off-by: Bob Pearson <rpearson@systemfabricworks.com>
crc32-misc-cleanup.diff Misc cleanup of lib/crc32.c and
 related files
 	- removed unnecessary header files.
 	- straightened out some convoluted ifdef's
 	- rewrote some references to 2 dimensional arrays as 1 dimensional
   arrays to make them correct. I.e. replaced tab[i] with
 tab[0][i].
 	- a few trivial whitespace changes
 	- fixed a warning in gen_crc32tables.c caused by a mismatch
 in the type of the pointer passed to output
 table. Since the table is only used at kernel compile time, it is simpler to make the table 	  big enough
 to hold the largest column size used. One cannot make the column size smaller in output_table because it has to be
 used by both the le and be tables and they can have different column sizes.

Signed-off-by: Bob Pearson <rpearson@systemfabricworks.com>
crc32-fix-check-endian-warnings.diff crc32.c in its original
 version freely mixed u32, __le32 and __be32 types which
 caused warnings from sparse with __CHECK_ENDIAN__. This
 patch fixes these by forcing the types to u32.

Signed-off-by: Bob Pearson <rpearson@systemfabricworks.com>
crc32-add-real-8-bit.diff
 crc32.c provides a choice of one
 of several algorithms for computing the LSB and LSB
 versions of the CRC32 checksum based on the parameters
 CRC_LE_BITS and CRC_BE_BITS. In the original version the
 values 1, 2, 4 and 8 respectively selected versions of the
 alrogithm that computed the crc 1, 2, 4 and 32 bits as a
 time. This patch series adds a new version that computes
 the CRC 64 bits at a time. To make things easier to
 understand the parameter has been reinterpreted to actually
 stand for the number of bits processed in each step of the
 algorithm so that the old value 8 has been replaced with
 the value 32. This also allows us to add in a widely used
 crc algorithm that computes the crc 8 bits at a time called
 the Sarwate algorithm.

Signed-off-by: Bob Pearson <rpearson@systemfabricworks.com>
crc32-add-slicing-by-8.diff
 add slicing-by-8 algorithm to
 the existing slicing-by-4 algorithm.
 This consists of:
 	- extend largest BITS size from 32 to 64
 	- extend tables from tab[4][256] to up to tab[8][256]
 	- Add code for inner loop.

Signed-off-by: Bob Pearson <rpearson@systemfabricworks.com>
crc32-optimize-loops-for-x86.diff
 Add two changes that improve the performance of x86 systems
 	1. replace main loop with incrementing counter this change improves the performance of the selftest by about 5-6% on Nehalem CPUs. The apparent 	   reason is that
 the compiler can use the loop index to perform an indexed memory access. This is 	   reported to make
 the performance of PowerPC CPUs to get worse.
 	2. replace the rem_len loop with incrementing counter this change improves the performance of the selftest, which has more than the usual number of occurances,
 by about 1-2% on x86 CPUs. In actual work loads the length is most often a multiple of 4 bytes and
 this code does not get executed as often if at all. Again this change is reported to make the performance of PowerPC get worse.

Signed-off-by: Bob Pearson <rpearson@systemfabricworks.com>
crc32-final.diff Some final changes
 	- added a comment at the top of crc32.c

Signed-off-by: Bob Pearson <rpearson@systemfabricworks.com>
crc32: Bolt on crc32c Reuse the existing crc32 code to stamp out a crc32c implementation.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
crc32: Add self-test code for crc32c Add self-test code for crc32c.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
crypto: crc32c should use library implementation Since
 lib/crc32.c now provides crc32c, remove the software
 implementation here and call the library function instead.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
crc32: Select an algorithm via kconfig Allow the kernel
 builder to choose a crc32* algorithm for the kernel.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>