misc: mods: update MODS driver from Perforce

Change-Id: I46f5d639a06dbd26b89103cfa82aecc047fd2ccc
Signed-off-by: Chris Dragan <kdragan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2317597
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Chris Dragan
2020-03-24 02:13:23 -07:00
committed by Laxman Dewangan
parent b5717bdd9f
commit 34b61af05b
3 changed files with 1150 additions and 815 deletions

View File

@@ -2422,7 +2422,7 @@ static long mods_krnl_ioctl(struct file *fp,
default: default:
cl_error( cl_error(
"unrecognized ioctl (0x%x) dir(0x%x) type (0x%x) nr (0x%x) size (0x%x)\n", "unrecognized ioctl 0x%x, dir %u, type 0x%x, nr %u, size 0x%x\n",
cmd, cmd,
_IOC_DIR(cmd), _IOC_DIR(cmd),
_IOC_TYPE(cmd), _IOC_TYPE(cmd),

View File

@@ -556,62 +556,6 @@ int esc_mods_pci_bus_rescan(struct mods_client *client,
#endif #endif
} }
int esc_mods_pci_hot_reset(struct mods_client *client,
struct MODS_PCI_HOT_RESET *p)
{
#if defined(CONFIG_PPC64)
struct pci_dev *dev;
int err;
LOG_ENT();
cl_debug(DEBUG_PCI,
"pci_hot_reset dev %04x:%02x:%02x.%x\n",
p->pci_device.domain,
p->pci_device.bus,
p->pci_device.device,
p->pci_device.function);
err = mods_find_pci_dev(client, &p->pci_device, &dev);
if (unlikely(err)) {
if (err == -ENODEV)
cl_error(
"pci_hot_reset cannot find dev %04x:%02x:%02x.%x\n",
p->pci_device.domain,
p->pci_device.bus,
p->pci_device.device,
p->pci_device.function);
LOG_EXT();
return err;
}
err = pci_set_pcie_reset_state(dev, pcie_hot_reset);
if (unlikely(err))
cl_error("pci_hot_reset failed on dev %04x:%02x:%02x.%x\n",
p->pci_device.domain,
p->pci_device.bus,
p->pci_device.device,
p->pci_device.function);
else {
err = pci_set_pcie_reset_state(dev, pcie_deassert_reset);
if (unlikely(err))
cl_error(
"pci_hot_reset deassert failed on dev %04x:%02x:%02x.%x\n",
p->pci_device.domain,
p->pci_device.bus,
p->pci_device.device,
p->pci_device.function);
}
pci_dev_put(dev);
LOG_EXT();
return err;
#else
return -EINVAL;
#endif
}
int esc_mods_pci_bus_remove_dev(struct mods_client *client, int esc_mods_pci_bus_remove_dev(struct mods_client *client,
struct MODS_PCI_BUS_REMOVE_DEV *p) struct MODS_PCI_BUS_REMOVE_DEV *p)
{ {

View File

File diff suppressed because it is too large Load Diff