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...