search for: nouveau_fbcon_init

Displaying 20 results from an estimated 69 matches for "nouveau_fbcon_init".

2014 Feb 04
1
Help needed for bug 58556
I think we had the wrong culprit: I just tried PCI-disabling the NVAC card (and keeping the NV96 one), and it just works: no garbage screen, and moreover, I get no hangs nor errors when enabling acceleration! I'll spend some time comparing both outputs (without NVAC, and without NV96) to find out what the NVAC is doing wrong. Pierre > On 31 Jan 2014, at 23:58, Ilia Mirkin <imirkin at
2018 May 02
0
[PATCH] drm/nouveau: Fix deadlock in nv50_mstm_register_connector()
...ss_mutex){+.+.}: ww_mutex_lock+0x43/0x80 drm_modeset_lock+0x71/0x130 [drm] drm_helper_probe_single_connector_modes+0x7d/0x6b0 [drm_kms_helper] drm_setup_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/...
2016 Jun 20
0
[PATCH] drm/nouveau/nouveau_fbcon.c: fix for disabled fbdev emulation
...ing nouveau module when using GTX 780 Ti video adapter. This patch fixes the problem. Bug report: https://bugzilla.kernel.org/show_bug.cgi?id=120591 Signed-off-by: Dmitrii Tcvetkov <demfloro at demfloro.ru> Suggested-by: Ilia Mirkin <imirkin at alum.mit.edu> Fixes: f045f459d925 ("nouveau_fbcon_init()") --- drivers/gpu/drm/nouveau/nouveau_fbcon.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c index 300ea03..d1f248f 100644 --- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c +++ b/drivers/gpu...
2011 Nov 06
0
[PATCH] drm/nouveau: by default use low bpp framebuffer on low memory cards
...+++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c index 14a8627..3a4cc32 100644 --- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c +++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c @@ -487,6 +487,7 @@ int nouveau_fbcon_init(struct drm_device *dev) { struct drm_nouveau_private *dev_priv = dev->dev_private; struct nouveau_fbdev *nfbdev; + int preferred_bpp; int ret; nfbdev = kzalloc(sizeof(struct nouveau_fbdev), GFP_KERNEL); @@ -505,7 +506,15 @@ int nouveau_fbcon_init(struct drm_device *dev) } drm_fb...
2017 Nov 10
2
[PATCH] Accept 3d controllers and not only VGA controllers.
... 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c index 2b12d82aac15..6b4d374a9d82 100644 --- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c +++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c @@ -498,8 +498,7 @@ nouveau_fbcon_init(struct drm_device *dev)      int preferred_bpp;      int ret;   -    if (!dev->mode_config.num_crtc || -        (dev->pdev->class >> 8) != PCI_CLASS_DISPLAY_VGA) +    if (!dev->mode_config.num_crtc)          return 0;        fbcon = kzalloc(sizeof(struct nouveau_fbdev), GFP_KERNEL...
2016 Jul 12
6
[PATCH] drm/nouveau/fbcon: fix deadlock with FBIOPUT_CON2FBMAP
...work); + return; + } } + + if (state == FBINFO_STATE_RUNNING) + nouveau_fbcon_accel_restore(dev); + drm_fb_helper_set_suspend(&drm->fbcon->helper, state); + if (state != FBINFO_STATE_RUNNING) + nouveau_fbcon_accel_save_disable(dev); + console_unlock(); } int @@ -526,6 +560,8 @@ nouveau_fbcon_init(struct drm_device *dev) fbcon->dev = dev; drm->fbcon = fbcon; + INIT_WORK(&drm->fbdev_suspend_work, nouveau_fbcon_suspend_worker); + drm_fb_helper_prepare(dev, &fbcon->helper, &nouveau_fbcon_helper_funcs); ret = drm_fb_helper_init(dev, &fbcon->helper, @@ -...
2017 Dec 03
2
[PATCH] Accept 3d controllers and not only VGA controllers.
...gt;> diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c >> b/drivers/gpu/drm/nouveau/nouveau_fbcon.c >> index 2b12d82aac15..6b4d374a9d82 100644 >> --- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c >> +++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c >> @@ -498,8 +498,7 @@ nouveau_fbcon_init(struct drm_device *dev) >>       int preferred_bpp; >>       int ret; >>   -    if (!dev->mode_config.num_crtc || >> -        (dev->pdev->class >> 8) != PCI_CLASS_DISPLAY_VGA) >> +    if (!dev->mode_config.num_crtc) >>           return 0; >&g...
2023 Mar 26
1
[PATCH 6.2 regression fix] drm/nouveau/kms: Fix backlight registration
The nouveau code used to call drm_fb_helper_initial_config() from nouveau_fbcon_init() before calling drm_dev_register(). This would probe all connectors so that drm_connector->status could be used during backlight registration which runs from nouveau_connector_late_register(). After commit 4a16dd9d18a0 ("drm/nouveau/kms: switch to drm fbdev helpers") the fbdev emulat...
2016 Jul 12
0
[PATCH] drm/nouveau/fbcon: fix deadlock with FBIOPUT_CON2FBMAP
...FBINFO_STATE_RUNNING) > + nouveau_fbcon_accel_restore(dev); > + drm_fb_helper_set_suspend(&drm->fbcon->helper, state); > + if (state != FBINFO_STATE_RUNNING) > + nouveau_fbcon_accel_save_disable(dev); > + console_unlock(); > } > > int > @@ -526,6 +560,8 @@ nouveau_fbcon_init(struct drm_device *dev) > fbcon->dev = dev; > drm->fbcon = fbcon; > > + INIT_WORK(&drm->fbdev_suspend_work, nouveau_fbcon_suspend_worker); > + > drm_fb_helper_prepare(dev, &fbcon->helper, &nouveau_fbcon_helper_funcs); > > ret = drm_fb_help...
2023 Mar 28
1
[PATCH 6.2 regression fix] drm/nouveau/kms: Fix backlight registration
...te to Mark: this is my way of letting you know someone fixed the regression with backlight controls upstream, looking into the weird bright screen after resume issue) On Sun, 2023-03-26 at 22:54 +0200, Hans de Goede wrote: > The nouveau code used to call drm_fb_helper_initial_config() from > nouveau_fbcon_init() before calling drm_dev_register(). This would > probe all connectors so that drm_connector->status could be used during > backlight registration which runs from nouveau_connector_late_register(). > > After commit 4a16dd9d18a0 ("drm/nouveau/kms: switch to drm fbdev helpers&quo...
2016 Jul 13
0
[PATCH] drm/nouveau/fbcon: fix deadlock with FBIOPUT_CON2FBMAP
...FBINFO_STATE_RUNNING) > + nouveau_fbcon_accel_restore(dev); > + drm_fb_helper_set_suspend(&drm->fbcon->helper, state); > + if (state != FBINFO_STATE_RUNNING) > + nouveau_fbcon_accel_save_disable(dev); > + console_unlock(); > } > > int > @@ -526,6 +560,8 @@ nouveau_fbcon_init(struct drm_device *dev) > fbcon->dev = dev; > drm->fbcon = fbcon; > > + INIT_WORK(&drm->fbdev_suspend_work, nouveau_fbcon_suspend_worker); > + > drm_fb_helper_prepare(dev, &fbcon->helper, &nouveau_fbcon_helper_funcs); > > ret = drm_fb_help...
2012 Sep 12
1
[PATCH] drm/nouveau: fix early vram corruption originating from vgacon
...0); + ret = nouveau_cli_create(pdev, "DRM", sizeof(*drm), (void**)&drm); if (ret) - return ret; + goto fail_cli; dev->dev_private = drm; drm->dev = dev; @@ -336,6 +350,11 @@ nouveau_drm_load(struct drm_device *dev, unsigned long flags) nouveau_accel_init(drm); nouveau_fbcon_init(dev); + + console_lock(); + do_unblank_screen(1); + console_unlock(); + return 0; fail_dispinit: @@ -351,12 +370,20 @@ fail_ttm: nouveau_vga_fini(drm); fail_device: nouveau_cli_destroy(&drm->client); +fail_cli: + pci_write_config_byte(pdev, NV_PCI_VGAMEM_ENABLE, 1); + + console_loc...
2014 Mar 19
2
[PATCH] drm: compute runpm on load, don't register autosuspend for non-runpm
...+ nouveau_runtime_pm = + nouveau_is_optimus() || nouveau_is_v1_dsm(); + ret = nouveau_cli_create(nouveau_name(dev), "DRM", sizeof(*drm), (void **)&drm); if (ret) @@ -443,7 +447,7 @@ nouveau_drm_load(struct drm_device *dev, unsigned long flags) nouveau_accel_init(drm); nouveau_fbcon_init(dev); - if (nouveau_runtime_pm != 0) { + if (nouveau_runtime_pm) { pm_runtime_use_autosuspend(dev->dev); pm_runtime_set_autosuspend_delay(dev->dev, 5000); pm_runtime_set_active(dev->dev); @@ -894,12 +898,6 @@ static int nouveau_pmops_runtime_suspend(struct device *dev) if (nou...
2017 Dec 14
2
[PATCH] Accept 3d controllers and not only VGA controllers.
...veau/nouveau_fbcon.c >>>> b/drivers/gpu/drm/nouveau/nouveau_fbcon.c >>>> index 2b12d82aac15..6b4d374a9d82 100644 >>>> --- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c >>>> +++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c >>>> @@ -498,8 +498,7 @@ nouveau_fbcon_init(struct drm_device *dev) >>>> int preferred_bpp; >>>> int ret; >>>> - if (!dev->mode_config.num_crtc || >>>> - (dev->pdev->class >> 8) != PCI_CLASS_DISPLAY_VGA) >>>> + if (!dev->mode_config.nu...
2016 Jun 06
2
[PATCH v2] Revert "drm/nouveau/device/pci: set as non-CPU-coherent on ARM64"
...ier_call_chain+0x14/0x20 [ 2.898696] [<ffffff80083c5e1c>] fb_notifier_call_chain+0x1c/0x28 [ 2.898703] [<ffffff80083c81ac>] register_framebuffer+0x1cc/0x2e0 [ 2.898712] [<ffffff800845da80>] drm_fb_helper_initial_config+0x288/0x3e8 [ 2.898719] [<ffffff800853da20>] nouveau_fbcon_init+0xe0/0x118 [ 2.898727] [<ffffff800852d2f8>] nouveau_drm_load+0x268/0x890 [ 2.898734] [<ffffff8008466e24>] drm_dev_register+0xbc/0xc8 [ 2.898740] [<ffffff8008468a88>] drm_get_pci_dev+0xa0/0x180 [ 2.898747] [<ffffff800852cb28>] nouveau_drm_probe+0x1a0/0x1e0 [ 2....
2017 Jan 12
2
[PATCH v2 1/2] drm/nouveau: Don't enabling polling twice on runtime resume
As it turns out, on cards that actually have CRTCs on them we're already calling drm_kms_helper_poll_enable(drm_dev) from nouveau_display_resume() before we call it in nouveau_pmops_runtime_resume(). This leads us to accidentally trying to enable polling twice, which results in a potential deadlock between the RPM locks and drm_dev->mode_config.mutex if we end up trying to enable polling
2016 Apr 29
1
[PATCH] Revert "drm/nouveau/device/pci: set as non-CPU-coherent on ARM64"
...ier_call_chain+0x14/0x20 [ 2.898696] [<ffffff80083c5e1c>] fb_notifier_call_chain+0x1c/0x28 [ 2.898703] [<ffffff80083c81ac>] register_framebuffer+0x1cc/0x2e0 [ 2.898712] [<ffffff800845da80>] drm_fb_helper_initial_config+0x288/0x3e8 [ 2.898719] [<ffffff800853da20>] nouveau_fbcon_init+0xe0/0x118 [ 2.898727] [<ffffff800852d2f8>] nouveau_drm_load+0x268/0x890 [ 2.898734] [<ffffff8008466e24>] drm_dev_register+0xbc/0xc8 [ 2.898740] [<ffffff8008468a88>] drm_get_pci_dev+0xa0/0x180 [ 2.898747] [<ffffff800852cb28>] nouveau_drm_probe+0x1a0/0x1e0 [ 2....
2013 Mar 05
3
nouveau lockdep splat
...[<ffffffff8134b4d1>] drm_fb_helper_initial_config+0x371/0x520 > [ 0.633697] [<ffffffff8134a607>] ? drm_fb_helper_single_add_all_connectors+0x47/0xf0 > [ 0.633700] [<ffffffff81140a5e>] ? kmem_cache_alloc_trace+0xee/0x150 > [ 0.633701] [<ffffffff8140578e>] nouveau_fbcon_init+0x10e/0x160 > [ 0.633703] [<ffffffff813f5f8a>] nouveau_drm_load+0x40a/0x5d0 > [ 0.633705] [<ffffffff81430cee>] ? device_register+0x1e/0x30 > [ 0.633706] [<ffffffff8135c086>] ? drm_sysfs_device_add+0x86/0xb0 > [ 0.633708] [<ffffffff8135a9b6>] drm_g...
2020 Nov 24
1
[PATCH 09/15] drm/nouveau: Remove references to struct drm_device.pdev
...lient_fb_set(dev->pdev, info); > + if (dev_is_pci(dev->dev)) > + vga_switcheroo_client_fb_set(to_pci_dev(dev->dev), info); > + I cannot see why dev_is_pci() is needed here. So I am obviously missing something :-( > return 0; > > out_unlock: > @@ -548,7 +550,7 @@ nouveau_fbcon_init(struct drm_device *dev) > int ret; > > if (!dev->mode_config.num_crtc || > - (dev->pdev->class >> 8) != PCI_CLASS_DISPLAY_VGA) > + (to_pci_dev(dev->dev)->class >> 8) != PCI_CLASS_DISPLAY_VGA) > return 0; > > fbcon = kzalloc(siz...
2018 Aug 13
0
[PATCH v7 3/5] drm/nouveau: Fix deadlock with fb_helper with async RPM requests
...mutex_lock(&fbcon->hotplug_lock); + if (fbcon->hotplug_waiting) { + fbcon->hotplug_waiting = false; + + NV_DEBUG(drm, "Handling deferred fbcon HPD events\n"); + drm_fb_helper_hotplug_event(&fbcon->helper); + } + mutex_unlock(&fbcon->hotplug_lock); +} + int nouveau_fbcon_init(struct drm_device *dev) { @@ -505,6 +561,7 @@ nouveau_fbcon_init(struct drm_device *dev) drm->fbcon = fbcon; INIT_WORK(&drm->fbcon_work, nouveau_fbcon_set_suspend_work); + mutex_init(&fbcon->hotplug_lock); drm_fb_helper_prepare(dev, &fbcon->helper, &nouveau_fb...