/* SPDX-License-Identifier: GPL-2.0-only */
/*
 *  Copyright (C) 2011 Texas Instruments Incorporated
 *  Author: Mark Salter <msalter@redhat.com>
 */
#ifndef _ASM_C6X_CHECKSUM_H
#define _ASM_C6X_CHECKSUM_H

static inline __wsum
csum_tcpudp_nofold(__be32 saddr, __be32 daddr, __u32 len,
		   __u8 proto, __wsum sum)
{
	unsigned long long tmp;

	asm ("add     .d1   %1,%5,%1\n"
	     "|| addu .l1   %3,%4,%0\n"
	     "addu    .l1   %2,%0,%0\n"
#ifndef CONFIG_CPU_BIG_ENDIAN
	     "|| shl  .s1   %1,8,%1\n"
#endif
	     "addu    .l1   %1,%0,%0\n"
	     "add     .l1   %P0,%p0,%2\n"
	     : "=&a"(tmp), "+a"(len), "+a"(sum)
	     : "a" (saddr), "a" (daddr), "a" (proto));
	return sum;
}
#define csum_tcpudp_nofold csum_tcpudp_nofold

#include <asm-generic/checksum.h>

#endif /* _ASM_C6X_CHECKSUM_H */
