Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9fd6ce83 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: veth_ipa: Add VETH IPA driver"

parents be348e49 fe26c474
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -96,6 +96,14 @@ config IPA_WDI_UNIFIED_API
	  The IPA WDI unified API supports all WDI versions through a unified
	  interface.

config VETH_IPA
        tristate "VETH_IPA Network Interface Driver Support"
        help
          Enables EMAC Ethernet Front end driver.
          Register net device and configure VETH0 iface. This driver will
          configure EMAC IPA offload channels with help of a backend driver
          running on GVM Host.

config USB_BAM
	tristate "USB BAM Driver"
	depends on SPS && USB_GADGET
+1 −0
Original line number Diff line number Diff line
@@ -14,3 +14,4 @@ obj-$(CONFIG_MSM_11AD) += msm_11ad/
obj-$(CONFIG_EP_PCIE) += ep_pcie/
obj-$(CONFIG_MSM_MHI_DEV) += mhi_dev/
obj-$(CONFIG_IPA_ETH) += ethernet/
obj-$(CONFIG_VETH_IPA) += veth_ipa/
+3 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only

obj-$(CONFIG_VETH_IPA) += veth_emac_mgt.o veth_ipa.o
+891 −0

File added.

Preview size limit exceeded, changes collapsed.

+57 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only
 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that 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.
 */

#ifndef _VETH_EMAC_MGT_H_
#define _VETH_EMAC_MGT_H_


#include "veth_ipa.h"

#define  MM_DATA_NETWORK_1_VM_HAB_MINOR_ID 10


int veth_emac_init(struct veth_emac_export_mem *veth_emac_mem,
					struct veth_ipa_dev *pdata,
					bool smmu_s2_enb);

int veth_alloc_emac_export_mem(struct veth_emac_export_mem *veth_emac_mem,
	struct veth_ipa_dev *pdata);

int veth_emac_start_offload(struct veth_emac_export_mem *veth_emac_mem,
					struct veth_ipa_dev *pdata);

int veth_emac_setup_be(struct veth_emac_export_mem *veth_emac_mem,
					struct veth_ipa_dev *pdata);

int veth_emac_ipa_hab_init(int mmid);
int veth_alloc_emac_dealloc_mem(struct veth_emac_export_mem *veth_emac_mem,
					struct veth_ipa_dev *pdata);
int veth_emac_stop_offload(struct veth_emac_export_mem *veth_emac_mem,
					struct veth_ipa_dev *pdata);
int veth_emac_open_notify(struct veth_emac_export_mem *veth_emac_mem,
					struct veth_ipa_dev *pdata);
int veth_emac_ipa_setup_complete(struct veth_emac_export_mem *veth_emac_mem,
					struct veth_ipa_dev *pdata);
int emac_ipa_hab_export_tx_buf_pool(int vc_id,
					struct veth_emac_export_mem *veth_emac_mem,
					struct veth_ipa_dev *pdata);
int emac_ipa_hab_export_rx_buf_pool(int vc_id,
					struct veth_emac_export_mem *veth_emac_mem,
					struct veth_ipa_dev *pdata);
int veth_emac_ipa_send_exp_id(int vc_id,
					struct veth_emac_export_mem *veth_emac_mem);




#endif /* _VETH_EMAC_MGT_H_ */
Loading