mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
drm/amd/display: Add analog bit to edid_caps (v2)
The new analog bit will be used with DVI-I connectors. DVI-I connectors can connect to both digital and analog monitors and this bit will help distinguish between those. v2: Sanitize analog bit based on connector type. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
dfc74e37bd
commit
d64fd9da7e
|
|
@ -131,6 +131,7 @@ enum dc_edid_status dm_helpers_parse_edid_caps(
|
|||
edid_caps->serial_number = edid_buf->serial;
|
||||
edid_caps->manufacture_week = edid_buf->mfg_week;
|
||||
edid_caps->manufacture_year = edid_buf->mfg_year;
|
||||
edid_caps->analog = !(edid_buf->input & DRM_EDID_INPUT_DIGITAL);
|
||||
|
||||
drm_edid_get_monitor_name(edid_buf,
|
||||
edid_caps->display_name,
|
||||
|
|
|
|||
|
|
@ -185,6 +185,10 @@ struct dc_panel_patch {
|
|||
unsigned int wait_after_dpcd_poweroff_ms;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct dc_edid_caps - Capabilities read from EDID.
|
||||
* @analog: Whether the monitor is analog. Used by DVI-I handling.
|
||||
*/
|
||||
struct dc_edid_caps {
|
||||
/* sink identification */
|
||||
uint16_t manufacturer_id;
|
||||
|
|
@ -213,6 +217,7 @@ struct dc_edid_caps {
|
|||
bool hdr_supported;
|
||||
bool rr_capable;
|
||||
bool scdc_present;
|
||||
bool analog;
|
||||
|
||||
struct dc_panel_patch panel_patch;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1107,6 +1107,8 @@ static bool detect_link_and_local_sink(struct dc_link *link,
|
|||
break;
|
||||
}
|
||||
|
||||
sink->edid_caps.analog &= dc_connector_supports_analog(link->link_id.id);
|
||||
|
||||
// Check if edid is the same
|
||||
if ((prev_sink) &&
|
||||
(edid_status == EDID_THE_SAME || edid_status == EDID_OK))
|
||||
|
|
|
|||
|
|
@ -310,4 +310,11 @@ static inline bool dal_graphics_object_id_equal(
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool dc_connector_supports_analog(const enum connector_id conn)
|
||||
{
|
||||
return conn == CONNECTOR_ID_VGA ||
|
||||
conn == CONNECTOR_ID_SINGLE_LINK_DVII ||
|
||||
conn == CONNECTOR_ID_DUAL_LINK_DVII;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user