mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 16:29:59 +00:00
![Thomas Gleixner](/assets/img/avatar_default.png)
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms and conditions of the gnu general public license version 2 as published by the free software foundation this program is distributed in the hope it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details you should have received a copy of the gnu general public license along with this program if not see http www gnu org licenses the full gnu general public license is included in this distribution in the file called copying extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 12 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Alexios Zavras <alexios.zavras@intel.com> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190530000434.160381502@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
78 lines
1.9 KiB
C
78 lines
1.9 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* FUJITSU Extended Socket Network Device driver
|
|
* Copyright (c) 2015 FUJITSU LIMITED
|
|
*/
|
|
|
|
#ifndef FJES_H_
|
|
#define FJES_H_
|
|
|
|
#include <linux/acpi.h>
|
|
|
|
#include "fjes_hw.h"
|
|
|
|
#define FJES_ACPI_SYMBOL "Extended Socket"
|
|
#define FJES_MAX_QUEUES 1
|
|
#define FJES_TX_RETRY_INTERVAL (20 * HZ)
|
|
#define FJES_TX_RETRY_TIMEOUT (100)
|
|
#define FJES_TX_TX_STALL_TIMEOUT (FJES_TX_RETRY_INTERVAL / 2)
|
|
#define FJES_OPEN_ZONE_UPDATE_WAIT (300) /* msec */
|
|
#define FJES_IRQ_WATCH_DELAY (HZ)
|
|
|
|
/* board specific private data structure */
|
|
struct fjes_adapter {
|
|
struct net_device *netdev;
|
|
struct platform_device *plat_dev;
|
|
|
|
struct napi_struct napi;
|
|
struct rtnl_link_stats64 stats64;
|
|
|
|
unsigned int tx_retry_count;
|
|
unsigned long tx_start_jiffies;
|
|
unsigned long rx_last_jiffies;
|
|
bool unset_rx_last;
|
|
|
|
struct work_struct force_close_task;
|
|
bool force_reset;
|
|
bool open_guard;
|
|
|
|
bool irq_registered;
|
|
|
|
struct workqueue_struct *txrx_wq;
|
|
struct workqueue_struct *control_wq;
|
|
|
|
struct work_struct tx_stall_task;
|
|
struct work_struct raise_intr_rxdata_task;
|
|
|
|
struct work_struct unshare_watch_task;
|
|
unsigned long unshare_watch_bitmask;
|
|
|
|
struct delayed_work interrupt_watch_task;
|
|
bool interrupt_watch_enable;
|
|
|
|
struct fjes_hw hw;
|
|
|
|
#ifdef CONFIG_DEBUG_FS
|
|
struct dentry *dbg_adapter;
|
|
#endif
|
|
};
|
|
|
|
extern char fjes_driver_name[];
|
|
extern char fjes_driver_version[];
|
|
extern const u32 fjes_support_mtu[];
|
|
|
|
void fjes_set_ethtool_ops(struct net_device *);
|
|
|
|
#ifdef CONFIG_DEBUG_FS
|
|
void fjes_dbg_adapter_init(struct fjes_adapter *adapter);
|
|
void fjes_dbg_adapter_exit(struct fjes_adapter *adapter);
|
|
void fjes_dbg_init(void);
|
|
void fjes_dbg_exit(void);
|
|
#else
|
|
static inline void fjes_dbg_adapter_init(struct fjes_adapter *adapter) {}
|
|
static inline void fjes_dbg_adapter_exit(struct fjes_adapter *adapter) {}
|
|
static inline void fjes_dbg_init(void) {}
|
|
static inline void fjes_dbg_exit(void) {}
|
|
#endif /* CONFIG_DEBUG_FS */
|
|
|
|
#endif /* FJES_H_ */
|