From: Ben Hutchings <bhutchings@solarflare.com>
To: netdev@vger.kernel.org
Cc: linux-net-drivers@solarflare.com, Jeff Garzik <jgarzik@pobox.com>,
David Miller <davem@davemloft.net>
Subject: [PATCH 0/8] New driver "sfc" for Solarstorm SFC4000 controller (try #9)
Date: Wed, 26 Mar 2008 12:12:12 +0000 [thread overview]
Message-ID: <20080326121210.GE24160@solarflare.com> (raw)
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.
next reply other threads:[~2008-03-26 12:12 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-26 12:12 Ben Hutchings [this message]
2008-03-26 12:13 ` [PATCH 1/8] New driver "sfc" for Solarstorm SFC4000 controller (try #9) 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080326121210.GE24160@solarflare.com \
--to=bhutchings@solarflare.com \
--cc=davem@davemloft.net \
--cc=jgarzik@pobox.com \
--cc=linux-net-drivers@solarflare.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).