nvethernet: add OSI core debugging

Dumps the registers and structures into kernel log

Bug 200737108

Change-Id: I88d63b5e46466ce036201350e2ca31cc4a2b39df
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2558998
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Bhadram Varka
2021-07-14 18:28:05 +05:30
committed by Revanth Kumar Uppala
parent 2c6aad7764
commit 583db7360a
5 changed files with 58 additions and 14 deletions

View File

@@ -1085,7 +1085,7 @@ int ether_handle_priv_ioctl(struct net_device *ndev,
struct phy_device *phydev = ndev->phydev;
struct ether_ifr_data ifdata;
struct osi_core_priv_data *osi_core = pdata->osi_core;
#ifdef OSI_DMA_DEBUG
#ifdef OSI_DEBUG
struct osi_dma_priv_data *osi_dma = pdata->osi_dma;
#endif
int ret = -EOPNOTSUPP;
@@ -1232,14 +1232,24 @@ int ether_handle_priv_ioctl(struct net_device *ndev,
case ETHER_PAD_CALIBRATION:
ret = ether_pad_calibration(ndev, ifdata.if_flags);
break;
#ifdef OSI_DMA_DEBUG
#ifdef OSI_DEBUG
case ETHER_REGISTER_DUMP:
osi_dma->ioctl_data.cmd = OSI_DMA_IOCTL_CMD_REG_DUMP;
ret = osi_dma_ioctl(osi_dma);
if (ret < 0)
goto err;
ioctl_data.cmd = OSI_CMD_REG_DUMP;
ret = osi_handle_ioctl(pdata->osi_core, &ioctl_data);
break;
case ETHER_STRUCTURE_DUMP:
osi_dma->ioctl_data.cmd = OSI_DMA_IOCTL_CMD_STRUCTS_DUMP;
ret = osi_dma_ioctl(osi_dma);
if (ret < 0)
goto err;
ioctl_data.cmd = OSI_CMD_STRUCTS_DUMP;
ret = osi_handle_ioctl(pdata->osi_core, &ioctl_data);
break;
#endif
default: