Displaying 20 results from an estimated 85 matches for "nouveau_fbdev".
2020 Feb 06
0
[PATCH 2/4] drm/nouveau: Move struct nouveau_framebuffer.vma to struct nouveau_fbdev
The vma field of struct nouveau_framebuffer is a special field for the
the accelerated fbdev console. Hence there's at most one single instance
for the active console. Moving it into struct nouveau_fbdev makes struct
nouveau_framebuffer slightly smaller and brings it closer to struct
drm_framebuffer.
Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
---
drivers/gpu/drm/nouveau/nouveau_display.h | 1 -
drivers/gpu/drm/nouveau/nouveau_fbcon.c | 6 +++---
drivers/gpu/drm/nouveau/nouv...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...baccel, int, 0400);
-
-MODULE_PARM_DESC(fbcon_bpp, "fbcon bits-per-pixel (default: auto)");
-static int nouveau_fbcon_bpp;
-module_param_named(fbcon_bpp, nouveau_fbcon_bpp, int, 0400);
-
-static void
-nouveau_fbcon_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
-{
- struct nouveau_fbdev *fbcon = info->par;
- struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev);
- struct nvif_device *device = &drm->client.device;
- int ret;
-
- if (info->state != FBINFO_STATE_RUNNING)
- return;
-
- ret = -ENODEV;
- if (!in_interrupt() && !(info->flags & FBINFO_HW...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...bcon_bpp, "fbcon bits-per-pixel (default: auto)");
> -static int nouveau_fbcon_bpp;
> -module_param_named(fbcon_bpp, nouveau_fbcon_bpp, int, 0400);
> -
> -static void
> -nouveau_fbcon_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
> -{
> - struct nouveau_fbdev *fbcon = info->par;
> - struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev);
> - struct nvif_device *device = &drm->client.device;
> - int ret;
> -
> - if (info->state != FBINFO_STATE_RUNNING)
> - return;
> -
> -...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...er-pixel (default: auto)");
>> -static int nouveau_fbcon_bpp;
>> -module_param_named(fbcon_bpp, nouveau_fbcon_bpp, int, 0400);
>> -
>> -static void
>> -nouveau_fbcon_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
>> -{
>> - struct nouveau_fbdev *fbcon = info->par;
>> - struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev);
>> - struct nvif_device *device = &drm->client.device;
>> - int ret;
>> -
>> - if (info->state != FBINFO_STATE_RUNNING)
>> - r...
2023 Jan 10
1
[PATCH v2] drm/nouveau: Remove file nouveau_fbcon.c
...baccel, int, 0400);
-
-MODULE_PARM_DESC(fbcon_bpp, "fbcon bits-per-pixel (default: auto)");
-static int nouveau_fbcon_bpp;
-module_param_named(fbcon_bpp, nouveau_fbcon_bpp, int, 0400);
-
-static void
-nouveau_fbcon_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
-{
- struct nouveau_fbdev *fbcon = info->par;
- struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev);
- struct nvif_device *device = &drm->client.device;
- int ret;
-
- if (info->state != FBINFO_STATE_RUNNING)
- return;
-
- ret = -ENODEV;
- if (!in_interrupt() && !(info->flags & FBINFO_HW...
2018 Aug 13
0
[PATCH v6 3/5] drm/nouveau: Fix deadlock with fb_helper with async RPM requests
...pm_runtime_put_sync(drm->dev->dev);
}
@@ -487,6 +488,76 @@ nouveau_fbcon_set_suspend(struct drm_device *dev, int state)
schedule_work(&drm->fbcon_work);
}
+void
+nouveau_fbcon_output_poll_changed(struct drm_device *dev)
+{
+ struct nouveau_drm *drm = nouveau_drm(dev);
+ struct nouveau_fbdev *fbcon = drm->fbcon;
+ int ret;
+
+ if (!fbcon)
+ return;
+
+ mutex_lock(&fbcon->hotplug_lock);
+
+ ret = pm_runtime_get(dev->dev);
+ if (ret == 1 || ret == -EACCES) {
+ drm_fb_helper_hotplug_event(&fbcon->helper);
+
+ pm_runtime_mark_last_busy(dev->dev);
+ pm_runtime_put...
2020 Feb 06
5
[PATCH 0/4] drm/nouveau: Remove struct nouveau_framebuffer
All fields in struct nouveau_framebuffer appear to be obsolete. The
data structure can be replaced by struct drm_framebuffer entirely.
Patch 1 removes several unused fields from struct nouveau_framebuffer.
Patch 2 moves the field vma to struct nouveau_fbdev. The information
in vma is only relevant for fbdev emulation, and as such he field is
only used there.
Patch 3 removes nvbo from struct nouveau_framebuffer. The nouveau
buffer object is based on gem, and as such should be stored in obj[0]
of struct drm_framebuffer. This also enables the use of sev...
2018 Aug 13
0
[PATCH v7 3/5] drm/nouveau: Fix deadlock with fb_helper with async RPM requests
...pm_runtime_put_sync(drm->dev->dev);
}
@@ -487,6 +488,61 @@ nouveau_fbcon_set_suspend(struct drm_device *dev, int state)
schedule_work(&drm->fbcon_work);
}
+void
+nouveau_fbcon_output_poll_changed(struct drm_device *dev)
+{
+ struct nouveau_drm *drm = nouveau_drm(dev);
+ struct nouveau_fbdev *fbcon = drm->fbcon;
+ int ret;
+
+ if (!fbcon)
+ return;
+
+ mutex_lock(&fbcon->hotplug_lock);
+
+ ret = pm_runtime_get(dev->dev);
+ if (ret == 1 || ret == -EACCES) {
+ drm_fb_helper_hotplug_event(&fbcon->helper);
+
+ pm_runtime_mark_last_busy(dev->dev);
+ pm_runtime_put...
2018 Aug 13
6
[PATCH v6 0/5] Fix connector probing deadlocks from RPM bugs
Latest version of https://patchwork.freedesktop.org/series/46815/ with
some significant improvements:
- I finally figured out a clean way to do this entirely with runtime PM
helpers, no avoiding grabbing refs required!
- Since this new method removes the need for a lot of the other changes
I made (although we probably still want those changes, but not for
fixing these deadlocks)
2018 Aug 13
1
[PATCH v6 3/5] drm/nouveau: Fix deadlock with fb_helper with async RPM requests
On Mon, Aug 13, 2018 at 3:07 PM, Lyude Paul <lyude at redhat.com> wrote:
> +bool
> +nouveau_fbcon_hotplugged_in_suspend(struct nouveau_fbdev *fbcon)
> +{
> + bool hotplug;
> +
> + if (!fbcon)
> + return false;
> +
> + mutex_lock(&fbcon->hotplug_lock);
> + hotplug = fbcon->hotplug_waiting;
> + mutex_unlock(&fbcon->hotplug_lock);
> +
> + re...
2011 Nov 06
0
[PATCH] drm/nouveau: by default use low bpp framebuffer on low memory cards
...vers/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_helper_single_add_all_connectors(&nfbdev->helper);
- drm_fb_helper_initial_config(&nfbdev->helper...
2017 Nov 10
2
[PATCH] Accept 3d controllers and not only VGA controllers.
...98,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);
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c
b/drivers/gpu/drm/nouveau/nv50_display.c
index fb47d46050ec..061daf036407 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -3214,6 +3214,13 @@ nv50_mstm_destroy_connector(struct
drm...
2018 Aug 13
6
[PATCH v7 0/5] Fix connector probing deadlocks from RPM bugs
Latest version of https://patchwork.freedesktop.org/series/46815/ , with
one small change re: ilia
Lyude Paul (5):
drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement
drm/nouveau: Remove duplicate poll_enable() in pmops_runtime_suspend()
drm/nouveau: Fix deadlock with fb_helper with async RPM requests
drm/nouveau: Use pm_runtime_get_noresume() in connector_detect()
2017 Dec 03
2
[PATCH] Accept 3d controllers and not only VGA controllers.
...nt 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);
>> diff --git a/drivers/gpu/drm/nouveau/nv50_display.c
>> b/drivers/gpu/drm/nouveau/nv50_display.c
>> index fb47d46050ec..061daf036407 100644
>> --- a/drivers/gpu/drm/nouveau/nv50_display.c
>> +++ b/drivers/gpu/drm/nouveau/nv50_display.c
>> @@ -321...
2018 Aug 14
1
[PATCH v7 3/5] drm/nouveau: Fix deadlock with fb_helper with async RPM requests
...}
> @@ -487,6 +488,61 @@ nouveau_fbcon_set_suspend(struct drm_device *dev, int state)
> schedule_work(&drm->fbcon_work);
> }
>
> +void
> +nouveau_fbcon_output_poll_changed(struct drm_device *dev)
> +{
> + struct nouveau_drm *drm = nouveau_drm(dev);
> + struct nouveau_fbdev *fbcon = drm->fbcon;
> + int ret;
> +
> + if (!fbcon)
> + return;
> +
> + mutex_lock(&fbcon->hotplug_lock);
> +
> + ret = pm_runtime_get(dev->dev);
> + if (ret == 1 || ret == -EACCES) {
> + drm_fb_helper_hotplug_event(&fbcon->helper);
> +
>...
2015 Jan 05
2
drm/nouveau: dont switch vt on suspend
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at ubuntu.com>
---
diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
index 3ed12a8cfc91..a4a586807903 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
@@ -370,6 +370,7 @@ nouveau_fbcon_create(struct drm_fb_helper *helper,
ret = -ENOMEM;
goto
2018 Aug 07
19
[PATCH v5 00/13] Fix connector probing deadlocks from RPM bugs
This is the latest version of https://patchwork.freedesktop.org/series/46815/
I moved everything out of fb_helper and back into nouveau, because it
seems that other drivers actually do have this handled already as far as
I can tell.
Lyude Paul (13):
drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement
drm/nouveau: Remove duplicate poll_enable() in pmops_runtime_suspend()
2017 Dec 14
2
[PATCH] Accept 3d controllers and not only VGA controllers.
...gt;>>> - 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);
>>>> diff --git a/drivers/gpu/drm/nouveau/nv50_display.c
>>>> b/drivers/gpu/drm/nouveau/nv50_display.c
>>>> index fb47d46050ec..061daf036407 100644
>>>> --- a/drivers/gpu/drm/nouveau/nv50_display.c
>>>> +++ b/drivers/gpu/drm...
2018 Aug 15
5
[PATCH v8 0/5] Fix connector probing deadlocks from RPM bugs
Next version of https://patchwork.freedesktop.org/series/46815/
Same as previous version, but some small changes made to commit messages
and acks/rbs have been added
Lyude Paul (5):
drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement
drm/nouveau: Remove duplicate poll_enable() in pmops_runtime_suspend()
drm/nouveau: Fix deadlock with fb_helper with async RPM requests
2020 Nov 24
1
[PATCH 09/15] drm/nouveau: Remove references to struct drm_device.pdev
..._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(sizeof(struct nouveau_fbdev), GFP_KERNEL);
> diff --git a/drivers/gpu/drm/nouveau/nouveau_vga.c b/drivers/gpu/drm/nouveau/nouveau_vga.c
> index c85dd8afa3c3..7c4b374b3eca 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_vga.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_vga.c
> @@ -87,18 +87,20 @@ nouveau_vga_init(str...