mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
drm/amd/display: Remove get_connector_for_sink.
Keep 1:1 relation between MST sink and it's MST connector. Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
9fb8de78ed
commit
5c4e980643
3 changed files with 10 additions and 25 deletions
|
@ -133,21 +133,6 @@ enum dc_edid_status dm_helpers_parse_edid_caps(
|
|||
return result;
|
||||
}
|
||||
|
||||
static struct amdgpu_connector *get_connector_for_sink(
|
||||
struct drm_device *dev,
|
||||
const struct dc_sink *sink)
|
||||
{
|
||||
struct drm_connector *connector;
|
||||
|
||||
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
|
||||
struct amdgpu_connector *aconnector = to_amdgpu_connector(connector);
|
||||
if (aconnector->dc_sink == sink)
|
||||
return aconnector;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void get_payload_table(
|
||||
struct amdgpu_connector *aconnector,
|
||||
struct dp_mst_stream_allocation_table *proposed_table)
|
||||
|
@ -194,8 +179,6 @@ bool dm_helpers_dp_mst_write_payload_allocation_table(
|
|||
struct dp_mst_stream_allocation_table *proposed_table,
|
||||
bool enable)
|
||||
{
|
||||
struct amdgpu_device *adev = ctx->driver_context;
|
||||
struct drm_device *dev = adev->ddev;
|
||||
struct amdgpu_connector *aconnector;
|
||||
struct drm_dp_mst_topology_mgr *mst_mgr;
|
||||
struct drm_dp_mst_port *mst_port;
|
||||
|
@ -205,7 +188,7 @@ bool dm_helpers_dp_mst_write_payload_allocation_table(
|
|||
int bpp = 0;
|
||||
int pbn = 0;
|
||||
|
||||
aconnector = get_connector_for_sink(dev, stream->sink);
|
||||
aconnector = stream->sink->priv;
|
||||
|
||||
if (!aconnector || !aconnector->mst_port)
|
||||
return false;
|
||||
|
@ -284,13 +267,11 @@ bool dm_helpers_dp_mst_poll_for_allocation_change_trigger(
|
|||
struct dc_context *ctx,
|
||||
const struct dc_stream *stream)
|
||||
{
|
||||
struct amdgpu_device *adev = ctx->driver_context;
|
||||
struct drm_device *dev = adev->ddev;
|
||||
struct amdgpu_connector *aconnector;
|
||||
struct drm_dp_mst_topology_mgr *mst_mgr;
|
||||
int ret;
|
||||
|
||||
aconnector = get_connector_for_sink(dev, stream->sink);
|
||||
aconnector = stream->sink->priv;
|
||||
|
||||
if (!aconnector || !aconnector->mst_port)
|
||||
return false;
|
||||
|
@ -313,14 +294,12 @@ bool dm_helpers_dp_mst_send_payload_allocation(
|
|||
const struct dc_stream *stream,
|
||||
bool enable)
|
||||
{
|
||||
struct amdgpu_device *adev = ctx->driver_context;
|
||||
struct drm_device *dev = adev->ddev;
|
||||
struct amdgpu_connector *aconnector;
|
||||
struct drm_dp_mst_topology_mgr *mst_mgr;
|
||||
struct drm_dp_mst_port *mst_port;
|
||||
int ret;
|
||||
|
||||
aconnector = get_connector_for_sink(dev, stream->sink);
|
||||
aconnector = stream->sink->priv;
|
||||
|
||||
if (!aconnector || !aconnector->mst_port)
|
||||
return false;
|
||||
|
|
|
@ -325,6 +325,7 @@ static void dm_dp_mst_hotplug(struct drm_dp_mst_topology_mgr *mgr)
|
|||
struct drm_connector *connector;
|
||||
struct amdgpu_connector *aconnector;
|
||||
struct edid *edid;
|
||||
struct dc_sink *dc_sink;
|
||||
|
||||
drm_modeset_lock_all(dev);
|
||||
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
|
||||
|
@ -352,11 +353,15 @@ static void dm_dp_mst_hotplug(struct drm_dp_mst_topology_mgr *mgr)
|
|||
|
||||
aconnector->edid = edid;
|
||||
|
||||
aconnector->dc_sink = dc_link_add_remote_sink(
|
||||
dc_sink = dc_link_add_remote_sink(
|
||||
aconnector->dc_link,
|
||||
(uint8_t *)edid,
|
||||
(edid->extensions + 1) * EDID_LENGTH,
|
||||
&init_params);
|
||||
|
||||
dc_sink->priv = aconnector;
|
||||
aconnector->dc_sink = dc_sink;
|
||||
|
||||
if (aconnector->dc_sink)
|
||||
amdgpu_dm_add_sink_to_freesync_module(
|
||||
connector,
|
||||
|
|
|
@ -719,6 +719,7 @@ struct dc_sink {
|
|||
struct dc_container_id *dc_container_id;
|
||||
uint32_t dongle_max_pix_clk;
|
||||
bool converter_disable_audio;
|
||||
void *priv;
|
||||
};
|
||||
|
||||
void dc_sink_retain(const struct dc_sink *sink);
|
||||
|
|
Loading…
Add table
Reference in a new issue