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__ */
 |