All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pekka Paalanen <ppaalanen@gmail.com>
To: Harry Wentland <harry.wentland@amd.com>
Cc: Sebastian Wick <sebastian.wick@redhat.com>,
	dri-devel@lists.freedesktop.org,
	Uma Shankar <uma.shankar@intel.com>,
	amd-gfx@lists.freedesktop.org, Joshua Ashton <joshua@froggi.es>,
	Vitaly.Prosyak@amd.com
Subject: Re: [PATCH 04/16] drm/connector: Convert DRM_MODE_COLORIMETRY to enum
Date: Wed, 14 Dec 2022 10:57:07 +0200	[thread overview]
Message-ID: <20221214105707.3e0eb9d9@eldfell> (raw)
In-Reply-To: <8613220b-7199-1ce3-9310-2403db069cb2@amd.com>

[-- Attachment #1: Type: text/plain, Size: 5599 bytes --]

On Tue, 13 Dec 2022 11:41:08 -0500
Harry Wentland <harry.wentland@amd.com> wrote:

> On 12/13/22 05:39, Pekka Paalanen wrote:
> > On Mon, 12 Dec 2022 13:21:25 -0500
> > Harry Wentland <harry.wentland@amd.com> wrote:
> >   
> >> This allows us to use strongly typed arguments.
> >>
> >> Signed-off-by: Harry Wentland <harry.wentland@amd.com>
> >> Cc: Pekka Paalanen <ppaalanen@gmail.com>
> >> Cc: Sebastian Wick <sebastian.wick@redhat.com>
> >> Cc: Vitaly.Prosyak@amd.com
> >> Cc: Uma Shankar <uma.shankar@intel.com>
> >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >> Cc: Joshua Ashton <joshua@froggi.es>
> >> Cc: dri-devel@lists.freedesktop.org
> >> Cc: amd-gfx@lists.freedesktop.org
> >> ---
> >>  include/drm/display/drm_dp.h |  2 +-
> >>  include/drm/drm_connector.h  | 47 ++++++++++++++++++------------------
> >>  2 files changed, 25 insertions(+), 24 deletions(-)
> >>
> >> diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h
> >> index 4d0abe4c7ea9..b98697459f9c 100644
> >> --- a/include/drm/display/drm_dp.h
> >> +++ b/include/drm/display/drm_dp.h
> >> @@ -1615,7 +1615,7 @@ enum dp_pixelformat {
> >>   *
> >>   * This enum is used to indicate DP VSC SDP Colorimetry formats.
> >>   * It is based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through
> >> - * DB18] and a name of enum member follows DRM_MODE_COLORIMETRY definition.
> >> + * DB18] and a name of enum member follows &enum drm_colorimetry definition.
> >>   *
> >>   * @DP_COLORIMETRY_DEFAULT: sRGB (IEC 61966-2-1) or
> >>   *                          ITU-R BT.601 colorimetry format
> >> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> >> index 62c814241828..edef65388c29 100644
> >> --- a/include/drm/drm_connector.h
> >> +++ b/include/drm/drm_connector.h
> >> @@ -371,28 +371,29 @@ enum drm_privacy_screen_status {
> >>   * a colorspace property which will be created and exposed to
> >>   * userspace.
> >>   */
> >> -
> >> -/* For Default case, driver will set the colorspace */
> >> -#define DRM_MODE_COLORIMETRY_DEFAULT			0
> >> -/* CEA 861 Normal Colorimetry options */
> >> -#define DRM_MODE_COLORIMETRY_SMPTE_170M_YCC		1
> >> -#define DRM_MODE_COLORIMETRY_BT709_YCC			2
> >> -/* CEA 861 Extended Colorimetry Options */
> >> -#define DRM_MODE_COLORIMETRY_XVYCC_601			3
> >> -#define DRM_MODE_COLORIMETRY_XVYCC_709			4
> >> -#define DRM_MODE_COLORIMETRY_SYCC_601			5
> >> -#define DRM_MODE_COLORIMETRY_OPYCC_601			6
> >> -#define DRM_MODE_COLORIMETRY_OPRGB			7
> >> -#define DRM_MODE_COLORIMETRY_BT2020_CYCC		8
> >> -#define DRM_MODE_COLORIMETRY_BT2020_RGB			9
> >> -#define DRM_MODE_COLORIMETRY_BT2020_YCC			10
> >> -/* Additional Colorimetry extension added as part of CTA 861.G */
> >> -#define DRM_MODE_COLORIMETRY_DCI_P3_RGB_D65		11
> >> -#define DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER		12
> >> -/* Additional Colorimetry Options added for DP 1.4a VSC Colorimetry Format */
> >> -#define DRM_MODE_COLORIMETRY_RGB_WIDE_FIXED		13
> >> -#define DRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT		14
> >> -#define DRM_MODE_COLORIMETRY_BT601_YCC			15
> >> +enum drm_colorspace {
> >> +	/* For Default case, driver will set the colorspace */
> >> +	DRM_MODE_COLORIMETRY_DEFAULT,
> >> +	/* CEA 861 Normal Colorimetry options */
> >> +	DRM_MODE_COLORIMETRY_SMPTE_170M_YCC,
> >> +	DRM_MODE_COLORIMETRY_BT709_YCC,
> >> +	/* CEA 861 Extended Colorimetry Options */
> >> +	DRM_MODE_COLORIMETRY_XVYCC_601,
> >> +	DRM_MODE_COLORIMETRY_XVYCC_709,
> >> +	DRM_MODE_COLORIMETRY_SYCC_601,
> >> +	DRM_MODE_COLORIMETRY_OPYCC_601,
> >> +	DRM_MODE_COLORIMETRY_OPRGB,
> >> +	DRM_MODE_COLORIMETRY_BT2020_CYCC,
> >> +	DRM_MODE_COLORIMETRY_BT2020_RGB,
> >> +	DRM_MODE_COLORIMETRY_BT2020_YCC,
> >> +	/* Additional Colorimetry extension added as part of CTA 861.G */
> >> +	DRM_MODE_COLORIMETRY_DCI_P3_RGB_D65,
> >> +	DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER,
> >> +	/* Additional Colorimetry Options added for DP 1.4a VSC Colorimetry Format */
> >> +	DRM_MODE_COLORIMETRY_RGB_WIDE_FIXED,
> >> +	DRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT,
> >> +	DRM_MODE_COLORIMETRY_BT601_YCC,
> >> +};  
> > 
> > Hi,
> > 
> > what's the entry for "the traditional sRGB"?
> > 
> > It cannot be DRM_MODE_COLORIMETRY_DEFAULT, because the doc here says
> > that it maps to some driver-defined entry which may be something else.
> >   
> 
> If I understand this list correctly the only entry that currently covers
> sRGB is DEFAULT.

Then either the list or the doc needs fixing:

- If DEFAULT is driver-chosen, we really do need an entry for "the
  traditional (s)RGB", which corresponds to the bits Y0, Y1, Y2, C0, C1
  being all zeros (CTA-861-H).

- If DEFAULT means that the bits Y0, Y1, Y2, C0, C1
  are all zeros, then it's not driver-chosen, and the doc needs to be
  more clear about this.

But since there are really the UAPI (right?), this should be said in
the UAPI docs for "Colorspace" property, and the internal doc here
could just point to that.

I think this could be just misdocumentation, because in CTA-861-H, the
state Y0=0, Y1=0, Y2=0 is labeled as "RGB (default)" in table Table 16
- AVI InfoFrame RGB or YC B C R Field, Data Byte 1. It's not "driver
will set something", it's "whatever the sink expects when nothing is
explicitly said otherwise" which I assume is practically "the
traditional RGB".

C0=0, C1=0 means "no colorimetry data".

This is something we need to be able to explicitly choose in userspace,
when that is what we want to have.


Thanks,
pq

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Pekka Paalanen <ppaalanen@gmail.com>
To: Harry Wentland <harry.wentland@amd.com>
Cc: "Sebastian Wick" <sebastian.wick@redhat.com>,
	dri-devel@lists.freedesktop.org,
	"Uma Shankar" <uma.shankar@intel.com>,
	amd-gfx@lists.freedesktop.org, "Joshua Ashton" <joshua@froggi.es>,
	"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
	Vitaly.Prosyak@amd.com
Subject: Re: [PATCH 04/16] drm/connector: Convert DRM_MODE_COLORIMETRY to enum
Date: Wed, 14 Dec 2022 10:57:07 +0200	[thread overview]
Message-ID: <20221214105707.3e0eb9d9@eldfell> (raw)
In-Reply-To: <8613220b-7199-1ce3-9310-2403db069cb2@amd.com>

[-- Attachment #1: Type: text/plain, Size: 5599 bytes --]

On Tue, 13 Dec 2022 11:41:08 -0500
Harry Wentland <harry.wentland@amd.com> wrote:

> On 12/13/22 05:39, Pekka Paalanen wrote:
> > On Mon, 12 Dec 2022 13:21:25 -0500
> > Harry Wentland <harry.wentland@amd.com> wrote:
> >   
> >> This allows us to use strongly typed arguments.
> >>
> >> Signed-off-by: Harry Wentland <harry.wentland@amd.com>
> >> Cc: Pekka Paalanen <ppaalanen@gmail.com>
> >> Cc: Sebastian Wick <sebastian.wick@redhat.com>
> >> Cc: Vitaly.Prosyak@amd.com
> >> Cc: Uma Shankar <uma.shankar@intel.com>
> >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >> Cc: Joshua Ashton <joshua@froggi.es>
> >> Cc: dri-devel@lists.freedesktop.org
> >> Cc: amd-gfx@lists.freedesktop.org
> >> ---
> >>  include/drm/display/drm_dp.h |  2 +-
> >>  include/drm/drm_connector.h  | 47 ++++++++++++++++++------------------
> >>  2 files changed, 25 insertions(+), 24 deletions(-)
> >>
> >> diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h
> >> index 4d0abe4c7ea9..b98697459f9c 100644
> >> --- a/include/drm/display/drm_dp.h
> >> +++ b/include/drm/display/drm_dp.h
> >> @@ -1615,7 +1615,7 @@ enum dp_pixelformat {
> >>   *
> >>   * This enum is used to indicate DP VSC SDP Colorimetry formats.
> >>   * It is based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through
> >> - * DB18] and a name of enum member follows DRM_MODE_COLORIMETRY definition.
> >> + * DB18] and a name of enum member follows &enum drm_colorimetry definition.
> >>   *
> >>   * @DP_COLORIMETRY_DEFAULT: sRGB (IEC 61966-2-1) or
> >>   *                          ITU-R BT.601 colorimetry format
> >> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> >> index 62c814241828..edef65388c29 100644
> >> --- a/include/drm/drm_connector.h
> >> +++ b/include/drm/drm_connector.h
> >> @@ -371,28 +371,29 @@ enum drm_privacy_screen_status {
> >>   * a colorspace property which will be created and exposed to
> >>   * userspace.
> >>   */
> >> -
> >> -/* For Default case, driver will set the colorspace */
> >> -#define DRM_MODE_COLORIMETRY_DEFAULT			0
> >> -/* CEA 861 Normal Colorimetry options */
> >> -#define DRM_MODE_COLORIMETRY_SMPTE_170M_YCC		1
> >> -#define DRM_MODE_COLORIMETRY_BT709_YCC			2
> >> -/* CEA 861 Extended Colorimetry Options */
> >> -#define DRM_MODE_COLORIMETRY_XVYCC_601			3
> >> -#define DRM_MODE_COLORIMETRY_XVYCC_709			4
> >> -#define DRM_MODE_COLORIMETRY_SYCC_601			5
> >> -#define DRM_MODE_COLORIMETRY_OPYCC_601			6
> >> -#define DRM_MODE_COLORIMETRY_OPRGB			7
> >> -#define DRM_MODE_COLORIMETRY_BT2020_CYCC		8
> >> -#define DRM_MODE_COLORIMETRY_BT2020_RGB			9
> >> -#define DRM_MODE_COLORIMETRY_BT2020_YCC			10
> >> -/* Additional Colorimetry extension added as part of CTA 861.G */
> >> -#define DRM_MODE_COLORIMETRY_DCI_P3_RGB_D65		11
> >> -#define DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER		12
> >> -/* Additional Colorimetry Options added for DP 1.4a VSC Colorimetry Format */
> >> -#define DRM_MODE_COLORIMETRY_RGB_WIDE_FIXED		13
> >> -#define DRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT		14
> >> -#define DRM_MODE_COLORIMETRY_BT601_YCC			15
> >> +enum drm_colorspace {
> >> +	/* For Default case, driver will set the colorspace */
> >> +	DRM_MODE_COLORIMETRY_DEFAULT,
> >> +	/* CEA 861 Normal Colorimetry options */
> >> +	DRM_MODE_COLORIMETRY_SMPTE_170M_YCC,
> >> +	DRM_MODE_COLORIMETRY_BT709_YCC,
> >> +	/* CEA 861 Extended Colorimetry Options */
> >> +	DRM_MODE_COLORIMETRY_XVYCC_601,
> >> +	DRM_MODE_COLORIMETRY_XVYCC_709,
> >> +	DRM_MODE_COLORIMETRY_SYCC_601,
> >> +	DRM_MODE_COLORIMETRY_OPYCC_601,
> >> +	DRM_MODE_COLORIMETRY_OPRGB,
> >> +	DRM_MODE_COLORIMETRY_BT2020_CYCC,
> >> +	DRM_MODE_COLORIMETRY_BT2020_RGB,
> >> +	DRM_MODE_COLORIMETRY_BT2020_YCC,
> >> +	/* Additional Colorimetry extension added as part of CTA 861.G */
> >> +	DRM_MODE_COLORIMETRY_DCI_P3_RGB_D65,
> >> +	DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER,
> >> +	/* Additional Colorimetry Options added for DP 1.4a VSC Colorimetry Format */
> >> +	DRM_MODE_COLORIMETRY_RGB_WIDE_FIXED,
> >> +	DRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT,
> >> +	DRM_MODE_COLORIMETRY_BT601_YCC,
> >> +};  
> > 
> > Hi,
> > 
> > what's the entry for "the traditional sRGB"?
> > 
> > It cannot be DRM_MODE_COLORIMETRY_DEFAULT, because the doc here says
> > that it maps to some driver-defined entry which may be something else.
> >   
> 
> If I understand this list correctly the only entry that currently covers
> sRGB is DEFAULT.

Then either the list or the doc needs fixing:

- If DEFAULT is driver-chosen, we really do need an entry for "the
  traditional (s)RGB", which corresponds to the bits Y0, Y1, Y2, C0, C1
  being all zeros (CTA-861-H).

- If DEFAULT means that the bits Y0, Y1, Y2, C0, C1
  are all zeros, then it's not driver-chosen, and the doc needs to be
  more clear about this.

But since there are really the UAPI (right?), this should be said in
the UAPI docs for "Colorspace" property, and the internal doc here
could just point to that.

I think this could be just misdocumentation, because in CTA-861-H, the
state Y0=0, Y1=0, Y2=0 is labeled as "RGB (default)" in table Table 16
- AVI InfoFrame RGB or YC B C R Field, Data Byte 1. It's not "driver
will set something", it's "whatever the sink expects when nothing is
explicitly said otherwise" which I assume is practically "the
traditional RGB".

C0=0, C1=0 means "no colorimetry data".

This is something we need to be able to explicitly choose in userspace,
when that is what we want to have.


Thanks,
pq

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2022-12-14  8:57 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-12 18:21 [PATCH 00/16] Enable Colorspace connector property in amdgpu Harry Wentland
2022-12-12 18:21 ` Harry Wentland
2022-12-12 18:21 ` [PATCH 01/16] drm/display: Don't block HDR_OUTPUT_METADATA on unknown EOTF Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-12 18:21 ` [PATCH 02/16] drm/connector: print max_requested_bpc in state debugfs Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-12 18:21 ` [PATCH 03/16] drm/connector: Drop COLORIMETRY_NO_DATA Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-12 18:21 ` [PATCH 04/16] drm/connector: Convert DRM_MODE_COLORIMETRY to enum Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-13 10:39   ` Pekka Paalanen
2022-12-13 10:39     ` Pekka Paalanen
2022-12-13 16:41     ` Harry Wentland
2022-12-13 16:41       ` Harry Wentland
2022-12-14  8:57       ` Pekka Paalanen [this message]
2022-12-14  8:57         ` Pekka Paalanen
2022-12-12 18:21 ` [PATCH 05/16] drm/connector: Pull out common create_colorspace_property code Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-12 18:21 ` [PATCH 06/16] drm/connector: Allow drivers to pass list of supported colorspaces Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-13 10:20   ` Jani Nikula
2022-12-13 10:23   ` Pekka Paalanen
2022-12-13 10:23     ` Pekka Paalanen
2022-12-13 16:32     ` Harry Wentland
2022-12-13 16:32       ` Harry Wentland
2022-12-14  8:55       ` Pekka Paalanen
2022-12-14  8:55         ` Pekka Paalanen
2022-12-14 19:07         ` Harry Wentland
2022-12-14 19:07           ` Harry Wentland
2022-12-14 19:37         ` Alex Deucher
2022-12-14 19:37           ` Alex Deucher
2022-12-13 10:34   ` Pekka Paalanen
2022-12-13 10:34     ` Pekka Paalanen
2022-12-13 16:36     ` Harry Wentland
2022-12-13 16:36       ` Harry Wentland
2022-12-12 18:21 ` [PATCH 07/16] drm/connector: Print connector colorspace in state debugfs Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-12 21:04   ` kernel test robot
2022-12-12 21:04     ` kernel test robot
2022-12-13  2:58   ` kernel test robot
2022-12-13  2:58     ` kernel test robot
2022-12-12 18:21 ` [PATCH 08/16] drm/amd/display: Always pass connector_state to stream validation Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-12 18:21 ` [PATCH 09/16] drm/amd/display: Register Colorspace property for DP and HDMI Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-12 18:21 ` [PATCH 10/16] drm/amd/display: Set colorspace for HDMI infoframe Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-12 18:21 ` [PATCH 11/16] drm/amd/display: Send correct DP colorspace infopacket Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-12 18:21 ` [PATCH 12/16] drm/amd/display: Always set crtcinfo from create_stream_for_sink Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-12 18:21 ` [PATCH 13/16] drm/amd/display: Add support for explicit BT601_YCC Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-12 18:21 ` [PATCH 14/16] drm/amd/display: Add debugfs for testing output colorspace Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-13 10:35   ` Pekka Paalanen
2022-12-13 10:35     ` Pekka Paalanen
2022-12-12 18:21 ` [PATCH 15/16] drm/amd/display: Add default case for output_color_space switch Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-12 18:21 ` [PATCH 16/16] drm/amd/display: Don't restrict bpc to 8 bpc Harry Wentland
2022-12-12 18:21   ` Harry Wentland
2022-12-13 10:48   ` Pekka Paalanen
2022-12-13 10:48     ` Pekka Paalanen
2022-12-13 17:20   ` Michel Dänzer
2022-12-13 17:20     ` Michel Dänzer
2022-12-14  9:01     ` Pekka Paalanen
2022-12-14  9:01       ` Pekka Paalanen
2022-12-14 15:46       ` Alex Deucher
2022-12-15  9:07         ` Michel Dänzer
2022-12-15 17:30           ` Alex Deucher
2022-12-16 11:01           ` Michel Dänzer
2022-12-15  9:17         ` Pekka Paalanen
2022-12-15 17:33           ` Alex Deucher
2022-12-15 17:42             ` Michel Dänzer
2022-12-15 17:46               ` Michel Dänzer
2022-12-23 19:10       ` Harry Wentland
2022-12-23 19:10         ` Harry Wentland
2023-01-04 11:23         ` Michel Dänzer
2023-01-05 14:45         ` Sebastian Wick
2023-01-05 14:45           ` Sebastian Wick
2022-12-13  5:53 ` [PATCH 00/16] Enable Colorspace connector property in amdgpu Joshua Ashton
2022-12-13  5:53   ` Joshua Ashton

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=20221214105707.3e0eb9d9@eldfell \
    --to=ppaalanen@gmail.com \
    --cc=Vitaly.Prosyak@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=harry.wentland@amd.com \
    --cc=joshua@froggi.es \
    --cc=sebastian.wick@redhat.com \
    --cc=uma.shankar@intel.com \
    /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.