mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-25 10:42:21 +03:00
nvethernet: use single API for ioctl
To reduce number of external OSI interface APIs, consolidated all IOCTL API to one interface API. OSD should use same for all interaction to OSI. Bug 200671160 Change-Id: I05324777c9bd7ed3c167e4f8a629af2e695389d2 Signed-off-by: rakesh goyal <rgoyal@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2493248 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
Revanth Kumar Uppala
parent
71fa042ce4
commit
f4d30eb89b
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2019-2021, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -64,6 +64,7 @@ static ssize_t ether_mac_loopback_store(struct device *dev,
|
||||
struct net_device *ndev = (struct net_device *)dev_get_drvdata(dev);
|
||||
struct phy_device *phydev = ndev->phydev;
|
||||
struct ether_priv_data *pdata = netdev_priv(ndev);
|
||||
struct osi_ioctl ioctl_data = {};
|
||||
int ret = -1;
|
||||
|
||||
/* Interface is not up so LB mode can't be set */
|
||||
@@ -82,7 +83,9 @@ static ssize_t ether_mac_loopback_store(struct device *dev,
|
||||
netif_carrier_on(ndev);
|
||||
}
|
||||
/* Enabling the MAC Loopback Mode */
|
||||
ret = osi_config_mac_loopback(pdata->osi_core, OSI_ENABLE);
|
||||
ioctl_data.arg1_u32 = OSI_ENABLE;
|
||||
ioctl_data.cmd = OSI_CMD_MAC_LB;
|
||||
ret = osi_handle_ioctl(pdata->osi_core, &ioctl_data);
|
||||
if (ret < 0) {
|
||||
dev_err(pdata->dev, "Enabling MAC Loopback failed\n");
|
||||
} else {
|
||||
@@ -99,7 +102,9 @@ static ssize_t ether_mac_loopback_store(struct device *dev,
|
||||
netif_carrier_off(ndev);
|
||||
}
|
||||
/* Disabling the MAC Loopback Mode */
|
||||
ret = osi_config_mac_loopback(pdata->osi_core, OSI_DISABLE);
|
||||
ioctl_data.arg1_u32 = OSI_DISABLE;
|
||||
ioctl_data.cmd = OSI_CMD_MAC_LB;
|
||||
ret = osi_handle_ioctl(pdata->osi_core, &ioctl_data);
|
||||
if (ret < 0) {
|
||||
dev_err(pdata->dev, "Disabling MAC Loopback failed\n");
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user