mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 21:44:06 +08:00
drm/amd/display: Register Colorspace property for DP and HDMI
We want compositors to be able to set the output colorspace on DP and HDMI outputs, based on the caps reported from the receiver via EDID. Signed-off-by: Harry Wentland <harry.wentland@amd.com> Reviewed-by: Joshua Ashton <joshua@froggi.es> Cc: Pekka Paalanen <ppaalanen@gmail.com> Cc: Sebastian Wick <sebastian.wick@redhat.com> Cc: Vitaly.Prosyak@amd.com Cc: Joshua Ashton <joshua@froggi.es> Cc: Simon Ser <contact@emersion.fr> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Melissa Wen <mwen@igalia.com> Cc: dri-devel@lists.freedesktop.org Cc: amd-gfx@lists.freedesktop.org Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
cb841d27b8
commit
15f9dfd545
@ -7247,6 +7247,12 @@ static int amdgpu_dm_connector_get_modes(struct drm_connector *connector)
|
|||||||
return amdgpu_dm_connector->num_modes;
|
return amdgpu_dm_connector->num_modes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const u32 supported_colorspaces =
|
||||||
|
BIT(DRM_MODE_COLORIMETRY_BT709_YCC) |
|
||||||
|
BIT(DRM_MODE_COLORIMETRY_OPRGB) |
|
||||||
|
BIT(DRM_MODE_COLORIMETRY_BT2020_RGB) |
|
||||||
|
BIT(DRM_MODE_COLORIMETRY_BT2020_YCC);
|
||||||
|
|
||||||
void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
|
void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
|
||||||
struct amdgpu_dm_connector *aconnector,
|
struct amdgpu_dm_connector *aconnector,
|
||||||
int connector_type,
|
int connector_type,
|
||||||
@ -7327,6 +7333,15 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
|
|||||||
adev->mode_info.abm_level_property, 0);
|
adev->mode_info.abm_level_property, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (connector_type == DRM_MODE_CONNECTOR_HDMIA) {
|
||||||
|
if (!drm_mode_create_hdmi_colorspace_property(&aconnector->base, supported_colorspaces))
|
||||||
|
drm_connector_attach_colorspace_property(&aconnector->base);
|
||||||
|
} else if (connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
|
||||||
|
connector_type == DRM_MODE_CONNECTOR_eDP) {
|
||||||
|
if (!drm_mode_create_dp_colorspace_property(&aconnector->base, supported_colorspaces))
|
||||||
|
drm_connector_attach_colorspace_property(&aconnector->base);
|
||||||
|
}
|
||||||
|
|
||||||
if (connector_type == DRM_MODE_CONNECTOR_HDMIA ||
|
if (connector_type == DRM_MODE_CONNECTOR_HDMIA ||
|
||||||
connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
|
connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
|
||||||
connector_type == DRM_MODE_CONNECTOR_eDP) {
|
connector_type == DRM_MODE_CONNECTOR_eDP) {
|
||||||
|
Loading…
Reference in New Issue
Block a user