search for: nouveau_fbdev

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