/* * Copyright 2004-2009 Analog Devices Inc. * akbar.hussain@lineo.com * * Licensed under the GPL-2 or later. */ #ifndef _BFIN_CHECKSUM_H #define _BFIN_CHECKSUM_H /* * computes the checksum of the TCP/UDP pseudo-header * returns a 16-bit checksum, already complemented */
static inline __wsum __csum_tcpudp_nofold(__be32 saddr, __be32 daddr, __u32 len, __u8 proto, __wsum sum) { unsigned int carry; __asm__ ("%0 = %0 + %2;\n\t" "CC = AC0;\n\t" "%1 = CC;\n\t" "%0 = %0 + %1;\n\t" "%0 = %0 + %3;\n\t" "CC = AC0;\n\t" "%1 = CC;\n\t" "%0 = %0 + %1;\n\t" "%0 = %0 + %4;\n\t" "CC = AC0;\n\t" "%1 = CC;\n\t" "%0 = %0 + %1;\n\t" : "=d" (sum), "=&d" (carry) : "d" (daddr), "d" (saddr), "d" ((len + proto) << 8), "0"(sum) : "CC"); return (sum); }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Bryan Wu | 20 | 62.50% | 1 | 20.00% |
Michael Hennerich | 5 | 15.62% | 1 | 20.00% |
Al Viro | 4 | 12.50% | 1 | 20.00% |
Alexander Duyck | 2 | 6.25% | 1 | 20.00% |
Mike Frysinger | 1 | 3.12% | 1 | 20.00% |
Total | 32 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Bryan Wu | 30 | 61.22% | 1 | 16.67% |
Mike Frysinger | 7 | 14.29% | 1 | 16.67% |
Michael Hennerich | 5 | 10.20% | 1 | 16.67% |
Al Viro | 4 | 8.16% | 1 | 16.67% |
Alexander Duyck | 2 | 4.08% | 1 | 16.67% |
Robin Getz | 1 | 2.04% | 1 | 16.67% |
Total | 49 | 100.00% | 6 | 100.00% |