mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
drm/radeon/kms: add some dp encoder/connector helper funcs
Used for dp1.2 support and for dp bridges. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
4e633939fe
commit
d7fa8bb385
3 changed files with 99 additions and 0 deletions
|
@ -250,6 +250,25 @@ struct drm_encoder *radeon_atom_get_external_encoder(struct drm_encoder *encoder
|
|||
return NULL;
|
||||
}
|
||||
|
||||
bool radeon_encoder_is_dp_bridge(struct drm_encoder *encoder)
|
||||
{
|
||||
struct drm_encoder *other_encoder = radeon_atom_get_external_encoder(encoder);
|
||||
|
||||
if (other_encoder) {
|
||||
struct radeon_encoder *radeon_encoder = to_radeon_encoder(other_encoder);
|
||||
|
||||
switch (radeon_encoder->encoder_id) {
|
||||
case ENCODER_OBJECT_ID_TRAVIS:
|
||||
case ENCODER_OBJECT_ID_NUTMEG:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void radeon_panel_mode_fixup(struct drm_encoder *encoder,
|
||||
struct drm_display_mode *adjusted_mode)
|
||||
{
|
||||
|
@ -621,6 +640,10 @@ atombios_get_encoder_mode(struct drm_encoder *encoder)
|
|||
struct radeon_connector *radeon_connector;
|
||||
struct radeon_connector_atom_dig *dig_connector;
|
||||
|
||||
/* dp bridges are always DP */
|
||||
if (radeon_encoder_is_dp_bridge(encoder))
|
||||
return ATOM_ENCODER_MODE_DP;
|
||||
|
||||
connector = radeon_get_connector_for_encoder(encoder);
|
||||
if (!connector) {
|
||||
switch (radeon_encoder->encoder_id) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue