netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] New driver "sfc" for Solarstorm SFC4000 controller (try #9)
@ 2008-03-26 12:12 Ben Hutchings
  2008-03-26 12:13 ` [PATCH 1/8] " Ben Hutchings
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Ben Hutchings @ 2008-03-26 12:12 UTC (permalink / raw)
  To: netdev; +Cc: linux-net-drivers, Jeff Garzik, David Miller

This is a resubmission of a new driver for Solarflare network controllers.

The driver supports the 10Xpress PHY and XFP modules on our reference
designs SFE4001 and SFE4002 and the SMC models SMC10GPCIe-XFP and
SMC10GPCIe-10BT.

The previous patches began with:
  http://marc.info/?l=linux-netdev&m=120528862826282&w=2

Some explanation of the driver structure was posted in:
  http://marc.info/?l=linux-netdev&m=119999015817920&w=2

Since the last submission we have addressed the review comments:
- Remove local unused flags variables.
- Removed bogus uses of __attribute__ ((unused)).
- Removed conditional use of topology_core_siblings().
- Moved net-dev allocation and freeing from efx_{init,fini}_napi() to
  efx_pci_{probe,remove}() since we only have one port per PCI function.
  Moved net-dev initialisation and association from efx_init_napi() to
  appropriate functions.  Removed now-obsolete test that efx->net_dev
  is non-null.
- Simplified Makefile.

We have also made a number of bug fixes:
- Always reconfigure MAC in efx_start_port(); this avoids potential
  missed signalling of net carrier.
- Moved call to falcon_update_nic_stats() into efx_net_stats() since it
  now requires NIC stats as well.
- Remove useless call to efx_reconfigure_port() from efx_ioctl().
- When fini'ing the tx queue, don't complain about completing
  empty descriptors. Whilst here make skipping tx descriptors a proper
  error, and perform an invisible reset.
- Don't propagate link state changes whilst the port is down.
- Fixed failure path for efx_probe_all() to call efx_remove_nic() if
  necessary.
- Fixed efx_ethtool_set_pauseparam() to propagate result of
  efx_mac_operations::set_pause.

We also did some cleanup and simplification:
- Removed declaration of removed function falcon_debugfs_read_hardware_desc().
- Removed unused definitions of EFX_WORD, EFX_DWORD, EFX_OWORD.
  Removed definition of EFX_BYTE and replaced with literal 1 in sfe4001.c.
- Removed unused inline function efx_is_over_4gb().
- Changed return type of efx_probe_interrupts() and efx_select_used() to
  void, as they can never fail.  Simplified efx_probe_nic() accordingly.
- Renamed FALCON_BUF_ALIGN to FALCON_BUF_SIZE (it is both size and alignment).
  Replaced literal 4096 in falcon_alloc_special_buffer() with FALCON_BUF_SIZE.
  Made use of kernel ALIGN() macro in falcon_alloc_special_buffer().
- Corrected first comment in i2c-direct.c - we don't use I2C for EEPROM
  access on Falcon.
- Removed name format macros only used by ethtool self-tests and debugfs.
- Removed SPI-related members from efx_nic, only needed for MTD driver.
- Remove the net_dev_registered flag, replacing it with checks on
  the net_dev->flags field. netif_running() is implicitly false
  when NET_DEV_REGISTERED()==0, so remove some spurious checks.
- Since we always call efx_reconfigure_port() in efx_start_port(), then
  always drain the port in efx_stop_all(). This removes an unneeded
  abstraction.

We hope the driver is now ready to be merged.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2008-03-26 12:16 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-26 12:12 [PATCH 0/8] New driver "sfc" for Solarstorm SFC4000 controller (try #9) Ben Hutchings
2008-03-26 12:13 ` [PATCH 1/8] " Ben Hutchings
2008-03-26 12:14 ` [PATCH 2/8] " Ben Hutchings
2008-03-26 12:14 ` [PATCH 3/8] " Ben Hutchings
2008-03-26 12:14 ` [PATCH 4/8] " Ben Hutchings
2008-03-26 12:14 ` [PATCH 5/8] " Ben Hutchings
2008-03-26 12:15 ` [PATCH 6/8] " Ben Hutchings
2008-03-26 12:15 ` [PATCH 7/8] " Ben Hutchings
2008-03-26 12:15 ` [PATCH 8/8] " Ben Hutchings

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).