Patch "drm/amdgpu/dce11: disable hpd on local panels" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/amdgpu/dce11: disable hpd on local panels
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-amdgpu-dce11-disable-hpd-on-local-panels.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
3a9d993ee9809c217f4322623a9b78c8d17fdd1fMon Sep 17 00:00:00 2001
From: Alex Deucher <[email protected]>
Date: Wed, 28 Sep 2016 12:43:33 -0400
Subject: drm/amdgpu/dce11: disable hpd on local panels
From: Alex Deucher <[email protected]>
commit 3a9d993ee9809c217f4322623a9b78c8d17fdd1f upstream.
Otherwise we can get a hotplug interrupt storm when we turn the panel off if hpd interrupts were enabled by the bios.
bug:
https://bugs.freedesktop.org/show_bug.cgi?id=97471
--- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-)
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c +13 -10
@@ -409,16 +409,6 @@ static void dce_v11_0_hpd_init(struct amlist_for_each_entry (connector, &dev->mode_config.connector_list, head) {struct amdgpu_connector *amdgpu_connector =to_amdgpu_connector (connector); -if (connector->connector_type == DRM_MODE_CONNECTOR_eDP || - connector->connector_type ==DRM_MODE_CONNECTOR_LVDS ) { -/* don't try to enable hpd on eDP or LVDS avoid breaking the -* aux dp channel on imac and help (but not completely fix) -* https://bugzilla.redhat.com/show_bug.cgi?id=726143 -* also avoid interrupt storms during dpms. -*/ -continue ; - } -switch (amdgpu_connector->hpd.hpd) {case AMDGPU_HPD_1 : idx =0 ;
@@ -442,6 +432,19 @@ static void dce_v11_0_hpd_init(struct amcontinue ; } +if (connector->connector_type == DRM_MODE_CONNECTOR_eDP || + connector->connector_type ==DRM_MODE_CONNECTOR_LVDS ) { +/* don't try to enable hpd on eDP or LVDS avoid breaking the +* aux dp channel on imac and help (but not completely fix) +* https://bugzilla.redhat.com/show_bug.cgi?id=726143 +* also avoid interrupt storms during dpms. +*/ + tmp =RREG32 (mmDC_HPD_INT_CONTROL + hpd_offsets[idx]); + tmp =REG_SET_FIELD (tmp,DC_HPD_INT_CONTROL ,DC_HPD_INT_EN ,0 ); +WREG32 (mmDC_HPD_INT_CONTROL + hpd_offsets[idx], tmp); +continue ; + } + tmp =RREG32 (mmDC_HPD_CONTROL + hpd_offsets[idx]); tmp =REG_SET_FIELD (tmp,DC_HPD_CONTROL ,DC_HPD_EN ,1 );WREG32 (mmDC_HPD_CONTROL + hpd_offsets[idx], tmp);
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/drm-amdgpu-dce11-add-missing-drm_mode_config_cleanup-call.patch queue-4.4/drm-radeon-si-dpm-fix-phase-shedding-setup.patch queue-4.4/drm-amdgpu-dce11-disable-hpd-on-local-panels.patch queue-4.4/drm-amdgpu-dce8-disable-hpd-on-local-panels.patch queue-4.4/drm-amdgpu-dce10-disable-hpd-on-local-panels.patch queue-4.4/drm-amdgpu-fix-ib-alignment-for-uvd.patch queue-4.4/drm-amdgpu-change-vblank_time-s-calculation-method-to-reduce-computational-error.patch queue-4.4/drm-radeon-narrow-asic_init-for-virtualization.patch queue-4.4/drm-radeon-change-vblank_time-s-calculation-method-to-reduce-computational-error.patch