From a0d0c0929453fbab72446995ca9db0bdcaa8c915 Mon Sep 17 00:00:00 2001 From: Nagaraj Annaiah Date: Thu, 26 Oct 2023 21:03:31 +0000 Subject: [PATCH] osd: Add FRP and L2 support for t264 Ported from - https://git-master.nvidia.com/r/c/nvethernet-docs/+/3004699 Bug 4334269 Change-Id: I66d2071e8ead23b99657590f731e3584653ea2b3 --- drivers/net/ethernet/nvidia/nvethernet/ether_export.h | 4 ++++ drivers/net/ethernet/nvidia/nvethernet/ether_linux.c | 1 + drivers/net/ethernet/nvidia/nvethernet/sysfs.c | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_export.h b/drivers/net/ethernet/nvidia/nvethernet/ether_export.h index 07ef02e9..b8e72a09 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_export.h +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_export.h @@ -39,6 +39,10 @@ struct ether_l2_filter { nveu32_t index; /** Ethernet MAC address to be added */ nveu8_t mac_addr[OSI_ETH_ALEN]; + /** packet duplication */ + nveu32_t pkt_dup; + /** dma channel */ + nveu32_t dma_chan; }; /** diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index b5e76e8e..4f478560 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -2461,6 +2461,7 @@ static int ether_update_mac_addr_filter(struct ether_priv_data *pdata, } ioctl_data->l2_filter.index = BC_index[osi_core->mac]; memcpy(ioctl_data->l2_filter.mac_addr, bc_addr, ETH_ALEN); + ioctl_data->l2_filter.pkt_dup = OSI_ENABLE; } ioctl_data->l2_filter.dma_routing = OSI_ENABLE; ioctl_data->l2_filter.dma_chan = dma_channel; diff --git a/drivers/net/ethernet/nvidia/nvethernet/sysfs.c b/drivers/net/ethernet/nvidia/nvethernet/sysfs.c index 77cad1ae..aa92f1da 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/sysfs.c +++ b/drivers/net/ethernet/nvidia/nvethernet/sysfs.c @@ -2803,7 +2803,7 @@ static ssize_t ether_mac_frp_show(struct device *dev, entry = &osi_core->frp_table[i]; data = &entry->data; j += scnprintf((buf + j), (PAGE_SIZE - j), - "[%d] ID:%d MD:0x%x ME:0x%x AF:%d RF:%d IM:%d NIC:%d FO:%d OKI:%d DCH:x%x\n", + "[%d] ID:%d MD:0x%x ME:0x%x AF:%d RF:%d IM:%d NIC:%d FO:%d OKI:%d DCH:x%lx\n", i, entry->frp_id, data->match_data, data->match_en, data->accept_frame, data->reject_frame, data->inverse_match,