All of lore.kernel.org
 help / color / mirror / Atom feed
* [bug report] drm/amd/pm: add smu_v13_0_5_ppt implementation
@ 2022-02-24  9:07 Dan Carpenter
  0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2022-02-24  9:07 UTC (permalink / raw)
  To: yifan1.zhang; +Cc: amd-gfx

Hello Yifan Zhang,

The patch 068ea8bdc0aa: "drm/amd/pm: add smu_v13_0_5_ppt
implementation" from Jan 21, 2022, leads to the following Smatch
static checker warning:

	drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_5_ppt.c:444 smu_v13_0_5_set_watermarks_table()
	warn: duplicate check 'clock_ranges' (previous on line 441)

drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_5_ppt.c
    434 static int smu_v13_0_5_set_watermarks_table(struct smu_context *smu,
    435                                 struct pp_smu_wm_range_sets *clock_ranges)
    436 {
    437         int i;
    438         int ret = 0;
    439         Watermarks_t *table = smu->smu_table.watermarks_table;
    440 
    441         if (!table || !clock_ranges)
                              ^^^^^^^^^^^^^

    442                 return -EINVAL;
    443 
--> 444         if (clock_ranges) {
                    ^^^^^^^^^^^^
This is always true.

    445                 if (clock_ranges->num_reader_wm_sets > NUM_WM_RANGES ||
    446                         clock_ranges->num_writer_wm_sets > NUM_WM_RANGES)
    447                         return -EINVAL;
    448 
    449                 for (i = 0; i < clock_ranges->num_reader_wm_sets; i++) {
    450                         table->WatermarkRow[WM_DCFCLK][i].MinClock =
    451                                 clock_ranges->reader_wm_sets[i].min_drain_clk_mhz;
    452                         table->WatermarkRow[WM_DCFCLK][i].MaxClock =
    453                                 clock_ranges->reader_wm_sets[i].max_drain_clk_mhz;
    454                         table->WatermarkRow[WM_DCFCLK][i].MinMclk =
    455                                 clock_ranges->reader_wm_sets[i].min_fill_clk_mhz;
    456                         table->WatermarkRow[WM_DCFCLK][i].MaxMclk =
    457                                 clock_ranges->reader_wm_sets[i].max_fill_clk_mhz;
    458 
    459                         table->WatermarkRow[WM_DCFCLK][i].WmSetting =
    460                                 clock_ranges->reader_wm_sets[i].wm_inst;
    461                 }
    462 
    463                 for (i = 0; i < clock_ranges->num_writer_wm_sets; i++) {
    464                         table->WatermarkRow[WM_SOCCLK][i].MinClock =
    465                                 clock_ranges->writer_wm_sets[i].min_fill_clk_mhz;
    466                         table->WatermarkRow[WM_SOCCLK][i].MaxClock =
    467                                 clock_ranges->writer_wm_sets[i].max_fill_clk_mhz;
    468                         table->WatermarkRow[WM_SOCCLK][i].MinMclk =
    469                                 clock_ranges->writer_wm_sets[i].min_drain_clk_mhz;
    470                         table->WatermarkRow[WM_SOCCLK][i].MaxMclk =
    471                                 clock_ranges->writer_wm_sets[i].max_drain_clk_mhz;
    472 
    473                         table->WatermarkRow[WM_SOCCLK][i].WmSetting =
    474                                 clock_ranges->writer_wm_sets[i].wm_inst;
    475                 }
    476 
    477                 smu->watermarks_bitmap |= WATERMARKS_EXIST;
    478         }
    479 
    480         /* pass data to smu controller */
    481         if ((smu->watermarks_bitmap & WATERMARKS_EXIST) &&
    482              !(smu->watermarks_bitmap & WATERMARKS_LOADED)) {
    483                 ret = smu_cmn_write_watermarks_table(smu);
    484                 if (ret) {
    485                         dev_err(smu->adev->dev, "Failed to update WMTABLE!");
    486                         return ret;
    487                 }
    488                 smu->watermarks_bitmap |= WATERMARKS_LOADED;
    489         }
    490 
    491         return 0;
    492 }

regards,
dan carpenter

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-02-24  9:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-24  9:07 [bug report] drm/amd/pm: add smu_v13_0_5_ppt implementation Dan Carpenter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.