All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: sam@ravnborg.org, 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
Cc: dri-devel@lists.freedesktop.org, linux-hyperv@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH 00/12] drm/format-helper: Move to struct iosys_map
Date: Wed, 27 Jul 2022 13:33:00 +0200	[thread overview]
Message-ID: <20220727113312.22407-1-tzimmermann@suse.de> (raw)

Change format-conversion helpers to use struct iosys_map for source
and destination buffers. Update all users. Also prepare interface for
multi-plane color formats.

The format-conversion helpers mostly used to convert to I/O memory
or system memory. To actual memory type depended on the usecase. We
now have drivers upcomming that do the conversion entirely in system
memory. It's a good opportunity to stream-line the interface of the
conversion helpers to use struct iosys_map. Source and destination
buffers can now be either in system or in I/O memory. Note that the
implementation still only supports source buffers in system memory.

This patchset also changes the interface to support multi-plane
color formats, where the values for each component are stored in
distinct memory locations. Converting from RGBRGBRGB to RRRGGGBBB
would require a single source buffer with RGB values and 3 destination
buffers for the R, G and B values. Conversion-helper interfaces now
support this.

Thomas Zimmermann (12):
  drm/format-helper: Provide drm_fb_blit()
  drm/format-helper: Merge drm_fb_memcpy() and drm_fb_memcpy_toio()
  drm/format-helper: Convert drm_fb_swab() to struct iosys_map
  drm/format-helper: Rework XRGB8888-to-RGBG332 conversion
  drm/format-helper: Rework XRGB8888-to-RGBG565 conversion
  drm/format-helper: Rework XRGB8888-to-RGB888 conversion
  drm/format-helper: Rework RGB565-to-XRGB8888 conversion
  drm/format-helper: Rework RGB888-to-XRGB8888 conversion
  drm/format-helper: Rework XRGB8888-to-XRGB2101010 conversion
  drm/format-helper: Rework XRGB8888-to-GRAY8 conversion
  drm/format-helper: Rework XRGB8888-to-MONO conversion
  drm/format-helper: Move destination-buffer handling into internal
    helper

 drivers/gpu/drm/drm_format_helper.c           | 379 +++++++++---------
 drivers/gpu/drm/drm_mipi_dbi.c                |   9 +-
 drivers/gpu/drm/gud/gud_pipe.c                |  20 +-
 drivers/gpu/drm/hyperv/hyperv_drm_modeset.c   |  11 +-
 drivers/gpu/drm/mgag200/mgag200_mode.c        |  11 +-
 drivers/gpu/drm/solomon/ssd130x.c             |   7 +-
 .../gpu/drm/tests/drm_format_helper_test.c    |  14 +-
 drivers/gpu/drm/tiny/cirrus.c                 |  19 +-
 drivers/gpu/drm/tiny/repaper.c                |   6 +-
 drivers/gpu/drm/tiny/simpledrm.c              |  18 +-
 drivers/gpu/drm/tiny/st7586.c                 |   5 +-
 include/drm/drm_format_helper.h               |  56 ++-
 12 files changed, 294 insertions(+), 261 deletions(-)


base-commit: 15fbed4f822211fbb7653c2b8591594d92de9551
prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d
prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
prerequisite-patch-id: 3f204510fcbf9530d6540bd8e6128cce598988b6
-- 
2.37.1


WARNING: multiple messages have this Message-ID (diff)
From: Thomas Zimmermann <tzimmermann@suse.de>
To: sam@ravnborg.org, 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
Cc: linux-hyperv@vger.kernel.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	dri-devel@lists.freedesktop.org,
	virtualization@lists.linux-foundation.org
Subject: [PATCH 00/12] drm/format-helper: Move to struct iosys_map
Date: Wed, 27 Jul 2022 13:33:00 +0200	[thread overview]
Message-ID: <20220727113312.22407-1-tzimmermann@suse.de> (raw)

Change format-conversion helpers to use struct iosys_map for source
and destination buffers. Update all users. Also prepare interface for
multi-plane color formats.

The format-conversion helpers mostly used to convert to I/O memory
or system memory. To actual memory type depended on the usecase. We
now have drivers upcomming that do the conversion entirely in system
memory. It's a good opportunity to stream-line the interface of the
conversion helpers to use struct iosys_map. Source and destination
buffers can now be either in system or in I/O memory. Note that the
implementation still only supports source buffers in system memory.

This patchset also changes the interface to support multi-plane
color formats, where the values for each component are stored in
distinct memory locations. Converting from RGBRGBRGB to RRRGGGBBB
would require a single source buffer with RGB values and 3 destination
buffers for the R, G and B values. Conversion-helper interfaces now
support this.

Thomas Zimmermann (12):
  drm/format-helper: Provide drm_fb_blit()
  drm/format-helper: Merge drm_fb_memcpy() and drm_fb_memcpy_toio()
  drm/format-helper: Convert drm_fb_swab() to struct iosys_map
  drm/format-helper: Rework XRGB8888-to-RGBG332 conversion
  drm/format-helper: Rework XRGB8888-to-RGBG565 conversion
  drm/format-helper: Rework XRGB8888-to-RGB888 conversion
  drm/format-helper: Rework RGB565-to-XRGB8888 conversion
  drm/format-helper: Rework RGB888-to-XRGB8888 conversion
  drm/format-helper: Rework XRGB8888-to-XRGB2101010 conversion
  drm/format-helper: Rework XRGB8888-to-GRAY8 conversion
  drm/format-helper: Rework XRGB8888-to-MONO conversion
  drm/format-helper: Move destination-buffer handling into internal
    helper

 drivers/gpu/drm/drm_format_helper.c           | 379 +++++++++---------
 drivers/gpu/drm/drm_mipi_dbi.c                |   9 +-
 drivers/gpu/drm/gud/gud_pipe.c                |  20 +-
 drivers/gpu/drm/hyperv/hyperv_drm_modeset.c   |  11 +-
 drivers/gpu/drm/mgag200/mgag200_mode.c        |  11 +-
 drivers/gpu/drm/solomon/ssd130x.c             |   7 +-
 .../gpu/drm/tests/drm_format_helper_test.c    |  14 +-
 drivers/gpu/drm/tiny/cirrus.c                 |  19 +-
 drivers/gpu/drm/tiny/repaper.c                |   6 +-
 drivers/gpu/drm/tiny/simpledrm.c              |  18 +-
 drivers/gpu/drm/tiny/st7586.c                 |   5 +-
 include/drm/drm_format_helper.h               |  56 ++-
 12 files changed, 294 insertions(+), 261 deletions(-)


base-commit: 15fbed4f822211fbb7653c2b8591594d92de9551
prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d
prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
prerequisite-patch-id: 3f204510fcbf9530d6540bd8e6128cce598988b6
-- 
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: Thomas Zimmermann <tzimmermann@suse.de>
To: sam@ravnborg.org, 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
Cc: linux-hyperv@vger.kernel.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	dri-devel@lists.freedesktop.org,
	virtualization@lists.linux-foundation.org
Subject: [PATCH 00/12] drm/format-helper: Move to struct iosys_map
Date: Wed, 27 Jul 2022 13:33:00 +0200	[thread overview]
Message-ID: <20220727113312.22407-1-tzimmermann@suse.de> (raw)

Change format-conversion helpers to use struct iosys_map for source
and destination buffers. Update all users. Also prepare interface for
multi-plane color formats.

The format-conversion helpers mostly used to convert to I/O memory
or system memory. To actual memory type depended on the usecase. We
now have drivers upcomming that do the conversion entirely in system
memory. It's a good opportunity to stream-line the interface of the
conversion helpers to use struct iosys_map. Source and destination
buffers can now be either in system or in I/O memory. Note that the
implementation still only supports source buffers in system memory.

This patchset also changes the interface to support multi-plane
color formats, where the values for each component are stored in
distinct memory locations. Converting from RGBRGBRGB to RRRGGGBBB
would require a single source buffer with RGB values and 3 destination
buffers for the R, G and B values. Conversion-helper interfaces now
support this.

Thomas Zimmermann (12):
  drm/format-helper: Provide drm_fb_blit()
  drm/format-helper: Merge drm_fb_memcpy() and drm_fb_memcpy_toio()
  drm/format-helper: Convert drm_fb_swab() to struct iosys_map
  drm/format-helper: Rework XRGB8888-to-RGBG332 conversion
  drm/format-helper: Rework XRGB8888-to-RGBG565 conversion
  drm/format-helper: Rework XRGB8888-to-RGB888 conversion
  drm/format-helper: Rework RGB565-to-XRGB8888 conversion
  drm/format-helper: Rework RGB888-to-XRGB8888 conversion
  drm/format-helper: Rework XRGB8888-to-XRGB2101010 conversion
  drm/format-helper: Rework XRGB8888-to-GRAY8 conversion
  drm/format-helper: Rework XRGB8888-to-MONO conversion
  drm/format-helper: Move destination-buffer handling into internal
    helper

 drivers/gpu/drm/drm_format_helper.c           | 379 +++++++++---------
 drivers/gpu/drm/drm_mipi_dbi.c                |   9 +-
 drivers/gpu/drm/gud/gud_pipe.c                |  20 +-
 drivers/gpu/drm/hyperv/hyperv_drm_modeset.c   |  11 +-
 drivers/gpu/drm/mgag200/mgag200_mode.c        |  11 +-
 drivers/gpu/drm/solomon/ssd130x.c             |   7 +-
 .../gpu/drm/tests/drm_format_helper_test.c    |  14 +-
 drivers/gpu/drm/tiny/cirrus.c                 |  19 +-
 drivers/gpu/drm/tiny/repaper.c                |   6 +-
 drivers/gpu/drm/tiny/simpledrm.c              |  18 +-
 drivers/gpu/drm/tiny/st7586.c                 |   5 +-
 include/drm/drm_format_helper.h               |  56 ++-
 12 files changed, 294 insertions(+), 261 deletions(-)


base-commit: 15fbed4f822211fbb7653c2b8591594d92de9551
prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d
prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
prerequisite-patch-id: 3f204510fcbf9530d6540bd8e6128cce598988b6
-- 
2.37.1


             reply	other threads:[~2022-07-27 11:33 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-27 11:33 Thomas Zimmermann [this message]
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 ` [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
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=20220727113312.22407-1-tzimmermann@suse.de \
    --to=tzimmermann@suse.de \
    --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=sam@ravnborg.org \
    --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.