mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
drm/display: bridge_connector: Use HDMI color format for HDMI conns
For bridge connectors which contain an HDMI bridge at some stage, the HDMI state helpers' format selection logic should be involved. Add an implementation for the drm_bridge_funcs color_format function, which translates from the HDMI state's output format to a connector format for bridge connectors involving an HDMI bridge, but return the connector state's color_format member unchanged otherwise. Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Link: https://patch.msgid.link/20260609-color-format-v17-5-35739b5782cc@collabora.com Signed-off-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
parent
c761e89065
commit
9743ab2c18
|
|
@ -283,6 +283,29 @@ drm_bridge_connector_create_state(struct drm_connector *connector)
|
|||
return conn_state;
|
||||
}
|
||||
|
||||
static enum drm_connector_color_format
|
||||
drm_bridge_connector_color_format(const struct drm_connector_state *conn_state)
|
||||
{
|
||||
struct drm_bridge_connector *bridge_connector =
|
||||
to_drm_bridge_connector(conn_state->connector);
|
||||
|
||||
if (bridge_connector->bridge_hdmi) {
|
||||
switch (conn_state->hdmi.output_format) {
|
||||
default:
|
||||
case DRM_OUTPUT_COLOR_FORMAT_RGB444:
|
||||
return DRM_CONNECTOR_COLOR_FORMAT_RGB444;
|
||||
case DRM_OUTPUT_COLOR_FORMAT_YCBCR444:
|
||||
return DRM_CONNECTOR_COLOR_FORMAT_YCBCR444;
|
||||
case DRM_OUTPUT_COLOR_FORMAT_YCBCR422:
|
||||
return DRM_CONNECTOR_COLOR_FORMAT_YCBCR422;
|
||||
case DRM_OUTPUT_COLOR_FORMAT_YCBCR420:
|
||||
return DRM_CONNECTOR_COLOR_FORMAT_YCBCR420;
|
||||
}
|
||||
}
|
||||
|
||||
return conn_state->color_format;
|
||||
}
|
||||
|
||||
static const struct drm_connector_funcs drm_bridge_connector_funcs = {
|
||||
.detect = drm_bridge_connector_detect,
|
||||
.force = drm_bridge_connector_force,
|
||||
|
|
@ -292,6 +315,7 @@ static const struct drm_connector_funcs drm_bridge_connector_funcs = {
|
|||
.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
|
||||
.debugfs_init = drm_bridge_connector_debugfs_init,
|
||||
.oob_hotplug_event = drm_bridge_connector_oob_hotplug_event,
|
||||
.color_format = drm_bridge_connector_color_format,
|
||||
};
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user