drm/amdgpu/display/mst: adjust the naming of mst_port and port of aconnector
[why & how] The term (i.e. port & mst_port) that we used to use in amdgpu is a bit confusing. Rename them to mst_output_port & mst_root respectively. Signed-off-by: Wayne Lin <Wayne.Lin@amd.com> Signed-off-by: Harry Wentland <harry.wentland@amd.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>pull/938/head
parent
9b2d019144
commit
f0127cb112
|
|
@ -550,8 +550,8 @@ struct amdgpu_mst_connector {
|
|||
|
||||
struct drm_dp_mst_topology_mgr mst_mgr;
|
||||
struct amdgpu_dm_dp_aux dm_dp_aux;
|
||||
struct drm_dp_mst_port *port;
|
||||
struct amdgpu_connector *mst_port;
|
||||
struct drm_dp_mst_port *mst_output_port;
|
||||
struct amdgpu_connector *mst_root;
|
||||
bool is_mst_connector;
|
||||
struct amdgpu_encoder *mst_encoder;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2233,7 +2233,7 @@ static void s3_handle_mst(struct drm_device *dev, bool suspend)
|
|||
drm_for_each_connector_iter(connector, &iter) {
|
||||
aconnector = to_amdgpu_dm_connector(connector);
|
||||
if (aconnector->dc_link->type != dc_connection_mst_branch ||
|
||||
aconnector->mst_port)
|
||||
aconnector->mst_root)
|
||||
continue;
|
||||
|
||||
mgr = &aconnector->mst_mgr;
|
||||
|
|
@ -6628,11 +6628,11 @@ static int dm_encoder_helper_atomic_check(struct drm_encoder *encoder,
|
|||
int clock, bpp = 0;
|
||||
bool is_y420 = false;
|
||||
|
||||
if (!aconnector->port || !aconnector->dc_sink)
|
||||
if (!aconnector->mst_output_port || !aconnector->dc_sink)
|
||||
return 0;
|
||||
|
||||
mst_port = aconnector->port;
|
||||
mst_mgr = &aconnector->mst_port->mst_mgr;
|
||||
mst_port = aconnector->mst_output_port;
|
||||
mst_mgr = &aconnector->mst_root->mst_mgr;
|
||||
|
||||
if (!crtc_state->connectors_changed && !crtc_state->mode_changed)
|
||||
return 0;
|
||||
|
|
@ -6642,7 +6642,7 @@ static int dm_encoder_helper_atomic_check(struct drm_encoder *encoder,
|
|||
return PTR_ERR(mst_state);
|
||||
|
||||
if (!mst_state->pbn_div)
|
||||
mst_state->pbn_div = dm_mst_get_pbn_divider(aconnector->mst_port->dc_link);
|
||||
mst_state->pbn_div = dm_mst_get_pbn_divider(aconnector->mst_root->dc_link);
|
||||
|
||||
if (!state->duplicated) {
|
||||
int max_bpc = conn_state->max_requested_bpc;
|
||||
|
|
@ -6688,7 +6688,7 @@ static int dm_update_mst_vcpi_slots_for_dsc(struct drm_atomic_state *state,
|
|||
|
||||
aconnector = to_amdgpu_dm_connector(connector);
|
||||
|
||||
if (!aconnector->port)
|
||||
if (!aconnector->mst_output_port)
|
||||
continue;
|
||||
|
||||
if (!new_con_state || !new_con_state->crtc)
|
||||
|
|
@ -6728,7 +6728,7 @@ static int dm_update_mst_vcpi_slots_for_dsc(struct drm_atomic_state *state,
|
|||
dm_conn_state->pbn = pbn;
|
||||
dm_conn_state->vcpi_slots = slot_num;
|
||||
|
||||
ret = drm_dp_mst_atomic_enable_dsc(state, aconnector->port,
|
||||
ret = drm_dp_mst_atomic_enable_dsc(state, aconnector->mst_output_port,
|
||||
dm_conn_state->pbn, false);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
|
@ -6736,7 +6736,7 @@ static int dm_update_mst_vcpi_slots_for_dsc(struct drm_atomic_state *state,
|
|||
continue;
|
||||
}
|
||||
|
||||
vcpi = drm_dp_mst_atomic_enable_dsc(state, aconnector->port, pbn, true);
|
||||
vcpi = drm_dp_mst_atomic_enable_dsc(state, aconnector->mst_output_port, pbn, true);
|
||||
if (vcpi < 0)
|
||||
return vcpi;
|
||||
|
||||
|
|
@ -7150,7 +7150,7 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
|
|||
adev->mode_info.underscan_vborder_property,
|
||||
0);
|
||||
|
||||
if (!aconnector->mst_port)
|
||||
if (!aconnector->mst_root)
|
||||
drm_connector_attach_max_bpc_property(&aconnector->base, 8, 16);
|
||||
|
||||
/* This defaults to the max in the range, but we want 8bpc for non-edp. */
|
||||
|
|
@ -7168,7 +7168,7 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
|
|||
connector_type == DRM_MODE_CONNECTOR_eDP) {
|
||||
drm_connector_attach_hdr_output_metadata_property(&aconnector->base);
|
||||
|
||||
if (!aconnector->mst_port)
|
||||
if (!aconnector->mst_root)
|
||||
drm_connector_attach_vrr_capable_property(&aconnector->base);
|
||||
|
||||
#ifdef CONFIG_DRM_AMD_DC_HDCP
|
||||
|
|
@ -9635,7 +9635,7 @@ static int add_affected_mst_dsc_crtcs(struct drm_atomic_state *state, struct drm
|
|||
continue;
|
||||
|
||||
aconnector = to_amdgpu_dm_connector(connector);
|
||||
if (!aconnector->port || !aconnector->mst_port)
|
||||
if (!aconnector->mst_output_port || !aconnector->mst_root)
|
||||
aconnector = NULL;
|
||||
else
|
||||
break;
|
||||
|
|
@ -9644,7 +9644,7 @@ static int add_affected_mst_dsc_crtcs(struct drm_atomic_state *state, struct drm
|
|||
if (!aconnector)
|
||||
return 0;
|
||||
|
||||
return drm_dp_mst_add_affected_dsc_crtcs(state, &aconnector->mst_port->mst_mgr);
|
||||
return drm_dp_mst_add_affected_dsc_crtcs(state, &aconnector->mst_root->mst_mgr);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -605,8 +605,8 @@ struct amdgpu_dm_connector {
|
|||
/* DM only */
|
||||
struct drm_dp_mst_topology_mgr mst_mgr;
|
||||
struct amdgpu_dm_dp_aux dm_dp_aux;
|
||||
struct drm_dp_mst_port *port;
|
||||
struct amdgpu_dm_connector *mst_port;
|
||||
struct drm_dp_mst_port *mst_output_port;
|
||||
struct amdgpu_dm_connector *mst_root;
|
||||
struct drm_dp_aux *dsc_aux;
|
||||
/* TODO see if we can merge with ddc_bus or make a dm_connector */
|
||||
struct amdgpu_i2c_adapter *i2c;
|
||||
|
|
|
|||
|
|
@ -344,7 +344,7 @@ int amdgpu_dm_crtc_set_crc_source(struct drm_crtc *crtc, const char *src_name)
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
aux = (aconn->port) ? &aconn->port->aux : &aconn->dm_dp_aux.aux;
|
||||
aux = (aconn->mst_output_port) ? &aconn->mst_output_port->aux : &aconn->dm_dp_aux.aux;
|
||||
|
||||
if (!aux) {
|
||||
DRM_DEBUG_DRIVER("No dp aux for amd connector\n");
|
||||
|
|
|
|||
|
|
@ -1193,7 +1193,7 @@ static int dp_dsc_fec_support_show(struct seq_file *m, void *data)
|
|||
break;
|
||||
}
|
||||
dpcd_caps = aconnector->dc_link->dpcd_caps;
|
||||
if (aconnector->port) {
|
||||
if (aconnector->mst_output_port) {
|
||||
/* aconnector sets dsc_aux during get_modes call
|
||||
* if MST connector has it means it can either
|
||||
* enable DSC on the sink device or on MST branch
|
||||
|
|
@ -1280,7 +1280,7 @@ static ssize_t trigger_hotplug(struct file *f, const char __user *buf,
|
|||
mutex_lock(&aconnector->hpd_lock);
|
||||
|
||||
/* Don't support for mst end device*/
|
||||
if (aconnector->mst_port) {
|
||||
if (aconnector->mst_root) {
|
||||
mutex_unlock(&aconnector->hpd_lock);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
@ -2539,13 +2539,13 @@ static int dp_is_mst_connector_show(struct seq_file *m, void *unused)
|
|||
|
||||
if (aconnector->mst_mgr.mst_state) {
|
||||
role = "root";
|
||||
} else if (aconnector->mst_port &&
|
||||
aconnector->mst_port->mst_mgr.mst_state) {
|
||||
} else if (aconnector->mst_root &&
|
||||
aconnector->mst_root->mst_mgr.mst_state) {
|
||||
|
||||
role = "end";
|
||||
|
||||
mgr = &aconnector->mst_port->mst_mgr;
|
||||
port = aconnector->port;
|
||||
mgr = &aconnector->mst_root->mst_mgr;
|
||||
port = aconnector->mst_output_port;
|
||||
|
||||
drm_modeset_lock(&mgr->base.lock, NULL);
|
||||
if (port->pdt == DP_PEER_DEVICE_MST_BRANCHING &&
|
||||
|
|
@ -3392,12 +3392,12 @@ static int trigger_hpd_mst_set(void *data, u64 val)
|
|||
if (!aconnector->dc_link)
|
||||
continue;
|
||||
|
||||
if (!aconnector->mst_port)
|
||||
if (!aconnector->mst_root)
|
||||
continue;
|
||||
|
||||
link = aconnector->dc_link;
|
||||
dc_link_dp_receiver_power_ctrl(link, false);
|
||||
drm_dp_mst_topology_mgr_set_mst(&aconnector->mst_port->mst_mgr, false);
|
||||
drm_dp_mst_topology_mgr_set_mst(&aconnector->mst_root->mst_mgr, false);
|
||||
link->mst_stream_alloc_table.stream_count = 0;
|
||||
memset(link->mst_stream_alloc_table.stream_allocations, 0,
|
||||
sizeof(link->mst_stream_alloc_table.stream_allocations));
|
||||
|
|
|
|||
|
|
@ -198,14 +198,14 @@ bool dm_helpers_dp_mst_write_payload_allocation_table(
|
|||
* that blocks before commit guaranteeing that the state
|
||||
* is not gonna be swapped while still in use in commit tail */
|
||||
|
||||
if (!aconnector || !aconnector->mst_port)
|
||||
if (!aconnector || !aconnector->mst_root)
|
||||
return false;
|
||||
|
||||
mst_mgr = &aconnector->mst_port->mst_mgr;
|
||||
mst_mgr = &aconnector->mst_root->mst_mgr;
|
||||
mst_state = to_drm_dp_mst_topology_state(mst_mgr->base.state);
|
||||
|
||||
/* It's OK for this to fail */
|
||||
payload = drm_atomic_get_mst_payload_state(mst_state, aconnector->port);
|
||||
payload = drm_atomic_get_mst_payload_state(mst_state, aconnector->mst_output_port);
|
||||
if (enable)
|
||||
drm_dp_add_payload_part1(mst_mgr, mst_state, payload);
|
||||
else
|
||||
|
|
@ -250,10 +250,10 @@ enum act_return_status dm_helpers_dp_mst_poll_for_allocation_change_trigger(
|
|||
|
||||
aconnector = (struct amdgpu_dm_connector *)stream->dm_stream_context;
|
||||
|
||||
if (!aconnector || !aconnector->mst_port)
|
||||
if (!aconnector || !aconnector->mst_root)
|
||||
return ACT_FAILED;
|
||||
|
||||
mst_mgr = &aconnector->mst_port->mst_mgr;
|
||||
mst_mgr = &aconnector->mst_root->mst_mgr;
|
||||
|
||||
if (!mst_mgr->mst_state)
|
||||
return ACT_FAILED;
|
||||
|
|
@ -280,13 +280,14 @@ bool dm_helpers_dp_mst_send_payload_allocation(
|
|||
|
||||
aconnector = (struct amdgpu_dm_connector *)stream->dm_stream_context;
|
||||
|
||||
if (!aconnector || !aconnector->mst_port)
|
||||
if (!aconnector || !aconnector->mst_root)
|
||||
return false;
|
||||
|
||||
mst_mgr = &aconnector->mst_port->mst_mgr;
|
||||
mst_mgr = &aconnector->mst_root->mst_mgr;
|
||||
mst_state = to_drm_dp_mst_topology_state(mst_mgr->base.state);
|
||||
|
||||
payload = drm_atomic_get_mst_payload_state(mst_state, aconnector->port);
|
||||
payload = drm_atomic_get_mst_payload_state(mst_state, aconnector->mst_output_port);
|
||||
|
||||
if (!enable) {
|
||||
set_flag = MST_CLEAR_ALLOCATED_PAYLOAD;
|
||||
clr_flag = MST_ALLOCATE_NEW_PAYLOAD;
|
||||
|
|
@ -713,7 +714,7 @@ bool dm_helpers_dp_write_dsc_enable(
|
|||
aconnector->dsc_aux, stream, enable_dsc);
|
||||
#endif
|
||||
|
||||
port = aconnector->port;
|
||||
port = aconnector->mst_output_port;
|
||||
|
||||
if (enable) {
|
||||
if (port->passthrough_aux) {
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ dm_dp_mst_connector_destroy(struct drm_connector *connector)
|
|||
kfree(aconnector->edid);
|
||||
|
||||
drm_connector_cleanup(connector);
|
||||
drm_dp_mst_put_port_malloc(aconnector->port);
|
||||
drm_dp_mst_put_port_malloc(aconnector->mst_output_port);
|
||||
kfree(aconnector);
|
||||
}
|
||||
|
||||
|
|
@ -146,7 +146,7 @@ amdgpu_dm_mst_connector_late_register(struct drm_connector *connector)
|
|||
int r;
|
||||
|
||||
r = drm_dp_mst_connector_late_register(connector,
|
||||
amdgpu_dm_connector->port);
|
||||
amdgpu_dm_connector->mst_output_port);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
|
|
@ -162,8 +162,8 @@ amdgpu_dm_mst_connector_early_unregister(struct drm_connector *connector)
|
|||
{
|
||||
struct amdgpu_dm_connector *aconnector =
|
||||
to_amdgpu_dm_connector(connector);
|
||||
struct drm_dp_mst_port *port = aconnector->port;
|
||||
struct amdgpu_dm_connector *root = aconnector->mst_port;
|
||||
struct drm_dp_mst_port *port = aconnector->mst_output_port;
|
||||
struct amdgpu_dm_connector *root = aconnector->mst_root;
|
||||
struct dc_link *dc_link = aconnector->dc_link;
|
||||
struct dc_sink *dc_sink = aconnector->dc_sink;
|
||||
|
||||
|
|
@ -213,7 +213,7 @@ bool needs_dsc_aux_workaround(struct dc_link *link)
|
|||
static bool validate_dsc_caps_on_connector(struct amdgpu_dm_connector *aconnector)
|
||||
{
|
||||
struct dc_sink *dc_sink = aconnector->dc_sink;
|
||||
struct drm_dp_mst_port *port = aconnector->port;
|
||||
struct drm_dp_mst_port *port = aconnector->mst_output_port;
|
||||
u8 dsc_caps[16] = { 0 };
|
||||
u8 dsc_branch_dec_caps_raw[3] = { 0 }; // DSC branch decoder caps 0xA0 ~ 0xA2
|
||||
u8 *dsc_branch_dec_caps = NULL;
|
||||
|
|
@ -231,7 +231,7 @@ static bool validate_dsc_caps_on_connector(struct amdgpu_dm_connector *aconnecto
|
|||
*/
|
||||
if (!aconnector->dsc_aux && !port->parent->port_parent &&
|
||||
needs_dsc_aux_workaround(aconnector->dc_link))
|
||||
aconnector->dsc_aux = &aconnector->mst_port->dm_dp_aux.aux;
|
||||
aconnector->dsc_aux = &aconnector->mst_root->dm_dp_aux.aux;
|
||||
|
||||
if (!aconnector->dsc_aux)
|
||||
return false;
|
||||
|
|
@ -281,7 +281,7 @@ static int dm_dp_mst_get_modes(struct drm_connector *connector)
|
|||
|
||||
if (!aconnector->edid) {
|
||||
struct edid *edid;
|
||||
edid = drm_dp_mst_get_edid(connector, &aconnector->mst_port->mst_mgr, aconnector->port);
|
||||
edid = drm_dp_mst_get_edid(connector, &aconnector->mst_root->mst_mgr, aconnector->mst_output_port);
|
||||
|
||||
if (!edid) {
|
||||
amdgpu_dm_set_mst_status(&aconnector->mst_status,
|
||||
|
|
@ -410,15 +410,15 @@ dm_dp_mst_detect(struct drm_connector *connector,
|
|||
struct drm_modeset_acquire_ctx *ctx, bool force)
|
||||
{
|
||||
struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
|
||||
struct amdgpu_dm_connector *master = aconnector->mst_port;
|
||||
struct drm_dp_mst_port *port = aconnector->port;
|
||||
struct amdgpu_dm_connector *master = aconnector->mst_root;
|
||||
struct drm_dp_mst_port *port = aconnector->mst_output_port;
|
||||
int connection_status;
|
||||
|
||||
if (drm_connector_is_unregistered(connector))
|
||||
return connector_status_disconnected;
|
||||
|
||||
connection_status = drm_dp_mst_detect_port(connector, ctx, &master->mst_mgr,
|
||||
aconnector->port);
|
||||
aconnector->mst_output_port);
|
||||
|
||||
if (port->pdt != DP_PEER_DEVICE_NONE && !port->dpcd_rev) {
|
||||
uint8_t dpcd_rev;
|
||||
|
|
@ -475,8 +475,8 @@ static int dm_dp_mst_atomic_check(struct drm_connector *connector,
|
|||
struct drm_atomic_state *state)
|
||||
{
|
||||
struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
|
||||
struct drm_dp_mst_topology_mgr *mst_mgr = &aconnector->mst_port->mst_mgr;
|
||||
struct drm_dp_mst_port *mst_port = aconnector->port;
|
||||
struct drm_dp_mst_topology_mgr *mst_mgr = &aconnector->mst_root->mst_mgr;
|
||||
struct drm_dp_mst_port *mst_port = aconnector->mst_output_port;
|
||||
|
||||
return drm_dp_atomic_release_time_slots(state, mst_mgr, mst_port);
|
||||
}
|
||||
|
|
@ -538,8 +538,8 @@ dm_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr,
|
|||
return NULL;
|
||||
|
||||
connector = &aconnector->base;
|
||||
aconnector->port = port;
|
||||
aconnector->mst_port = master;
|
||||
aconnector->mst_output_port = port;
|
||||
aconnector->mst_root = master;
|
||||
amdgpu_dm_set_mst_status(&aconnector->mst_status,
|
||||
MST_PROBE, true);
|
||||
|
||||
|
|
@ -940,7 +940,7 @@ static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state,
|
|||
if (!aconnector)
|
||||
continue;
|
||||
|
||||
if (!aconnector->port)
|
||||
if (!aconnector->mst_output_port)
|
||||
continue;
|
||||
|
||||
stream->timing.flags.DSC = 0;
|
||||
|
|
@ -948,7 +948,7 @@ static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state,
|
|||
params[count].timing = &stream->timing;
|
||||
params[count].sink = stream->sink;
|
||||
params[count].aconnector = aconnector;
|
||||
params[count].port = aconnector->port;
|
||||
params[count].port = aconnector->mst_output_port;
|
||||
params[count].clock_force_enable = aconnector->dsc_settings.dsc_force_enable;
|
||||
if (params[count].clock_force_enable == DSC_CLK_FORCE_ENABLE)
|
||||
debugfs_overwrite = true;
|
||||
|
|
@ -1157,7 +1157,7 @@ int compute_mst_dsc_configs_for_state(struct drm_atomic_state *state,
|
|||
|
||||
aconnector = (struct amdgpu_dm_connector *)stream->dm_stream_context;
|
||||
|
||||
if (!aconnector || !aconnector->dc_sink || !aconnector->port)
|
||||
if (!aconnector || !aconnector->dc_sink || !aconnector->mst_output_port)
|
||||
continue;
|
||||
|
||||
if (!aconnector->dc_sink->dsc_caps.dsc_dec_caps.is_dsc_supported)
|
||||
|
|
@ -1172,7 +1172,7 @@ int compute_mst_dsc_configs_for_state(struct drm_atomic_state *state,
|
|||
if (!is_dsc_need_re_compute(state, dc_state, stream->link))
|
||||
continue;
|
||||
|
||||
mst_mgr = aconnector->port->mgr;
|
||||
mst_mgr = aconnector->mst_output_port->mgr;
|
||||
ret = compute_mst_dsc_configs_for_link(state, dc_state, stream->link, vars, mst_mgr,
|
||||
&link_vars_start_index);
|
||||
if (ret != 0)
|
||||
|
|
@ -1218,7 +1218,7 @@ static int pre_compute_mst_dsc_configs_for_state(struct drm_atomic_state *state,
|
|||
|
||||
aconnector = (struct amdgpu_dm_connector *)stream->dm_stream_context;
|
||||
|
||||
if (!aconnector || !aconnector->dc_sink || !aconnector->port)
|
||||
if (!aconnector || !aconnector->dc_sink || !aconnector->mst_output_port)
|
||||
continue;
|
||||
|
||||
if (!aconnector->dc_sink->dsc_caps.dsc_dec_caps.is_dsc_supported)
|
||||
|
|
@ -1230,7 +1230,7 @@ static int pre_compute_mst_dsc_configs_for_state(struct drm_atomic_state *state,
|
|||
if (!is_dsc_need_re_compute(state, dc_state, stream->link))
|
||||
continue;
|
||||
|
||||
mst_mgr = aconnector->port->mgr;
|
||||
mst_mgr = aconnector->mst_output_port->mgr;
|
||||
ret = compute_mst_dsc_configs_for_link(state, dc_state, stream->link, vars, mst_mgr,
|
||||
&link_vars_start_index);
|
||||
if (ret != 0)
|
||||
|
|
@ -1445,8 +1445,8 @@ enum dc_status dm_dp_mst_is_port_support_mode(
|
|||
* with DSC enabled.
|
||||
*/
|
||||
if (is_dsc_common_config_possible(stream, &bw_range) &&
|
||||
aconnector->port->passthrough_aux) {
|
||||
mst_mgr = aconnector->port->mgr;
|
||||
aconnector->mst_output_port->passthrough_aux) {
|
||||
mst_mgr = aconnector->mst_output_port->mgr;
|
||||
mutex_lock(&mst_mgr->lock);
|
||||
|
||||
cur_link_settings = stream->link->verified_link_cap;
|
||||
|
|
@ -1454,7 +1454,7 @@ enum dc_status dm_dp_mst_is_port_support_mode(
|
|||
upper_link_bw_in_kbps = dc_link_bandwidth_kbps(aconnector->dc_link,
|
||||
&cur_link_settings
|
||||
);
|
||||
down_link_bw_in_kbps = kbps_from_pbn(aconnector->port->full_pbn);
|
||||
down_link_bw_in_kbps = kbps_from_pbn(aconnector->mst_output_port->full_pbn);
|
||||
|
||||
/* pick the bottleneck */
|
||||
end_to_end_bw_in_kbps = min(upper_link_bw_in_kbps,
|
||||
|
|
@ -1478,7 +1478,7 @@ enum dc_status dm_dp_mst_is_port_support_mode(
|
|||
bpp = convert_dc_color_depth_into_bpc(stream->timing.display_color_depth) * 3;
|
||||
pbn = drm_dp_calc_pbn_mode(stream->timing.pix_clk_100hz / 10, bpp, false);
|
||||
|
||||
if (pbn > aconnector->port->full_pbn)
|
||||
if (pbn > aconnector->mst_output_port->full_pbn)
|
||||
return DC_FAIL_BANDWIDTH_VALIDATE;
|
||||
#if defined(CONFIG_DRM_AMD_DC_DCN)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue