FAILED: patch "[PATCH] drm/amd/display: fixed integer types and null check locations" failed to apply to 6.6-stable tree
[email protected]
maintainerThe patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.6.y
git checkout FETCH_HEAD
git cherry-pick -x 0484e05d048b66d01d1f3c1d2306010bb57d8738
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024021910-childless-parrot-49c4@gregkh' --subject-prefix 'PATCH 6.6.y' HEAD^..
Possible dependencies:
0484e05d048b ("drm/amd/display: fixed integer types and null check locations") 5f3bce13266e ("drm/amd/display: Request usb4 bw for mst streams") 59f1622a5f05 ("drm/amd/display: Add dpia display mode validation logic") aa5dc05340eb ("drm/amd/display: Fix minor issues in BW Allocation Phase2")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 0484e05d048b66d01d1f3c1d2306010bb57d8738 Mon Sep 17 00:00:00 2001
From: Sohaib Nadeem <[email protected]>
Date: Wed, 31 Jan 2024 16:40:37 -0500
Subject: [PATCH] drm/amd/display: fixed integer types and null check locations
[why]:
issues fixed:
- comparison with wider integer type in loop condition which can cause infinite loops
- pointer dereference before null check
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c +10 -6
@@ -1850,19 +1850,21 @@ static enum bp_result get_firmware_info_v3_2(/* Vega12 */ smu_info_v3_2 = GET_IMAGE(struct atom_smu_info_v3_2,DATA_TABLES (smu_info)); -DC_LOG_BIOS ("gpuclk_ss_percentage (unit of 0.001 percent): %d\n" , smu_info_v3_2->gpuclk_ss_percentage);if (!smu_info_v3_2)return BP_RESULT_BADBIOSTABLE ; +DC_LOG_BIOS ("gpuclk_ss_percentage (unit of 0.001 percent): %d\n" , smu_info_v3_2->gpuclk_ss_percentage); + info->default_engine_clk = smu_info_v3_2->bootup_dcefclk_10khz *10 ; }else if (revision.minor ==3 ) {/* Vega20 */ smu_info_v3_3 = GET_IMAGE(struct atom_smu_info_v3_3,DATA_TABLES (smu_info)); -DC_LOG_BIOS ("gpuclk_ss_percentage (unit of 0.001 percent): %d\n" , smu_info_v3_3->gpuclk_ss_percentage);if (!smu_info_v3_3)return BP_RESULT_BADBIOSTABLE ; +DC_LOG_BIOS ("gpuclk_ss_percentage (unit of 0.001 percent): %d\n" , smu_info_v3_3->gpuclk_ss_percentage); + info->default_engine_clk = smu_info_v3_3->bootup_dcefclk_10khz *10 ; }
@@ -2422,10 +2424,11 @@ static enum bp_result get_integrated_info_v11( info_v11 = GET_IMAGE(struct atom_integrated_system_info_v1_11,DATA_TABLES (integratedsysteminfo)); -DC_LOG_BIOS ("gpuclk_ss_percentage (unit of 0.001 percent): %d\n" , info_v11->gpuclk_ss_percentage);if (info_v11 ==NULL )return BP_RESULT_BADBIOSTABLE ; +DC_LOG_BIOS ("gpuclk_ss_percentage (unit of 0.001 percent): %d\n" , info_v11->gpuclk_ss_percentage); + info->gpu_cap_info =le32_to_cpu (info_v11->gpucapinfo);/*
@@ -2637,11 +2640,12 @@ static enum bp_result get_integrated_info_v2_1( info_v2_1 = GET_IMAGE(struct atom_integrated_system_info_v2_1,DATA_TABLES (integratedsysteminfo)); -DC_LOG_BIOS ("gpuclk_ss_percentage (unit of 0.001 percent): %d\n" , info_v2_1->gpuclk_ss_percentage);if (info_v2_1 ==NULL )return BP_RESULT_BADBIOSTABLE ; +DC_LOG_BIOS ("gpuclk_ss_percentage (unit of 0.001 percent): %d\n" , info_v2_1->gpuclk_ss_percentage); + info->gpu_cap_info =le32_to_cpu (info_v2_1->gpucapinfo);/*
@@ -2799,11 +2803,11 @@ static enum bp_result get_integrated_info_v2_2( info_v2_2 = GET_IMAGE(struct atom_integrated_system_info_v2_2,DATA_TABLES (integratedsysteminfo)); -DC_LOG_BIOS ("gpuclk_ss_percentage (unit of 0.001 percent): %d\n" , info_v2_2->gpuclk_ss_percentage); -if (info_v2_2 ==NULL )return BP_RESULT_BADBIOSTABLE ; +DC_LOG_BIOS ("gpuclk_ss_percentage (unit of 0.001 percent): %d\n" , info_v2_2->gpuclk_ss_percentage); + info->gpu_cap_info =le32_to_cpu (info_v2_2->gpucapinfo);/*
drivers/gpu/drm/amd/display/dc/link/link_validation.c +1 -1
@@ -361,7 +361,7 @@ bool link_validate_dpia_bandwidth(const struct dc_stream_state *stream, const unstruct dc_link *dpia_link[MAX_DPIA_NUM ] = {0 };int num_dpias =0 ; -for (uint8_t i =0 ; i < num_streams; ++i) { +for (unsigned int i =0 ; i < num_streams; ++i) {if (stream[i].signal ==SIGNAL_TYPE_DISPLAY_PORT ) {/* new dpia sst stream, check whether it exceeds max dpia */ if (num_dpias >=MAX_DPIA_NUM )