linux/drivers/net/ethernet/sfc
Ben Hutchings 778cdaf639 sfc: Remove confusing MMIO functions
efx_writed_table() uses a step of 16 bytes but efx_readd_table() uses
a step of 4 bytes.  Why are they different?

Firstly, register access is asymmetric:

- The EVQ_RPTR table and RX_INDIRECTION_TBL can (or must?) be written
  as dwords even though they have a step size of 16 bytes, unlike
  most other CSRs.
- In general, a read of any width is valid for registers, so long as
  it does not cross register boundaries.  There is also no latching
  behaviour in the BIU, contrary to rumour.

We write to the EVQ_RPTR table with efx_writed_table() but never read
it back as it's write-only.  We write to the RX_INDIRECTION_TBL with
efx_writed_table(), but only read it back for the register dump, where
we use efx_reado_table() as for any other table with step size of 16.

We read MC_TREG_SMEM with efx_readd_table() for the register dump, but
normally read and write it with efx_readd() and efx_writed() using
offsets calculated in bytes.

Since these functions are trivial and have few callers, it's clearer
to open-code them at the call sites.  While we're at it, update the
comments on the BIU behaviour again.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-12-01 00:26:11 +00:00
..
bitfield.h sfc: Add parentheses around use of bitfield macro arguments 2012-10-02 01:58:39 +01:00
efx.c drivers/net/ethernet/sfc: use standard __{clear,set}_bit_le() functions 2012-10-06 03:04:54 +09:00
efx.h sfc: Add channel specific receive_skb handler and post_remove callback 2012-09-07 21:13:39 +01:00
enum.h sfc: Correct some comments on enum reset_type 2012-07-17 16:12:35 +01:00
ethtool.c sfc: Fix byte order warnings for ethtool RX filter interface 2012-12-01 00:26:06 +00:00
falcon_boards.c sfc: Change state names to be clearer, and comment them 2012-08-24 20:10:18 +01:00
falcon_xmac.c sfc: Fix interface statistics running backward 2012-07-17 16:12:34 +01:00
falcon.c sfc: Really disable flow control while flushing 2012-12-01 00:26:09 +00:00
filter.c sfc: Fix the reported priorities of different filter types 2012-10-02 01:58:42 +01:00
filter.h sfc: Remove EFX_FILTER_FLAG_RX_OVERRIDE_IP 2012-10-02 01:58:41 +01:00
io.h sfc: Remove confusing MMIO functions 2012-12-01 00:26:11 +00:00
Kconfig net: Remove bogus dependencies on INET 2012-11-19 19:13:59 -05:00
Makefile ptp: Enable clock drivers along with associated net/PHY drivers 2012-11-01 11:35:18 -04:00
mcdi_mac.c sfc: Add SR-IOV back-end support for SFC9000 family 2012-02-16 00:25:13 +00:00
mcdi_mon.c sfc: initialize dynamic sysfs attributes for lockdep 2012-07-19 10:48:08 -07:00
mcdi_pcol.h sfc: Add support for IEEE-1588 PTP 2012-09-19 02:54:12 +01:00
mcdi_phy.c sfc: Added support for new ethtool APIs for obtaining module eeprom 2012-05-10 03:10:46 +01:00
mcdi.c sfc: Fix check for failure of MC_CMD_FLUSH_RX_QUEUES 2012-12-01 00:26:11 +00:00
mcdi.h sfc: Fix MCDI structure field lookup 2012-10-02 01:58:40 +01:00
mdio_10g.c sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
mdio_10g.h
mtd.c sfc: Expose FPGA bitfile partition through MTD 2012-09-19 02:56:24 +01:00
net_driver.h sfc: Really disable flow control while flushing 2012-12-01 00:26:09 +00:00
nic.c sfc: Remove confusing MMIO functions 2012-12-01 00:26:11 +00:00
nic.h sfc: Really disable flow control while flushing 2012-12-01 00:26:09 +00:00
phy.h
ptp.c ptp: use list_move instead of list_del/list_add 2012-10-07 14:52:14 -04:00
qt202x_phy.c sfc: Implement module EEPROM access for SFE4002 and SFN4112F 2012-05-10 03:10:54 +01:00
regs.h sfc: Correct MAC filter bitfield definitions 2012-02-16 00:11:31 +00:00
rx.c sfc: Delete redundant page_addr variable from efx_init_rx_buffers_page() 2012-12-01 00:26:10 +00:00
selftest.c sfc: Fix byte order warning in self-test 2012-12-01 00:26:07 +00:00
selftest.h sfc: Run event/IRQ self-test asynchronously when interface is brought up 2012-03-06 18:14:15 +00:00
siena_sriov.c sfc: Remove confusing MMIO functions 2012-12-01 00:26:11 +00:00
siena.c sfc: Really disable flow control while flushing 2012-12-01 00:26:09 +00:00
spi.h sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
tenxpress.c sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
tx.c sfc: Add support for IEEE-1588 PTP 2012-09-19 02:54:12 +01:00
txc43128_phy.c sfc: Const-qualify static data as appropriate, partly prompted by checkpatch 2012-01-09 17:08:13 +00:00
vfdi.h sfc: Specify that the VFDI status page has page alignment and size 2012-02-22 20:48:07 +00:00
workarounds.h