diff options
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/module.c | 11 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/pci.c | 11 |
2 files changed, 17 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/module.c b/drivers/gpu/nvgpu/common/linux/module.c index adf9ff37..d5fc40de 100644 --- a/drivers/gpu/nvgpu/common/linux/module.c +++ b/drivers/gpu/nvgpu/common/linux/module.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <nvgpu/kmem.h> | 28 | #include <nvgpu/kmem.h> |
29 | #include <nvgpu/nvgpu_common.h> | 29 | #include <nvgpu/nvgpu_common.h> |
30 | #include <nvgpu/soc.h> | 30 | #include <nvgpu/soc.h> |
31 | #include <nvgpu/enabled.h> | ||
31 | 32 | ||
32 | #include "gk20a/gk20a.h" | 33 | #include "gk20a/gk20a.h" |
33 | #include "gk20a/platform_gk20a.h" | 34 | #include "gk20a/platform_gk20a.h" |
@@ -873,11 +874,15 @@ static int gk20a_probe(struct platform_device *dev) | |||
873 | set_gk20a(dev, gk20a); | 874 | set_gk20a(dev, gk20a); |
874 | gk20a->dev = &dev->dev; | 875 | gk20a->dev = &dev->dev; |
875 | 876 | ||
876 | if (nvgpu_platform_is_simulation(gk20a)) | ||
877 | gk20a->is_fmodel = true; | ||
878 | |||
879 | nvgpu_kmem_init(gk20a); | 877 | nvgpu_kmem_init(gk20a); |
880 | 878 | ||
879 | err = nvgpu_init_enabled_flags(gk20a); | ||
880 | if (err) | ||
881 | return err; | ||
882 | |||
883 | if (nvgpu_platform_is_simulation(gk20a)) | ||
884 | __nvgpu_set_enabled(gk20a, NVGPU_IS_FMODEL, true); | ||
885 | |||
881 | gk20a->irq_stall = platform_get_irq(dev, 0); | 886 | gk20a->irq_stall = platform_get_irq(dev, 0); |
882 | gk20a->irq_nonstall = platform_get_irq(dev, 1); | 887 | gk20a->irq_nonstall = platform_get_irq(dev, 1); |
883 | if (gk20a->irq_stall < 0 || gk20a->irq_nonstall < 0) | 888 | if (gk20a->irq_stall < 0 || gk20a->irq_nonstall < 0) |
diff --git a/drivers/gpu/nvgpu/common/linux/pci.c b/drivers/gpu/nvgpu/common/linux/pci.c index 767e9d47..0a5095fe 100644 --- a/drivers/gpu/nvgpu/common/linux/pci.c +++ b/drivers/gpu/nvgpu/common/linux/pci.c | |||
@@ -20,6 +20,7 @@ | |||
20 | 20 | ||
21 | #include <nvgpu/nvgpu_common.h> | 21 | #include <nvgpu/nvgpu_common.h> |
22 | #include <nvgpu/kmem.h> | 22 | #include <nvgpu/kmem.h> |
23 | #include <nvgpu/enabled.h> | ||
23 | 24 | ||
24 | #include "gk20a/gk20a.h" | 25 | #include "gk20a/gk20a.h" |
25 | #include "gk20a/platform_gk20a.h" | 26 | #include "gk20a/platform_gk20a.h" |
@@ -358,11 +359,17 @@ static int nvgpu_pci_probe(struct pci_dev *pdev, | |||
358 | return -ENOMEM; | 359 | return -ENOMEM; |
359 | } | 360 | } |
360 | 361 | ||
362 | nvgpu_kmem_init(g); | ||
363 | |||
364 | err = nvgpu_init_enabled_flags(g); | ||
365 | if (err) { | ||
366 | kfree(g); | ||
367 | return err; | ||
368 | } | ||
369 | |||
361 | platform->g = g; | 370 | platform->g = g; |
362 | g->dev = &pdev->dev; | 371 | g->dev = &pdev->dev; |
363 | 372 | ||
364 | nvgpu_kmem_init(g); | ||
365 | |||
366 | err = pci_enable_device(pdev); | 373 | err = pci_enable_device(pdev); |
367 | if (err) | 374 | if (err) |
368 | return err; | 375 | return err; |