Patch "drm/amd/display: Fix Mode Cutoff in DSC Passthrough to DP2.1 Monitor" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/amd/display: Fix Mode Cutoff in DSC Passthrough to DP2.1 Monitor

to the 6.6-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-amd-display-fix-mode-cutoff-in-dsc-passthrough-t.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 9950bb626c6899e81eb1d9cfcce6e9e6001b5add
Author: Fangzhi Zuo <Jerry.Zuo@xxxxxxx>
Date:   Mon Dec 2 13:30:37 2024 -0500

    drm/amd/display: Fix Mode Cutoff in DSC Passthrough to DP2.1 Monitor
    
    [ Upstream commit e56ad45e991128bf4db160b75a1d9f647a341d8f ]
    
    Source --> DP2.1 MST hub --> DP1.4/2.1 monitor
    
    When change from DP1.4 to DP2.1 from monitor manual, modes higher than
    4k120 are all cutoff by mode validation. Switch back to DP1.4 gets all
    the modes up to 4k240 available to be enabled by dsc passthrough.
    
    [why]
    Compared to DP1.4 link from hub to monitor, DP2.1 link has larger
    full_pbn value that causes overflow in the process of doing conversion
    from pbn to kbps.
    
    [how]
    Change the data type accordingly to fit into the data limit during
    conversion calculation.
    
    Tested-by: Daniel Wheeler <daniel.wheeler@xxxxxxx>
    Reviewed-by: Wayne Lin <wayne.lin@xxxxxxx>
    Signed-off-by: Fangzhi Zuo <Jerry.Zuo@xxxxxxx>
    Signed-off-by: Rodrigo Siqueira <rodrigo.siqueira@xxxxxxx>
    Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
index 385a5a75fdf87..5858e288b3fd6 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
@@ -1578,16 +1578,16 @@ int pre_validate_dsc(struct drm_atomic_state *state,
 	return ret;
 }
 
-static unsigned int kbps_from_pbn(unsigned int pbn)
+static uint32_t kbps_from_pbn(unsigned int pbn)
 {
-	unsigned int kbps = pbn;
+	uint64_t kbps = (uint64_t)pbn;
 
 	kbps *= (1000000 / PEAK_FACTOR_X1000);
 	kbps *= 8;
 	kbps *= 54;
 	kbps /= 64;
 
-	return kbps;
+	return (uint32_t)kbps;
 }
 
 static bool is_dsc_common_config_possible(struct dc_stream_state *stream,




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux