From: Baruch Siach Date: Fri, 19 Dec 2008 03:39:14 +0000 (-0800) Subject: enc28j60: reduce the number of spi transfers in enc28j60_set_bank() X-Git-Tag: v2.6.29-rc1~581^2~119 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5664dd5561850df580414783cf3c8e0aa834c62e;p=pandora-kernel.git enc28j60: reduce the number of spi transfers in enc28j60_set_bank() A major source of overhead in the enc28j60 driver is the SPI transfers. Each SPI transfer entails two kernel thread context switches. One major source of SPI transfers is the enc28j60_set_bank() functions which runs before every register access. This patch reduces the number of SPI transfers that enc28j60_set_bank() performs in two ways: 1. removes unnecessary bank switch for the registers that are present in all banks 2. when switching from banks 0 or 3 to banks 1 or 2 (i.e. only one bit changes) enc28j60_set_bank() does only one SPI transfer instead of two According to my tests these changes reduce the number of SPI transfers in about 25%. Signed-off-by: Baruch Siach Signed-off-by: David S. Miller --- Reading git-diff-tree failed