search for: drm_fb_helper_fill_info

Displaying 20 results from an estimated 37 matches for "drm_fb_helper_fill_info".

2019 Jan 24
0
[PATCH 17/26] drm/nouveau: Use drm_fb_helper_fill_info
...iovirtual(fb->nvbo); info->screen_size = fb->nvbo->bo.mem.num_pages << PAGE_SHIFT; - drm_fb_helper_fill_fix(info, fb->base.pitches[0], - fb->base.format->depth); - drm_fb_helper_fill_var(info, &fbcon->helper, sizes->fb_width, sizes->fb_height); + drm_fb_helper_fill_info(info, &fbcon->helper); /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */ diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.h b/drivers/gpu/drm/nouveau/nouveau_fbcon.h index db9d52047ef8..73a7eeba3973 100644 --- a/drivers/gpu/drm/nouveau/nouveau_fbcon.h +++ b/...
2019 Mar 26
1
[PATCH 14/21] drm/nouveau: Use drm_fb_helper_fill_info
...iovirtual(fb->nvbo); info->screen_size = fb->nvbo->bo.mem.num_pages << PAGE_SHIFT; - drm_fb_helper_fill_fix(info, fb->base.pitches[0], - fb->base.format->depth); - drm_fb_helper_fill_var(info, &fbcon->helper, sizes->fb_width, sizes->fb_height); + drm_fb_helper_fill_info(info, &fbcon->helper, sizes); /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */ diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.h b/drivers/gpu/drm/nouveau/nouveau_fbcon.h index db9d52047ef8..73a7eeba3973 100644 --- a/drivers/gpu/drm/nouveau/nouveau_fbcon.h...
2019 Jul 07
2
[PATCH v2 3/6] drm/fb-helper: Instanciate shadow FB if configured in device's mode_config
...rty; and you can drop the the double NOT here. > +} > + > /** > * drm_fb_helper_generic_probe - Generic fbdev emulation probe helper > * @fb_helper: fbdev helper structure > @@ -2213,7 +2222,7 @@ int drm_fb_helper_generic_probe(struct drm_fb_helper *fb_helper, > > drm_fb_helper_fill_info(fbi, fb_helper, sizes); > > - if (fb->funcs->dirty) { > + if (drm_fbdev_use_shadow_fb(fb_helper)) { > struct fb_ops *fbops; > void *shadow; > > diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h > index 759d462d028b..e1c751aca353 10064...
2019 Jul 07
2
[PATCH v2 3/6] drm/fb-helper: Instanciate shadow FB if configured in device's mode_config
...rty; and you can drop the the double NOT here. > +} > + > /** > * drm_fb_helper_generic_probe - Generic fbdev emulation probe helper > * @fb_helper: fbdev helper structure > @@ -2213,7 +2222,7 @@ int drm_fb_helper_generic_probe(struct drm_fb_helper *fb_helper, > > drm_fb_helper_fill_info(fbi, fb_helper, sizes); > > - if (fb->funcs->dirty) { > + if (drm_fbdev_use_shadow_fb(fb_helper)) { > struct fb_ops *fbops; > void *shadow; > > diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h > index 759d462d028b..e1c751aca353 10064...
2019 Jan 24
3
[PATCH 26/26] drm/<drivers>: Don't set FBINFO_(FLAG_)DEFAULT
...00644 --- a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c @@ -87,7 +87,6 @@ static int exynos_drm_fbdev_update(struct drm_fb_helper *helper, return PTR_ERR(fbi); } - fbi->flags = FBINFO_FLAG_DEFAULT; fbi->fbops = &exynos_drm_fb_ops; drm_fb_helper_fill_info(fbi, helper); diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c index c7a5c29f9a69..3b59dbadfa63 100644 --- a/drivers/gpu/drm/gma500/framebuffer.c +++ b/drivers/gpu/drm/gma500/framebuffer.c @@ -401,7 +401,6 @@ static int psbfb_create(struct psb_fbdev *fbdev,...
2019 Jul 05
0
[PATCH v2 3/6] drm/fb-helper: Instanciate shadow FB if configured in device's mode_config
..._fbdev | + dev->mode_config.prefer_shadow | + !!fb->funcs->dirty; +} + /** * drm_fb_helper_generic_probe - Generic fbdev emulation probe helper * @fb_helper: fbdev helper structure @@ -2213,7 +2222,7 @@ int drm_fb_helper_generic_probe(struct drm_fb_helper *fb_helper, drm_fb_helper_fill_info(fbi, fb_helper, sizes); - if (fb->funcs->dirty) { + if (drm_fbdev_use_shadow_fb(fb_helper)) { struct fb_ops *fbops; void *shadow; diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h index 759d462d028b..e1c751aca353 100644 --- a/include/drm/drm_mode_config.h ++...
2019 Jul 07
0
[PATCH v2 3/6] drm/fb-helper: Instanciate shadow FB if configured in device's mode_config
...NOT here. > >> +} >> + >> /** >> * drm_fb_helper_generic_probe - Generic fbdev emulation probe helper >> * @fb_helper: fbdev helper structure >> @@ -2213,7 +2222,7 @@ int drm_fb_helper_generic_probe(struct drm_fb_helper *fb_helper, >> >> drm_fb_helper_fill_info(fbi, fb_helper, sizes); >> >> - if (fb->funcs->dirty) { >> + if (drm_fbdev_use_shadow_fb(fb_helper)) { >> struct fb_ops *fbops; >> void *shadow; >> >> diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h >> index...
2019 Jul 05
0
[PATCH v2 2/6] drm/fb-helper: Map DRM client buffer only when required
...en_buffer = buffer->vaddr; - /* Shamelessly leak the physical address to user-space */ -#if IS_ENABLED(CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM) - if (drm_leak_fbdev_smem && fbi->fix.smem_start == 0) - fbi->fix.smem_start = - page_to_phys(virt_to_page(fbi->screen_buffer)); -#endif + drm_fb_helper_fill_info(fbi, fb_helper, sizes); if (fb->funcs->dirty) { @@ -2231,6 +2235,19 @@ int drm_fb_helper_generic_probe(struct drm_fb_helper *fb_helper, fbi->fbdefio = &drm_fbdev_defio; fb_deferred_io_init(fbi); + } else { + /* buffer is mapped for HW framebuffer */ + vaddr = drm_client_b...
2019 Jul 05
11
[PATCH v2 0/6] Unmappable DRM client buffers for fbdev emulation
DRM client buffers are permanently mapped throughout their lifetime. This prevents us from using generic framebuffer emulation for devices with small dedicated video memory, such as ast or mgag200. With fb buffers permanently mapped, such devices often won't have enough space left to display other content (e.g., X11). This patch set introduces unmappable DRM client buffers for framebuffer
2019 Jul 05
11
[PATCH v2 0/6] Unmappable DRM client buffers for fbdev emulation
DRM client buffers are permanently mapped throughout their lifetime. This prevents us from using generic framebuffer emulation for devices with small dedicated video memory, such as ast or mgag200. With fb buffers permanently mapped, such devices often won't have enough space left to display other content (e.g., X11). This patch set introduces unmappable DRM client buffers for framebuffer
2019 Jul 04
2
[PATCH 0/5] Unmappable DRM client buffers for fbdev emulation
Hi Am 03.07.19 um 21:27 schrieb Noralf Tr?nnes: > > > Den 03.07.2019 10.32, skrev Thomas Zimmermann: >> DRM client buffers are permanently mapped throughout their lifetime. This >> prevents us from using generic framebuffer emulation for devices with >> small dedicated video memory, such as ast or mgag200. With fb buffers >> permanently mapped, such devices
2019 Jul 04
2
[PATCH 0/5] Unmappable DRM client buffers for fbdev emulation
Hi Am 03.07.19 um 21:27 schrieb Noralf Tr?nnes: > > > Den 03.07.2019 10.32, skrev Thomas Zimmermann: >> DRM client buffers are permanently mapped throughout their lifetime. This >> prevents us from using generic framebuffer emulation for devices with >> small dedicated video memory, such as ast or mgag200. With fb buffers >> permanently mapped, such devices
2019 Jul 04
0
[PATCH 0/5] Unmappable DRM client buffers for fbdev emulation
...->funcs->dirty(helper->fb, NULL, 0, 0, &clip_copy, 1); + if (helper->fb->funcs->dirty) + helper->fb->funcs->dirty(helper->fb, NULL, 0, 0, &clip_copy, 1); } } @@ -2209,7 +2210,7 @@ int drm_fb_helper_generic_probe(struct drm_fb_helper *fb_helper, #endif drm_fb_helper_fill_info(fbi, fb_helper, sizes); - if (fb->funcs->dirty) { + if (fb->funcs->dirty || fb_helper->use_shadow) { struct fb_ops *fbops; void *shadow; @@ -2310,6 +2311,44 @@ static const struct drm_client_funcs drm_fbdev_client_funcs = { .hotplug = drm_fbdev_client_hotplug, }; +static...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...FBINFO_HWACCEL_IMAGEBLIT; - info->fbops = &nouveau_fbcon_sw_ops; - info->fix.smem_start = nvbo->bo.resource->bus.offset; - info->fix.smem_len = nvbo->bo.base.size; - - info->screen_base = nvbo_kmap_obj_iovirtual(nvbo); - info->screen_size = nvbo->bo.base.size; - - drm_fb_helper_fill_info(info, &fbcon->helper, sizes); - - /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */ - - if (chan) - nouveau_fbcon_accel_init(dev); - nouveau_fbcon_zfill(dev, fbcon); - - /* To allow resizeing without swapping buffers */ - NV_INFO(drm, "allocated %dx%d fb: 0x%l...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...on_sw_ops; > - info->fix.smem_start = nvbo->bo.resource->bus.offset; > - info->fix.smem_len = nvbo->bo.base.size; > - > - info->screen_base = nvbo_kmap_obj_iovirtual(nvbo); > - info->screen_size = nvbo->bo.base.size; > - > - drm_fb_helper_fill_info(info, &fbcon->helper, sizes); > - > - /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */ > - > - if (chan) > - nouveau_fbcon_accel_init(dev); > - nouveau_fbcon_zfill(dev, fbcon); > - > - /* To allow resize...
2019 Jul 03
0
[PATCH 5/5] drm/mgag200: Replace struct mga_fbdev with generic framebuffer emulation
...e; - - /* setup helper */ - mfbdev->helper.fb = fb; - - info->fbops = &mgag200fb_ops; - - /* setup aperture base/size for vesafb takeover */ - info->apertures->ranges[0].base = mdev->dev->mode_config.fb_base; - info->apertures->ranges[0].size = mdev->mc.vram_size; - - drm_fb_helper_fill_info(info, &mfbdev->helper, sizes); - - info->screen_base = sysram; - info->screen_size = size; - info->pixmap.flags = FB_PIXMAP_SYSTEM; - - DRM_DEBUG_KMS("allocated %dx%d\n", - fb->width, fb->height); - - return 0; - -err_vfree: - vfree(sysram); -err_drm_gem_objec...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...info->fix.smem_start = nvbo->bo.resource->bus.offset; >> - info->fix.smem_len = nvbo->bo.base.size; >> - >> - info->screen_base = nvbo_kmap_obj_iovirtual(nvbo); >> - info->screen_size = nvbo->bo.base.size; >> - >> - drm_fb_helper_fill_info(info, &fbcon->helper, sizes); >> - >> - /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */ >> - >> - if (chan) >> - nouveau_fbcon_accel_init(dev); >> - nouveau_fbcon_zfill(dev, fbcon); >> - &gt...
2019 Jul 03
0
[PATCH 3/5] drm/ast: Replace struct ast_fbdev with generic framebuffer emulation
...to out; - } - - afbdev->sysram = sysram; - afbdev->size = size; - - afbdev->helper.fb = fb; - - info->fbops = &astfb_ops; - - info->apertures->ranges[0].base = pci_resource_start(dev->pdev, 0); - info->apertures->ranges[0].size = pci_resource_len(dev->pdev, 0); - - drm_fb_helper_fill_info(info, &afbdev->helper, sizes); - - info->screen_base = sysram; - info->screen_size = size; - - info->pixmap.flags = FB_PIXMAP_SYSTEM; - - DRM_DEBUG_KMS("allocated %dx%d\n", - fb->width, fb->height); - - return 0; - -out: - vfree(sysram); - return ret; -} - -st...
2020 Feb 06
0
[PATCH 3/4] drm/nouveau: Remove field nvbo from struct nouveau_framebuffer
...es << PAGE_SHIFT; - info->screen_base = nvbo_kmap_obj_iovirtual(fb->nvbo); - info->screen_size = fb->nvbo->bo.mem.num_pages << PAGE_SHIFT; + info->screen_base = nvbo_kmap_obj_iovirtual(nvbo); + info->screen_size = nvbo->bo.mem.num_pages << PAGE_SHIFT; drm_fb_helper_fill_info(info, &fbcon->helper, sizes); @@ -393,7 +393,7 @@ nouveau_fbcon_create(struct drm_fb_helper *helper, /* To allow resizeing without swapping buffers */ NV_INFO(drm, "allocated %dx%d fb: 0x%llx, bo %p\n", - fb->base.width, fb->base.height, fb->nvbo->bo.offset, nv...
2019 Apr 09
0
[PATCH 12/15] drm/vboxvideo: Convert vboxvideo driver to |struct drm_gem_ttm_object|
...se = (char __iomem *)vbox_bo_kmap(bo); > + info->screen_base = (char __iomem *)drm_gem_ttm_kmap(gbo, true); > if (IS_ERR(info->screen_base)) > return PTR_ERR(info->screen_base); > > @@ -104,7 +104,9 @@ int vboxfb_create(struct drm_fb_helper *helper, > > drm_fb_helper_fill_info(info, helper, sizes); > > - gpu_addr = vbox_bo_gpu_offset(bo); > + gpu_addr = drm_gem_ttm_vram_offset(gbo); > + if (gpu_addr < 0) > + return (int)gpu_addr; > info->fix.smem_start = info->apertures->ranges[0].base + gpu_addr; > info->fix.smem_len = vbox-...