sfc: Separate shared NIC code from Falcon-specific and rename accordingly
Subsystems (2)
PATCH 12/12 sfc: Separate shared NIC code from Falcon-specific and rename accordingly
Signed-off-by Ben Hutchings <[email protected]>
--- drivers/net/sfc/efx.c | 30 ++-- drivers/net/sfc/ethtool.c | 4 +- drivers/net/sfc/falcon.c | 507 ++++++++++++++++++++++--------------------- drivers/net/sfc/falcon.h | 80 +++++--- drivers/net/sfc/rx.c | 10 +- drivers/net/sfc/selftest.c | 4 +- drivers/net/sfc/tx.c | 12 +- 7 files changed, 341 insertions(+), 306 deletions(-)
drivers/net/sfc/efx.c +15 -15
@@ -213,7 +213,7 @@ static int efx_process_channel(struct efx_channel *channel, int rx_quota) !channel->enabled))return 0 ; - rx_packets =falcon_process_eventq (channel, rx_quota); + rx_packets =efx_nic_process_eventq (channel, rx_quota);if (rx_packets ==0 )return 0 ;
@@ -245,7 +245,7 @@ static inline void efx_channel_processed(struct efx_channel *channel) channel->work_pending = false;smp_wmb (); -falcon_eventq_read_ack (channel); +efx_nic_eventq_read_ack (channel); }/* NAPI poll handler
@@ -316,7 +316,7 @@ void efx_process_channel_now(struct efx_channel *channel)BUG_ON (!channel->enabled);/* Disable interrupts and wait for ISRs to complete */ -falcon_disable_interrupts (efx); +efx_nic_disable_interrupts (efx);if (efx->legacy_irq)synchronize_irq (efx->legacy_irq);if (channel->irq)
@@ -333,7 +333,7 @@ void efx_process_channel_now(struct efx_channel *channel)efx_channel_processed (channel);napi_enable (&channel->napi_str); -falcon_enable_interrupts (efx); +efx_nic_enable_interrupts (efx); }/* Create event queue
@@ -345,7 +345,7 @@ static int efx_probe_eventq(struct efx_channel *channel) {EFX_LOG (channel->efx,"chan %d create event queue\n" , channel->channel); -return falcon_probe_eventq (channel); +return efx_nic_probe_eventq (channel); }/* Prepare channel's event queue */
@@ -355,21 +355,21 @@ static void efx_init_eventq(struct efx_channel *channel) channel->eventq_read_ptr =0 ; -falcon_init_eventq (channel); +efx_nic_init_eventq (channel); }static void efx_fini_eventq (struct efx_channel *channel) {EFX_LOG (channel->efx,"chan %d fini event queue\n" , channel->channel); -falcon_fini_eventq (channel); +efx_nic_fini_eventq (channel); }static void efx_remove_eventq (struct efx_channel *channel) {EFX_LOG (channel->efx,"chan %d remove event queue\n" , channel->channel); -falcon_remove_eventq (channel); +efx_nic_remove_eventq (channel); }/**************************************************************************
@@ -535,7 +535,7 @@ static void efx_fini_channels(struct efx_nic *efx)EFX_ASSERT_RESET_SERIALISED (efx);BUG_ON (efx->port_enabled); - rc =falcon_flush_queues (efx); + rc =efx_nic_flush_queues (efx);if (rc)EFX_ERR (efx,"failed to flush queues\n" );else
@@ -1172,7 +1172,7 @@ static void efx_start_all(struct efx_nic *efx)efx_for_each_channel (channel, efx)efx_start_channel (channel); -falcon_enable_interrupts (efx); +efx_nic_enable_interrupts (efx);/* Start the hardware monitor if there is one. Otherwise (we're link * event driven), we have to poll the PHY because after an event queue
@@ -1226,7 +1226,7 @@ static void efx_stop_all(struct efx_nic *efx) efx->type->stop_stats (efx);/* Disable interrupts and wait for ISR to complete */ -falcon_disable_interrupts (efx); +efx_nic_disable_interrupts (efx);if (efx->legacy_irq)synchronize_irq (efx->legacy_irq);efx_for_each_channel (channel, efx) {
@@ -1286,8 +1286,8 @@ void efx_init_irq_moderation(struct efx_nic *efx, int tx_usecs, int rx_usecs, {struct efx_tx_queue *tx_queue;struct efx_rx_queue *rx_queue; -unsigned tx_ticks =irq_mod_ticks (tx_usecs,FALCON_IRQ_MOD_RESOLUTION ); -unsigned rx_ticks =irq_mod_ticks (rx_usecs,FALCON_IRQ_MOD_RESOLUTION ); +unsigned tx_ticks =irq_mod_ticks (tx_usecs,EFX_IRQ_MOD_RESOLUTION ); +unsigned rx_ticks =irq_mod_ticks (rx_usecs,EFX_IRQ_MOD_RESOLUTION );EFX_ASSERT_RESET_SERIALISED (efx);
@@ -2042,7 +2042,7 @@ static void efx_fini_struct(struct efx_nic *efx)*/ static void efx_pci_remove_main (struct efx_nic *efx) { -falcon_fini_interrupt (efx); +efx_nic_fini_interrupt (efx);efx_fini_channels (efx);efx_fini_port (efx); efx->type->fini (efx);
@@ -2119,7 +2119,7 @@ static int efx_pci_probe_main(struct efx_nic *efx)efx_init_channels (efx); - rc =falcon_init_interrupt (efx); + rc =efx_nic_init_interrupt (efx);if (rc) goto fail5;
drivers/net/sfc/ethtool.c +2 -2
@@ -611,8 +611,8 @@ static int efx_ethtool_get_coalesce(struct net_device *net_dev, coalesce->use_adaptive_rx_coalesce = efx->irq_rx_adaptive; coalesce->rx_coalesce_usecs_irq = efx->irq_rx_moderation; - coalesce->tx_coalesce_usecs_irq *=FALCON_IRQ_MOD_RESOLUTION ; - coalesce->rx_coalesce_usecs_irq *=FALCON_IRQ_MOD_RESOLUTION ; + coalesce->tx_coalesce_usecs_irq *=EFX_IRQ_MOD_RESOLUTION ; + coalesce->rx_coalesce_usecs_irq *=EFX_IRQ_MOD_RESOLUTION ;return 0 ; }
drivers/net/sfc/falcon.c +259 -248
1,228 lines not on this page · raw message
drivers/net/sfc/falcon.h +52 -28
115 lines not on this page · raw message
drivers/net/sfc/rx.c +5 -5
@@ -341,7 +341,7 @@ static int __efx_fast_push_rx_descriptors(struct efx_rx_queue *rx_queue, out:/* Send write pointer to card. */ -falcon_notify_rx_desc (rx_queue); +efx_nic_notify_rx_desc (rx_queue);/* If the fast fill is running inside from the refill tasklet, then * for SMP systems it may be running on a different CPU to
@@ -640,7 +640,7 @@ int efx_probe_rx_queue(struct efx_rx_queue *rx_queue)if (!rx_queue->buffer)return -ENOMEM ; - rc =falcon_probe_rx (rx_queue); + rc =efx_nic_probe_rx (rx_queue);if (rc) {kfree (rx_queue->buffer); rx_queue->buffer =NULL ;
@@ -671,7 +671,7 @@ void efx_init_rx_queue(struct efx_rx_queue *rx_queue) rx_queue->fast_fill_limit = limit;/* Set up RX descriptor ring */ -falcon_init_rx (rx_queue); +efx_nic_init_rx (rx_queue); }void efx_fini_rx_queue (struct efx_rx_queue *rx_queue)
@@ -681,7 +681,7 @@ void efx_fini_rx_queue(struct efx_rx_queue *rx_queue)EFX_LOG (rx_queue->efx,"shutting down RX queue %d\n" , rx_queue->queue); -falcon_fini_rx (rx_queue); +efx_nic_fini_rx (rx_queue);/* Release RX buffers NB start at index 0 not current HW ptr */ if (rx_queue->buffer) {
@@ -706,7 +706,7 @@ void efx_remove_rx_queue(struct efx_rx_queue *rx_queue) {EFX_LOG (rx_queue->efx,"destroying RX queue %d\n" , rx_queue->queue); -falcon_remove_rx (rx_queue); +efx_nic_remove_rx (rx_queue);kfree (rx_queue->buffer); rx_queue->buffer =NULL ;
drivers/net/sfc/selftest.c +2 -2
@@ -164,7 +164,7 @@ static int efx_test_interrupts(struct efx_nic *efx, goto success; } -falcon_generate_interrupt (efx); +efx_nic_generate_interrupt (efx);/* Wait for arrival of test interrupt. */ EFX_LOG (efx,"waiting for test interrupt\n" );
@@ -202,7 +202,7 @@ static int efx_test_eventq_irq(struct efx_channel *channel, channel->eventq_magic =0 ;smp_wmb (); -falcon_generate_test_event (channel, magic); +efx_nic_generate_test_event (channel, magic);/* Wait for arrival of interrupt */ count =0 ;
drivers/net/sfc/tx.c +6 -6
@@ -278,7 +278,7 @@ netdev_tx_t efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb) buffer->continuation = false;/* Pass off to hardware */ -falcon_push_buffers (tx_queue); +efx_nic_push_buffers (tx_queue);return NETDEV_TX_OK ;
@@ -426,7 +426,7 @@ int efx_probe_tx_queue(struct efx_tx_queue *tx_queue) tx_queue->buffer[i].continuation = true;/* Allocate hardware ring */ - rc =falcon_probe_tx (tx_queue); + rc =efx_nic_probe_tx (tx_queue);if (rc) goto fail;
@@ -449,7 +449,7 @@ void efx_init_tx_queue(struct efx_tx_queue *tx_queue)BUG_ON (tx_queue->stopped);/* Set up TX descriptor ring */ -falcon_init_tx (tx_queue); +efx_nic_init_tx (tx_queue); }void efx_release_tx_buffers (struct efx_tx_queue *tx_queue)
@@ -475,7 +475,7 @@ void efx_fini_tx_queue(struct efx_tx_queue *tx_queue)EFX_LOG (tx_queue->efx,"shutting down TX queue %d\n" , tx_queue->queue);/* Flush TX queue, remove descriptor ring */ -falcon_fini_tx (tx_queue); +efx_nic_fini_tx (tx_queue);efx_release_tx_buffers (tx_queue);
@@ -492,7 +492,7 @@ void efx_fini_tx_queue(struct efx_tx_queue *tx_queue)void efx_remove_tx_queue (struct efx_tx_queue *tx_queue) {EFX_LOG (tx_queue->efx,"destroying TX queue %d\n" , tx_queue->queue); -falcon_remove_tx (tx_queue); +efx_nic_remove_tx (tx_queue);kfree (tx_queue->buffer); tx_queue->buffer =NULL ;
@@ -1078,7 +1078,7 @@ static int efx_enqueue_skb_tso(struct efx_tx_queue *tx_queue, }/* Pass off to hardware */ -falcon_push_buffers (tx_queue); +efx_nic_push_buffers (tx_queue); tx_queue->tso_bursts++;return NETDEV_TX_OK ;
Signature · 8 lines
1.6.5.3 -- Ben Hutchings, Senior Software Engineer, Solarflare Communications Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.
David Miller
maintainerFrom: Ben Hutchings <[email protected]>
Date: Sun, 29 Nov 2009 13:43:56 +0000
Quoted 1 line
Signed-off-by Ben Hutchings <[email protected]>
Also applied, thanks a lot Ben.