Displaying 20 results from an estimated 46 matches for "num_clips".
2019 Jun 11
1
[PATCH] drm/virtio: drop framebuffer dirty tracking code
...4,10 +251,6 @@ int virtio_gpu_mode_dumb_mmap(struct drm_file *file_priv,
struct drm_device *dev,
uint32_t handle, uint64_t *offset_p);
-/* virtio_fb */
-int virtio_gpu_surface_dirty(struct virtio_gpu_framebuffer *qfb,
- struct drm_clip_rect *clips,
- unsigned int num_clips);
/* virtio vg */
int virtio_gpu_alloc_vbufs(struct virtio_gpu_device *vgdev);
void virtio_gpu_free_vbufs(struct virtio_gpu_device *vgdev);
diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c
index 86843a4d6102..ba16e8cb7124 100644
--- a/drivers/gpu/d...
2019 Apr 03
2
[PATCH] drm/cirrus: rewrite and modernize driver.
...rrus_fb_dirty(struct drm_framebuffer *fb,
> > + struct drm_file *file_priv,
> > + unsigned int flags, unsigned int color,
> > + struct drm_clip_rect *clips,
> > + unsigned int num_clips)
> > +{
> > + struct cirrus_device *cirrus = fb->dev->dev_private;
> > +
> > + if (cirrus->pipe.plane.state->fb != fb)
> > + return 0;
> > +
> > + if (num_clips)
> > + cirrus_fb_blit_clips(fb,...
2019 Apr 03
2
[PATCH] drm/cirrus: rewrite and modernize driver.
...rrus_fb_dirty(struct drm_framebuffer *fb,
> > + struct drm_file *file_priv,
> > + unsigned int flags, unsigned int color,
> > + struct drm_clip_rect *clips,
> > + unsigned int num_clips)
> > +{
> > + struct cirrus_device *cirrus = fb->dev->dev_private;
> > +
> > + if (cirrus->pipe.plane.state->fb != fb)
> > + return 0;
> > +
> > + if (num_clips)
> > + cirrus_fb_blit_clips(fb,...
2018 Nov 28
0
[PATCH 5/6] drm/qxl: cover all crtcs in shadow bo.
...+ struct qxl_head *dumb_heads;
struct qxl_memslot *mem_slots;
uint8_t n_mem_slots;
@@ -447,7 +449,8 @@ void qxl_draw_dirty_fb(struct qxl_device *qdev,
struct qxl_bo *bo,
unsigned int flags, unsigned int color,
struct drm_clip_rect *clips,
- unsigned int num_clips, int inc);
+ unsigned int num_clips, int inc,
+ uint32_t dumb_shadow_offset);
void qxl_draw_fill(struct qxl_draw_fill *qxl_draw_fill_rec);
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
index 472df00c02..a6110ec5ba 100644
--- a/drivers/gpu/dr...
2018 Dec 12
0
[PATCH v2 14/18] drm/qxl: cover all crtcs in shadow bo.
...xl_head *dumb_heads;
struct qxl_memslot main_slot;
struct qxl_memslot surfaces_slot;
@@ -437,7 +439,8 @@ void qxl_draw_dirty_fb(struct qxl_device *qdev,
struct qxl_bo *bo,
unsigned int flags, unsigned int color,
struct drm_clip_rect *clips,
- unsigned int num_clips, int inc);
+ unsigned int num_clips, int inc,
+ uint32_t dumb_shadow_offset);
void qxl_draw_fill(struct qxl_draw_fill *qxl_draw_fill_rec);
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
index 204ae46c62..fc88826b69 100644
--- a/drivers/gpu/dr...
2019 Apr 03
0
[PATCH] drm/cirrus: rewrite and modernize driver.
...y(struct drm_framebuffer *fb,
>>> + struct drm_file *file_priv,
>>> + unsigned int flags, unsigned int color,
>>> + struct drm_clip_rect *clips,
>>> + unsigned int num_clips)
>>> +{
>>> + struct cirrus_device *cirrus = fb->dev->dev_private;
>>> +
>>> + if (cirrus->pipe.plane.state->fb != fb)
>>> + return 0;
>>> +
>>> + if (num_clips)
>>> + c...
2017 Nov 08
2
[PATCH] drm/virtio: add create_handle support.
.../virtio/virtgpu_display.c
index b6d52055a11f..274b4206ca96 100644
--- a/drivers/gpu/drm/virtio/virtgpu_display.c
+++ b/drivers/gpu/drm/virtio/virtgpu_display.c
@@ -71,7 +71,19 @@ virtio_gpu_framebuffer_surface_dirty(struct drm_framebuffer *fb,
return virtio_gpu_surface_dirty(virtio_gpu_fb, clips, num_clips);
}
+static int
+virtio_gpu_framebuffer_create_handle(struct drm_framebuffer *fb,
+ struct drm_file *file_priv,
+ unsigned int *handle)
+{
+ struct virtio_gpu_framebuffer *virtio_gpu_fb =
+ to_virtio_gpu_framebuffer(fb);
+
+ return drm_gem_handle_create(file_priv, virtio_gpu_fb-...
2017 Nov 08
2
[PATCH] drm/virtio: add create_handle support.
.../virtio/virtgpu_display.c
index b6d52055a11f..274b4206ca96 100644
--- a/drivers/gpu/drm/virtio/virtgpu_display.c
+++ b/drivers/gpu/drm/virtio/virtgpu_display.c
@@ -71,7 +71,19 @@ virtio_gpu_framebuffer_surface_dirty(struct drm_framebuffer *fb,
return virtio_gpu_surface_dirty(virtio_gpu_fb, clips, num_clips);
}
+static int
+virtio_gpu_framebuffer_create_handle(struct drm_framebuffer *fb,
+ struct drm_file *file_priv,
+ unsigned int *handle)
+{
+ struct virtio_gpu_framebuffer *virtio_gpu_fb =
+ to_virtio_gpu_framebuffer(fb);
+
+ return drm_gem_handle_create(file_priv, virtio_gpu_fb-...
2018 Mar 22
1
[PATCH 00/23] drm: Eliminate plane->fb/crtc usage for atomic drivers
On Thu, Mar 22, 2018 at 05:51:35PM +0100, Noralf Tr?nnes wrote:
> tinydrm is also using plane->fb:
>
> $ grep -r "plane\.fb" drivers/gpu/drm/tinydrm/
> drivers/gpu/drm/tinydrm/repaper.c:????? if (tdev->pipe.plane.fb != fb)
> drivers/gpu/drm/tinydrm/mipi-dbi.c:???? if (tdev->pipe.plane.fb != fb)
> drivers/gpu/drm/tinydrm/mipi-dbi.c:???? struct drm_framebuffer
2020 Aug 17
0
[PATCH] drm/qxl: Fix build errors
...SET_LOCK_ALL_END(dev, ctx, ret);
> if (!drm_helper_hpd_irq_event(dev)) {
> /* notify that the monitor configuration changed, to
> adjust at the arbitrary resolution */
> @@ -431,7 +432,7 @@ static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb,
> clips, num_clips, inc, 0);
>
> out_lock_end:
> - DRM_MODESET_LOCK_ALL_END(ctx, ret);
> + DRM_MODESET_LOCK_ALL_END(fb->dev, ctx, ret);
>
> return 0;
> }
> --
> Sean Paul, Software Engineer, Google / Chromium OS
>
> _______________________________________________
> dri...
2017 Nov 13
0
[PATCH] drm/virtio: add create_handle support.
...index b6d52055a11f..274b4206ca96 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_display.c
> +++ b/drivers/gpu/drm/virtio/virtgpu_display.c
> @@ -71,7 +71,19 @@ virtio_gpu_framebuffer_surface_dirty(struct drm_framebuffer *fb,
> return virtio_gpu_surface_dirty(virtio_gpu_fb, clips, num_clips);
> }
>
> +static int
> +virtio_gpu_framebuffer_create_handle(struct drm_framebuffer *fb,
> + struct drm_file *file_priv,
> + unsigned int *handle)
> +{
> + struct virtio_gpu_framebuffer *virtio_gpu...
2018 Sep 11
0
[PATCH] qxl: refactor to use drm_fb_helper_fbdev_setup
...d not be necessary to have a special dirty() callback for fbdev.
134 */
135 static int qxlfb_framebuffer_dirty(struct drm_framebuffer *fb,
136 struct drm_file *file_priv,
137 unsigned flags, unsigned color,
138 struct drm_clip_rect *clips,
139 unsigned num_clips)
140 {
141 struct qxl_device *qdev = fb->dev->dev_private;
142 struct fb_info *info = qdev->fb_helper.fbdev;
143 struct qxl_fb_image qxl_fb_image;
144 struct fb_image *image = &qxl_fb_image.fb_image;
145
146 /* TODO: hard coding 32 bpp */
147 int stride =...
2019 Apr 03
5
[PATCH] drm/cirrus: rewrite and modernize driver.
...;
+
+ WREG_HDR(hdr);
+ /* cirrus_crtc_do_set_base(crtc, old_fb, x, y, 0); */
+
+ /* Unblank (needed on S3 resume, vgabios doesn't do it then) */
+ outb(0x20, 0x3c0);
+ return 0;
+}
+
+static int cirrus_fb_blit_clips(struct drm_framebuffer *fb,
+ struct drm_clip_rect *clips,
+ unsigned int num_clips)
+{
+ struct cirrus_device *cirrus = fb->dev->dev_private;
+ unsigned i, y, xoff, xlen, src, dst;
+ void *vmap;
+
+ vmap = drm_gem_shmem_vmap(fb->obj[0]);
+ if (!vmap)
+ return -ENOMEM;
+
+ for (i = 0; i < num_clips; i++) {
+ xoff = clips[i].x1 * cirrus->bpp / 8;
+ xlen = (clips[i...
2019 Apr 03
5
[PATCH] drm/cirrus: rewrite and modernize driver.
...;
+
+ WREG_HDR(hdr);
+ /* cirrus_crtc_do_set_base(crtc, old_fb, x, y, 0); */
+
+ /* Unblank (needed on S3 resume, vgabios doesn't do it then) */
+ outb(0x20, 0x3c0);
+ return 0;
+}
+
+static int cirrus_fb_blit_clips(struct drm_framebuffer *fb,
+ struct drm_clip_rect *clips,
+ unsigned int num_clips)
+{
+ struct cirrus_device *cirrus = fb->dev->dev_private;
+ unsigned i, y, xoff, xlen, src, dst;
+ void *vmap;
+
+ vmap = drm_gem_shmem_vmap(fb->obj[0]);
+ if (!vmap)
+ return -ENOMEM;
+
+ for (i = 0; i < num_clips; i++) {
+ xoff = clips[i].x1 * cirrus->bpp / 8;
+ xlen = (clips[i...
2018 Dec 12
0
[PATCH v2 18/18] drm/qxl: remove dead qxl fbdev emulation code
..._opaque_fb(const struct qxl_fb_image *qxl_fb_image,
- int stride /* filled in if 0 */);
-
void qxl_draw_dirty_fb(struct qxl_device *qdev,
struct drm_framebuffer *fb,
struct qxl_bo *bo,
@@ -443,13 +432,6 @@ void qxl_draw_dirty_fb(struct qxl_device *qdev,
unsigned int num_clips, int inc,
uint32_t dumb_shadow_offset);
-void qxl_draw_fill(struct qxl_draw_fill *qxl_draw_fill_rec);
-
-void qxl_draw_copyarea(struct qxl_device *qdev,
- u32 width, u32 height,
- u32 sx, u32 sy,
- u32 dx, u32 dy);
-
void qxl_release_free(struct qxl_device *qdev...
2015 Mar 24
10
[PATCH] Add virtio gpu driver.
...virtio_gpu_fb->obj);
+ drm_framebuffer_cleanup(fb);
+ kfree(virtio_gpu_fb);
+}
+
+static int
+virtio_gpu_framebuffer_surface_dirty(struct drm_framebuffer *fb,
+ struct drm_file *file_priv,
+ unsigned flags, unsigned color,
+ struct drm_clip_rect *clips,
+ unsigned num_clips)
+{
+ struct virtio_gpu_framebuffer *virtio_gpu_fb
+ = to_virtio_gpu_framebuffer(fb);
+
+ return virtio_gpu_surface_dirty(virtio_gpu_fb, clips, num_clips);
+}
+
+static const struct drm_framebuffer_funcs virtio_gpu_fb_funcs = {
+ .destroy = virtio_gpu_user_framebuffer_destroy,
+ .dirty = virtio_gp...
2015 Mar 24
10
[PATCH] Add virtio gpu driver.
...virtio_gpu_fb->obj);
+ drm_framebuffer_cleanup(fb);
+ kfree(virtio_gpu_fb);
+}
+
+static int
+virtio_gpu_framebuffer_surface_dirty(struct drm_framebuffer *fb,
+ struct drm_file *file_priv,
+ unsigned flags, unsigned color,
+ struct drm_clip_rect *clips,
+ unsigned num_clips)
+{
+ struct virtio_gpu_framebuffer *virtio_gpu_fb
+ = to_virtio_gpu_framebuffer(fb);
+
+ return virtio_gpu_surface_dirty(virtio_gpu_fb, clips, num_clips);
+}
+
+static const struct drm_framebuffer_funcs virtio_gpu_fb_funcs = {
+ .destroy = virtio_gpu_user_framebuffer_destroy,
+ .dirty = virtio_gp...
2015 Mar 24
0
[PATCH] Add virtio gpu driver.
...anup(fb);
> + kfree(virtio_gpu_fb);
> +}
> +
> +static int
> +virtio_gpu_framebuffer_surface_dirty(struct drm_framebuffer *fb,
> + struct drm_file *file_priv,
> + unsigned flags, unsigned color,
> + struct drm_clip_rect *clips,
> + unsigned num_clips)
> +{
> + struct virtio_gpu_framebuffer *virtio_gpu_fb
> + = to_virtio_gpu_framebuffer(fb);
> +
> + return virtio_gpu_surface_dirty(virtio_gpu_fb, clips, num_clips);
> +}
> +
> +static const struct drm_framebuffer_funcs virtio_gpu_fb_funcs = {
> + .destroy = virtio_gpu_u...
2015 Mar 24
0
[PATCH] Add virtio gpu driver.
...anup(fb);
> + kfree(virtio_gpu_fb);
> +}
> +
> +static int
> +virtio_gpu_framebuffer_surface_dirty(struct drm_framebuffer *fb,
> + struct drm_file *file_priv,
> + unsigned flags, unsigned color,
> + struct drm_clip_rect *clips,
> + unsigned num_clips)
> +{
> + struct virtio_gpu_framebuffer *virtio_gpu_fb
> + = to_virtio_gpu_framebuffer(fb);
> +
> + return virtio_gpu_surface_dirty(virtio_gpu_fb, clips, num_clips);
> +}
> +
> +static const struct drm_framebuffer_funcs virtio_gpu_fb_funcs = {
> + .destroy = virtio_gpu_u...
2019 Apr 03
0
[PATCH] drm/cirrus: rewrite and modernize driver.
...n S3 resume, vgabios doesn't do it then) */
> + outb(0x20, 0x3c0);
> + return 0;
> +}
> +
> +static int cirrus_fb_blit_clips(struct drm_framebuffer *fb,
> + struct drm_clip_rect *clips,
> + unsigned int num_clips)
> +{
> + struct cirrus_device *cirrus = fb->dev->dev_private;
> + unsigned i, y, xoff, xlen, src, dst;
> + void *vmap;
> +
> + vmap = drm_gem_shmem_vmap(fb->obj[0]);
> + if (!vmap)
> + return -ENOMEM;
> +
> +...