efx.c (a402eae64d0ad12b1c4a411f250d6c161e67f623) efx.c (bc1f44709cf27fb2a5766cadafe7e2ad5e9cb221)
1/****************************************************************************
2 * Driver for Solarflare network controllers and boards
3 * Copyright 2005-2006 Fen Systems Ltd.
4 * Copyright 2005-2013 Solarflare Communications Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 as published
8 * by the Free Software Foundation, incorporated herein by reference.

--- 972 unchanged lines hidden (view full) ---

981{
982 down_read(&efx->filter_sem);
983 efx->type->reconfigure_mac(efx);
984 up_read(&efx->filter_sem);
985}
986
987/* Push loopback/power/transmit disable settings to the PHY, and reconfigure
988 * the MAC appropriately. All other PHY configuration changes are pushed
1/****************************************************************************
2 * Driver for Solarflare network controllers and boards
3 * Copyright 2005-2006 Fen Systems Ltd.
4 * Copyright 2005-2013 Solarflare Communications Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 as published
8 * by the Free Software Foundation, incorporated herein by reference.

--- 972 unchanged lines hidden (view full) ---

981{
982 down_read(&efx->filter_sem);
983 efx->type->reconfigure_mac(efx);
984 up_read(&efx->filter_sem);
985}
986
987/* Push loopback/power/transmit disable settings to the PHY, and reconfigure
988 * the MAC appropriately. All other PHY configuration changes are pushed
989 * through phy_op->set_settings(), and pushed asynchronously to the MAC
989 * through phy_op->set_link_ksettings(), and pushed asynchronously to the MAC
990 * through ef4_monitor().
991 *
992 * Callers must hold the mac_lock
993 */
994int __ef4_reconfigure_port(struct ef4_nic *efx)
995{
996 enum ef4_phy_mode phy_mode;
997 int rc;

--- 1155 unchanged lines hidden (view full) ---

2153
2154 /* Stop the device and flush all the channels */
2155 ef4_stop_all(efx);
2156
2157 return 0;
2158}
2159
2160/* Context: process, dev_base_lock or RTNL held, non-blocking. */
990 * through ef4_monitor().
991 *
992 * Callers must hold the mac_lock
993 */
994int __ef4_reconfigure_port(struct ef4_nic *efx)
995{
996 enum ef4_phy_mode phy_mode;
997 int rc;

--- 1155 unchanged lines hidden (view full) ---

2153
2154 /* Stop the device and flush all the channels */
2155 ef4_stop_all(efx);
2156
2157 return 0;
2158}
2159
2160/* Context: process, dev_base_lock or RTNL held, non-blocking. */
2161static struct rtnl_link_stats64 *ef4_net_stats(struct net_device *net_dev,
2162 struct rtnl_link_stats64 *stats)
2161static void ef4_net_stats(struct net_device *net_dev,
2162 struct rtnl_link_stats64 *stats)
2163{
2164 struct ef4_nic *efx = netdev_priv(net_dev);
2165
2166 spin_lock_bh(&efx->stats_lock);
2167 efx->type->update_stats(efx, NULL, stats);
2168 spin_unlock_bh(&efx->stats_lock);
2163{
2164 struct ef4_nic *efx = netdev_priv(net_dev);
2165
2166 spin_lock_bh(&efx->stats_lock);
2167 efx->type->update_stats(efx, NULL, stats);
2168 spin_unlock_bh(&efx->stats_lock);
2169
2170 return stats;
2171}
2172
2173/* Context: netif_tx_lock held, BHs disabled. */
2174static void ef4_watchdog(struct net_device *net_dev)
2175{
2176 struct ef4_nic *efx = netdev_priv(net_dev);
2177
2178 netif_err(efx, tx_err, efx->net_dev,

--- 1164 unchanged lines hidden (view full) ---

3343module_init(ef4_init_module);
3344module_exit(ef4_exit_module);
3345
3346MODULE_AUTHOR("Solarflare Communications and "
3347 "Michael Brown <mbrown@fensystems.co.uk>");
3348MODULE_DESCRIPTION("Solarflare Falcon network driver");
3349MODULE_LICENSE("GPL");
3350MODULE_DEVICE_TABLE(pci, ef4_pci_table);
2169}
2170
2171/* Context: netif_tx_lock held, BHs disabled. */
2172static void ef4_watchdog(struct net_device *net_dev)
2173{
2174 struct ef4_nic *efx = netdev_priv(net_dev);
2175
2176 netif_err(efx, tx_err, efx->net_dev,

--- 1164 unchanged lines hidden (view full) ---

3341module_init(ef4_init_module);
3342module_exit(ef4_exit_module);
3343
3344MODULE_AUTHOR("Solarflare Communications and "
3345 "Michael Brown <mbrown@fensystems.co.uk>");
3346MODULE_DESCRIPTION("Solarflare Falcon network driver");
3347MODULE_LICENSE("GPL");
3348MODULE_DEVICE_TABLE(pci, ef4_pci_table);
3349MODULE_VERSION(EF4_DRIVER_VERSION);