search for: nouveau_drm_prob

Displaying 20 results from an estimated 136 matches for "nouveau_drm_prob".

Did you mean: nouveau_drm_probe
2016 Nov 08
2
[PATCH] drm/nouveau: Drop superfluous DRM_SWITCH_POWER_DYNAMIC_OFF checks
...6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 9876e6f..d91d092 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -666,8 +666,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, struct drm_device *drm_dev = pci_get_drvdata(pdev); int ret; - if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF || - drm_dev->switch_power_state == DRM_SWITCH_POWER_DYNAMIC_OFF) + if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF) return 0;...
2020 Nov 06
2
[PATCH 2/3] drm/nouveau: manage nouveau_drm lifetime with devres
...,7 +650,6 @@ nouveau_drm_device_fini(struct drm_device *dev) > nouveau_cli_fini(&drm->client); > nouveau_cli_fini(&drm->master); > nvif_parent_dtor(&drm->parent); > - kfree(drm); > } > > /* > @@ -720,6 +715,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, > { > struct nvkm_device *device; > struct drm_device *drm_dev; > + struct nouveau_drm *nv_dev; > int ret; > > if (vga_switcheroo_client_probe_defer(pdev)) > @@ -750,15 +746,16 @@ static int nouveau_drm_probe(stru...
2020 May 27
2
[PATCH] nouveau: add fbdev dependency
Calling directly into the fbdev stack only works when the fbdev layer is built into the kernel as well, or both are loadable modules: drivers/gpu/drm/nouveau/nouveau_drm.o: in function `nouveau_drm_probe': nouveau_drm.c:(.text+0x1f90): undefined reference to `remove_conflicting_pci_framebuffers' The change seems to have been intentional, so add an explicit dependency here but allow it to still be compiled if FBDEV is completely disabled. Fixes: 2dd4d163cd9c ("drm/nouveau: remove ope...
2020 Mar 10
2
[PATCH v7] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...+ */ + +static void quirk_broken_nv_runpm(struct pci_dev *dev) +{ + struct pci_dev *bridge = pci_upstream_bridge(dev); + + if (!bridge || bridge->vendor != PCI_VENDOR_ID_INTEL) + return; + + switch (bridge->device) { + case 0x1901: + dev->parent_d3cold = 1; + break; + } +} + static int nouveau_drm_probe(struct pci_dev *pdev, const struct pci_device_id *pent) { @@ -699,6 +753,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, if (ret) goto fail_drm_dev_init; + quirk_broken_nv_runpm(pdev); return 0; fail_drm_dev_init: @@ -735,6 +790,8 @@ nouveau_drm_remove(struct pci_dev...
2016 Dec 14
1
[PATCH] drm/nouveau: Drop superfluous DRM_SWITCH_POWER_DYNAMIC_OFF checks
...gt; > > > diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c > > index 9876e6f..d91d092 100644 > > --- a/drivers/gpu/drm/nouveau/nouveau_drm.c > > +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c > > @@ -666,8 +666,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, > > struct drm_device *drm_dev = pci_get_drvdata(pdev); > > int ret; > > > > - if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF || > > - drm_dev->switch_power_state == DRM_SWITCH_POWER_DYNAMIC_OFF) > > + if (drm_dev-&...
2020 Mar 21
3
[PATCH v7] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...{ > + case 0x1901: > + STASH->pm_cap = pdev->pm_cap; > + pdev->pm_cap = 0; > + NV_INFO(drm_dev, "Disabling PCI power management to avoid bug\n"); > + break; > + } > +} > + > static int nouveau_drm_probe(struct pci_dev *pdev, > const struct pci_device_id *pent) > { > @@ -699,6 +716,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, > if (ret) > goto fail_drm_dev_init; > > + quirk_broken_nv_runpm(drm_dev); >...
2020 Nov 06
0
[PATCH 2/3] drm/nouveau: manage nouveau_drm lifetime with devres
...&drm->parent); - kfree(drm); return ret; } @@ -654,7 +650,6 @@ nouveau_drm_device_fini(struct drm_device *dev) nouveau_cli_fini(&drm->client); nouveau_cli_fini(&drm->master); nvif_parent_dtor(&drm->parent); - kfree(drm); } /* @@ -720,6 +715,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, { struct nvkm_device *device; struct drm_device *drm_dev; + struct nouveau_drm *nv_dev; int ret; if (vga_switcheroo_client_probe_defer(pdev)) @@ -750,15 +746,16 @@ static int nouveau_drm_probe(struct pci_dev *pdev, if (nouveau_atomic) driver_pci.driver_feature...
2018 May 02
0
[PATCH] drm/nouveau: Fix deadlock in nv50_mstm_register_connector()
...etup_crtcs+0x15e/0xc90 [drm_kms_helper] __drm_fb_helper_initial_config_and_unlock+0x29/0x480 [drm_kms_helper] nouveau_fbcon_init+0x138/0x1a0 [nouveau] nouveau_drm_load+0x173/0x7e0 [nouveau] drm_dev_register+0x134/0x1c0 [drm] drm_get_pci_dev+0x8e/0x160 [drm] nouveau_drm_probe+0x1a9/0x230 [nouveau] pci_device_probe+0xcd/0x150 driver_probe_device+0x30b/0x480 __driver_attach+0xbc/0xe0 bus_for_each_dev+0x67/0x90 bus_add_driver+0x164/0x260 driver_register+0x57/0xc0 do_one_initcall+0x4d/0x323 do_init_module+0x5b/0x1f8...
2020 Mar 03
2
[PATCH v6] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...ers" + */ + +static void quirk_broken_nv_runpm(struct pci_dev *dev) +{ + struct pci_dev *bridge = pci_upstream_bridge(dev); + + if (!bridge || bridge->vendor != PCI_VENDOR_ID_INTEL) + return; + + switch (bridge->device) { + case 0x1901: + dev->parent_d3cold = 1; + } +} + static int nouveau_drm_probe(struct pci_dev *pdev, const struct pci_device_id *pent) { @@ -699,6 +752,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, if (ret) goto fail_drm_dev_init; + quirk_broken_nv_runpm(pdev); return 0; fail_drm_dev_init: @@ -737,6 +791,8 @@ nouveau_drm_remove(struct pci_dev...
2019 May 17
4
drm/nouveau/core/memory: kmemleak 684 new suspected memory leaks
Hello, 5.1.0-next-20190517 I'm looking at quite a lot of kmemleak reports coming from drm/nouveau/core/memory, all of which are: unreferenced object 0xffff8deec27c4ac0 (size 16): comm "Web Content", pid 5309, jiffies 4309675011 (age 68.076s) hex dump (first 16 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace:
2020 Mar 20
0
[PATCH v7] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...dev); + + if (!bridge || bridge->vendor != PCI_VENDOR_ID_INTEL) + return; + + switch (bridge->device) { + case 0x1901: + STASH->pm_cap = pdev->pm_cap; + pdev->pm_cap = 0; + NV_INFO(drm_dev, "Disabling PCI power management to avoid bug\n"); + break; + } +} + static int nouveau_drm_probe(struct pci_dev *pdev, const struct pci_device_id *pent) { @@ -699,6 +716,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, if (ret) goto fail_drm_dev_init; + quirk_broken_nv_runpm(drm_dev); return 0; fail_drm_dev_init: @@ -735,6 +753,9 @@ nouveau_drm_remove(struct pci_d...
2020 May 27
0
[PATCH] nouveau: add fbdev dependency
...8403 On Wed, May 27, 2020 at 9:43 AM Arnd Bergmann <arnd at arndb.de> wrote: > > Calling directly into the fbdev stack only works when the > fbdev layer is built into the kernel as well, or both are > loadable modules: > > drivers/gpu/drm/nouveau/nouveau_drm.o: in function `nouveau_drm_probe': > nouveau_drm.c:(.text+0x1f90): undefined reference to `remove_conflicting_pci_framebuffers' > > The change seems to have been intentional, so add an explicit > dependency here but allow it to still be compiled if FBDEV > is completely disabled. > > Fixes: 2dd4d163cd...
2016 Nov 08
0
[PATCH] drm/nouveau: Drop superfluous DRM_SWITCH_POWER_DYNAMIC_OFF checks
...nsertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c > index 9876e6f..d91d092 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_drm.c > +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c > @@ -666,8 +666,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, > struct drm_device *drm_dev = pci_get_drvdata(pdev); > int ret; > > - if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF || > - drm_dev->switch_power_state == DRM_SWITCH_POWER_DYNAMIC_OFF) > + if (drm_dev->switch_power_state == DRM_S...
2020 Apr 15
2
[PATCH AUTOSEL 5.6 084/129] drm/nouveau: workaround runpm fail by disabling PCI power management on certain intel bridges
...(pdev); + + if (!bridge || bridge->vendor != PCI_VENDOR_ID_INTEL) + return; + + switch (bridge->device) { + case 0x1901: + drm->old_pm_cap = pdev->pm_cap; + pdev->pm_cap = 0; + NV_INFO(drm, "Disabling PCI power management to avoid bug\n"); + break; + } +} + static int nouveau_drm_probe(struct pci_dev *pdev, const struct pci_device_id *pent) { @@ -699,6 +757,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, if (ret) goto fail_drm_dev_init; + quirk_broken_nv_runpm(pdev); return 0; fail_drm_dev_init: @@ -734,7 +793,11 @@ static void nouveau_drm_remove(s...
2020 Mar 24
1
[PATCH v8] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...(pdev); + + if (!bridge || bridge->vendor != PCI_VENDOR_ID_INTEL) + return; + + switch (bridge->device) { + case 0x1901: + drm->old_pm_cap = pdev->pm_cap; + pdev->pm_cap = 0; + NV_INFO(drm, "Disabling PCI power management to avoid bug\n"); + break; + } +} + static int nouveau_drm_probe(struct pci_dev *pdev, const struct pci_device_id *pent) { @@ -699,6 +757,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, if (ret) goto fail_drm_dev_init; + quirk_broken_nv_runpm(pdev); return 0; fail_drm_dev_init: @@ -736,7 +795,11 @@ static void nouveau_drm_remove(s...
2019 Jul 01
1
[PATCH] drm/nouveau: fix memory leak in nouveau_conn_reset()
...eau_connector_create+0x3a7/0x610 [nouveau] [<00000000c73343a8>] nv50_display_create+0x343/0x980 [nouveau] [<000000002e2b03c3>] nouveau_display_create+0x51f/0x660 [nouveau] [<00000000c924699b>] nouveau_drm_device_init+0x182/0x7f0 [nouveau] [<00000000cc029436>] nouveau_drm_probe+0x20c/0x2c0 [nouveau] [<000000007e961c3e>] local_pci_probe+0x47/0xa0 [<00000000da14d569>] work_for_cpu_fn+0x1a/0x30 [<0000000028da4805>] process_one_work+0x27c/0x660 [<000000001d415b04>] worker_thread+0x22b/0x3f0 [<0000000003b69f1f>] kthread+0x12f/...
2013 Dec 04
3
Nouveau failing during probe followed by GPF on 3.13-rc2
...;ffffffff813ba0cd>] drm_put_minor+0x3d/0x50 [ 657.802260] [<ffffffff813ba0f8>] drm_dev_free+0x18/0x80 [ 657.802265] [<ffffffff813bc67f>] drm_get_pci_dev+0xaf/0x150 [ 657.802272] [<ffffffff8131d8ce>] ? pcibios_set_master+0x5e/0x90 [ 657.802315] [<ffffffffa00a7eba>] nouveau_drm_probe+0x24a/0x290 [nouveau] [ 657.802321] [<ffffffff8131f36c>] pci_device_probe+0x9c/0xf0 [ 657.802328] [<ffffffff813d6046>] driver_probe_device+0x76/0x240 [ 657.802333] [<ffffffff813d62ab>] __driver_attach+0x9b/0xa0 [ 657.802339] [<ffffffff813d6210>] ? driver_probe_devic...
2020 Mar 24
0
[PATCH v7] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...STASH->pm_cap = pdev->pm_cap; > > + pdev->pm_cap = 0; > > + NV_INFO(drm_dev, "Disabling PCI power management to avoid bug\n"); > > + break; > > + } > > +} > > + > > static int nouveau_drm_probe(struct pci_dev *pdev, > > const struct pci_device_id *pent) > > { > > @@ -699,6 +716,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, > > if (ret) > > goto fail_drm_dev_init; > > > > + quir...
2016 Oct 03
1
[PATCH v4 1/3] drm/nouveau: set streaming DMA mask early
..., 11 insertions(+) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c > index 652ab111dd74..e61e9a0adb51 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_drm.c > +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c > @@ -361,6 +361,17 @@ static int nouveau_drm_probe(struct pci_dev *pdev, > > pci_set_master(pdev); > > + /* > + * Set a preliminary DMA mask based on the .dma_bits member of the > + * MMU subdevice. This allows other subdevices to create DMA mappings > + * in their init() function, which are...
2018 Aug 23
3
[PATCH 0/3] drm/nouveau: Fixup module probe to add ->shutdown()
...e small bug in the process). Mainly, I had to convert nouveau to use the new drm_dev_alloc() and drm_dev_register() helpers to ensure that there isn't any chance that we can race with userspace during shutdown. This also involved removing ->load() and ->unload() and moving their work into nouveau_drm_probe(). ============================== IMPORTANT =============================== This patch series WILL NOT WORK PROPERLY unless you also apply the following patches which fix some leftover device removal issues: https://patchwork.freedesktop.org/series/48596/ This fixes kernel panics on removal on s...