gpu: nvgpu: Handle iGPU in pci probe and remove

When iGPU is probed as pci device, power and clocks are driven from the
platform, hence the pci_probe and pci_remove to handle both
iGPU and dGPU. Also enable the runtime PM for the PCI-iGPU
device.

JIRA NVGPU-9348

Change-Id: Id5dd88dc0c905655f9174ecd7936bdf2996f06e6
Signed-off-by: Ramalingam C <ramalingamc@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2835341
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Ramalingam C
2022-12-30 10:52:53 +00:00
committed by mobile promotions
parent ebb60b7f5e
commit 7ba33f3dec
3 changed files with 76 additions and 26 deletions

View File

@@ -143,7 +143,7 @@ static int nvgpu_wait_for_idle(struct gk20a *g)
return 0;
}
static int nvgpu_kernel_shutdown_notification(struct notifier_block *nb,
int nvgpu_kernel_shutdown_notification(struct notifier_block *nb,
unsigned long event, void *unused)
{
struct nvgpu_os_linux *l = container_of(nb, struct nvgpu_os_linux,
@@ -1561,7 +1561,7 @@ static const struct dev_pm_ops gk20a_pm_ops = {
};
#endif
static int gk20a_pm_init(struct device *dev)
int gk20a_pm_init(struct device *dev)
{
struct gk20a *g = get_gk20a(dev);
int err = 0;
@@ -1578,7 +1578,7 @@ static int gk20a_pm_init(struct device *dev)
return err;
}
static int gk20a_pm_late_init(struct device *dev)
int gk20a_pm_late_init(struct device *dev)
{
struct gk20a *g = get_gk20a(dev);
int err = 0;
@@ -1603,7 +1603,7 @@ static int gk20a_pm_late_init(struct device *dev)
return err;
}
static int gk20a_pm_deinit(struct device *dev)
int gk20a_pm_deinit(struct device *dev)
{
pm_runtime_dont_use_autosuspend(dev);
pm_runtime_disable(dev);
@@ -1673,7 +1673,7 @@ static inline void set_gk20a(struct platform_device *pdev, struct gk20a *gk20a)
gk20a_get_platform(&pdev->dev)->g = gk20a;
}
static int nvgpu_read_fuse_overrides(struct gk20a *g)
int nvgpu_read_fuse_overrides(struct gk20a *g)
{
#ifdef CONFIG_NVGPU_TEGRA_FUSE
struct device_node *np = nvgpu_get_node(g);