mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 13:51:44 +00:00
drm/amd/display: Miss register MST encoder cbs
It is to fix: MST display failed to resume from S3 Need to properly setup MST encoder cbs. Otherwise drm_device encoder doesn't register its own cbs, leading to NULL encoder->funcs in drm_atomic_helper_resume(). Signed-off-by: Jerry (Fangzhi) Zuo <Jerry.Zuo@amd.com> Reviewed-by: Roman Li <Roman.Li@amd.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
fcb4019e09
commit
4fc6f65965
@ -245,6 +245,16 @@ static const struct drm_connector_helper_funcs dm_dp_mst_connector_helper_funcs
|
|||||||
.best_encoder = dm_mst_best_encoder,
|
.best_encoder = dm_mst_best_encoder,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static void amdgpu_dm_encoder_destroy(struct drm_encoder *encoder)
|
||||||
|
{
|
||||||
|
drm_encoder_cleanup(encoder);
|
||||||
|
kfree(encoder);
|
||||||
|
}
|
||||||
|
|
||||||
|
static const struct drm_encoder_funcs amdgpu_dm_encoder_funcs = {
|
||||||
|
.destroy = amdgpu_dm_encoder_destroy,
|
||||||
|
};
|
||||||
|
|
||||||
static struct amdgpu_encoder *
|
static struct amdgpu_encoder *
|
||||||
dm_dp_create_fake_mst_encoder(struct amdgpu_dm_connector *connector)
|
dm_dp_create_fake_mst_encoder(struct amdgpu_dm_connector *connector)
|
||||||
{
|
{
|
||||||
@ -268,7 +278,7 @@ dm_dp_create_fake_mst_encoder(struct amdgpu_dm_connector *connector)
|
|||||||
drm_encoder_init(
|
drm_encoder_init(
|
||||||
dev,
|
dev,
|
||||||
&amdgpu_encoder->base,
|
&amdgpu_encoder->base,
|
||||||
NULL,
|
&amdgpu_dm_encoder_funcs,
|
||||||
DRM_MODE_ENCODER_DPMST,
|
DRM_MODE_ENCODER_DPMST,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user