Commit 0e859faf authored by Alex Hung's avatar Alex Hung Committed by Alex Deucher

drm/amd/display: Remove unwanted drm edid references

[WHY]
edid_override and drm_edid_override_connector_update, according to drm
documentation, should not be referred outside drm_edid.

[HOW]
Remove and replace them accordingly. This can tested by IGT's
kms_hdmi_inject test.
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Acked-by: default avatarJani Nikula <jani.nikula@intel.com>
Signed-off-by: default avatarAlex Hung <alex.hung@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 5d72e247
...@@ -6461,15 +6461,23 @@ amdgpu_dm_connector_late_register(struct drm_connector *connector) ...@@ -6461,15 +6461,23 @@ amdgpu_dm_connector_late_register(struct drm_connector *connector)
static void amdgpu_dm_connector_funcs_force(struct drm_connector *connector) static void amdgpu_dm_connector_funcs_force(struct drm_connector *connector)
{ {
struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector); struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
struct dc_link *dc_link = aconnector->dc_link; struct dc_link *dc_link = aconnector->dc_link;
struct dc_sink *dc_em_sink = aconnector->dc_em_sink; struct dc_sink *dc_em_sink = aconnector->dc_em_sink;
struct edid *edid; struct edid *edid;
if (!connector->edid_override) /*
* Note: drm_get_edid gets edid in the following order:
* 1) override EDID if set via edid_override debugfs,
* 2) firmware EDID if set via edid_firmware module parameter
* 3) regular DDC read.
*/
edid = drm_get_edid(connector, &amdgpu_connector->ddc_bus->aux.ddc);
if (!edid) {
DRM_ERROR("No EDID found on connector: %s.\n", connector->name);
return; return;
}
drm_edid_override_connector_update(&aconnector->base);
edid = aconnector->base.edid_blob_ptr->data;
aconnector->edid = edid; aconnector->edid = edid;
/* Update emulated (virtual) sink's EDID */ /* Update emulated (virtual) sink's EDID */
...@@ -6504,30 +6512,26 @@ static int get_modes(struct drm_connector *connector) ...@@ -6504,30 +6512,26 @@ static int get_modes(struct drm_connector *connector)
static void create_eml_sink(struct amdgpu_dm_connector *aconnector) static void create_eml_sink(struct amdgpu_dm_connector *aconnector)
{ {
struct drm_connector *connector = &aconnector->base;
struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(&aconnector->base);
struct dc_sink_init_data init_params = { struct dc_sink_init_data init_params = {
.link = aconnector->dc_link, .link = aconnector->dc_link,
.sink_signal = SIGNAL_TYPE_VIRTUAL .sink_signal = SIGNAL_TYPE_VIRTUAL
}; };
struct edid *edid; struct edid *edid;
if (!aconnector->base.edid_blob_ptr) { /*
/* if connector->edid_override valid, pass * Note: drm_get_edid gets edid in the following order:
* it to edid_override to edid_blob_ptr * 1) override EDID if set via edid_override debugfs,
*/ * 2) firmware EDID if set via edid_firmware module parameter
* 3) regular DDC read.
drm_edid_override_connector_update(&aconnector->base); */
edid = drm_get_edid(connector, &amdgpu_connector->ddc_bus->aux.ddc);
if (!aconnector->base.edid_blob_ptr) { if (!edid) {
DRM_ERROR("No EDID firmware found on connector: %s ,forcing to OFF!\n", DRM_ERROR("No EDID found on connector: %s.\n", connector->name);
aconnector->base.name); return;
aconnector->base.force = DRM_FORCE_OFF;
return;
}
} }
edid = (struct edid *) aconnector->base.edid_blob_ptr->data;
aconnector->edid = edid; aconnector->edid = edid;
aconnector->dc_em_sink = dc_link_add_remote_sink( aconnector->dc_em_sink = dc_link_add_remote_sink(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment