[U-Boot] [PATCH v2] lib:crc32: Allow setting of the initial crc32 value

Marek Vasut marex at denx.de
Wed May 7 10:25:52 CEST 2014


On Wednesday, May 07, 2014 at 08:10:20 AM, Lukasz Majewski wrote:

[...]

> --- a/lib/crc32.c
> +++ b/lib/crc32.c
> @@ -255,9 +255,12 @@ uint32_t ZEXPORT crc32_wd (uint32_t crc,
>  void crc32_wd_buf(const unsigned char *input, unsigned int ilen,
>  		unsigned char *output, unsigned int chunk_sz)
>  {
> -	uint32_t crc;
> +	uint32_t crc = 0;
> 
> -	crc = crc32_wd(0, input, ilen, chunk_sz);
> +	if (*output)
> +		memcpy(&crc, output, sizeof(crc));

Won't some sort of put_unaligned() work here ? The $crc is uint32_t afterall, so 
it might be a jiff faster. Please correct me if I'm wrong.

> +
> +	crc = crc32_wd(crc, input, ilen, chunk_sz);
>  	crc = htonl(crc);
>  	memcpy(output, &crc, sizeof(crc));
>  }

Best regards,
Marek Vasut


More information about the U-Boot mailing list