aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/specialix.c
Commit message (Expand)AuthorAge
* Char: specialix, remove busy waitingJiri Slaby2007-07-17
* [PATCH] Char: timers cleanupJiri Slaby2007-02-12
* [PATCH] Char: specialix, isr have 2 paramsJiri Slaby2007-02-12
* [PATCH] Char: tty_wakeup cleanupJiri Slaby2007-02-11
* [PATCH] tty: switch to ktermiosAlan Cox2006-12-08
* WorkStruct: make allyesconfigDavid Howells2006-11-22
* [PATCH] drivers/char/specialix.c: fix the baud conversionAdrian Bunk2006-10-17
* Various drivers' irq handlers: kill dead code, needless castsJeff Garzik2006-10-06
* IRQ: Maintain regs pointer globally rather than passing to IRQ handlersDavid Howells2006-10-05
* [PATCH] const struct tty_operationsJeff Dike2006-10-02
* [PATCH] Char: specialix, kill unneeded page allocJiri Slaby2006-10-01
* [PATCH] specialix - remove private speed decodingAlan Cox2006-09-29
* [PATCH] Add Specialix IO8+ card support hotplug supportChuck Short2006-07-10
* [PATCH] irq-flags: drivers/char: Use the new IRQF_ constantsThomas Gleixner2006-07-02
* Remove obsolete #include <linux/config.h>Jörn Engel2006-06-30
* [PATCH] spin/rwlock init cleanupsIngo Molnar2006-06-27
* [PATCH] More !tty cleanups in drivers/charEric Sesterhenn2006-06-25
* [PATCH] remove unused tmp_buf_sem'sAdrian Bunk2006-01-14
* [PATCH] TTY layer buffering revampAlan Cox2006-01-10
* [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reasonOlaf Hering2005-11-09
* [PATCH] remove some more check_region stuffJeff Garzik2005-10-30
* [PATCH] misc verify_area cleanupsJesper Juhl2005-05-01
* Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds2005-04-16
"hl opt">: "=&r" (sum), "=r" (tmp) : "0" (sum), "1" ((__force u32)sum<<16) : "cc"); return (__force __sum16)sum; } static inline __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned int len, unsigned short proto, __wsum sum) { __asm__ __volatile__( " addcc %1, %0, %0\n" " addccc %2, %0, %0\n" " addccc %3, %0, %0\n" " addc %0, %%g0, %0\n" : "=r" (sum), "=r" (saddr) : "r" (daddr), "r" (proto + len), "0" (sum), "1" (saddr) : "cc"); return sum; } /* * computes the checksum of the TCP/UDP pseudo-header * returns a 16-bit checksum, already complemented */ static inline __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr, unsigned short len, unsigned short proto, __wsum sum) { return csum_fold(csum_tcpudp_nofold(saddr,daddr,len,proto,sum)); } #define _HAVE_ARCH_IPV6_CSUM static inline __sum16 csum_ipv6_magic(const struct in6_addr *saddr, const struct in6_addr *daddr, __u32 len, unsigned short proto, __wsum sum) { __asm__ __volatile__ ( " addcc %3, %4, %%g7\n" " addccc %5, %%g7, %%g7\n" " lduw [%2 + 0x0c], %%g2\n" " lduw [%2 + 0x08], %%g3\n" " addccc %%g2, %%g7, %%g7\n" " lduw [%2 + 0x04], %%g2\n" " addccc %%g3, %%g7, %%g7\n" " lduw [%2 + 0x00], %%g3\n" " addccc %%g2, %%g7, %%g7\n" " lduw [%1 + 0x0c], %%g2\n" " addccc %%g3, %%g7, %%g7\n" " lduw [%1 + 0x08], %%g3\n" " addccc %%g2, %%g7, %%g7\n" " lduw [%1 + 0x04], %%g2\n" " addccc %%g3, %%g7, %%g7\n" " lduw [%1 + 0x00], %%g3\n" " addccc %%g2, %%g7, %%g7\n" " addccc %%g3, %%g7, %0\n" " addc 0, %0, %0\n" : "=&r" (sum) : "r" (saddr), "r" (daddr), "r"(htonl(len)), "r"(htonl(proto)), "r"(sum) : "g2", "g3", "g7", "cc"); return csum_fold(sum); } /* this routine is used for miscellaneous IP-like checksums, mainly in icmp.c */ static inline __sum16 ip_compute_csum(const void *buff, int len) { return csum_fold(csum_partial(buff, len, 0)); } #endif /* !(__SPARC64_CHECKSUM_H) */