]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bnx2x: Removing indirect register access
authorAriel Elior <ariele@broadcom.com>
Thu, 26 Jan 2012 06:01:46 +0000 (06:01 +0000)
committerJoe Jin <joe.jin@oracle.com>
Wed, 16 May 2012 14:41:19 +0000 (22:41 +0800)
commit4a9dc51fa04470e4e38d2376ef57b873626ed588
tree2c57cdedb74688ab1e0c03bfc43c949bb8b25cf1
parentb61336249faa9a9c1b7e52dc7dfb2a88611d0b1b
bnx2x: Removing indirect register access

In virtualized environments indirect access to the device may not be supported
(depending on the Hypervisor type). Indirect device access was used since in
some harware contexts (i.e. certain chipset and BIOS) every access the driver
makes across the pci is followed by a BIOS initiated Zero Length Read to the
same address. When accessing widebus registers this zero length read corrupts
the serialization of the read/write sequence resulting with errors. To avoid
this problem widebus registers are always accessed via the DMAE or the indirect
interface. However, the 57712x and 578xx devices intercept the zero length read
and so using the indirect interface with these devices is not necessary. Since
PDA is only supported for 57712x and 578xx the indirect access to device was
restricted to 57710 and 57711x.

(cherry picked from commit 127a425e8f05b9813879e8ca909ef4338ec8ec04)
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/bnx2x/bnx2x_init_ops.h
drivers/net/bnx2x/bnx2x_main.c