On Fri, Sep 06, 2019 at 11:31:55AM +0000, Shankar, Uma wrote: > > > >-----Original Message----- > >From: Ilia Mirkin <imir...@alum.mit.edu> > >Sent: Tuesday, September 3, 2019 6:12 PM > >To: Mun, Gwan-gyeong <gwan-gyeong....@intel.com> > >Cc: Intel Graphics Development <intel-...@lists.freedesktop.org>; Shankar, > >Uma > ><uma.shan...@intel.com>; dri-devel <dri-devel@lists.freedesktop.org> > >Subject: Re: [PATCH v4 3/7] drm: Add DisplayPort colorspace property > > > >So how would this work with a DP++ connector? Should it list the HDMI or DP > >properties? Or do we need a custom property checker which is aware of what is > >currently plugged in to validate the values? > > AFAIU For DP++ cases, we detect what kind of sink its driving DP or HDMI > (with a passive dongle). > Based on the type of sink detected, we should expose DP or HDMI colorspaces > to userspace.
For i915 DP connector always drives DP mode, HDMI connector always drives HDMI mode, even when the physical connector is DP++. > > >On Tue, Sep 3, 2019 at 5:12 AM Gwan-gyeong Mun <gwan-gyeong....@intel.com> > >wrote: > >> > >> In order to use colorspace property to Display Port connectors, it > >> extends DRM_MODE_CONNECTOR_DisplayPort connector_type on > >> drm_mode_create_colorspace_property function. > >> > >> v3: Addressed review comments from Ville > >> - Add new colorimetry options for DP 1.4a spec. > >> - Separate set of colorimetry enum values for DP. > >> v4: Add additional comments to struct drm_prop_enum_list. > >> Polishing an enum string of struct drm_prop_enum_list > >> Signed-off-by: Gwan-gyeong Mun <gwan-gyeong....@intel.com> > >> Reviewed-by: Uma Shankar <uma.shan...@intel.com> > >> --- > >> drivers/gpu/drm/drm_connector.c | 46 +++++++++++++++++++++++++++++++++ > >> include/drm/drm_connector.h | 8 ++++++ > >> 2 files changed, 54 insertions(+) > >> > >> diff --git a/drivers/gpu/drm/drm_connector.c > >> b/drivers/gpu/drm/drm_connector.c index 4c766624b20d..5834e6d330a0 > >> 100644 > >> --- a/drivers/gpu/drm/drm_connector.c > >> +++ b/drivers/gpu/drm/drm_connector.c > >> @@ -882,6 +882,44 @@ static const struct drm_prop_enum_list > >hdmi_colorspaces[] = { > >> { DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER, > >> "DCI-P3_RGB_Theater" }, }; > >> > >> +/* > >> + * As per DP 1.4a spec, 2.2.5.7.5 VSC SDP Payload for Pixel > >> +Encoding/Colorimetry > >> + * Format Table 2-120 > >> + */ > >> +static const struct drm_prop_enum_list dp_colorspaces[] = { > >> + /* For Default case, driver will set the colorspace */ > >> + { DRM_MODE_COLORIMETRY_DEFAULT, "Default" }, > >> + /* Colorimetry based on IEC 61966-2-1 */ > >> + { DRM_MODE_COLORIMETRY_SRGB, "sRGB" }, > >> + { DRM_MODE_COLORIMETRY_WIDE_GAMUT_FIXED_POINT_RGB, > >"wide_gamut_fixed_point_RGB" }, > >> + /* Colorimetry based on IEC 61966-2-2, wide gamut floating point > >> RGB */ > >> + { DRM_MODE_COLORIMETRY_SCRGB, "scRGB" }, > >> + { DRM_MODE_COLORIMETRY_ADOBE_RGB, "Adobe_RGB" }, > >> + /* Colorimetry based on SMPTE RP 431-2 */ > >> + { DRM_MODE_COLORIMETRY_DCP_P3_RGB, "DCI-P3_RGB" }, > >> + /* Colorimetry based on ITU-R BT.2020 */ > >> + { DRM_MODE_COLORIMETRY_BT2020_RGB, "BT2020_RGB" }, > >> + { DRM_MODE_COLORIMETRY_BT601_YCC, "BT601_YCC" }, > >> + { DRM_MODE_COLORIMETRY_BT709_YCC, "BT709_YCC" }, > >> + /* Standard Definition Colorimetry based on IEC 61966-2-4 */ > >> + { DRM_MODE_COLORIMETRY_XVYCC_601, "XVYCC_601" }, > >> + /* High Definition Colorimetry based on IEC 61966-2-4 */ > >> + { DRM_MODE_COLORIMETRY_XVYCC_709, "XVYCC_709" }, > >> + /* Colorimetry based on IEC 61966-2-1/Amendment 1 */ > >> + { DRM_MODE_COLORIMETRY_SYCC_601, "SYCC_601" }, > >> + /* Colorimetry based on IEC 61966-2-5 [33] */ > >> + { DRM_MODE_COLORIMETRY_OPYCC_601, "opYCC_601" }, > >> + /* Colorimetry based on ITU-R BT.2020 */ > >> + { DRM_MODE_COLORIMETRY_BT2020_CYCC, "BT2020_CYCC" }, > >> + /* Colorimetry based on ITU-R BT.2020 */ > >> + { DRM_MODE_COLORIMETRY_BT2020_YCC, "BT2020_YCC" }, > >> + /* > >> + * Colorumetry based on Digital Imaging and Communications in > >> Medicine > >> + * (DICOM) Part 14: Grayscale Standard Display Function > >> + */ > >> + { DRM_MODE_COLORIMETRY_DICOM_PART_14_GRAYSCALE, > >> +"DICOM_Part_14_Grayscale" }, }; > >> + > >> /** > >> * DOC: standard connector properties > >> * > >> @@ -1710,6 +1748,14 @@ int drm_mode_create_colorspace_property(struct > >drm_connector *connector) > >> > >> ARRAY_SIZE(hdmi_colorspaces)); > >> if (!prop) > >> return -ENOMEM; > >> + } else if (connector->connector_type == > >DRM_MODE_CONNECTOR_DisplayPort || > >> + connector->connector_type == DRM_MODE_CONNECTOR_eDP) { > >> + prop = drm_property_create_enum(dev, DRM_MODE_PROP_ENUM, > >> + "Colorspace", > >> + dp_colorspaces, > >> + > >> ARRAY_SIZE(dp_colorspaces)); > >> + if (!prop) > >> + return -ENOMEM; > >> } else { > >> DRM_DEBUG_KMS("Colorspace property not supported\n"); > >> return 0; > >> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h > >> index 681cb590f952..8848e5d6b0c4 100644 > >> --- a/include/drm/drm_connector.h > >> +++ b/include/drm/drm_connector.h > >> @@ -281,6 +281,14 @@ enum drm_panel_orientation { > >> /* 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_SRGB 13 > >> +#define DRM_MODE_COLORIMETRY_WIDE_GAMUT_FIXED_POINT_RGB 14 > >> +#define DRM_MODE_COLORIMETRY_SCRGB 15 > >> +#define DRM_MODE_COLORIMETRY_ADOBE_RGB 16 > >> +#define DRM_MODE_COLORIMETRY_DCP_P3_RGB 17 > >> +#define DRM_MODE_COLORIMETRY_BT601_YCC 18 > >> +#define DRM_MODE_COLORIMETRY_DICOM_PART_14_GRAYSCALE 19 > >> > >> /** > >> * enum drm_bus_flags - bus_flags info for &drm_display_info > >> -- > >> 2.23.0 > >> > >> _______________________________________________ > >> dri-devel mailing list > >> dri-devel@lists.freedesktop.org > >> https://lists.freedesktop.org/mailman/listinfo/dri-devel > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Ville Syrjälä Intel _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel