1658d439bSTaku Izumi /* 2658d439bSTaku Izumi * FUJITSU Extended Socket Network Device driver 3658d439bSTaku Izumi * Copyright (c) 2015 FUJITSU LIMITED 4658d439bSTaku Izumi * 5658d439bSTaku Izumi * This program is free software; you can redistribute it and/or modify it 6658d439bSTaku Izumi * under the terms and conditions of the GNU General Public License, 7658d439bSTaku Izumi * version 2, as published by the Free Software Foundation. 8658d439bSTaku Izumi * 9658d439bSTaku Izumi * This program is distributed in the hope it will be useful, but WITHOUT 10658d439bSTaku Izumi * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11658d439bSTaku Izumi * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12658d439bSTaku Izumi * more details. 13658d439bSTaku Izumi * 14658d439bSTaku Izumi * You should have received a copy of the GNU General Public License along with 15658d439bSTaku Izumi * this program; if not, see <http://www.gnu.org/licenses/>. 16658d439bSTaku Izumi * 17658d439bSTaku Izumi * The full GNU General Public License is included in this distribution in 18658d439bSTaku Izumi * the file called "COPYING". 19658d439bSTaku Izumi * 20658d439bSTaku Izumi */ 21658d439bSTaku Izumi 22658d439bSTaku Izumi #ifndef FJES_H_ 23658d439bSTaku Izumi #define FJES_H_ 24658d439bSTaku Izumi 25658d439bSTaku Izumi #include <linux/acpi.h> 26658d439bSTaku Izumi 272fcbca68STaku Izumi #include "fjes_hw.h" 282fcbca68STaku Izumi 29658d439bSTaku Izumi #define FJES_ACPI_SYMBOL "Extended Socket" 302fcbca68STaku Izumi #define FJES_MAX_QUEUES 1 312fcbca68STaku Izumi #define FJES_TX_RETRY_INTERVAL (20 * HZ) 329acf51cbSTaku Izumi #define FJES_TX_RETRY_TIMEOUT (100) 33e5d486dcSTaku Izumi #define FJES_OPEN_ZONE_UPDATE_WAIT (300) /* msec */ 342fcbca68STaku Izumi 352fcbca68STaku Izumi /* board specific private data structure */ 362fcbca68STaku Izumi struct fjes_adapter { 372fcbca68STaku Izumi struct net_device *netdev; 382fcbca68STaku Izumi struct platform_device *plat_dev; 392fcbca68STaku Izumi 402fcbca68STaku Izumi struct napi_struct napi; 412fcbca68STaku Izumi struct rtnl_link_stats64 stats64; 422fcbca68STaku Izumi 432fcbca68STaku Izumi unsigned int tx_retry_count; 442fcbca68STaku Izumi unsigned long tx_start_jiffies; 452fcbca68STaku Izumi unsigned long rx_last_jiffies; 462fcbca68STaku Izumi bool unset_rx_last; 472fcbca68STaku Izumi 482fcbca68STaku Izumi bool force_reset; 492fcbca68STaku Izumi bool open_guard; 502fcbca68STaku Izumi 512fcbca68STaku Izumi bool irq_registered; 522fcbca68STaku Izumi 53*b772b9dcSTaku Izumi struct workqueue_struct *txrx_wq; 54*b772b9dcSTaku Izumi 55*b772b9dcSTaku Izumi struct work_struct raise_intr_rxdata_task; 56*b772b9dcSTaku Izumi 572fcbca68STaku Izumi struct fjes_hw hw; 582fcbca68STaku Izumi }; 59658d439bSTaku Izumi 60658d439bSTaku Izumi extern char fjes_driver_name[]; 61658d439bSTaku Izumi extern char fjes_driver_version[]; 628cdc3f6cSTaku Izumi extern const u32 fjes_support_mtu[]; 63658d439bSTaku Izumi 64658d439bSTaku Izumi #endif /* FJES_H_ */ 65