[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202210250849.ExM9iSIG-lkp@intel.com>
Date: Tue, 25 Oct 2022 08:36:14 +0800
From: kernel test robot <lkp@...el.com>
To: Rodrigo Siqueira <Rodrigo.Siqueira@....com>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
Alex Deucher <alexander.deucher@....com>,
Aurabindo Pillai <Aurabindo.Pillai@....com>
Subject: [agd5f:drm-next 75/81]
drivers/gpu/drm/amd/amdgpu/../display/dc/dc_dmub_srv.c:615: warning:
expecting prototype for setup_subvp_dmub_command(). Prototype was for
populate_subvp_cmd_pipe_info() instead
tree: https://gitlab.freedesktop.org/agd5f/linux.git drm-next
head: 34d84636e5e09521d031863a01f9b9fb22ffa875
commit: 6be153dc8c88409e63309bcec300b03cd7bce9a7 [75/81] drm/amd/display: Convert documentation to a kernel-doc
config: sparc-allyesconfig
compiler: sparc64-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add agd5f https://gitlab.freedesktop.org/agd5f/linux.git
git fetch --no-tags agd5f drm-next
git checkout 6be153dc8c88409e63309bcec300b03cd7bce9a7
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc SHELL=/bin/bash drivers/gpu/drm/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/amd/amdgpu/../display/dc/dc_dmub_srv.c:615: warning: expecting prototype for setup_subvp_dmub_command(). Prototype was for populate_subvp_cmd_pipe_info() instead
drivers/gpu/drm/amd/amdgpu/../display/dc/dc_dmub_srv.c:700: warning: Function parameter or member 'enable' not described in 'dc_dmub_setup_subvp_dmub_command'
drivers/gpu/drm/amd/amdgpu/../display/dc/dc_dmub_srv.c:700: warning: Excess function parameter 'cmd' description in 'dc_dmub_setup_subvp_dmub_command'
vim +615 drivers/gpu/drm/amd/amdgpu/../display/dc/dc_dmub_srv.c
85f4bc0c333ceed Alvin Lee 2022-05-02 596
85f4bc0c333ceed Alvin Lee 2022-05-02 597 /**
6be153dc8c88409 Rodrigo Siqueira 2022-10-20 598 * setup_subvp_dmub_command - Helper to populate the SubVP pipe info for the DMUB subvp command
85f4bc0c333ceed Alvin Lee 2022-05-02 599 *
6be153dc8c88409 Rodrigo Siqueira 2022-10-20 600 * @dc: [in] current dc state
6be153dc8c88409 Rodrigo Siqueira 2022-10-20 601 * @context: [in] new dc state
6be153dc8c88409 Rodrigo Siqueira 2022-10-20 602 * @cmd: [in] DMUB cmd to be populated with SubVP info
6be153dc8c88409 Rodrigo Siqueira 2022-10-20 603 * @subvp_pipe: [in] pipe_ctx for the SubVP pipe
6be153dc8c88409 Rodrigo Siqueira 2022-10-20 604 * @cmd_pipe_index: [in] index for the pipe array in DMCUB SubVP cmd
85f4bc0c333ceed Alvin Lee 2022-05-02 605 *
6be153dc8c88409 Rodrigo Siqueira 2022-10-20 606 * Populate the DMCUB SubVP command with SubVP pipe info. All the information
6be153dc8c88409 Rodrigo Siqueira 2022-10-20 607 * required to calculate the microschedule for the SubVP pipe is stored in the
6be153dc8c88409 Rodrigo Siqueira 2022-10-20 608 * pipe_data of the DMCUB SubVP command.
85f4bc0c333ceed Alvin Lee 2022-05-02 609 */
85f4bc0c333ceed Alvin Lee 2022-05-02 610 static void populate_subvp_cmd_pipe_info(struct dc *dc,
85f4bc0c333ceed Alvin Lee 2022-05-02 611 struct dc_state *context,
85f4bc0c333ceed Alvin Lee 2022-05-02 612 union dmub_rb_cmd *cmd,
85f4bc0c333ceed Alvin Lee 2022-05-02 613 struct pipe_ctx *subvp_pipe,
85f4bc0c333ceed Alvin Lee 2022-05-02 614 uint8_t cmd_pipe_index)
85f4bc0c333ceed Alvin Lee 2022-05-02 @615 {
85f4bc0c333ceed Alvin Lee 2022-05-02 616 uint32_t j;
85f4bc0c333ceed Alvin Lee 2022-05-02 617 struct dmub_cmd_fw_assisted_mclk_switch_pipe_data_v2 *pipe_data =
85f4bc0c333ceed Alvin Lee 2022-05-02 618 &cmd->fw_assisted_mclk_switch_v2.config_data.pipe_data[cmd_pipe_index];
85f4bc0c333ceed Alvin Lee 2022-05-02 619 struct dc_crtc_timing *main_timing = &subvp_pipe->stream->timing;
85f4bc0c333ceed Alvin Lee 2022-05-02 620 struct dc_crtc_timing *phantom_timing = &subvp_pipe->stream->mall_stream_config.paired_stream->timing;
7857825ba4671d0 Alvin Lee 2022-08-15 621 uint32_t out_num_stream, out_den_stream, out_num_plane, out_den_plane, out_num, out_den;
85f4bc0c333ceed Alvin Lee 2022-05-02 622
85f4bc0c333ceed Alvin Lee 2022-05-02 623 pipe_data->mode = SUBVP;
85f4bc0c333ceed Alvin Lee 2022-05-02 624 pipe_data->pipe_config.subvp_data.pix_clk_100hz = subvp_pipe->stream->timing.pix_clk_100hz;
85f4bc0c333ceed Alvin Lee 2022-05-02 625 pipe_data->pipe_config.subvp_data.htotal = subvp_pipe->stream->timing.h_total;
85f4bc0c333ceed Alvin Lee 2022-05-02 626 pipe_data->pipe_config.subvp_data.vtotal = subvp_pipe->stream->timing.v_total;
85f4bc0c333ceed Alvin Lee 2022-05-02 627 pipe_data->pipe_config.subvp_data.main_vblank_start =
85f4bc0c333ceed Alvin Lee 2022-05-02 628 main_timing->v_total - main_timing->v_front_porch;
85f4bc0c333ceed Alvin Lee 2022-05-02 629 pipe_data->pipe_config.subvp_data.main_vblank_end =
85f4bc0c333ceed Alvin Lee 2022-05-02 630 main_timing->v_total - main_timing->v_front_porch - main_timing->v_addressable;
85f4bc0c333ceed Alvin Lee 2022-05-02 631 pipe_data->pipe_config.subvp_data.mall_region_lines = phantom_timing->v_addressable;
85f4bc0c333ceed Alvin Lee 2022-05-02 632 pipe_data->pipe_config.subvp_data.main_pipe_index = subvp_pipe->pipe_idx;
9f5171ce733a694 Alvin Lee 2022-07-21 633 pipe_data->pipe_config.subvp_data.is_drr = subvp_pipe->stream->ignore_msa_timing_param;
85f4bc0c333ceed Alvin Lee 2022-05-02 634
fbe43dcd1aad7db Alvin Lee 2022-08-04 635 /* Calculate the scaling factor from the src and dst height.
fbe43dcd1aad7db Alvin Lee 2022-08-04 636 * e.g. If 3840x2160 being downscaled to 1920x1080, the scaling factor is 1/2.
fbe43dcd1aad7db Alvin Lee 2022-08-04 637 * Reduce the fraction 1080/2160 = 1/2 for the "scaling factor"
7857825ba4671d0 Alvin Lee 2022-08-15 638 *
7857825ba4671d0 Alvin Lee 2022-08-15 639 * Make sure to combine stream and plane scaling together.
fbe43dcd1aad7db Alvin Lee 2022-08-04 640 */
7857825ba4671d0 Alvin Lee 2022-08-15 641 reduce_fraction(subvp_pipe->stream->src.height, subvp_pipe->stream->dst.height,
7857825ba4671d0 Alvin Lee 2022-08-15 642 &out_num_stream, &out_den_stream);
7857825ba4671d0 Alvin Lee 2022-08-15 643 reduce_fraction(subvp_pipe->plane_state->src_rect.height, subvp_pipe->plane_state->dst_rect.height,
7857825ba4671d0 Alvin Lee 2022-08-15 644 &out_num_plane, &out_den_plane);
7857825ba4671d0 Alvin Lee 2022-08-15 645 reduce_fraction(out_num_stream * out_num_plane, out_den_stream * out_den_plane, &out_num, &out_den);
74f4e84dc42bc80 Alvin Lee 2022-08-08 646 pipe_data->pipe_config.subvp_data.scale_factor_numerator = out_num;
74f4e84dc42bc80 Alvin Lee 2022-08-08 647 pipe_data->pipe_config.subvp_data.scale_factor_denominator = out_den;
fbe43dcd1aad7db Alvin Lee 2022-08-04 648
85f4bc0c333ceed Alvin Lee 2022-05-02 649 // Prefetch lines is equal to VACTIVE + BP + VSYNC
85f4bc0c333ceed Alvin Lee 2022-05-02 650 pipe_data->pipe_config.subvp_data.prefetch_lines =
85f4bc0c333ceed Alvin Lee 2022-05-02 651 phantom_timing->v_total - phantom_timing->v_front_porch;
85f4bc0c333ceed Alvin Lee 2022-05-02 652
85f4bc0c333ceed Alvin Lee 2022-05-02 653 // Round up
85f4bc0c333ceed Alvin Lee 2022-05-02 654 pipe_data->pipe_config.subvp_data.prefetch_to_mall_start_lines =
410e747401a3121 Alvin Lee 2022-08-06 655 div64_u64(((uint64_t)dc->caps.subvp_prefetch_end_to_mall_start_us * ((uint64_t)phantom_timing->pix_clk_100hz * 100) +
410e747401a3121 Alvin Lee 2022-08-06 656 ((uint64_t)phantom_timing->h_total * 1000000 - 1)), ((uint64_t)phantom_timing->h_total * 1000000));
85f4bc0c333ceed Alvin Lee 2022-05-02 657 pipe_data->pipe_config.subvp_data.processing_delay_lines =
410e747401a3121 Alvin Lee 2022-08-06 658 div64_u64(((uint64_t)(dc->caps.subvp_fw_processing_delay_us) * ((uint64_t)phantom_timing->pix_clk_100hz * 100) +
410e747401a3121 Alvin Lee 2022-08-06 659 ((uint64_t)phantom_timing->h_total * 1000000 - 1)), ((uint64_t)phantom_timing->h_total * 1000000));
b0d6de32e30c635 Alvin Lee 2022-09-01 660
b0d6de32e30c635 Alvin Lee 2022-09-01 661 if (subvp_pipe->bottom_pipe) {
b0d6de32e30c635 Alvin Lee 2022-09-01 662 pipe_data->pipe_config.subvp_data.main_split_pipe_index = subvp_pipe->bottom_pipe->pipe_idx;
b0d6de32e30c635 Alvin Lee 2022-09-01 663 } else if (subvp_pipe->next_odm_pipe) {
b0d6de32e30c635 Alvin Lee 2022-09-01 664 pipe_data->pipe_config.subvp_data.main_split_pipe_index = subvp_pipe->next_odm_pipe->pipe_idx;
b0d6de32e30c635 Alvin Lee 2022-09-01 665 } else {
b0d6de32e30c635 Alvin Lee 2022-09-01 666 pipe_data->pipe_config.subvp_data.main_split_pipe_index = 0;
b0d6de32e30c635 Alvin Lee 2022-09-01 667 }
b0d6de32e30c635 Alvin Lee 2022-09-01 668
85f4bc0c333ceed Alvin Lee 2022-05-02 669 // Find phantom pipe index based on phantom stream
85f4bc0c333ceed Alvin Lee 2022-05-02 670 for (j = 0; j < dc->res_pool->pipe_count; j++) {
85f4bc0c333ceed Alvin Lee 2022-05-02 671 struct pipe_ctx *phantom_pipe = &context->res_ctx.pipe_ctx[j];
85f4bc0c333ceed Alvin Lee 2022-05-02 672
85f4bc0c333ceed Alvin Lee 2022-05-02 673 if (phantom_pipe->stream == subvp_pipe->stream->mall_stream_config.paired_stream) {
85f4bc0c333ceed Alvin Lee 2022-05-02 674 pipe_data->pipe_config.subvp_data.phantom_pipe_index = phantom_pipe->pipe_idx;
b0d6de32e30c635 Alvin Lee 2022-09-01 675 if (phantom_pipe->bottom_pipe) {
b0d6de32e30c635 Alvin Lee 2022-09-01 676 pipe_data->pipe_config.subvp_data.phantom_split_pipe_index = phantom_pipe->bottom_pipe->pipe_idx;
b0d6de32e30c635 Alvin Lee 2022-09-01 677 } else if (phantom_pipe->next_odm_pipe) {
b0d6de32e30c635 Alvin Lee 2022-09-01 678 pipe_data->pipe_config.subvp_data.phantom_split_pipe_index = phantom_pipe->next_odm_pipe->pipe_idx;
b0d6de32e30c635 Alvin Lee 2022-09-01 679 } else {
b0d6de32e30c635 Alvin Lee 2022-09-01 680 pipe_data->pipe_config.subvp_data.phantom_split_pipe_index = 0;
b0d6de32e30c635 Alvin Lee 2022-09-01 681 }
85f4bc0c333ceed Alvin Lee 2022-05-02 682 break;
85f4bc0c333ceed Alvin Lee 2022-05-02 683 }
85f4bc0c333ceed Alvin Lee 2022-05-02 684 }
85f4bc0c333ceed Alvin Lee 2022-05-02 685 }
85f4bc0c333ceed Alvin Lee 2022-05-02 686
:::::: The code at line 615 was first introduced by commit
:::::: 85f4bc0c333ceed24cbc9f69a2a77fab1ae3d4d1 drm/amd/display: Add SubVP required code
:::::: TO: Alvin Lee <Alvin.Lee2@....com>
:::::: CC: Alex Deucher <alexander.deucher@....com>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (322188 bytes)
Powered by blists - more mailing lists