| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /* SPDX-License-Identifier: GPL-2.0-only
- *
- * Copyright (c) 2021, MediaTek Inc.
- * Copyright (c) 2021-2022, Intel Corporation.
- *
- * Authors:
- * Haijun Liu <haijun.liu@mediatek.com>
- * Moises Veleta <moises.veleta@intel.com>
- *
- * Contributors:
- * Amir Hanania <amir.hanania@intel.com>
- * Chiranjeevi Rapolu <chiranjeevi.rapolu@intel.com>
- * Ricardo Martinez <ricardo.martinez@linux.intel.com>
- */
- #ifndef __T7XX_NETDEV_H__
- #define __T7XX_NETDEV_H__
- #include <linux/bits.h>
- #include <linux/netdevice.h>
- #include <linux/types.h>
- #include "t7xx_hif_dpmaif.h"
- #include "t7xx_pci.h"
- #include "t7xx_state_monitor.h"
- #define RXQ_NUM DPMAIF_RXQ_NUM
- #define NIC_DEV_MAX 21
- #define NIC_DEV_DEFAULT 2
- #define CCMNI_NETDEV_WDT_TO (1 * HZ)
- #define CCMNI_MTU_MAX 3000
- #define NIC_NAPI_POLL_BUDGET 128
- struct t7xx_ccmni {
- u8 index;
- atomic_t usage;
- struct net_device *dev;
- struct t7xx_ccmni_ctrl *ctlb;
- };
- struct t7xx_ccmni_ctrl {
- struct t7xx_pci_dev *t7xx_dev;
- struct dpmaif_ctrl *hif_ctrl;
- struct t7xx_ccmni *ccmni_inst[NIC_DEV_MAX];
- struct dpmaif_callbacks callbacks;
- unsigned int nic_dev_num;
- unsigned int md_sta;
- struct t7xx_fsm_notifier md_status_notify;
- bool wwan_is_registered;
- struct net_device *dummy_dev;
- struct napi_struct *napi[RXQ_NUM];
- atomic_t napi_usr_refcnt;
- bool is_napi_en;
- };
- int t7xx_ccmni_init(struct t7xx_pci_dev *t7xx_dev);
- void t7xx_ccmni_exit(struct t7xx_pci_dev *t7xx_dev);
- #endif /* __T7XX_NETDEV_H__ */
|