From: Sam Ravnborg <sam@ravnborg.org>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: noralf@tronnes.org, daniel@ffwll.ch, airlied@linux.ie,
mripard@kernel.org, maarten.lankhorst@linux.intel.com,
airlied@redhat.com, javierm@redhat.com, drawat.floss@gmail.com,
kraxel@redhat.com, david@lechnology.com,
jose.exposito89@gmail.com, dri-devel@lists.freedesktop.org,
linux-hyperv@vger.kernel.org,
virtualization@lists.linux-foundation.org
Subject: Re: [PATCH 03/12] drm/format-helper: Convert drm_fb_swab() to struct iosys_map
Date: Thu, 4 Aug 2022 22:08:12 +0200 [thread overview]
Message-ID: <YuwnLBICShrjMg2Y@ravnborg.org> (raw)
In-Reply-To: <20220727113312.22407-4-tzimmermann@suse.de>
Hi Thomas,
On Wed, Jul 27, 2022 at 01:33:03PM +0200, Thomas Zimmermann wrote:
> Convert drm_fb_swab() to use struct iosys_map() and convert users. The
> new interface supports multi-plane color formats.
It swabs only plane[0], sbut this is maybe enough to say so.
A few comments in the following.
Sam
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
> drivers/gpu/drm/drm_format_helper.c | 38 +++++++++++++++++++++--------
> drivers/gpu/drm/drm_mipi_dbi.c | 2 +-
> drivers/gpu/drm/gud/gud_pipe.c | 2 +-
> include/drm/drm_format_helper.h | 6 ++---
> 4 files changed, 33 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_format_helper.c b/drivers/gpu/drm/drm_format_helper.c
> index 49589b442f18..fa22d3cb11e8 100644
> --- a/drivers/gpu/drm/drm_format_helper.c
> +++ b/drivers/gpu/drm/drm_format_helper.c
> @@ -196,9 +196,9 @@ static void drm_fb_swab32_line(void *dbuf, const void *sbuf, unsigned int pixels
>
> /**
> * drm_fb_swab - Swap bytes into clip buffer
> - * @dst: Destination buffer
> - * @dst_pitch: Number of bytes between two consecutive scanlines within dst
> - * @src: Source buffer
> + * @dst: Array of destination buffers
> + * @dst_pitch: Array of numbers of bytes between two consecutive scanlines within dst
Document that it may be NULL?
> + * @vmap: Array of source buffers
Prefer that the source is named src, and vmap smells like system
(virtual) memory to me.
Also vmap must be system memory - but this is maybe fixed later.
> * @fb: DRM framebuffer
> * @clip: Clip rectangle area to copy
> * @cached: Source buffer is mapped cached (eg. not write-combined)
> @@ -209,24 +209,42 @@ static void drm_fb_swab32_line(void *dbuf, const void *sbuf, unsigned int pixels
> * This function does not apply clipping on dst, i.e. the destination
> * is at the top-left corner.
> */
> -void drm_fb_swab(void *dst, unsigned int dst_pitch, const void *src,
> - const struct drm_framebuffer *fb, const struct drm_rect *clip,
> - bool cached)
> +void drm_fb_swab(struct iosys_map *dst, const unsigned int *dst_pitch,
> + const struct iosys_map *vmap, const struct drm_framebuffer *fb,
> + const struct drm_rect *clip, bool cached)
> {
> - u8 cpp = fb->format->cpp[0];
> + static const unsigned int default_dst_pitch[DRM_FORMAT_MAX_PLANES] = {
> + 0, 0, 0, 0
> + };
> + const struct drm_format_info *format = fb->format;
> + u8 cpp = format->cpp[0];
u8 cpp = drm_format_info_bpp(format, 0) / 8;
> + void (*swab_line)(void *dbuf, const void *sbuf, unsigned int npixels);
>
> switch (cpp) {
> case 4:
> - drm_fb_xfrm(dst, dst_pitch, cpp, src, fb, clip, cached, drm_fb_swab32_line);
> + swab_line = drm_fb_swab32_line;
> break;
> case 2:
> - drm_fb_xfrm(dst, dst_pitch, cpp, src, fb, clip, cached, drm_fb_swab16_line);
> + swab_line = drm_fb_swab16_line;
> break;
> default:
> drm_warn_once(fb->dev, "Format %p4cc has unsupported pixel size.\n",
> - &fb->format->format);
> + &format->format);
> + swab_line = NULL;
> break;
> }
> + if (!swab_line)
> + return;
> +
> + if (!dst_pitch)
> + dst_pitch = default_dst_pitch;
> +
> + if (dst->is_iomem)
> + drm_fb_xfrm_toio(dst[0].vaddr_iomem, dst_pitch[0], cpp,
> + vmap[0].vaddr, fb, clip, cached, swab_line);
> + else
> + drm_fb_xfrm(dst[0].vaddr, dst_pitch[0], cpp, vmap[0].vaddr, fb,
> + clip, cached, swab_line);
Here vmap is assumes system memory, not IO. I assume this is fixed
later.
> }
> EXPORT_SYMBOL(drm_fb_swab);
>
> diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
> index 22451806fb5c..973a75585cad 100644
> --- a/drivers/gpu/drm/drm_mipi_dbi.c
> +++ b/drivers/gpu/drm/drm_mipi_dbi.c
> @@ -221,7 +221,7 @@ int mipi_dbi_buf_copy(void *dst, struct drm_framebuffer *fb,
> switch (fb->format->format) {
> case DRM_FORMAT_RGB565:
> if (swap)
> - drm_fb_swab(dst, 0, src, fb, clip, !gem->import_attach);
> + drm_fb_swab(&dst_map, NULL, data, fb, clip, !gem->import_attach);
> else
> drm_fb_memcpy(&dst_map, NULL, data, fb, clip);
> break;
> diff --git a/drivers/gpu/drm/gud/gud_pipe.c b/drivers/gpu/drm/gud/gud_pipe.c
> index 449c95a4aee0..a15cda9ba058 100644
> --- a/drivers/gpu/drm/gud/gud_pipe.c
> +++ b/drivers/gpu/drm/gud/gud_pipe.c
> @@ -205,7 +205,7 @@ static int gud_prep_flush(struct gud_device *gdrm, struct drm_framebuffer *fb,
> len = gud_xrgb8888_to_color(buf, format, vaddr, fb, rect);
> }
> } else if (gud_is_big_endian() && format->cpp[0] > 1) {
> - drm_fb_swab(buf, 0, vaddr, fb, rect, !import_attach);
> + drm_fb_swab(&dst, NULL, map_data, fb, rect, !import_attach);
> } else if (compression && !import_attach && pitch == fb->pitches[0]) {
> /* can compress directly from the framebuffer */
> buf = vaddr + rect->y1 * pitch;
> diff --git a/include/drm/drm_format_helper.h b/include/drm/drm_format_helper.h
> index 8af6a2717bc9..60944feaa936 100644
> --- a/include/drm/drm_format_helper.h
> +++ b/include/drm/drm_format_helper.h
> @@ -17,9 +17,9 @@ unsigned int drm_fb_clip_offset(unsigned int pitch, const struct drm_format_info
> void drm_fb_memcpy(struct iosys_map *dst, const unsigned int *dst_pitch,
> const struct iosys_map *vmap, const struct drm_framebuffer *fb,
> const struct drm_rect *clip);
> -void drm_fb_swab(void *dst, unsigned int dst_pitch, const void *src,
> - const struct drm_framebuffer *fb, const struct drm_rect *clip,
> - bool cached);
> +void drm_fb_swab(struct iosys_map *dst, const unsigned int *dst_pitch,
> + const struct iosys_map *vmap, const struct drm_framebuffer *fb,
> + const struct drm_rect *clip, bool cached);
> void drm_fb_xrgb8888_to_rgb332(void *dst, unsigned int dst_pitch, const void *vaddr,
> const struct drm_framebuffer *fb, const struct drm_rect *clip);
> void drm_fb_xrgb8888_to_rgb565(void *dst, unsigned int dst_pitch, const void *vaddr,
> --
> 2.37.1
WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: linux-hyperv@vger.kernel.org, david@lechnology.com,
airlied@linux.ie, dri-devel@lists.freedesktop.org,
maarten.lankhorst@linux.intel.com, javierm@redhat.com,
mripard@kernel.org, virtualization@lists.linux-foundation.org,
drawat.floss@gmail.com, noralf@tronnes.org, daniel@ffwll.ch,
jose.exposito89@gmail.com, airlied@redhat.com
Subject: Re: [PATCH 03/12] drm/format-helper: Convert drm_fb_swab() to struct iosys_map
Date: Thu, 4 Aug 2022 22:08:12 +0200 [thread overview]
Message-ID: <YuwnLBICShrjMg2Y@ravnborg.org> (raw)
In-Reply-To: <20220727113312.22407-4-tzimmermann@suse.de>
Hi Thomas,
On Wed, Jul 27, 2022 at 01:33:03PM +0200, Thomas Zimmermann wrote:
> Convert drm_fb_swab() to use struct iosys_map() and convert users. The
> new interface supports multi-plane color formats.
It swabs only plane[0], sbut this is maybe enough to say so.
A few comments in the following.
Sam
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
> drivers/gpu/drm/drm_format_helper.c | 38 +++++++++++++++++++++--------
> drivers/gpu/drm/drm_mipi_dbi.c | 2 +-
> drivers/gpu/drm/gud/gud_pipe.c | 2 +-
> include/drm/drm_format_helper.h | 6 ++---
> 4 files changed, 33 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_format_helper.c b/drivers/gpu/drm/drm_format_helper.c
> index 49589b442f18..fa22d3cb11e8 100644
> --- a/drivers/gpu/drm/drm_format_helper.c
> +++ b/drivers/gpu/drm/drm_format_helper.c
> @@ -196,9 +196,9 @@ static void drm_fb_swab32_line(void *dbuf, const void *sbuf, unsigned int pixels
>
> /**
> * drm_fb_swab - Swap bytes into clip buffer
> - * @dst: Destination buffer
> - * @dst_pitch: Number of bytes between two consecutive scanlines within dst
> - * @src: Source buffer
> + * @dst: Array of destination buffers
> + * @dst_pitch: Array of numbers of bytes between two consecutive scanlines within dst
Document that it may be NULL?
> + * @vmap: Array of source buffers
Prefer that the source is named src, and vmap smells like system
(virtual) memory to me.
Also vmap must be system memory - but this is maybe fixed later.
> * @fb: DRM framebuffer
> * @clip: Clip rectangle area to copy
> * @cached: Source buffer is mapped cached (eg. not write-combined)
> @@ -209,24 +209,42 @@ static void drm_fb_swab32_line(void *dbuf, const void *sbuf, unsigned int pixels
> * This function does not apply clipping on dst, i.e. the destination
> * is at the top-left corner.
> */
> -void drm_fb_swab(void *dst, unsigned int dst_pitch, const void *src,
> - const struct drm_framebuffer *fb, const struct drm_rect *clip,
> - bool cached)
> +void drm_fb_swab(struct iosys_map *dst, const unsigned int *dst_pitch,
> + const struct iosys_map *vmap, const struct drm_framebuffer *fb,
> + const struct drm_rect *clip, bool cached)
> {
> - u8 cpp = fb->format->cpp[0];
> + static const unsigned int default_dst_pitch[DRM_FORMAT_MAX_PLANES] = {
> + 0, 0, 0, 0
> + };
> + const struct drm_format_info *format = fb->format;
> + u8 cpp = format->cpp[0];
u8 cpp = drm_format_info_bpp(format, 0) / 8;
> + void (*swab_line)(void *dbuf, const void *sbuf, unsigned int npixels);
>
> switch (cpp) {
> case 4:
> - drm_fb_xfrm(dst, dst_pitch, cpp, src, fb, clip, cached, drm_fb_swab32_line);
> + swab_line = drm_fb_swab32_line;
> break;
> case 2:
> - drm_fb_xfrm(dst, dst_pitch, cpp, src, fb, clip, cached, drm_fb_swab16_line);
> + swab_line = drm_fb_swab16_line;
> break;
> default:
> drm_warn_once(fb->dev, "Format %p4cc has unsupported pixel size.\n",
> - &fb->format->format);
> + &format->format);
> + swab_line = NULL;
> break;
> }
> + if (!swab_line)
> + return;
> +
> + if (!dst_pitch)
> + dst_pitch = default_dst_pitch;
> +
> + if (dst->is_iomem)
> + drm_fb_xfrm_toio(dst[0].vaddr_iomem, dst_pitch[0], cpp,
> + vmap[0].vaddr, fb, clip, cached, swab_line);
> + else
> + drm_fb_xfrm(dst[0].vaddr, dst_pitch[0], cpp, vmap[0].vaddr, fb,
> + clip, cached, swab_line);
Here vmap is assumes system memory, not IO. I assume this is fixed
later.
> }
> EXPORT_SYMBOL(drm_fb_swab);
>
> diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
> index 22451806fb5c..973a75585cad 100644
> --- a/drivers/gpu/drm/drm_mipi_dbi.c
> +++ b/drivers/gpu/drm/drm_mipi_dbi.c
> @@ -221,7 +221,7 @@ int mipi_dbi_buf_copy(void *dst, struct drm_framebuffer *fb,
> switch (fb->format->format) {
> case DRM_FORMAT_RGB565:
> if (swap)
> - drm_fb_swab(dst, 0, src, fb, clip, !gem->import_attach);
> + drm_fb_swab(&dst_map, NULL, data, fb, clip, !gem->import_attach);
> else
> drm_fb_memcpy(&dst_map, NULL, data, fb, clip);
> break;
> diff --git a/drivers/gpu/drm/gud/gud_pipe.c b/drivers/gpu/drm/gud/gud_pipe.c
> index 449c95a4aee0..a15cda9ba058 100644
> --- a/drivers/gpu/drm/gud/gud_pipe.c
> +++ b/drivers/gpu/drm/gud/gud_pipe.c
> @@ -205,7 +205,7 @@ static int gud_prep_flush(struct gud_device *gdrm, struct drm_framebuffer *fb,
> len = gud_xrgb8888_to_color(buf, format, vaddr, fb, rect);
> }
> } else if (gud_is_big_endian() && format->cpp[0] > 1) {
> - drm_fb_swab(buf, 0, vaddr, fb, rect, !import_attach);
> + drm_fb_swab(&dst, NULL, map_data, fb, rect, !import_attach);
> } else if (compression && !import_attach && pitch == fb->pitches[0]) {
> /* can compress directly from the framebuffer */
> buf = vaddr + rect->y1 * pitch;
> diff --git a/include/drm/drm_format_helper.h b/include/drm/drm_format_helper.h
> index 8af6a2717bc9..60944feaa936 100644
> --- a/include/drm/drm_format_helper.h
> +++ b/include/drm/drm_format_helper.h
> @@ -17,9 +17,9 @@ unsigned int drm_fb_clip_offset(unsigned int pitch, const struct drm_format_info
> void drm_fb_memcpy(struct iosys_map *dst, const unsigned int *dst_pitch,
> const struct iosys_map *vmap, const struct drm_framebuffer *fb,
> const struct drm_rect *clip);
> -void drm_fb_swab(void *dst, unsigned int dst_pitch, const void *src,
> - const struct drm_framebuffer *fb, const struct drm_rect *clip,
> - bool cached);
> +void drm_fb_swab(struct iosys_map *dst, const unsigned int *dst_pitch,
> + const struct iosys_map *vmap, const struct drm_framebuffer *fb,
> + const struct drm_rect *clip, bool cached);
> void drm_fb_xrgb8888_to_rgb332(void *dst, unsigned int dst_pitch, const void *vaddr,
> const struct drm_framebuffer *fb, const struct drm_rect *clip);
> void drm_fb_xrgb8888_to_rgb565(void *dst, unsigned int dst_pitch, const void *vaddr,
> --
> 2.37.1
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: linux-hyperv@vger.kernel.org, david@lechnology.com,
airlied@linux.ie, dri-devel@lists.freedesktop.org,
javierm@redhat.com, virtualization@lists.linux-foundation.org,
drawat.floss@gmail.com, noralf@tronnes.org, kraxel@redhat.com,
jose.exposito89@gmail.com, airlied@redhat.com
Subject: Re: [PATCH 03/12] drm/format-helper: Convert drm_fb_swab() to struct iosys_map
Date: Thu, 4 Aug 2022 22:08:12 +0200 [thread overview]
Message-ID: <YuwnLBICShrjMg2Y@ravnborg.org> (raw)
In-Reply-To: <20220727113312.22407-4-tzimmermann@suse.de>
Hi Thomas,
On Wed, Jul 27, 2022 at 01:33:03PM +0200, Thomas Zimmermann wrote:
> Convert drm_fb_swab() to use struct iosys_map() and convert users. The
> new interface supports multi-plane color formats.
It swabs only plane[0], sbut this is maybe enough to say so.
A few comments in the following.
Sam
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
> drivers/gpu/drm/drm_format_helper.c | 38 +++++++++++++++++++++--------
> drivers/gpu/drm/drm_mipi_dbi.c | 2 +-
> drivers/gpu/drm/gud/gud_pipe.c | 2 +-
> include/drm/drm_format_helper.h | 6 ++---
> 4 files changed, 33 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_format_helper.c b/drivers/gpu/drm/drm_format_helper.c
> index 49589b442f18..fa22d3cb11e8 100644
> --- a/drivers/gpu/drm/drm_format_helper.c
> +++ b/drivers/gpu/drm/drm_format_helper.c
> @@ -196,9 +196,9 @@ static void drm_fb_swab32_line(void *dbuf, const void *sbuf, unsigned int pixels
>
> /**
> * drm_fb_swab - Swap bytes into clip buffer
> - * @dst: Destination buffer
> - * @dst_pitch: Number of bytes between two consecutive scanlines within dst
> - * @src: Source buffer
> + * @dst: Array of destination buffers
> + * @dst_pitch: Array of numbers of bytes between two consecutive scanlines within dst
Document that it may be NULL?
> + * @vmap: Array of source buffers
Prefer that the source is named src, and vmap smells like system
(virtual) memory to me.
Also vmap must be system memory - but this is maybe fixed later.
> * @fb: DRM framebuffer
> * @clip: Clip rectangle area to copy
> * @cached: Source buffer is mapped cached (eg. not write-combined)
> @@ -209,24 +209,42 @@ static void drm_fb_swab32_line(void *dbuf, const void *sbuf, unsigned int pixels
> * This function does not apply clipping on dst, i.e. the destination
> * is at the top-left corner.
> */
> -void drm_fb_swab(void *dst, unsigned int dst_pitch, const void *src,
> - const struct drm_framebuffer *fb, const struct drm_rect *clip,
> - bool cached)
> +void drm_fb_swab(struct iosys_map *dst, const unsigned int *dst_pitch,
> + const struct iosys_map *vmap, const struct drm_framebuffer *fb,
> + const struct drm_rect *clip, bool cached)
> {
> - u8 cpp = fb->format->cpp[0];
> + static const unsigned int default_dst_pitch[DRM_FORMAT_MAX_PLANES] = {
> + 0, 0, 0, 0
> + };
> + const struct drm_format_info *format = fb->format;
> + u8 cpp = format->cpp[0];
u8 cpp = drm_format_info_bpp(format, 0) / 8;
> + void (*swab_line)(void *dbuf, const void *sbuf, unsigned int npixels);
>
> switch (cpp) {
> case 4:
> - drm_fb_xfrm(dst, dst_pitch, cpp, src, fb, clip, cached, drm_fb_swab32_line);
> + swab_line = drm_fb_swab32_line;
> break;
> case 2:
> - drm_fb_xfrm(dst, dst_pitch, cpp, src, fb, clip, cached, drm_fb_swab16_line);
> + swab_line = drm_fb_swab16_line;
> break;
> default:
> drm_warn_once(fb->dev, "Format %p4cc has unsupported pixel size.\n",
> - &fb->format->format);
> + &format->format);
> + swab_line = NULL;
> break;
> }
> + if (!swab_line)
> + return;
> +
> + if (!dst_pitch)
> + dst_pitch = default_dst_pitch;
> +
> + if (dst->is_iomem)
> + drm_fb_xfrm_toio(dst[0].vaddr_iomem, dst_pitch[0], cpp,
> + vmap[0].vaddr, fb, clip, cached, swab_line);
> + else
> + drm_fb_xfrm(dst[0].vaddr, dst_pitch[0], cpp, vmap[0].vaddr, fb,
> + clip, cached, swab_line);
Here vmap is assumes system memory, not IO. I assume this is fixed
later.
> }
> EXPORT_SYMBOL(drm_fb_swab);
>
> diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
> index 22451806fb5c..973a75585cad 100644
> --- a/drivers/gpu/drm/drm_mipi_dbi.c
> +++ b/drivers/gpu/drm/drm_mipi_dbi.c
> @@ -221,7 +221,7 @@ int mipi_dbi_buf_copy(void *dst, struct drm_framebuffer *fb,
> switch (fb->format->format) {
> case DRM_FORMAT_RGB565:
> if (swap)
> - drm_fb_swab(dst, 0, src, fb, clip, !gem->import_attach);
> + drm_fb_swab(&dst_map, NULL, data, fb, clip, !gem->import_attach);
> else
> drm_fb_memcpy(&dst_map, NULL, data, fb, clip);
> break;
> diff --git a/drivers/gpu/drm/gud/gud_pipe.c b/drivers/gpu/drm/gud/gud_pipe.c
> index 449c95a4aee0..a15cda9ba058 100644
> --- a/drivers/gpu/drm/gud/gud_pipe.c
> +++ b/drivers/gpu/drm/gud/gud_pipe.c
> @@ -205,7 +205,7 @@ static int gud_prep_flush(struct gud_device *gdrm, struct drm_framebuffer *fb,
> len = gud_xrgb8888_to_color(buf, format, vaddr, fb, rect);
> }
> } else if (gud_is_big_endian() && format->cpp[0] > 1) {
> - drm_fb_swab(buf, 0, vaddr, fb, rect, !import_attach);
> + drm_fb_swab(&dst, NULL, map_data, fb, rect, !import_attach);
> } else if (compression && !import_attach && pitch == fb->pitches[0]) {
> /* can compress directly from the framebuffer */
> buf = vaddr + rect->y1 * pitch;
> diff --git a/include/drm/drm_format_helper.h b/include/drm/drm_format_helper.h
> index 8af6a2717bc9..60944feaa936 100644
> --- a/include/drm/drm_format_helper.h
> +++ b/include/drm/drm_format_helper.h
> @@ -17,9 +17,9 @@ unsigned int drm_fb_clip_offset(unsigned int pitch, const struct drm_format_info
> void drm_fb_memcpy(struct iosys_map *dst, const unsigned int *dst_pitch,
> const struct iosys_map *vmap, const struct drm_framebuffer *fb,
> const struct drm_rect *clip);
> -void drm_fb_swab(void *dst, unsigned int dst_pitch, const void *src,
> - const struct drm_framebuffer *fb, const struct drm_rect *clip,
> - bool cached);
> +void drm_fb_swab(struct iosys_map *dst, const unsigned int *dst_pitch,
> + const struct iosys_map *vmap, const struct drm_framebuffer *fb,
> + const struct drm_rect *clip, bool cached);
> void drm_fb_xrgb8888_to_rgb332(void *dst, unsigned int dst_pitch, const void *vaddr,
> const struct drm_framebuffer *fb, const struct drm_rect *clip);
> void drm_fb_xrgb8888_to_rgb565(void *dst, unsigned int dst_pitch, const void *vaddr,
> --
> 2.37.1
next prev parent reply other threads:[~2022-08-04 20:08 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-27 11:33 [PATCH 00/12] drm/format-helper: Move to struct iosys_map Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` [PATCH 01/12] drm/format-helper: Provide drm_fb_blit() Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-08-04 17:02 ` Sam Ravnborg
2022-08-04 17:02 ` Sam Ravnborg
2022-08-04 17:02 ` Sam Ravnborg
2022-07-27 11:33 ` [PATCH 02/12] drm/format-helper: Merge drm_fb_memcpy() and drm_fb_memcpy_toio() Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-08-04 19:52 ` Sam Ravnborg
2022-08-04 19:52 ` Sam Ravnborg
2022-08-04 19:52 ` Sam Ravnborg
2022-08-08 12:07 ` Thomas Zimmermann
2022-08-08 12:07 ` Thomas Zimmermann
2022-08-08 12:07 ` Thomas Zimmermann
2022-07-27 11:33 ` [PATCH 03/12] drm/format-helper: Convert drm_fb_swab() to struct iosys_map Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-08-04 20:08 ` Sam Ravnborg [this message]
2022-08-04 20:08 ` Sam Ravnborg
2022-08-04 20:08 ` Sam Ravnborg
2022-07-27 11:33 ` [PATCH 04/12] drm/format-helper: Rework XRGB8888-to-RGBG332 conversion Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-28 7:13 ` José Expósito
2022-07-28 7:13 ` José Expósito
2022-07-28 7:27 ` Thomas Zimmermann
2022-07-28 7:27 ` Thomas Zimmermann
2022-07-28 7:27 ` Thomas Zimmermann
2022-07-28 17:47 ` José Expósito
2022-07-28 17:47 ` José Expósito
2022-08-04 20:10 ` Sam Ravnborg
2022-08-04 20:10 ` Sam Ravnborg
2022-08-04 20:10 ` Sam Ravnborg
2022-07-27 11:33 ` [PATCH 05/12] drm/format-helper: Rework XRGB8888-to-RGBG565 conversion Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-30 12:27 ` José Expósito
2022-07-30 12:27 ` José Expósito
2022-08-04 20:12 ` Sam Ravnborg
2022-08-04 20:12 ` Sam Ravnborg
2022-08-04 20:12 ` Sam Ravnborg
2022-07-27 11:33 ` [PATCH 06/12] drm/format-helper: Rework XRGB8888-to-RGB888 conversion Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-08-04 20:14 ` Sam Ravnborg
2022-08-04 20:14 ` Sam Ravnborg
2022-08-04 20:14 ` Sam Ravnborg
2022-07-27 11:33 ` [PATCH 07/12] drm/format-helper: Rework RGB565-to-XRGB8888 conversion Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-08-04 20:15 ` Sam Ravnborg
2022-08-04 20:15 ` Sam Ravnborg
2022-08-04 20:15 ` Sam Ravnborg
2022-07-27 11:33 ` [PATCH 08/12] drm/format-helper: Rework RGB888-to-XRGB8888 conversion Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-08-04 20:16 ` Sam Ravnborg
2022-08-04 20:16 ` Sam Ravnborg
2022-08-04 20:16 ` Sam Ravnborg
2022-07-27 11:33 ` [PATCH 09/12] drm/format-helper: Rework XRGB8888-to-XRGB2101010 conversion Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-08-04 20:17 ` Sam Ravnborg
2022-08-04 20:17 ` Sam Ravnborg
2022-08-04 20:17 ` Sam Ravnborg
2022-07-27 11:33 ` [PATCH 10/12] drm/format-helper: Rework XRGB8888-to-GRAY8 conversion Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-08-04 20:19 ` Sam Ravnborg
2022-08-04 20:19 ` Sam Ravnborg
2022-08-04 20:19 ` Sam Ravnborg
2022-07-27 11:33 ` [PATCH 11/12] drm/format-helper: Rework XRGB8888-to-MONO conversion Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-08-04 20:21 ` Sam Ravnborg
2022-08-04 20:21 ` Sam Ravnborg
2022-08-04 20:21 ` Sam Ravnborg
2022-07-27 11:33 ` [PATCH 12/12] drm/format-helper: Move destination-buffer handling into internal helper Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-27 11:33 ` Thomas Zimmermann
2022-07-28 7:26 ` José Expósito
2022-07-28 7:26 ` José Expósito
2022-07-28 7:45 ` Thomas Zimmermann
2022-07-28 7:45 ` Thomas Zimmermann
2022-07-28 7:45 ` Thomas Zimmermann
2022-07-28 18:23 ` José Expósito
2022-07-28 18:23 ` José Expósito
2022-08-05 17:52 ` Sam Ravnborg
2022-08-05 17:52 ` Sam Ravnborg
2022-08-05 17:52 ` Sam Ravnborg
2022-08-08 11:40 ` Thomas Zimmermann
2022-08-08 11:40 ` Thomas Zimmermann
2022-08-08 11:40 ` Thomas Zimmermann
2022-08-08 18:25 ` Sam Ravnborg
2022-08-08 18:25 ` Sam Ravnborg
2022-08-08 18:25 ` Sam Ravnborg
2022-08-05 17:59 ` [PATCH 00/12] drm/format-helper: Move to struct iosys_map Sam Ravnborg
2022-08-05 17:59 ` Sam Ravnborg
2022-08-05 17:59 ` Sam Ravnborg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YuwnLBICShrjMg2Y@ravnborg.org \
--to=sam@ravnborg.org \
--cc=airlied@linux.ie \
--cc=airlied@redhat.com \
--cc=daniel@ffwll.ch \
--cc=david@lechnology.com \
--cc=drawat.floss@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=javierm@redhat.com \
--cc=jose.exposito89@gmail.com \
--cc=kraxel@redhat.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=noralf@tronnes.org \
--cc=tzimmermann@suse.de \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.