From: Yi-Ling Chen <yi-ling.ch...@amd.com>

[Why]
Depend on res_pool->res_cap->num_timing_generator to query timing
gernerator information, it would case underflow at the fused display
pipes case.
Due to the res_pool->res_cap->num_timing_generator records default
timing generator resource built in driver, not the current chip.

[How]
Some ASICs would be fused display pipes less than the default setting.
In dcnxx_resource_construct function, driver would obatin real timing
generator count and store it into res_pool->timing_generator_count.

Reviewed-by: Anthony Koo <anthony....@amd.com>
Acked-by: Rodrigo Siqueira <rodrigo.sique...@amd.com>
Signed-off-by: Yi-Ling Chen <yi-ling.ch...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 
b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
index f19015413ce3..530a72e3eefe 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
@@ -1365,7 +1365,12 @@ void dcn10_init_pipes(struct dc *dc, struct dc_state 
*context)
                uint32_t opp_id_src1 = OPP_ID_INVALID;
 
                // Step 1: To find out which OPTC is running & OPTC DSC is ON
-               for (i = 0; i < dc->res_pool->res_cap->num_timing_generator; 
i++) {
+               // We can't use res_pool->res_cap->num_timing_generator to check
+               // Because it records display pipes default setting built in 
driver,
+               // not display pipes of the current chip.
+               // Some ASICs would be fused display pipes less than the 
default setting.
+               // In dcnxx_resource_construct function, driver would obatin 
real information.
+               for (i = 0; i < dc->res_pool->timing_generator_count; i++) {
                        uint32_t optc_dsc_state = 0;
                        struct timing_generator *tg = 
dc->res_pool->timing_generators[i];
 
-- 
2.25.1

Reply via email to