Creates the Cross Core Modem Network Interface (CCMNI) which implements the wwan_ops for registration with the WWAN framework, CCMNI also implements the net_device_ops functions used by the network device. Network device operations include open, close, start transmission, TX timeout and change MTU. Signed-off-by: Haijun Liu <haijun.liu@mediatek.com> Co-developed-by: Chandrashekar Devegowda <chandrashekar.devegowda@intel.com> Signed-off-by: Chandrashekar Devegowda <chandrashekar.devegowda@intel.com> Co-developed-by: Ricardo Martinez <ricardo.martinez@linux.intel.com> Signed-off-by: Ricardo Martinez <ricardo.martinez@linux.intel.com> Reviewed-by: Loic Poulain <loic.poulain@linaro.org> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
56 lines
1.3 KiB
C
56 lines
1.3 KiB
C
/* 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
|
|
|
|
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;
|
|
};
|
|
|
|
int t7xx_ccmni_init(struct t7xx_pci_dev *t7xx_dev);
|
|
void t7xx_ccmni_exit(struct t7xx_pci_dev *t7xx_dev);
|
|
|
|
#endif /* __T7XX_NETDEV_H__ */
|