drm/amd/display: Fix signed/unsigned comparison mismatches
authorGaghik Khachatrian <gaghik.khachatrian@amd.com>
Sat, 25 Apr 2026 18:07:05 +0000 (14:07 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 11 May 2026 20:10:20 +0000 (16:10 -0400)
[Why]
Address signed/unsigned comparison warnings in DC paths
to keep builds warning-clean and improve type safety at comparison boundaries.
Most warnings came from signed loop/index temporaries compared against unsigned
counters (for example pipe_count, num_states, and resource-cap counters), plus a
small number of mixed signed/unsigned checks in writeback and clock-related assertions.

[How]
Aligned iterator and temporary variable types with the semantic type of the compared
bounds. Used unsigned indices for loops bounded by unsigned counters, and retained signed
types where values are semantically signed (for example arithmetic with sentinel or signed
intermediate values). Where mixed signed/unsigned comparisons are intentional, applied
explicit boundary casts or split assertions (for example non-negative signed-cap
checks before unsigned comparisons) instead of broad type changes.

No functional behavior changes are intended; this is a warning-resolution and
type-alignment cleanup.

Reviewed-by: Dillon Varone <dillon.varone@amd.com>
Signed-off-by: Gaghik Khachatrian <gaghik.khachatrian@amd.com>
Signed-off-by: James Lin <pinglei.lin@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
28 files changed:
drivers/gpu/drm/amd/display/dc/core/dc.c
drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c
drivers/gpu/drm/amd/display/dc/dml/dcn301/dcn301_fpu.c
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
drivers/gpu/drm/amd/display/dc/resource/dce110/dce110_resource.c
drivers/gpu/drm/amd/display/dc/resource/dce112/dce112_resource.c
drivers/gpu/drm/amd/display/dc/resource/dce120/dce120_resource.c
drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn10/dcn10_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn20/dcn20_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn21/dcn21_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn30/dcn30_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn301/dcn301_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn302/dcn302_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn303/dcn303_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn31/dcn31_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn314/dcn314_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn315/dcn315_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn316/dcn316_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource_helpers.c
drivers/gpu/drm/amd/display/dc/resource/dcn321/dcn321_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn36/dcn36_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn42/dcn42_resource.c

index 92190ea..4cd9da6 100644 (file)
@@ -3844,7 +3844,7 @@ static void program_cursor_attributes_sequence(
        struct pipe_ctx *pipe_to_program = NULL;
        bool enable_cursor_offload = dc_dmub_srv_is_cursor_offload_enabled(dc);
 
-       for (k = 0; k < dc->res_pool->pipe_count; k++) {
+       for (k = 0; k < (int)dc->res_pool->pipe_count; k++) {
                struct pipe_ctx *tmp_pipe = &context->res_ctx.pipe_ctx[k];
 
                if (tmp_pipe->stream != stream)
@@ -3892,7 +3892,7 @@ static void program_cursor_position_sequence(
        struct pipe_ctx *pipe_to_program = NULL;
        bool enable_cursor_offload = dc_dmub_srv_is_cursor_offload_enabled(dc);
 
-       for (k = 0; k < dc->res_pool->pipe_count; k++) {
+       for (k = 0; k < (int)dc->res_pool->pipe_count; k++) {
                struct pipe_ctx *tmp_pipe = &context->res_ctx.pipe_ctx[k];
 
                if (tmp_pipe->stream != stream ||
@@ -4082,7 +4082,7 @@ static void commit_planes_do_stream_update_sequence(struct dc *dc,
        *num_steps = 0; // Initialize to 0
 
        // Stream updates
-       for (j = 0; j < dc->res_pool->pipe_count; j++) {
+       for (j = 0; j < (int)dc->res_pool->pipe_count; j++) {
                struct pipe_ctx *pipe_ctx = &context->res_ctx.pipe_ctx[j];
 
                if (resource_is_pipe_type(pipe_ctx, OTG_MASTER) && pipe_ctx->stream == stream) {
index fac5a50..71710d9 100644 (file)
@@ -2217,7 +2217,7 @@ static void calculate_wm_set_for_vlevel(int vlevel,
 {
        double dram_clock_change_latency_cached = dml->soc.dram_clock_change_latency_us;
 
-       ASSERT(vlevel < dml->soc.num_states);
+       ASSERT(vlevel < (int)dml->soc.num_states);
        /* only pipe 0 is read for voltage and dcf/soc clocks */
        pipes[0].clks_cfg.voltage = vlevel;
        pipes[0].clks_cfg.dcfclk_mhz = dml->soc.clock_limits[vlevel].dcfclk_mhz;
index 81ef95f..c4b73ac 100644 (file)
@@ -298,7 +298,7 @@ static void calculate_wm_set_for_vlevel(int vlevel,
 {
        double dram_clock_change_latency_cached = dml->soc.dram_clock_change_latency_us;
 
-       ASSERT(vlevel < dml->soc.num_states);
+       ASSERT(vlevel < (int)dml->soc.num_states);
        /* only pipe 0 is read for voltage and dcf/soc clocks */
        pipes[0].clks_cfg.voltage = vlevel;
        pipes[0].clks_cfg.dcfclk_mhz = dml->soc.clock_limits[vlevel].dcfclk_mhz;
index a2c8d4b..3c70d68 100644 (file)
@@ -262,7 +262,7 @@ static bool dcn30_set_mpc_shaper_3dlut(struct pipe_ctx *pipe_ctx,
        struct dc *dc = pipe_ctx->stream->ctx->dc;
        struct mpc *mpc = pipe_ctx->stream_res.opp->ctx->dc->res_pool->mpc;
        bool result = false;
-       int acquired_rmu = 0;
+       uint32_t acquired_rmu = 0;
        int mpcc_id_projected = 0;
 
        const struct pwl_params *shaper_lut = NULL;
@@ -439,7 +439,7 @@ static void dcn30_set_writeback(
        ASSERT(wb_info->dwb_pipe_inst < MAX_DWB_PIPES);
        ASSERT(wb_info->wb_enabled);
        ASSERT(wb_info->mpcc_inst >= 0);
-       ASSERT(wb_info->mpcc_inst < dc->res_pool->mpcc_count);
+       ASSERT(wb_info->mpcc_inst < (int)dc->res_pool->mpcc_count);
        mcif_wb = dc->res_pool->mcif_wb[wb_info->dwb_pipe_inst];
        mcif_buf_params = &wb_info->mcif_buf_params;
 
@@ -593,7 +593,9 @@ void dcn30_program_all_writeback_pipes_in_tree(
        }
        ASSERT(stream_status);
 
-       ASSERT(stream->num_wb_info <= dc->res_pool->res_cap->num_dwb);
+       // Assert non-negative signed capacity first.
+       ASSERT(dc->res_pool->res_cap->num_dwb >= 0);
+       ASSERT(stream->num_wb_info <= (unsigned int)dc->res_pool->res_cap->num_dwb);
        /* For each writeback pipe */
        for (i_wb = 0; i_wb < stream->num_wb_info; i_wb++) {
 
index caafebe..b92d4f3 100644 (file)
@@ -804,7 +804,7 @@ static void dce100_resource_destruct(struct dce110_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -869,7 +869,7 @@ enum dc_status dce100_validate_bandwidth(
        enum dc_validate_mode validate_mode)
 {
        (void)validate_mode;
-       int i;
+       unsigned int i;
        bool at_least_one_pipe = false;
        struct dc_stream_state *stream = NULL;
        const uint32_t max_pix_clk_khz = max(dc->clk_mgr->clks.max_supported_dispclk_khz, 400000);
@@ -978,7 +978,7 @@ struct stream_encoder *dce100_find_first_free_match_stream_enc_for_link(
                const struct resource_pool *pool,
                struct dc_stream_state *stream)
 {
-       int i;
+       unsigned int i;
        int j = -1;
        struct dc_link *link = stream->link;
        enum engine_id preferred_engine = link->link_enc->preferred_engine;
@@ -995,7 +995,7 @@ struct stream_encoder *dce100_find_first_free_match_stream_enc_for_link(
                        /* Store first available for MST second display
                         * in daisy chain use case
                         */
-                       j = i;
+                       j = (int)i;
                        if (pool->stream_enc[i]->id == preferred_engine)
                                return pool->stream_enc[i];
                }
@@ -1175,7 +1175,7 @@ static bool dce100_resource_construct(
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                pool->base.engines[i] = dce100_aux_engine_create(ctx, i);
                if (pool->base.engines[i] == NULL) {
                        BREAK_TO_DEBUGGER();
index 8a0b4ef..19252b2 100644 (file)
@@ -839,7 +839,7 @@ static void dce110_resource_destruct(struct dce110_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1213,7 +1213,7 @@ struct stream_encoder *dce110_find_first_free_match_stream_enc_for_link(
                const struct resource_pool *pool,
                struct dc_stream_state *stream)
 {
-       int i;
+       unsigned int i;
        int j = -1;
        struct dc_link *link = stream->link;
 
@@ -1223,7 +1223,7 @@ struct stream_encoder *dce110_find_first_free_match_stream_enc_for_link(
                        /* Store first available for MST second display
                         * in daisy chain use case
                         */
-                       j = i;
+                       j = (int)i;
                        if (pool->stream_enc[i]->id ==
                                        link->link_enc->preferred_engine)
                                return pool->stream_enc[i];
@@ -1492,7 +1492,7 @@ static bool dce110_resource_construct(
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                pool->base.engines[i] = dce110_aux_engine_create(ctx, i);
                if (pool->base.engines[i] == NULL) {
                        BREAK_TO_DEBUGGER();
index 458b14e..1deba53 100644 (file)
@@ -804,7 +804,7 @@ static void dce112_resource_destruct(struct dce110_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1382,7 +1382,7 @@ static bool dce112_resource_construct(
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                pool->base.engines[i] = dce112_aux_engine_create(ctx, i);
                if (pool->base.engines[i] == NULL) {
                        BREAK_TO_DEBUGGER();
index 56bbf9d..38d3b87 100644 (file)
@@ -626,7 +626,7 @@ static void dce120_resource_destruct(struct dce110_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -927,7 +927,7 @@ static void bw_calcs_data_update_from_pplib(struct dc *dc)
        struct dm_pp_clock_levels_with_latency eng_clks = {0};
        struct dm_pp_clock_levels_with_latency mem_clks = {0};
        struct dm_pp_wm_sets_with_clock_ranges clk_ranges = {0};
-       int i;
+       unsigned int i;
        unsigned int clk;
        unsigned int latency;
        /*original logic in dal3*/
@@ -1227,7 +1227,7 @@ static bool dce120_resource_construct(
                j++;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                pool->base.engines[i] = dce120_aux_engine_create(ctx, i);
                if (pool->base.engines[i] == NULL) {
                        BREAK_TO_DEBUGGER();
index 6c00497..26820d3 100644 (file)
@@ -854,7 +854,7 @@ static void dce80_resource_destruct(struct dce110_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1058,7 +1058,7 @@ static bool dce80_construct(
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                pool->base.engines[i] = dce80_aux_engine_create(ctx, i);
                if (pool->base.engines[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -1258,7 +1258,7 @@ static bool dce81_construct(
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                pool->base.engines[i] = dce80_aux_engine_create(ctx, i);
                if (pool->base.engines[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -1456,7 +1456,7 @@ static bool dce83_construct(
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                pool->base.engines[i] = dce80_aux_engine_create(ctx, i);
                if (pool->base.engines[i] == NULL) {
                        BREAK_TO_DEBUGGER();
index 943635c..db1b6a1 100644 (file)
@@ -976,7 +976,7 @@ static void dcn10_resource_destruct(struct dcn10_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                kfree(pool->base.hw_i2cs[i]);
@@ -1181,7 +1181,8 @@ static enum dc_status dcn10_validate_plane(const struct dc_plane_state *plane_st
 {
        if (plane_state->format >= SURFACE_PIXEL_FORMAT_VIDEO_BEGIN
                        && caps->max_video_width != 0
-                       && plane_state->src_rect.width > caps->max_video_width)
+                       && plane_state->src_rect.width > 0
+                       && (unsigned int)plane_state->src_rect.width > caps->max_video_width)
                return DC_FAIL_SURFACE_VALIDATE;
 
        return DC_OK;
@@ -1266,7 +1267,7 @@ struct stream_encoder *dcn10_find_first_free_match_stream_enc_for_link(
                const struct resource_pool *pool,
                struct dc_stream_state *stream)
 {
-       int i;
+       unsigned int i;
        int j = -1;
        struct dc_link *link = stream->link;
 
@@ -1278,7 +1279,7 @@ struct stream_encoder *dcn10_find_first_free_match_stream_enc_for_link(
                         */
 
                        if (pool->stream_enc[i]->id != ENGINE_ID_VIRTUAL)
-                               j = i;
+                               j = (int)i;
 
                        if (link->ep_type == DISPLAY_ENDPOINT_PHY && pool->stream_enc[i]->id ==
                                        link->link_enc->preferred_engine)
@@ -1340,7 +1341,7 @@ static uint32_t read_pipe_fuses(struct dc_context *ctx)
 
 static bool verify_clock_values(struct dm_pp_clock_levels_with_voltage *clks)
 {
-       int i;
+       unsigned int i;
 
        if (clks->num_levels == 0)
                return false;
@@ -1358,7 +1359,7 @@ static bool dcn10_resource_construct(
        struct dc *dc,
        struct dcn10_resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        int j;
        struct dc_context *ctx = dc->ctx;
        uint32_t pipe_fuses = read_pipe_fuses(ctx);
@@ -1653,7 +1654,7 @@ static bool dcn10_resource_construct(
                j++;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                pool->base.engines[i] = dcn10_aux_engine_create(ctx, i);
                if (pool->base.engines[i] == NULL) {
                        BREAK_TO_DEBUGGER();
index 4bc7777..95abc4c 100644 (file)
@@ -1120,7 +1120,7 @@ static void dcn20_resource_destruct(struct dcn20_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1156,7 +1156,7 @@ static void dcn20_resource_destruct(struct dcn20_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1169,19 +1169,19 @@ static void dcn20_resource_destruct(struct dcn20_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN20_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1415,7 +1415,7 @@ enum dc_status dcn20_add_dsc_to_stream_resource(struct dc *dc,
                struct dc_stream_state *dc_stream)
 {
        enum dc_status result = DC_OK;
-       int i;
+       unsigned int i;
 
        /* Get a DSC if required and available */
        for (i = 0; i < dc->res_pool->pipe_count; i++) {
@@ -1636,7 +1636,8 @@ void dcn20_set_mcif_arb_params(
 {
        enum mmhubbub_wbif_mode wbif_mode;
        struct mcif_arb_params *wb_arb_params;
-       int i, j, dwb_pipe;
+       int j, dwb_pipe;
+       unsigned int i;
 
        /* Writeback MCIF_WB arbitration parameters */
        dwb_pipe = 0;
@@ -1680,7 +1681,7 @@ void dcn20_set_mcif_arb_params(
 
 bool dcn20_validate_dsc(struct dc *dc, struct dc_state *new_ctx)
 {
-       int i;
+       unsigned int i;
 
        /* Validate DSC config, dsc count validation is already done */
        for (i = 0; i < dc->res_pool->pipe_count; i++) {
@@ -1797,7 +1798,7 @@ void dcn20_merge_pipes_for_validate(
                struct dc *dc,
                struct dc_state *context)
 {
-       int i;
+       unsigned int i;
 
        /* merge previously split odm pipes since mode support needs to make the decision */
        for (i = 0; i < dc->res_pool->pipe_count; i++) {
@@ -1864,7 +1865,8 @@ int dcn20_validate_apply_pipe_split_flags(
                int *split,
                bool *merge)
 {
-       int i, pipe_idx, vlevel_split;
+       unsigned int i;
+       int pipe_idx, vlevel_split;
        int plane_count = 0;
        bool force_split = false;
        bool avoid_split = dc->debug.pipe_split_policy == MPC_SPLIT_AVOID;
@@ -1897,7 +1899,7 @@ int dcn20_validate_apply_pipe_split_flags(
                                (!pipe->top_pipe || pipe->top_pipe->plane_state != pipe->plane_state))
                        ++plane_count;
        }
-       if (plane_count > dc->res_pool->pipe_count / 2)
+       if ((unsigned int)plane_count > dc->res_pool->pipe_count / 2)
                avoid_split = true;
 
        /* W/A: Mode timing with borders may not work well with pipe split, avoid for this corner case */
@@ -1923,12 +1925,12 @@ int dcn20_validate_apply_pipe_split_flags(
                        if (!context->res_ctx.pipe_ctx[i].stream)
                                continue;
 
-                       for (vlevel_split = vlevel; vlevel <= context->bw_ctx.dml.soc.num_states; vlevel++)
+                       for (vlevel_split = vlevel; (unsigned int)vlevel <= context->bw_ctx.dml.soc.num_states; vlevel++)
                                if (v->NoOfDPP[vlevel][0][pipe_idx] == 1 &&
                                                v->ModeSupport[vlevel][0])
                                        break;
                        /* Impossible to not split this pipe */
-                       if (vlevel > context->bw_ctx.dml.soc.num_states)
+                       if ((unsigned int)vlevel > context->bw_ctx.dml.soc.num_states)
                                vlevel = vlevel_split;
                        else
                                max_mpc_comb = 0;
@@ -2064,7 +2066,8 @@ bool dcn20_fast_validate_bw(
        bool out = false;
        int split[MAX_PIPES] = { 0 };
        bool merge[MAX_PIPES] = { false };
-       int pipe_cnt, i, pipe_idx, vlevel;
+       int pipe_cnt, pipe_idx, vlevel;
+       unsigned int i;
 
        ASSERT(pipes);
        if (!pipes)
@@ -2083,7 +2086,7 @@ bool dcn20_fast_validate_bw(
 
        vlevel = dml_get_voltage_level(&context->bw_ctx.dml, pipes, pipe_cnt);
 
-       if (vlevel > context->bw_ctx.dml.soc.num_states)
+       if ((unsigned int)vlevel > context->bw_ctx.dml.soc.num_states)
                goto validate_fail;
 
        vlevel = dcn20_validate_apply_pipe_split_flags(dc, context, vlevel, split, merge);
@@ -2289,7 +2292,7 @@ static const struct resource_funcs dcn20_res_pool_funcs = {
 
 bool dcn20_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -2311,7 +2314,7 @@ bool dcn20_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 
 bool dcn20_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        ASSERT(pipe_count > 0);
@@ -2569,7 +2572,7 @@ static bool dcn20_resource_construct(
                                CLOCK_SOURCE_ID_DP_DTO,
                                &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->base.clk_src_count; i++) {
+       for (i = 0; (unsigned int)i < pool->base.clk_src_count; i++) {
                if (pool->base.clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -2617,12 +2620,12 @@ static bool dcn20_resource_construct(
 
        if (!dc->debug.disable_pplib_wm_range) {
                struct pp_smu_wm_range_sets ranges = {0};
-               int i = 0;
+               int j = 0;
 
                ranges.num_reader_wm_sets = 0;
 
                if (loaded_bb->num_states == 1) {
-                       ranges.reader_wm_sets[0].wm_inst = (uint8_t)i;
+                       ranges.reader_wm_sets[0].wm_inst = (uint8_t)j;
                        ranges.reader_wm_sets[0].min_drain_clk_mhz = PP_SMU_WM_SET_RANGE_CLK_UNCONSTRAINED_MIN;
                        ranges.reader_wm_sets[0].max_drain_clk_mhz = PP_SMU_WM_SET_RANGE_CLK_UNCONSTRAINED_MAX;
                        ranges.reader_wm_sets[0].min_fill_clk_mhz = PP_SMU_WM_SET_RANGE_CLK_UNCONSTRAINED_MIN;
@@ -2630,15 +2633,14 @@ static bool dcn20_resource_construct(
 
                        ranges.num_reader_wm_sets = 1;
                } else if (loaded_bb->num_states > 1) {
-                       for (i = 0; i < 4 && i < loaded_bb->num_states; i++) {
-                               ranges.reader_wm_sets[i].wm_inst = (uint8_t)i;
-                               ranges.reader_wm_sets[i].min_drain_clk_mhz = PP_SMU_WM_SET_RANGE_CLK_UNCONSTRAINED_MIN;
-                               ranges.reader_wm_sets[i].max_drain_clk_mhz = PP_SMU_WM_SET_RANGE_CLK_UNCONSTRAINED_MAX;
+                       for (j = 0; j < 4 && (unsigned int)j < loaded_bb->num_states; j++) {
+                               ranges.reader_wm_sets[j].wm_inst = (uint8_t)j;
+                               ranges.reader_wm_sets[j].min_drain_clk_mhz = PP_SMU_WM_SET_RANGE_CLK_UNCONSTRAINED_MIN;
+                               ranges.reader_wm_sets[j].max_drain_clk_mhz = PP_SMU_WM_SET_RANGE_CLK_UNCONSTRAINED_MAX;
                                DC_FP_START();
-                               dcn20_fpu_set_wm_ranges(i, &ranges, loaded_bb);
+                               dcn20_fpu_set_wm_ranges(j, &ranges, loaded_bb);
                                DC_FP_END();
-
-                               ranges.num_reader_wm_sets = i + 1;
+                               ranges.num_reader_wm_sets = j + 1;
                        }
 
                        ranges.reader_wm_sets[0].min_fill_clk_mhz = PP_SMU_WM_SET_RANGE_CLK_UNCONSTRAINED_MIN;
@@ -2664,7 +2666,7 @@ static bool dcn20_resource_construct(
                goto create_fail;
 
        /* mem input -> ipp -> dpp -> opp -> TG */
-       for (i = 0; i < pool->base.pipe_count; i++) {
+       for (i = 0; (unsigned int)i < pool->base.pipe_count; i++) {
                pool->base.hubps[i] = dcn20_hubp_create(ctx, i);
                if (pool->base.hubps[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -2792,7 +2794,7 @@ static bool dcn20_resource_construct(
 
        dc->caps.max_planes =  pool->base.pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; (unsigned int)i < dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 2;
index 9001423..b653f95 100644 (file)
@@ -684,7 +684,7 @@ static void dcn21_resource_destruct(struct dcn21_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -719,7 +719,7 @@ static void dcn21_resource_destruct(struct dcn21_resource_pool *pool)
                        dal_irq_service_destroy(&pool->base.irqs);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -732,19 +732,19 @@ static void dcn21_resource_destruct(struct dcn21_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN20_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -804,7 +804,8 @@ bool dcn21_fast_validate_bw(struct dc *dc,
        bool out = false;
        int split[MAX_PIPES] = { 0 };
        bool merge[MAX_PIPES] = { false };
-       int pipe_cnt, i, pipe_idx, vlevel;
+       int pipe_cnt, pipe_idx, vlevel;
+       unsigned int i;
 
        ASSERT(pipes);
        if (!pipes)
@@ -829,7 +830,7 @@ bool dcn21_fast_validate_bw(struct dc *dc,
                                dm_allow_self_refresh_and_mclk_switch;
        vlevel = dml_get_voltage_level(&context->bw_ctx.dml, pipes, pipe_cnt);
 
-       if (vlevel > context->bw_ctx.dml.soc.num_states) {
+       if ((unsigned int)vlevel > context->bw_ctx.dml.soc.num_states) {
 
                if (allow_self_refresh_only) {
                        /*
@@ -842,7 +843,7 @@ bool dcn21_fast_validate_bw(struct dc *dc,
                        context->bw_ctx.dml.soc.allow_dram_self_refresh_or_dram_clock_change_in_vblank =
                                                dm_allow_self_refresh;
                        vlevel = dml_get_voltage_level(&context->bw_ctx.dml, pipes, pipe_cnt);
-                       if (vlevel > context->bw_ctx.dml.soc.num_states)
+                       if ((unsigned int)vlevel > context->bw_ctx.dml.soc.num_states)
                                goto validate_fail;
                } else {
                        goto validate_fail;
@@ -1427,7 +1428,8 @@ static bool dcn21_resource_construct(
        struct dc *dc,
        struct dcn21_resource_pool *pool)
 {
-       int i, j;
+       unsigned int i;
+       int j;
        struct dc_context *ctx = dc->ctx;
        struct irq_service_init_data init_data;
        uint32_t pipe_fuses = read_pipe_fuses(ctx);
@@ -1659,7 +1661,7 @@ static bool dcn21_resource_construct(
                j++;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                pool->base.engines[i] = dcn21_aux_engine_create(ctx, i);
                if (pool->base.engines[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -1703,11 +1705,11 @@ static bool dcn21_resource_construct(
                goto create_fail;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                pool->base.dscs[i] = dcn21_dsc_create(ctx, i);
                if (pool->base.dscs[i] == NULL) {
                        BREAK_TO_DEBUGGER();
-                       dm_error("DC: failed to create display stream compressor %d!\n", i);
+                       dm_error("DC: failed to create display stream compressor %u!\n", i);
                        goto create_fail;
                }
        }
index 7ba02a4..4a7f2c5 100644 (file)
@@ -1111,7 +1111,7 @@ static void dcn30_resource_destruct(struct dcn30_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1147,7 +1147,7 @@ static void dcn30_resource_destruct(struct dcn30_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1160,19 +1160,19 @@ static void dcn30_resource_destruct(struct dcn30_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1195,7 +1195,7 @@ static void dcn30_resource_destruct(struct dcn30_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1250,7 +1250,7 @@ static struct hubp *dcn30_hubp_create(
 
 static bool dcn30_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1274,7 +1274,7 @@ static bool dcn30_dwbc_create(struct dc_context *ctx, struct resource_pool *pool
 
 static bool dcn30_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1355,7 +1355,8 @@ int dcn30_populate_dml_pipes_from_context(
        display_e2e_pipe_params_st *pipes,
        enum dc_validate_mode validate_mode)
 {
-       int i, pipe_cnt;
+       int pipe_cnt;
+       unsigned int i;
        struct resource_context *res_ctx = &context->res_ctx;
 
        DC_FP_START();
@@ -1413,7 +1414,8 @@ void dcn30_set_mcif_arb_params(
        enum mmhubbub_wbif_mode wbif_mode;
        struct display_mode_lib *dml = &context->bw_ctx.dml;
        struct mcif_arb_params *wb_arb_params;
-       int i, j, dwb_pipe;
+       int j, dwb_pipe;
+       unsigned int i;
 
        /* Writeback MCIF_WB arbitration parameters */
        dwb_pipe = 0;
@@ -1669,7 +1671,8 @@ noinline bool dcn30_internal_validate_bw(
        int split[MAX_PIPES] = { 0 };
        bool merge[MAX_PIPES] = { false };
        bool newly_split[MAX_PIPES] = { false };
-       int pipe_cnt, i, pipe_idx, vlevel = 0;
+       unsigned int i;
+       int pipe_cnt, pipe_idx, vlevel = 0;
        struct vba_vars_st *vba = &context->bw_ctx.dml.vba;
 
        ASSERT(pipes);
@@ -1701,7 +1704,7 @@ noinline bool dcn30_internal_validate_bw(
                        dm_allow_self_refresh_and_mclk_switch;
                vlevel = dml_get_voltage_level(&context->bw_ctx.dml, pipes, pipe_cnt);
                /* This may adjust vlevel and maxMpcComb */
-               if (vlevel < context->bw_ctx.dml.soc.num_states)
+               if ((unsigned int)vlevel < context->bw_ctx.dml.soc.num_states)
                        vlevel = dcn20_validate_apply_pipe_split_flags(dc, context, vlevel, split, merge);
        }
        if (allow_self_refresh_only &&
@@ -1719,7 +1722,7 @@ noinline bool dcn30_internal_validate_bw(
                        dm_allow_self_refresh;
 
                vlevel = dml_get_voltage_level(&context->bw_ctx.dml, pipes, pipe_cnt);
-               if (vlevel < context->bw_ctx.dml.soc.num_states) {
+               if ((unsigned int)vlevel < context->bw_ctx.dml.soc.num_states) {
                        memset(split, 0, sizeof(split));
                        memset(merge, 0, sizeof(merge));
                        vlevel = dcn20_validate_apply_pipe_split_flags(dc, context, vlevel, split, merge);
@@ -2159,13 +2162,13 @@ void dcn30_update_bw_bounding_box(struct dc *dc, struct clk_bw_params *bw_params
        if (bw_params->clk_table.entries[0].memclk_mhz) {
 
                for (i = 0; i < MAX_NUM_DPM_LVL; i++) {
-                       if (bw_params->clk_table.entries[i].dcfclk_mhz > dcn30_bb_max_clk.max_dcfclk_mhz)
+                       if (bw_params->clk_table.entries[i].dcfclk_mhz > (unsigned int)dcn30_bb_max_clk.max_dcfclk_mhz)
                                dcn30_bb_max_clk.max_dcfclk_mhz = bw_params->clk_table.entries[i].dcfclk_mhz;
-                       if (bw_params->clk_table.entries[i].dispclk_mhz > dcn30_bb_max_clk.max_dispclk_mhz)
+                       if (bw_params->clk_table.entries[i].dispclk_mhz > (unsigned int)dcn30_bb_max_clk.max_dispclk_mhz)
                                dcn30_bb_max_clk.max_dispclk_mhz = bw_params->clk_table.entries[i].dispclk_mhz;
-                       if (bw_params->clk_table.entries[i].dppclk_mhz > dcn30_bb_max_clk.max_dppclk_mhz)
+                       if (bw_params->clk_table.entries[i].dppclk_mhz > (unsigned int)dcn30_bb_max_clk.max_dppclk_mhz)
                                dcn30_bb_max_clk.max_dppclk_mhz = bw_params->clk_table.entries[i].dppclk_mhz;
-                       if (bw_params->clk_table.entries[i].phyclk_mhz > dcn30_bb_max_clk.max_phyclk_mhz)
+                       if (bw_params->clk_table.entries[i].phyclk_mhz > (unsigned int)dcn30_bb_max_clk.max_phyclk_mhz)
                                dcn30_bb_max_clk.max_phyclk_mhz = bw_params->clk_table.entries[i].phyclk_mhz;
                }
 
@@ -2173,14 +2176,14 @@ void dcn30_update_bw_bounding_box(struct dc *dc, struct clk_bw_params *bw_params
                dcn30_fpu_update_max_clk(&dcn30_bb_max_clk);
                DC_FP_END();
 
-               if (dcn30_bb_max_clk.max_dcfclk_mhz > dcfclk_sta_targets[num_dcfclk_sta_targets-1]) {
+               if ((unsigned int)dcn30_bb_max_clk.max_dcfclk_mhz > dcfclk_sta_targets[num_dcfclk_sta_targets-1]) {
                        // If max DCFCLK is greater than the max DCFCLK STA target, insert into the DCFCLK STA target array
                        dcfclk_sta_targets[num_dcfclk_sta_targets] = dcn30_bb_max_clk.max_dcfclk_mhz;
                        num_dcfclk_sta_targets++;
-               } else if (dcn30_bb_max_clk.max_dcfclk_mhz < dcfclk_sta_targets[num_dcfclk_sta_targets-1]) {
+               } else if ((unsigned int)dcn30_bb_max_clk.max_dcfclk_mhz < dcfclk_sta_targets[num_dcfclk_sta_targets-1]) {
                        // If max DCFCLK is less than the max DCFCLK STA target, cap values and remove duplicates
                        for (i = 0; i < num_dcfclk_sta_targets; i++) {
-                               if (dcfclk_sta_targets[i] > dcn30_bb_max_clk.max_dcfclk_mhz) {
+                               if (dcfclk_sta_targets[i] > (unsigned int)dcn30_bb_max_clk.max_dcfclk_mhz) {
                                        dcfclk_sta_targets[i] = dcn30_bb_max_clk.max_dcfclk_mhz;
                                        break;
                                }
@@ -2232,7 +2235,7 @@ void dcn30_update_bw_bounding_box(struct dc *dc, struct clk_bw_params *bw_params
                                dcfclk_mhz[num_states] = dcfclk_sta_targets[i];
                                dram_speed_mts[num_states++] = optimal_uclk_for_dcfclk_sta_targets[i++];
                        } else {
-                               if (j < num_uclk_states && optimal_dcfclk_for_uclk[j] <= dcn30_bb_max_clk.max_dcfclk_mhz) {
+                               if (j < num_uclk_states && optimal_dcfclk_for_uclk[j] <= (unsigned int)dcn30_bb_max_clk.max_dcfclk_mhz) {
                                        dcfclk_mhz[num_states] = optimal_dcfclk_for_uclk[j];
                                        dram_speed_mts[num_states++] = bw_params->clk_table.entries[j++].memclk_mhz * 16;
                                } else {
@@ -2247,7 +2250,7 @@ void dcn30_update_bw_bounding_box(struct dc *dc, struct clk_bw_params *bw_params
                }
 
                while (j < num_uclk_states && num_states < DC__VOLTAGE_STATES &&
-                               optimal_dcfclk_for_uclk[j] <= dcn30_bb_max_clk.max_dcfclk_mhz) {
+                               optimal_dcfclk_for_uclk[j] <= (unsigned int)dcn30_bb_max_clk.max_dcfclk_mhz) {
                        dcfclk_mhz[num_states] = optimal_dcfclk_for_uclk[j];
                        dram_speed_mts[num_states++] = bw_params->clk_table.entries[j++].memclk_mhz * 16;
                }
@@ -2307,7 +2310,7 @@ static bool dcn30_resource_construct(
        struct dc *dc,
        struct dcn30_resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        struct dc_context *ctx = dc->ctx;
        struct irq_service_init_data init_data;
        struct ddc_service_init_data ddc_init_data = {0};
@@ -2529,7 +2532,7 @@ static bool dcn30_resource_construct(
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                pool->base.opps[i] = dcn30_opp_create(ctx, i);
                if (pool->base.opps[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -2539,7 +2542,7 @@ static bool dcn30_resource_construct(
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                pool->base.timing_generators[i] = dcn30_timing_generator_create(
                                ctx, i);
                if (pool->base.timing_generators[i] == NULL) {
@@ -2559,13 +2562,13 @@ static bool dcn30_resource_construct(
        }
 
        /* ABM */
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                pool->base.multiple_abms[i] = dmub_abm_create(ctx,
                                &abm_regs[i],
                                &abm_shift,
                                &abm_mask);
                if (pool->base.multiple_abms[i] == NULL) {
-                       dm_error("DC: failed to create abm for pipe %d!\n", i);
+                       dm_error("DC: failed to create abm for pipe %u!\n", i);
                        BREAK_TO_DEBUGGER();
                        goto create_fail;
                }
@@ -2578,11 +2581,11 @@ static bool dcn30_resource_construct(
                goto create_fail;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                pool->base.dscs[i] = dcn30_dsc_create(ctx, i);
                if (pool->base.dscs[i] == NULL) {
                        BREAK_TO_DEBUGGER();
-                       dm_error("DC: failed to create display stream compressor %d!\n", i);
+                       dm_error("DC: failed to create display stream compressor %u!\n", i);
                        goto create_fail;
                }
        }
@@ -2601,7 +2604,7 @@ static bool dcn30_resource_construct(
        }
 
        /* AUX and I2C */
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                pool->base.engines[i] = dcn30_aux_engine_create(ctx, i);
                if (pool->base.engines[i] == NULL) {
                        BREAK_TO_DEBUGGER();
index 05e59b6..0ecd3a2 100644 (file)
@@ -1082,7 +1082,7 @@ static void dcn301_destruct(struct dcn301_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1118,7 +1118,7 @@ static void dcn301_destruct(struct dcn301_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1131,19 +1131,19 @@ static void dcn301_destruct(struct dcn301_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1166,7 +1166,7 @@ static void dcn301_destruct(struct dcn301_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1182,7 +1182,7 @@ static void dcn301_destruct(struct dcn301_resource_pool *pool)
                pool->base.dp_clock_source = NULL;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.multiple_abms[i] != NULL)
                        dce_abm_destroy(&pool->base.multiple_abms[i]);
        }
@@ -1210,7 +1210,7 @@ static struct hubp *dcn301_hubp_create(struct dc_context *ctx, uint32_t inst)
 
 static bool dcn301_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1234,7 +1234,7 @@ static bool dcn301_dwbc_create(struct dc_context *ctx, struct resource_pool *poo
 
 static bool dcn301_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1444,7 +1444,8 @@ static bool dcn301_resource_construct(
        struct dc *dc,
        struct dcn301_resource_pool *pool)
 {
-       int i, j;
+       int j;
+       unsigned int i;
        struct dc_context *ctx = dc->ctx;
        struct irq_service_init_data init_data;
        uint32_t pipe_fuses = read_pipe_fuses(ctx);
@@ -1676,13 +1677,13 @@ static bool dcn301_resource_construct(
 
        /* ABM (or ABMs for NV2x) */
        /* TODO: */
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                pool->base.multiple_abms[i] = dmub_abm_create(ctx,
                                &abm_regs[i],
                                &abm_shift,
                                &abm_mask);
                if (pool->base.multiple_abms[i] == NULL) {
-                       dm_error("DC: failed to create abm for pipe %d!\n", i);
+                       dm_error("DC: failed to create abm for pipe %u!\n", i);
                        BREAK_TO_DEBUGGER();
                        goto create_fail;
                }
@@ -1696,11 +1697,11 @@ static bool dcn301_resource_construct(
                goto create_fail;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                pool->base.dscs[i] = dcn301_dsc_create(ctx, i);
                if (pool->base.dscs[i] == NULL) {
                        BREAK_TO_DEBUGGER();
-                       dm_error("DC: failed to create display stream compressor %d!\n", i);
+                       dm_error("DC: failed to create display stream compressor %u!\n", i);
                        goto create_fail;
                }
        }
@@ -1719,7 +1720,7 @@ static bool dcn301_resource_construct(
        }
 
        /* AUX and I2C */
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                pool->base.engines[i] = dcn301_aux_engine_create(ctx, i);
                if (pool->base.engines[i] == NULL) {
                        BREAK_TO_DEBUGGER();
index 652b98a..f7b3947 100644 (file)
@@ -738,7 +738,7 @@ static const struct dcn30_dwbc_mask dwbc30_mask = {
 
 static bool dcn302_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -773,7 +773,7 @@ static const struct dcn30_mmhubbub_mask mcif_wb30_mask = {
 
 static bool dcn302_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1036,7 +1036,7 @@ static void dcn302_resource_destruct(struct resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->res_cap->num_dsc; i++) {
                if (pool->dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->dscs[i]);
        }
@@ -1071,7 +1071,7 @@ static void dcn302_resource_destruct(struct resource_pool *pool)
                        dal_irq_service_destroy(&pool->irqs);
        }
 
-       for (i = 0; i < pool->res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->res_cap->num_ddc; i++) {
                if (pool->engines[i] != NULL)
                        dce110_engine_destroy(&pool->engines[i]);
                if (pool->hw_i2cs[i] != NULL) {
@@ -1084,19 +1084,19 @@ static void dcn302_resource_destruct(struct resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->res_cap->num_opp; i++) {
                if (pool->opps[i] != NULL)
                        pool->opps[i]->funcs->opp_destroy(&pool->opps[i]);
        }
 
-       for (i = 0; i < pool->res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->res_cap->num_timing_generator; i++) {
                if (pool->timing_generators[i] != NULL) {
                        kfree(DCN10TG_FROM_TG(pool->timing_generators[i]));
                        pool->timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->res_cap->num_dwb; i++) {
                if (pool->dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->dwbc[i]));
                        pool->dwbc[i] = NULL;
@@ -1120,7 +1120,7 @@ static void dcn302_resource_destruct(struct resource_pool *pool)
        if (pool->dp_clock_source != NULL)
                dcn20_clock_source_destroy(&pool->dp_clock_source);
 
-       for (i = 0; i < pool->res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->res_cap->num_mpc_3dlut; i++) {
                if (pool->mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->mpc_lut[i]);
                        pool->mpc_lut[i] = NULL;
@@ -1371,7 +1371,7 @@ static bool dcn302_resource_construct(
                                        CLOCK_SOURCE_ID_DP_DTO,
                                        &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->clk_src_count; i++) {
+       for (i = 0; i < (int)pool->clk_src_count; i++) {
                if (pool->clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -1416,7 +1416,7 @@ static bool dcn302_resource_construct(
        }
 
        /* HUBPs, DPPs, OPPs and TGs */
-       for (i = 0; i < pool->pipe_count; i++) {
+       for (i = 0; i < (int)pool->pipe_count; i++) {
                pool->hubps[i] = dcn302_hubp_create(ctx, i);
                if (pool->hubps[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -1526,7 +1526,7 @@ static bool dcn302_resource_construct(
 
        dc->caps.max_planes =  pool->pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; i < (int)dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 4;
index b22e72a..429365f 100644 (file)
@@ -699,7 +699,7 @@ static const struct dcn30_dwbc_mask dwbc30_mask = {
 
 static bool dcn303_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -734,7 +734,7 @@ static const struct dcn30_mmhubbub_mask mcif_wb30_mask = {
 
 static bool dcn303_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -980,7 +980,7 @@ static void dcn303_resource_destruct(struct resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->res_cap->num_dsc; i++) {
                if (pool->dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->dscs[i]);
        }
@@ -1015,7 +1015,7 @@ static void dcn303_resource_destruct(struct resource_pool *pool)
                        dal_irq_service_destroy(&pool->irqs);
        }
 
-       for (i = 0; i < pool->res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->res_cap->num_ddc; i++) {
                if (pool->engines[i] != NULL)
                        dce110_engine_destroy(&pool->engines[i]);
                if (pool->hw_i2cs[i] != NULL) {
@@ -1028,19 +1028,19 @@ static void dcn303_resource_destruct(struct resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->res_cap->num_opp; i++) {
                if (pool->opps[i] != NULL)
                        pool->opps[i]->funcs->opp_destroy(&pool->opps[i]);
        }
 
-       for (i = 0; i < pool->res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->res_cap->num_timing_generator; i++) {
                if (pool->timing_generators[i] != NULL) {
                        kfree(DCN10TG_FROM_TG(pool->timing_generators[i]));
                        pool->timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->res_cap->num_dwb; i++) {
                if (pool->dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->dwbc[i]));
                        pool->dwbc[i] = NULL;
@@ -1064,7 +1064,7 @@ static void dcn303_resource_destruct(struct resource_pool *pool)
        if (pool->dp_clock_source != NULL)
                dcn20_clock_source_destroy(&pool->dp_clock_source);
 
-       for (i = 0; i < pool->res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->res_cap->num_mpc_3dlut; i++) {
                if (pool->mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->mpc_lut[i]);
                        pool->mpc_lut[i] = NULL;
@@ -1303,7 +1303,7 @@ static bool dcn303_resource_construct(
                                        CLOCK_SOURCE_ID_DP_DTO,
                                        &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->clk_src_count; i++) {
+       for (i = 0; i < (int)pool->clk_src_count; i++) {
                if (pool->clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -1348,7 +1348,7 @@ static bool dcn303_resource_construct(
        }
 
        /* HUBPs, DPPs, OPPs and TGs */
-       for (i = 0; i < pool->pipe_count; i++) {
+       for (i = 0; i < (int)pool->pipe_count; i++) {
                pool->hubps[i] = dcn303_hubp_create(ctx, i);
                if (pool->hubps[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -1458,7 +1458,7 @@ static bool dcn303_resource_construct(
 
        dc->caps.max_planes =  pool->pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; i < (int)dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 4;
index 573d2a6..df3e35a 100644 (file)
@@ -1146,7 +1146,7 @@ static struct link_encoder *dcn31_link_enc_create_minimal(
 {
        struct dcn20_link_encoder *enc20;
 
-       if ((eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
+       if (((unsigned int)eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
                return NULL;
 
        enc20 = kzalloc_obj(struct dcn20_link_encoder);
@@ -1412,7 +1412,7 @@ static void dcn31_resource_destruct(struct dcn31_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1446,7 +1446,7 @@ static void dcn31_resource_destruct(struct dcn31_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1459,19 +1459,19 @@ static void dcn31_resource_destruct(struct dcn31_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1494,7 +1494,7 @@ static void dcn31_resource_destruct(struct dcn31_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1510,7 +1510,7 @@ static void dcn31_resource_destruct(struct dcn31_resource_pool *pool)
                pool->base.dp_clock_source = NULL;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.multiple_abms[i] != NULL)
                        dce_abm_destroy(&pool->base.multiple_abms[i]);
        }
@@ -1546,7 +1546,7 @@ static struct hubp *dcn31_hubp_create(
 
 static bool dcn31_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1570,7 +1570,7 @@ static bool dcn31_dwbc_create(struct dc_context *ctx, struct resource_pool *pool
 
 static bool dcn31_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1651,7 +1651,7 @@ int dcn31x_populate_dml_pipes_from_context(struct dc *dc,
                                          enum dc_validate_mode validate_mode)
 {
        uint32_t pipe_cnt;
-       int i;
+       unsigned int i;
 
        dc_assert_fp_enabled();
 
@@ -1675,7 +1675,7 @@ int dcn31_populate_dml_pipes_from_context(
        display_e2e_pipe_params_st *pipes,
        enum dc_validate_mode validate_mode)
 {
-       int i, pipe_cnt;
+       unsigned int i, pipe_cnt;
        struct resource_context *res_ctx = &context->res_ctx;
        struct pipe_ctx *pipe = 0;
        bool upscaled = false;
@@ -2076,7 +2076,7 @@ static bool dcn31_resource_construct(
                                CLOCK_SOURCE_ID_DP_DTO,
                                &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->base.clk_src_count; i++) {
+       for (i = 0; i < (int)pool->base.clk_src_count; i++) {
                if (pool->base.clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -2115,7 +2115,7 @@ static bool dcn31_resource_construct(
        }
 
        /* HUBPs, DPPs, OPPs and TGs */
-       for (i = 0; i < pool->base.pipe_count; i++) {
+       for (i = 0; i < (int)pool->base.pipe_count; i++) {
                pool->base.hubps[i] = dcn31_hubp_create(ctx, i);
                if (pool->base.hubps[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -2252,7 +2252,7 @@ static bool dcn31_resource_construct(
 
        dc->caps.max_planes =  pool->base.pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; i < (int)dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 4;
index 7585151..74a14c0 100644 (file)
@@ -1204,7 +1204,7 @@ static struct link_encoder *dcn31_link_enc_create_minimal(
 {
        struct dcn20_link_encoder *enc20;
 
-       if ((eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
+       if (((unsigned int)eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
                return NULL;
 
        enc20 = kzalloc_obj(struct dcn20_link_encoder);
@@ -1471,7 +1471,7 @@ static void dcn314_resource_destruct(struct dcn314_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1504,7 +1504,7 @@ static void dcn314_resource_destruct(struct dcn314_resource_pool *pool)
                        dal_irq_service_destroy(&pool->base.irqs);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1517,19 +1517,19 @@ static void dcn314_resource_destruct(struct dcn314_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1552,7 +1552,7 @@ static void dcn314_resource_destruct(struct dcn314_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1568,7 +1568,7 @@ static void dcn314_resource_destruct(struct dcn314_resource_pool *pool)
                pool->base.dp_clock_source = NULL;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.multiple_abms[i] != NULL)
                        dce_abm_destroy(&pool->base.multiple_abms[i]);
        }
@@ -1604,7 +1604,7 @@ static struct hubp *dcn31_hubp_create(
 
 static bool dcn31_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1628,7 +1628,7 @@ static bool dcn31_dwbc_create(struct dc_context *ctx, struct resource_pool *pool
 
 static bool dcn31_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1996,7 +1996,7 @@ static bool dcn314_resource_construct(
                                CLOCK_SOURCE_ID_DP_DTO,
                                &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->base.clk_src_count; i++) {
+       for (i = 0; i < (int)pool->base.clk_src_count; i++) {
                if (pool->base.clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -2033,7 +2033,7 @@ static bool dcn314_resource_construct(
        }
 
        /* HUBPs, DPPs, OPPs and TGs */
-       for (i = 0; i < pool->base.pipe_count; i++) {
+       for (i = 0; i < (int)pool->base.pipe_count; i++) {
                pool->base.hubps[i] = dcn31_hubp_create(ctx, i);
                if (pool->base.hubps[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -2163,7 +2163,7 @@ static bool dcn314_resource_construct(
 
        dc->caps.max_planes =  pool->base.pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; i < (int)dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 4;
index 7f8e330..30b2e73 100644 (file)
@@ -1145,7 +1145,7 @@ static struct link_encoder *dcn31_link_enc_create_minimal(
 {
        struct dcn20_link_encoder *enc20;
 
-       if ((eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
+       if (((unsigned int)eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
                return NULL;
 
        enc20 = kzalloc_obj(struct dcn20_link_encoder);
@@ -1413,7 +1413,7 @@ static void dcn315_resource_destruct(struct dcn315_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1447,7 +1447,7 @@ static void dcn315_resource_destruct(struct dcn315_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1460,19 +1460,19 @@ static void dcn315_resource_destruct(struct dcn315_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1495,7 +1495,7 @@ static void dcn315_resource_destruct(struct dcn315_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1511,7 +1511,7 @@ static void dcn315_resource_destruct(struct dcn315_resource_pool *pool)
                pool->base.dp_clock_source = NULL;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.multiple_abms[i] != NULL)
                        dce_abm_destroy(&pool->base.multiple_abms[i]);
        }
@@ -1547,7 +1547,7 @@ static struct hubp *dcn31_hubp_create(
 
 static bool dcn31_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1571,7 +1571,7 @@ static bool dcn31_dwbc_create(struct dc_context *ctx, struct resource_pool *pool
 
 static bool dcn31_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1666,7 +1666,7 @@ static int source_format_to_bpp (enum source_format_class SourcePixelFormat)
 
 static bool allow_pixel_rate_crb(struct dc *dc, struct dc_state *context)
 {
-       int i;
+       unsigned int i;
        struct resource_context *res_ctx = &context->res_ctx;
 
        /* Only apply for dual stream scenarios with edp*/
@@ -1699,7 +1699,8 @@ static int dcn315_populate_dml_pipes_from_context(
        display_e2e_pipe_params_st *pipes,
        enum dc_validate_mode validate_mode)
 {
-       int i, pipe_cnt, crb_idx, crb_pipes;
+       unsigned int i;
+       int pipe_cnt, crb_idx, crb_pipes;
        struct resource_context *res_ctx = &context->res_ctx;
        struct pipe_ctx *pipe = NULL;
        const int max_usable_det = context->bw_ctx.dml.ip.config_return_buffer_size_in_kbytes - DCN3_15_MIN_COMPBUF_SIZE_KB;
@@ -1739,7 +1740,7 @@ static int dcn315_populate_dml_pipes_from_context(
 
                        if (approx_det_segs_required_for_pstate <= 2 * DCN3_15_MAX_DET_SEGS) {
                                bool split_required = approx_det_segs_required_for_pstate > DCN3_15_MAX_DET_SEGS;
-                               split_required = split_required || timing->pix_clk_100hz >= dcn_get_max_non_odm_pix_rate_100hz(&dc->dml.soc);
+                               split_required = split_required || (unsigned int)timing->pix_clk_100hz >= (unsigned int)dcn_get_max_non_odm_pix_rate_100hz(&dc->dml.soc);
                                split_required = split_required || (pipe->plane_state && pipe->plane_state->src_rect.width > 5120);
 
                                /* Minimum 2 segments to allow mpc/odm combine if its used later */
@@ -1788,7 +1789,7 @@ static int dcn315_populate_dml_pipes_from_context(
                                continue;
                        }
 
-                       bool split_required = pipe->stream->timing.pix_clk_100hz >= dcn_get_max_non_odm_pix_rate_100hz(&dc->dml.soc)
+                       bool split_required = (unsigned int)pipe->stream->timing.pix_clk_100hz >= (unsigned int)dcn_get_max_non_odm_pix_rate_100hz(&dc->dml.soc)
                                        || (pipe->plane_state && pipe->plane_state->src_rect.width > 5120);
 
                        if (remaining_det_segs > MIN_RESERVED_DET_SEGS && crb_pipes != 0)
@@ -1825,7 +1826,7 @@ static int dcn315_populate_dml_pipes_from_context(
                                        (max_usable_det / DCN3_15_CRB_SEGMENT_SIZE_KB / 4) * DCN3_15_CRB_SEGMENT_SIZE_KB;
                } else if (!is_dual_plane(pipe->plane_state->format)
                                && pipe->plane_state->src_rect.width <= 5120
-                               && pipe->stream->timing.pix_clk_100hz < dcn_get_max_non_odm_pix_rate_100hz(&dc->dml.soc)) {
+                               && (unsigned int)pipe->stream->timing.pix_clk_100hz < (unsigned int)dcn_get_max_non_odm_pix_rate_100hz(&dc->dml.soc)) {
                        /* Limit to 5k max to avoid forced pipe split when there is not enough detile for swath */
                        context->bw_ctx.dml.ip.det_buffer_size_kbytes = 192;
                        pipes[0].pipe.src.unbounded_req_mode = true;
@@ -2026,7 +2027,7 @@ static bool dcn315_resource_construct(
                                CLOCK_SOURCE_ID_DP_DTO,
                                &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->base.clk_src_count; i++) {
+       for (i = 0; i < (int)pool->base.clk_src_count; i++) {
                if (pool->base.clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -2065,7 +2066,7 @@ static bool dcn315_resource_construct(
        }
 
        /* HUBPs, DPPs, OPPs and TGs */
-       for (i = 0; i < pool->base.pipe_count; i++) {
+       for (i = 0; i < (int)pool->base.pipe_count; i++) {
                pool->base.hubps[i] = dcn31_hubp_create(ctx, i);
                if (pool->base.hubps[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -2192,7 +2193,7 @@ static bool dcn315_resource_construct(
 
        dc->caps.max_planes =  pool->base.pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; i < (int)dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 4;
index a6dd1bb..0a6dfb4 100644 (file)
@@ -1138,7 +1138,7 @@ static struct link_encoder *dcn31_link_enc_create_minimal(
 {
        struct dcn20_link_encoder *enc20;
 
-       if ((eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
+       if (((unsigned int)eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
                return NULL;
 
        enc20 = kzalloc_obj(struct dcn20_link_encoder);
@@ -1408,7 +1408,7 @@ static void dcn316_resource_destruct(struct dcn316_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1442,7 +1442,7 @@ static void dcn316_resource_destruct(struct dcn316_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1455,19 +1455,19 @@ static void dcn316_resource_destruct(struct dcn316_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1490,7 +1490,7 @@ static void dcn316_resource_destruct(struct dcn316_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1506,7 +1506,7 @@ static void dcn316_resource_destruct(struct dcn316_resource_pool *pool)
                pool->base.dp_clock_source = NULL;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.multiple_abms[i] != NULL)
                        dce_abm_destroy(&pool->base.multiple_abms[i]);
        }
@@ -1539,7 +1539,7 @@ static struct hubp *dcn31_hubp_create(
 
 static bool dcn31_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1563,7 +1563,7 @@ static bool dcn31_dwbc_create(struct dc_context *ctx, struct resource_pool *pool
 
 static bool dcn31_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1644,7 +1644,8 @@ static int dcn316_populate_dml_pipes_from_context(
        display_e2e_pipe_params_st *pipes,
        enum dc_validate_mode validate_mode)
 {
-       int i, pipe_cnt;
+       unsigned int i;
+       int pipe_cnt;
        struct resource_context *res_ctx = &context->res_ctx;
        struct pipe_ctx *pipe = 0;
        const int max_usable_det = context->bw_ctx.dml.ip.config_return_buffer_size_in_kbytes - DCN3_16_MIN_COMPBUF_SIZE_KB;
@@ -1900,7 +1901,7 @@ static bool dcn316_resource_construct(
                                CLOCK_SOURCE_ID_DP_DTO,
                                &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->base.clk_src_count; i++) {
+       for (i = 0; i < (int)pool->base.clk_src_count; i++) {
                if (pool->base.clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -1939,7 +1940,7 @@ static bool dcn316_resource_construct(
        }
 
        /* HUBPs, DPPs, OPPs and TGs */
-       for (i = 0; i < pool->base.pipe_count; i++) {
+       for (i = 0; i < (int)pool->base.pipe_count; i++) {
                pool->base.hubps[i] = dcn31_hubp_create(ctx, i);
                if (pool->base.hubps[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -2058,7 +2059,7 @@ static bool dcn316_resource_construct(
 
        dc->caps.max_planes =  pool->base.pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; i < (int)dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 4;
index bf34fdf..bc9523f 100644 (file)
@@ -1419,7 +1419,7 @@ static void dcn32_resource_destruct(struct dcn32_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1449,7 +1449,7 @@ static void dcn32_resource_destruct(struct dcn32_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1462,19 +1462,19 @@ static void dcn32_resource_destruct(struct dcn32_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1497,7 +1497,7 @@ static void dcn32_resource_destruct(struct dcn32_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1513,7 +1513,7 @@ static void dcn32_resource_destruct(struct dcn32_resource_pool *pool)
                pool->base.dp_clock_source = NULL;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.multiple_abms[i] != NULL)
                        dce_abm_destroy(&pool->base.multiple_abms[i]);
        }
@@ -1539,7 +1539,7 @@ static void dcn32_resource_destruct(struct dcn32_resource_pool *pool)
 
 static bool dcn32_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t dwb_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < dwb_count; i++) {
@@ -1567,7 +1567,7 @@ static bool dcn32_dwbc_create(struct dc_context *ctx, struct resource_pool *pool
 
 static bool dcn32_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t dwb_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < dwb_count; i++) {
@@ -1902,7 +1902,8 @@ int dcn32_populate_dml_pipes_from_context(
        display_e2e_pipe_params_st *pipes,
        enum dc_validate_mode validate_mode)
 {
-       int i, pipe_cnt;
+       unsigned int i;
+       int pipe_cnt;
        struct resource_context *res_ctx = &context->res_ctx;
        struct pipe_ctx *pipe = NULL;
        bool subvp_in_use = false;
@@ -2376,7 +2377,7 @@ static bool dcn32_resource_construct(
                                CLOCK_SOURCE_ID_DP_DTO,
                                &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->base.clk_src_count; i++) {
+       for (i = 0; i < (int)pool->base.clk_src_count; i++) {
                if (pool->base.clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -2546,7 +2547,7 @@ static bool dcn32_resource_construct(
 
        dc->caps.max_planes =  pool->base.pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; i < (int)dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 4;
index b2eac83..602a0e4 100644 (file)
@@ -382,7 +382,8 @@ void dcn32_determine_det_override(struct dc *dc,
 void dcn32_set_det_allocations(struct dc *dc, struct dc_state *context,
        display_e2e_pipe_params_st *pipes)
 {
-       int i, pipe_cnt;
+       unsigned int i;
+       int pipe_cnt;
        struct resource_context *res_ctx = &context->res_ctx;
        struct pipe_ctx *pipe = 0;
        bool disable_unbounded_requesting = dc->debug.disable_z9_mpc || dc->debug.disable_unbounded_requesting;
@@ -751,7 +752,8 @@ bool dcn32_subvp_vblank_admissable(struct dc *dc, struct dc_state *context, int
 void dcn32_update_dml_pipes_odm_policy_based_on_context(struct dc *dc, struct dc_state *context,
                display_e2e_pipe_params_st *pipes)
 {
-       int i, pipe_cnt;
+       unsigned int i;
+       int pipe_cnt;
        struct resource_context *res_ctx = &context->res_ctx;
        struct pipe_ctx *pipe = NULL;
 
index 5f5720a..ede2136 100644 (file)
@@ -1400,7 +1400,7 @@ static void dcn321_resource_destruct(struct dcn321_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1429,7 +1429,7 @@ static void dcn321_resource_destruct(struct dcn321_resource_pool *pool)
                        dal_irq_service_destroy(&pool->base.irqs);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1442,19 +1442,19 @@ static void dcn321_resource_destruct(struct dcn321_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1477,7 +1477,7 @@ static void dcn321_resource_destruct(struct dcn321_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1493,7 +1493,7 @@ static void dcn321_resource_destruct(struct dcn321_resource_pool *pool)
                pool->base.dp_clock_source = NULL;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.multiple_abms[i] != NULL)
                        dce_abm_destroy(&pool->base.multiple_abms[i]);
        }
@@ -1519,7 +1519,7 @@ static void dcn321_resource_destruct(struct dcn321_resource_pool *pool)
 
 static bool dcn321_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t dwb_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < dwb_count; i++) {
@@ -1547,7 +1547,7 @@ static bool dcn321_dwbc_create(struct dc_context *ctx, struct resource_pool *poo
 
 static bool dcn321_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t dwb_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < dwb_count; i++) {
@@ -1875,7 +1875,7 @@ static bool dcn321_resource_construct(
                                CLOCK_SOURCE_ID_DP_DTO,
                                &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->base.clk_src_count; i++) {
+       for (i = 0; i < (int)pool->base.clk_src_count; i++) {
                if (pool->base.clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -2040,7 +2040,7 @@ static bool dcn321_resource_construct(
 
        dc->caps.max_planes =  pool->base.pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; i < (int)dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 4;
index 82a5bdf..dcbfe18 100644 (file)
@@ -1153,7 +1153,7 @@ static struct link_encoder *dcn31_link_enc_create_minimal(
 {
        struct dcn20_link_encoder *enc20;
 
-       if ((eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
+       if (((unsigned int)eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
                return NULL;
 
        enc20 = kzalloc_obj(struct dcn20_link_encoder);
@@ -1483,7 +1483,7 @@ static void dcn35_resource_destruct(struct dcn35_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1513,7 +1513,7 @@ static void dcn35_resource_destruct(struct dcn35_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1526,19 +1526,19 @@ static void dcn35_resource_destruct(struct dcn35_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1561,7 +1561,7 @@ static void dcn35_resource_destruct(struct dcn35_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1577,7 +1577,7 @@ static void dcn35_resource_destruct(struct dcn35_resource_pool *pool)
                pool->base.dp_clock_source = NULL;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.multiple_abms[i] != NULL)
                        dce_abm_destroy(&pool->base.multiple_abms[i]);
        }
@@ -1634,7 +1634,7 @@ static void dcn35_dwbc_init(struct dcn30_dwbc *dwbc30, struct dc_context *ctx)
 
 static bool dcn35_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1672,7 +1672,7 @@ static void dcn35_mmhubbub_init(struct dcn30_mmhubbub *mcif_wb30,
 
 static bool dcn35_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -2037,7 +2037,7 @@ static bool dcn35_resource_construct(
                                CLOCK_SOURCE_ID_DP_DTO,
                                &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->base.clk_src_count; i++) {
+       for (i = 0; i < (int)pool->base.clk_src_count; i++) {
                if (pool->base.clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -2089,7 +2089,7 @@ static bool dcn35_resource_construct(
        }
 
        /* HUBPs, DPPs, OPPs and TGs */
-       for (i = 0; i < pool->base.pipe_count; i++) {
+       for (i = 0; i < (int)pool->base.pipe_count; i++) {
                pool->base.hubps[i] = dcn35_hubp_create(ctx, i);
                if (pool->base.hubps[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -2221,7 +2221,7 @@ static bool dcn35_resource_construct(
 
        dc->caps.max_planes =  pool->base.pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; i < (int)dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 4;
index a4922df..7a6e8e6 100644 (file)
@@ -1133,7 +1133,7 @@ static struct link_encoder *dcn31_link_enc_create_minimal(
 {
        struct dcn20_link_encoder *enc20;
 
-       if ((eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
+       if (((unsigned int)eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
                return NULL;
 
        enc20 = kzalloc_obj(struct dcn20_link_encoder);
@@ -1463,7 +1463,7 @@ static void dcn351_resource_destruct(struct dcn351_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1493,7 +1493,7 @@ static void dcn351_resource_destruct(struct dcn351_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1506,19 +1506,19 @@ static void dcn351_resource_destruct(struct dcn351_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1541,7 +1541,7 @@ static void dcn351_resource_destruct(struct dcn351_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1557,7 +1557,7 @@ static void dcn351_resource_destruct(struct dcn351_resource_pool *pool)
                pool->base.dp_clock_source = NULL;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.multiple_abms[i] != NULL)
                        dce_abm_destroy(&pool->base.multiple_abms[i]);
        }
@@ -1614,7 +1614,7 @@ static void dcn35_dwbc_init(struct dcn30_dwbc *dwbc30, struct dc_context *ctx)
 
 static bool dcn35_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1652,7 +1652,7 @@ static void dcn35_mmhubbub_init(struct dcn30_mmhubbub *mcif_wb30,
 
 static bool dcn35_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -2009,7 +2009,7 @@ static bool dcn351_resource_construct(
                                CLOCK_SOURCE_ID_DP_DTO,
                                &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->base.clk_src_count; i++) {
+       for (i = 0; i < (int)pool->base.clk_src_count; i++) {
                if (pool->base.clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -2061,7 +2061,7 @@ static bool dcn351_resource_construct(
        }
 
        /* HUBPs, DPPs, OPPs and TGs */
-       for (i = 0; i < pool->base.pipe_count; i++) {
+       for (i = 0; i < (int)pool->base.pipe_count; i++) {
                pool->base.hubps[i] = dcn35_hubp_create(ctx, i);
                if (pool->base.hubps[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -2193,7 +2193,7 @@ static bool dcn351_resource_construct(
 
        dc->caps.max_planes =  pool->base.pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; i < (int)dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 4;
index 5cc5291..83f2fd6 100644 (file)
@@ -1140,7 +1140,7 @@ static struct link_encoder *dcn31_link_enc_create_minimal(
 {
        struct dcn20_link_encoder *enc20;
 
-       if ((eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
+       if (((unsigned int)eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
                return NULL;
 
        enc20 = kzalloc_obj(struct dcn20_link_encoder);
@@ -1470,7 +1470,7 @@ static void dcn36_resource_destruct(struct dcn36_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn20_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1500,7 +1500,7 @@ static void dcn36_resource_destruct(struct dcn36_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1513,19 +1513,19 @@ static void dcn36_resource_destruct(struct dcn36_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1548,7 +1548,7 @@ static void dcn36_resource_destruct(struct dcn36_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1564,7 +1564,7 @@ static void dcn36_resource_destruct(struct dcn36_resource_pool *pool)
                pool->base.dp_clock_source = NULL;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.multiple_abms[i] != NULL)
                        dce_abm_destroy(&pool->base.multiple_abms[i]);
        }
@@ -1621,7 +1621,7 @@ static void dcn35_dwbc_init(struct dcn30_dwbc *dwbc30, struct dc_context *ctx)
 
 static bool dcn35_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1659,7 +1659,7 @@ static void dcn35_mmhubbub_init(struct dcn30_mmhubbub *mcif_wb30,
 
 static bool dcn35_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -2007,7 +2007,7 @@ static bool dcn36_resource_construct(
                                CLOCK_SOURCE_ID_DP_DTO,
                                &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->base.clk_src_count; i++) {
+       for (i = 0; i < (int)pool->base.clk_src_count; i++) {
                if (pool->base.clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -2059,7 +2059,7 @@ static bool dcn36_resource_construct(
        }
 
        /* HUBPs, DPPs, OPPs and TGs */
-       for (i = 0; i < pool->base.pipe_count; i++) {
+       for (i = 0; i < (int)pool->base.pipe_count; i++) {
                pool->base.hubps[i] = dcn35_hubp_create(ctx, i);
                if (pool->base.hubps[i] == NULL) {
                        BREAK_TO_DEBUGGER();
@@ -2191,7 +2191,7 @@ static bool dcn36_resource_construct(
 
        dc->caps.max_planes =  pool->base.pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; i < (int)dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 4;
index 22ce582..e24d908 100644 (file)
@@ -1425,7 +1425,7 @@ static void dcn401_resource_destruct(struct dcn401_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn401_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1455,7 +1455,7 @@ static void dcn401_resource_destruct(struct dcn401_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1468,19 +1468,19 @@ static void dcn401_resource_destruct(struct dcn401_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL)    {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1503,7 +1503,7 @@ static void dcn401_resource_destruct(struct dcn401_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1519,7 +1519,7 @@ static void dcn401_resource_destruct(struct dcn401_resource_pool *pool)
                pool->base.dp_clock_source = NULL;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.multiple_abms[i] != NULL)
                        dce_abm_destroy(&pool->base.multiple_abms[i]);
        }
@@ -1545,7 +1545,7 @@ static void dcn401_resource_destruct(struct dcn401_resource_pool *pool)
 
 static bool dcn401_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t dwb_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < dwb_count; i++) {
@@ -1575,7 +1575,7 @@ static bool dcn401_dwbc_create(struct dc_context *ctx, struct resource_pool *poo
 
 static bool dcn401_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t dwb_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < dwb_count; i++) {
@@ -1792,11 +1792,11 @@ static void dcn401_build_pipe_pix_clk_params(struct pipe_ctx *pipe_ctx)
                pixel_clk_params->dio_se_pix_per_cycle = 2;
        } else if (dc_is_dp_signal(stream->signal)) {
                /* round up to nearest power of 2, or max at 8 pixels per cycle */
-               if (pixel_clk_params->requested_pix_clk_100hz > 4 * stream->ctx->dc->clk_mgr->dprefclk_khz * 10) {
+               if ((unsigned int)pixel_clk_params->requested_pix_clk_100hz > (unsigned int)(4 * stream->ctx->dc->clk_mgr->dprefclk_khz * 10)) {
                        pixel_clk_params->dio_se_pix_per_cycle = 8;
-               } else if (pixel_clk_params->requested_pix_clk_100hz > 2 * stream->ctx->dc->clk_mgr->dprefclk_khz * 10) {
+               } else if ((unsigned int)pixel_clk_params->requested_pix_clk_100hz > (unsigned int)(2 * stream->ctx->dc->clk_mgr->dprefclk_khz * 10)) {
                        pixel_clk_params->dio_se_pix_per_cycle = 4;
-               } else if (pixel_clk_params->requested_pix_clk_100hz > stream->ctx->dc->clk_mgr->dprefclk_khz * 10) {
+               } else if ((unsigned int)pixel_clk_params->requested_pix_clk_100hz > (unsigned int)(stream->ctx->dc->clk_mgr->dprefclk_khz * 10)) {
                        pixel_clk_params->dio_se_pix_per_cycle = 2;
                } else {
                        pixel_clk_params->dio_se_pix_per_cycle = 1;
@@ -1806,10 +1806,10 @@ static void dcn401_build_pipe_pix_clk_params(struct pipe_ctx *pipe_ctx)
 
 int dcn401_get_power_profile(const struct dc_state *context)
 {
-       int uclk_mhz = context->bw_ctx.bw.dcn.clk.dramclk_khz / 1000;
+       unsigned int uclk_mhz = context->bw_ctx.bw.dcn.clk.dramclk_khz / 1000;
        int dpm_level = 0;
 
-       for (int i = 0; i < context->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_memclk_levels; i++) {
+       for (unsigned int i = 0; i < context->clk_mgr->bw_params->clk_table.num_entries_per_clk.num_memclk_levels; i++) {
                if (context->clk_mgr->bw_params->clk_table.entries[i].memclk_mhz == 0 ||
                        uclk_mhz < context->clk_mgr->bw_params->clk_table.entries[i].memclk_mhz)
                        break;
@@ -2096,7 +2096,7 @@ static bool dcn401_resource_construct(
                                CLOCK_SOURCE_ID_DP_DTO,
                                &clk_src_regs[0], true);
 
-       for (i = 0; i < pool->base.clk_src_count; i++) {
+       for (i = 0; i < (int)pool->base.clk_src_count; i++) {
                if (pool->base.clock_sources[i] == NULL) {
                        dm_error("DC: failed to create clock sources!\n");
                        BREAK_TO_DEBUGGER();
@@ -2258,7 +2258,7 @@ static bool dcn401_resource_construct(
 
        dc->caps.max_planes =  pool->base.pipe_count;
 
-       for (i = 0; i < dc->caps.max_planes; ++i)
+       for (i = 0; i < (int)dc->caps.max_planes; ++i)
                dc->caps.planes[i] = plane_cap;
 
        dc->caps.max_odm_combine_factor = 4;
index c013a64..57c6e81 100644 (file)
@@ -1416,7 +1416,7 @@ static void dcn42_resource_destruct(struct dcn42_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                if (pool->base.dscs[i] != NULL)
                        dcn42_dsc_destroy(&pool->base.dscs[i]);
        }
@@ -1445,7 +1445,7 @@ static void dcn42_resource_destruct(struct dcn42_resource_pool *pool)
                        dal_irq_service_destroy(&pool->base.irqs);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                if (pool->base.engines[i] != NULL)
                        dce110_engine_destroy(&pool->base.engines[i]);
                if (pool->base.hw_i2cs[i] != NULL) {
@@ -1458,19 +1458,19 @@ static void dcn42_resource_destruct(struct dcn42_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_opp; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_opp; i++) {
                if (pool->base.opps[i] != NULL)
                        pool->base.opps[i]->funcs->opp_destroy(&pool->base.opps[i]);
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.timing_generators[i] != NULL) {
                        kfree(DCN10TG_FROM_TG(pool->base.timing_generators[i]));
                        pool->base.timing_generators[i] = NULL;
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_dwb; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dwb; i++) {
                if (pool->base.dwbc[i] != NULL) {
                        kfree(TO_DCN30_DWBC(pool->base.dwbc[i]));
                        pool->base.dwbc[i] = NULL;
@@ -1493,7 +1493,7 @@ static void dcn42_resource_destruct(struct dcn42_resource_pool *pool)
                }
        }
 
-       for (i = 0; i < pool->base.res_cap->num_mpc_3dlut; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_mpc_3dlut; i++) {
                if (pool->base.mpc_lut[i] != NULL) {
                        dc_3dlut_func_release(pool->base.mpc_lut[i]);
                        pool->base.mpc_lut[i] = NULL;
@@ -1509,7 +1509,7 @@ static void dcn42_resource_destruct(struct dcn42_resource_pool *pool)
                pool->base.dp_clock_source = NULL;
        }
 
-       for (i = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                if (pool->base.multiple_abms[i] != NULL)
                        dce_abm_destroy(&pool->base.multiple_abms[i]);
        }
@@ -1580,11 +1580,11 @@ static void dcn42_build_pipe_pix_clk_params(struct pipe_ctx *pipe_ctx)
                pixel_clk_params->dio_se_pix_per_cycle = 2;
        } else if (dc_is_dp_signal(stream->signal)) {
                /* round up to nearest power of 2, or max at 8 pixels per cycle */
-               if (pixel_clk_params->requested_pix_clk_100hz > 4 * stream->ctx->dc->clk_mgr->dprefclk_khz * 10) {
+               if (pixel_clk_params->requested_pix_clk_100hz > (uint32_t)(4 * stream->ctx->dc->clk_mgr->dprefclk_khz * 10)) {
                        pixel_clk_params->dio_se_pix_per_cycle = 8;
-               } else if (pixel_clk_params->requested_pix_clk_100hz > 2 * stream->ctx->dc->clk_mgr->dprefclk_khz * 10) {
+               } else if (pixel_clk_params->requested_pix_clk_100hz > (uint32_t)(2 * stream->ctx->dc->clk_mgr->dprefclk_khz * 10)) {
                        pixel_clk_params->dio_se_pix_per_cycle = 4;
-               } else if (pixel_clk_params->requested_pix_clk_100hz > stream->ctx->dc->clk_mgr->dprefclk_khz * 10) {
+               } else if (pixel_clk_params->requested_pix_clk_100hz > (uint32_t)(stream->ctx->dc->clk_mgr->dprefclk_khz * 10)) {
                        pixel_clk_params->dio_se_pix_per_cycle = 2;
                } else {
                        pixel_clk_params->dio_se_pix_per_cycle = 1;
@@ -1594,7 +1594,7 @@ static void dcn42_build_pipe_pix_clk_params(struct pipe_ctx *pipe_ctx)
 
 static bool dcn42_dwbc_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t dwb_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < dwb_count; i++) {
@@ -1631,7 +1631,7 @@ static void dcn42_mmhubbub_init(struct dcn30_mmhubbub *mcif_wb30,
 
 static bool dcn42_mmhubbub_create(struct dc_context *ctx, struct resource_pool *pool)
 {
-       int i;
+       unsigned int i;
        uint32_t pipe_count = pool->res_cap->num_dwb;
 
        for (i = 0; i < pipe_count; i++) {
@@ -1753,7 +1753,7 @@ static struct link_encoder *dcn42_link_enc_create_minimal(
 {
        struct dcn20_link_encoder *enc20;
 
-       if ((eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
+       if ((unsigned int)(eng_id - ENGINE_ID_DIGA) > ctx->dc->res_pool->res_cap->num_dig_link_enc)
                return NULL;
 
        enc20 = kzalloc(sizeof(struct dcn20_link_encoder), GFP_KERNEL);
@@ -1831,7 +1831,7 @@ static bool dcn42_resource_construct(
        struct dc *dc,
        struct dcn42_resource_pool *pool)
 {
-       int i, j;
+       unsigned int i, j;
        struct dc_context *ctx = dc->ctx;
        struct irq_service_init_data init_data;
        uint32_t pipe_fuses;
@@ -1867,7 +1867,7 @@ static bool dcn42_resource_construct(
        num_pipes = pool->base.res_cap->num_dpp;
        pipe_fuses = read_pipe_fuses(ctx);
 
-       for (i = 0; i < pool->base.res_cap->num_dpp; i++)
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dpp; i++)
                if (pipe_fuses & 1 << i)
                        num_pipes--;
 
@@ -2121,7 +2121,7 @@ static bool dcn42_resource_construct(
        }
 
        /* HUBPs, DPPs, OPPs, TGs, ABMs */
-       for (i = 0, j = 0; i < pool->base.res_cap->num_timing_generator; i++) {
+       for (i = 0, j = 0; i < (unsigned int)pool->base.res_cap->num_timing_generator; i++) {
                /* if pipe is disabled, skip instance of HW pipe,
                 * i.e, skip ASIC register instance
                 */
@@ -2165,7 +2165,7 @@ static bool dcn42_resource_construct(
                                                                                                          &abm_shift,
                                                                                                          &abm_mask);
                if (pool->base.multiple_abms[j] == NULL) {
-                       dm_error("DC: failed to create abm for pipe %d!\n", i);
+                       dm_error("DC: failed to create abm for pipe %u!\n", i);
                        BREAK_TO_DEBUGGER();
                        goto create_fail;
                }
@@ -2200,11 +2200,11 @@ static bool dcn42_resource_construct(
        }
 
        /* DSCs */
-       for (i = 0; i < pool->base.res_cap->num_dsc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_dsc; i++) {
                pool->base.dscs[i] = dcn42_dsc_create(ctx, i);
                if (pool->base.dscs[i] == NULL) {
                        BREAK_TO_DEBUGGER();
-                       dm_error("DC: failed to create display stream compressor %d!\n", i);
+                       dm_error("DC: failed to create display stream compressor %u!\n", i);
                        goto create_fail;
                }
        }
@@ -2224,7 +2224,7 @@ static bool dcn42_resource_construct(
        }
 
        /* AUX and I2C */
-       for (i = 0; i < pool->base.res_cap->num_ddc; i++) {
+       for (i = 0; i < (unsigned int)pool->base.res_cap->num_ddc; i++) {
                pool->base.engines[i] = dcn42_aux_engine_create(ctx, i);
 
                if (pool->base.engines[i] == NULL) {