Hi Diogo,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tegra/for-next]
[also build test ERROR on drm/drm-next tegra-drm/drm/tegra/for-next 
linus/master v6.2-rc6 next-20230130]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Diogo-Ivo/drm-tegra-add-sector-layout-to-SET-GET_TILING-IOCTLs/20230120-190334
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git for-next
patch link:    
https://lore.kernel.org/r/20230120105858.214440-3-diogo.ivo%40tecnico.ulisboa.pt
patch subject: [PATCH 2/2] drm/tegra: add scanout support for implicit tiling 
parameters
config: arm64-randconfig-r016-20230130 
(https://download.01.org/0day-ci/archive/20230131/202301310334.4oiy5kgy-...@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 
4196ca3278f78c6e19246e54ab0ecb364e37d66a)
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
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # 
https://github.com/intel-lab-lkp/linux/commit/fffef2135ccf679112cc60dee0532494c1389c78
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review 
Diogo-Ivo/drm-tegra-add-sector-layout-to-SET-GET_TILING-IOCTLs/20230120-190334
        git checkout fffef2135ccf679112cc60dee0532494c1389c78
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 
O=build_dir ARCH=arm64 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 
O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/gpu/drm/tegra/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <l...@intel.com>

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/tegra/fb.c:149:4: error: expected expression
                           unsigned long height = planes[0]->tiling.value;
                           ^
>> drivers/gpu/drm/tegra/fb.c:151:8: error: use of undeclared identifier 
>> 'height'
                           if (height > 5) {
                               ^
>> drivers/gpu/drm/tegra/fb.c:151:8: error: use of undeclared identifier 
>> 'height'
>> drivers/gpu/drm/tegra/fb.c:151:8: error: use of undeclared identifier 
>> 'height'
   drivers/gpu/drm/tegra/fb.c:153:6: error: use of undeclared identifier 
'height'
                                           height);
                                           ^
   drivers/gpu/drm/tegra/fb.c:159:49: error: use of undeclared identifier 
'height'
                           modifier = DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK(height);
                                                                        ^
   6 errors generated.


vim +149 drivers/gpu/drm/tegra/fb.c

   110  
   111  static struct drm_framebuffer *tegra_fb_alloc(struct drm_device *drm,
   112                                                const struct 
drm_mode_fb_cmd2 *mode_cmd,
   113                                                struct tegra_bo **planes,
   114                                                unsigned int num_planes)
   115  {
   116          struct drm_framebuffer *fb;
   117          unsigned int i;
   118          int err;
   119          struct drm_mode_fb_cmd2 mode_cmd_local;
   120  
   121          fb = kzalloc(sizeof(*fb), GFP_KERNEL);
   122          if (!fb)
   123                  return ERR_PTR(-ENOMEM);
   124  
   125          /* Check for implicitly defined modifiers using
   126           * the state defined by tegra_gem_set_tiling().
   127           */
   128          if (!(mode_cmd->flags & DRM_MODE_FB_MODIFIERS)) {
   129                  uint64_t modifier;
   130  
   131                  mode_cmd_local = *mode_cmd;
   132  
   133                  switch (planes[0]->tiling.mode) {
   134                  case TEGRA_BO_TILING_MODE_PITCH:
   135                          modifier = DRM_FORMAT_MOD_LINEAR;
   136                          break;
   137  
   138                  case TEGRA_BO_TILING_MODE_TILED:
   139                          modifier = DRM_FORMAT_MOD_NVIDIA_TEGRA_TILED;
   140                          break;
   141  
   142                  /* With all rigour this reconstruction of the modifier 
is
   143                   * incomplete, as it skips some fields (like page kind).
   144                   * However, along with the sector layout below it should
   145                   * contain all the bits of information needed by the
   146                   * scanout hardware.
   147                   */
   148                  case TEGRA_BO_TILING_MODE_BLOCK:
 > 149                          unsigned long height = planes[0]->tiling.value;
   150  
 > 151                          if (height > 5) {
   152                                  dev_err(drm->dev, "invalid block height 
value: %ld\n",
   153                                          height);
   154  
   155                                  err = -EINVAL;
   156                                  goto cleanup;
   157                          }
   158  
   159                          modifier = 
DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK(height);
   160                          break;
   161  
   162                  default:
   163                          dev_err(drm->dev, "invalid tiling mode\n");
   164                          err = -EINVAL;
   165                          goto cleanup;
   166                  }
   167  
   168                  if (planes[0]->tiling.sector_layout == 
DRM_TEGRA_GEM_SECTOR_LAYOUT_GPU)
   169                          modifier |= DRM_FORMAT_MOD_NVIDIA_SECTOR_LAYOUT;
   170  
   171                  mode_cmd_local.modifier[0] = modifier;
   172  
   173                  mode_cmd = &mode_cmd_local;
   174          }
   175  
   176          drm_helper_mode_fill_fb_struct(drm, fb, mode_cmd);
   177  
   178          for (i = 0; i < fb->format->num_planes; i++)
   179                  fb->obj[i] = &planes[i]->gem;
   180  
   181          err = drm_framebuffer_init(drm, fb, &tegra_fb_funcs);
   182          if (err < 0) {
   183                  dev_err(drm->dev, "failed to initialize framebuffer: 
%d\n",
   184                          err);
   185                  goto cleanup;
   186          }
   187  
   188          return fb;
   189  
   190  cleanup:
   191          kfree(fb);
   192          return ERR_PTR(err);
   193  }
   194  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

Reply via email to