]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Remove unnecessary amdgpu_irq_get/put
authorAlex Hung <alex.hung@amd.com>
Tue, 17 Dec 2024 21:03:50 +0000 (14:03 -0700)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 6 Jan 2025 20:10:40 +0000 (15:10 -0500)
[WHY & HOW]
commit 7fb363c57522 ("drm/amd/display: Let drm_crtc_vblank_on/off manage interrupts")
lets drm_crtc_vblank_* to manage interrupts in amdgpu_dm_crtc_set_vblank,
and amdgpu_irq_get/put do not need to be called here.  Part of that
patch got lost somehow, so fix it up.

Fixes: 7fb363c57522 ("drm/amd/display: Let drm_crtc_vblank_on/off manage interrupts")
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 3782305ce5807c18fbf092124b9e8303cf1723ae)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 48be917e7bc550065acb383cd239c9d5c2ea7d83..4c3b6e6151c514d4f73b286fc381df9a34aab6a6 100644 (file)
@@ -8400,16 +8400,6 @@ static void manage_dm_interrupts(struct amdgpu_device *adev,
                                 struct amdgpu_crtc *acrtc,
                                 struct dm_crtc_state *acrtc_state)
 {
-       /*
-        * We have no guarantee that the frontend index maps to the same
-        * backend index - some even map to more than one.
-        *
-        * TODO: Use a different interrupt or check DC itself for the mapping.
-        */
-       int irq_type =
-               amdgpu_display_crtc_idx_to_irq_type(
-                       adev,
-                       acrtc->crtc_id);
        struct drm_vblank_crtc_config config = {0};
        struct dc_crtc_timing *timing;
        int offdelay;
@@ -8435,28 +8425,7 @@ static void manage_dm_interrupts(struct amdgpu_device *adev,
 
                drm_crtc_vblank_on_config(&acrtc->base,
                                          &config);
-
-               amdgpu_irq_get(
-                       adev,
-                       &adev->pageflip_irq,
-                       irq_type);
-#if defined(CONFIG_DRM_AMD_SECURE_DISPLAY)
-               amdgpu_irq_get(
-                       adev,
-                       &adev->vline0_irq,
-                       irq_type);
-#endif
        } else {
-#if defined(CONFIG_DRM_AMD_SECURE_DISPLAY)
-               amdgpu_irq_put(
-                       adev,
-                       &adev->vline0_irq,
-                       irq_type);
-#endif
-               amdgpu_irq_put(
-                       adev,
-                       &adev->pageflip_irq,
-                       irq_type);
                drm_crtc_vblank_off(&acrtc->base);
        }
 }