On Wed, 28 Nov 2018, Manasi Navare wrote:

> On Wed, Nov 28, 2018 at 11:46:26AM +0000, Julia Lawall wrote:
> > Hello,
> >
> > row_index and column_index are unsigned, so in the last line shown
> > they will not be less than 0.
> >
>
> Row_index and column_index are assigned to 0 at the beginning of the function 
> and so
> if thre is no valid index found the get_column_index /row_index will return 
> -EINVAL
> and hence they can have values < 0.

Since they have an unsigned type, the negative values will be considered
to be really big positive numbers.

julia

>
> Does this make sense?
>
> Manasi
>
> > julia
> >
> > ---------- Forwarded message ----------
> > Date: Wed, 28 Nov 2018 19:43:30 +0800
> > From: kbuild test robot <l...@intel.com>
> > To: kbu...@01.org
> > Cc: Julia Lawall <julia.law...@lip6.fr>
> > Subject: Re: [Intel-gfx] [CI v12 10/23] drm/i915/dsc: Define & Compute VESA 
> > DSC
> >     params
> >
> > CC: kbuild-...@01.org
> > In-Reply-To: <20181127214125.17658-10-manasi.d.nav...@intel.com>
> > References: <20181127214125.17658-10-manasi.d.nav...@intel.com>
> > TO: Manasi Navare <manasi.d.nav...@intel.com>
> > CC: intel-gfx@lists.freedesktop.org
> > CC:
> >
> > Hi Gaurav,
> >
> > Thank you for the patch! Perhaps something to improve:
> >
> > [auto build test WARNING on drm-intel/for-linux-next]
> > [also build test WARNING on next-20181127]
> > [cannot apply to v4.20-rc4]
> > [if your patch is applied to the wrong git tree, please drop us a note to 
> > help improve the system]
> >
> > url:    
> > https://github.com/0day-ci/linux/commits/Manasi-Navare/drm-dsc-Modify-DRM-helper-to-return-complete-DSC-color-depth-capabilities/20181128-095026
> > base:   git://anongit.freedesktop.org/drm-intel for-linux-next
> > :::::: branch date: 10 hours ago
> > :::::: commit date: 10 hours ago
> >
> > >> drivers/gpu/drm/i915/intel_vdsc.c:404:22-34: WARNING: Unsigned 
> > >> expression compared with zero: column_index < 0
> > >> drivers/gpu/drm/i915/intel_vdsc.c:404:5-14: WARNING: Unsigned expression 
> > >> compared with zero: row_index < 0
> >
> > # 
> > https://github.com/0day-ci/linux/commit/5b6895999d5a84b154fcd49dc3a91d71897d03ec
> > git remote add linux-review https://github.com/0day-ci/linux
> > git remote update linux-review
> > git checkout 5b6895999d5a84b154fcd49dc3a91d71897d03ec
> > vim +404 drivers/gpu/drm/i915/intel_vdsc.c
> >
> > 5b689599 Gaurav K Singh 2018-11-27  319
> > 5b689599 Gaurav K Singh 2018-11-27  320  int 
> > intel_dp_compute_dsc_params(struct intel_dp *intel_dp,
> > 5b689599 Gaurav K Singh 2018-11-27  321                             struct 
> > intel_crtc_state *pipe_config)
> > 5b689599 Gaurav K Singh 2018-11-27  322  {
> > 5b689599 Gaurav K Singh 2018-11-27  323     struct drm_dsc_config *vdsc_cfg 
> > = &pipe_config->dp_dsc_cfg;
> > 5b689599 Gaurav K Singh 2018-11-27  324     u16 compressed_bpp = 
> > pipe_config->dsc_params.compressed_bpp;
> > 5b689599 Gaurav K Singh 2018-11-27  325     u8 i = 0;
> > 5b689599 Gaurav K Singh 2018-11-27  326     u8 row_index = 0;
> > 5b689599 Gaurav K Singh 2018-11-27  327     u8 column_index = 0;
> > 5b689599 Gaurav K Singh 2018-11-27  328     u8 line_buf_depth = 0;
> > 5b689599 Gaurav K Singh 2018-11-27  329
> > 5b689599 Gaurav K Singh 2018-11-27  330     vdsc_cfg->pic_width = 
> > pipe_config->base.adjusted_mode.crtc_hdisplay;
> > 5b689599 Gaurav K Singh 2018-11-27  331     vdsc_cfg->pic_height = 
> > pipe_config->base.adjusted_mode.crtc_vdisplay;
> > 5b689599 Gaurav K Singh 2018-11-27  332     vdsc_cfg->slice_width = 
> > DIV_ROUND_UP(vdsc_cfg->pic_width,
> > 5b689599 Gaurav K Singh 2018-11-27  333                                     
> >      pipe_config->dsc_params.slice_count);
> > 5b689599 Gaurav K Singh 2018-11-27  334     /*
> > 5b689599 Gaurav K Singh 2018-11-27  335      * Slice Height of 8 works for 
> > all currently available panels. So start
> > 5b689599 Gaurav K Singh 2018-11-27  336      * with that if pic_height is 
> > an integral multiple of 8.
> > 5b689599 Gaurav K Singh 2018-11-27  337      * Eventually add logic to try 
> > multiple slice heights.
> > 5b689599 Gaurav K Singh 2018-11-27  338      */
> > 5b689599 Gaurav K Singh 2018-11-27  339     if (vdsc_cfg->pic_height % 8 == 
> > 0)
> > 5b689599 Gaurav K Singh 2018-11-27  340             vdsc_cfg->slice_height 
> > = 8;
> > 5b689599 Gaurav K Singh 2018-11-27  341     else if (vdsc_cfg->pic_height % 
> > 4 == 0)
> > 5b689599 Gaurav K Singh 2018-11-27  342             vdsc_cfg->slice_height 
> > = 4;
> > 5b689599 Gaurav K Singh 2018-11-27  343     else
> > 5b689599 Gaurav K Singh 2018-11-27  344             vdsc_cfg->slice_height 
> > = 2;
> > 5b689599 Gaurav K Singh 2018-11-27  345
> > 5b689599 Gaurav K Singh 2018-11-27  346     /* Values filled from DSC Sink 
> > DPCD */
> > 5b689599 Gaurav K Singh 2018-11-27  347     vdsc_cfg->dsc_version_major =
> > 5b689599 Gaurav K Singh 2018-11-27  348             
> > (intel_dp->dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] &
> > 5b689599 Gaurav K Singh 2018-11-27  349              DP_DSC_MAJOR_MASK) >> 
> > DP_DSC_MAJOR_SHIFT;
> > 5b689599 Gaurav K Singh 2018-11-27  350     vdsc_cfg->dsc_version_minor =
> > 5b689599 Gaurav K Singh 2018-11-27  351             
> > min(DSC_SUPPORTED_VERSION_MIN,
> > 5b689599 Gaurav K Singh 2018-11-27  352                 
> > (intel_dp->dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] &
> > 5b689599 Gaurav K Singh 2018-11-27  353                  DP_DSC_MINOR_MASK) 
> > >> DP_DSC_MINOR_SHIFT);
> > 5b689599 Gaurav K Singh 2018-11-27  354
> > 5b689599 Gaurav K Singh 2018-11-27  355     vdsc_cfg->convert_rgb = 
> > intel_dp->dsc_dpcd[DP_DSC_DEC_COLOR_FORMAT_CAP - DP_DSC_SUPPORT] &
> > 5b689599 Gaurav K Singh 2018-11-27  356             DP_DSC_RGB;
> > 5b689599 Gaurav K Singh 2018-11-27  357
> > 5b689599 Gaurav K Singh 2018-11-27  358     line_buf_depth = 
> > drm_dp_dsc_sink_line_buf_depth(intel_dp->dsc_dpcd);
> > 5b689599 Gaurav K Singh 2018-11-27  359     if (!line_buf_depth) {
> > 5b689599 Gaurav K Singh 2018-11-27  360             DRM_DEBUG_KMS("DSC Sink 
> > Line Buffer Depth invalid\n");
> > 5b689599 Gaurav K Singh 2018-11-27  361             return -EINVAL;
> > 5b689599 Gaurav K Singh 2018-11-27  362     }
> > 5b689599 Gaurav K Singh 2018-11-27  363     if (vdsc_cfg->dsc_version_minor 
> > == 2)
> > 5b689599 Gaurav K Singh 2018-11-27  364             
> > vdsc_cfg->line_buf_depth = (line_buf_depth == 
> > DSC_1_2_MAX_LINEBUF_DEPTH_BITS) ?
> > 5b689599 Gaurav K Singh 2018-11-27  365                     
> > DSC_1_2_MAX_LINEBUF_DEPTH_VAL : line_buf_depth;
> > 5b689599 Gaurav K Singh 2018-11-27  366     else
> > 5b689599 Gaurav K Singh 2018-11-27  367             
> > vdsc_cfg->line_buf_depth = (line_buf_depth > 
> > DSC_1_1_MAX_LINEBUF_DEPTH_BITS) ?
> > 5b689599 Gaurav K Singh 2018-11-27  368                     
> > DSC_1_1_MAX_LINEBUF_DEPTH_BITS : line_buf_depth;
> > 5b689599 Gaurav K Singh 2018-11-27  369
> > 5b689599 Gaurav K Singh 2018-11-27  370     /* Gen 11 does not support 
> > YCbCr */
> > 5b689599 Gaurav K Singh 2018-11-27  371     vdsc_cfg->enable422 = false;
> > 5b689599 Gaurav K Singh 2018-11-27  372     /* Gen 11 does not support VBR 
> > */
> > 5b689599 Gaurav K Singh 2018-11-27  373     vdsc_cfg->vbr_enable = false;
> > 5b689599 Gaurav K Singh 2018-11-27  374     vdsc_cfg->block_pred_enable =
> > 5b689599 Gaurav K Singh 2018-11-27  375                     
> > intel_dp->dsc_dpcd[DP_DSC_BLK_PREDICTION_SUPPORT - DP_DSC_SUPPORT] &
> > 5b689599 Gaurav K Singh 2018-11-27  376             
> > DP_DSC_BLK_PREDICTION_IS_SUPPORTED;
> > 5b689599 Gaurav K Singh 2018-11-27  377
> > 5b689599 Gaurav K Singh 2018-11-27  378     /* Gen 11 only supports 
> > integral values of bpp */
> > 5b689599 Gaurav K Singh 2018-11-27  379     vdsc_cfg->bits_per_pixel = 
> > compressed_bpp << 4;
> > 5b689599 Gaurav K Singh 2018-11-27  380     vdsc_cfg->bits_per_component = 
> > pipe_config->pipe_bpp / 3;
> > 5b689599 Gaurav K Singh 2018-11-27  381
> > 5b689599 Gaurav K Singh 2018-11-27  382     for (i = 0; i < 
> > DSC_NUM_BUF_RANGES - 1; i++) {
> > 5b689599 Gaurav K Singh 2018-11-27  383             /*
> > 5b689599 Gaurav K Singh 2018-11-27  384              * six 0s are appended 
> > to the lsb of each threshold value
> > 5b689599 Gaurav K Singh 2018-11-27  385              * internally in h/w.
> > 5b689599 Gaurav K Singh 2018-11-27  386              * Only 8 bits are 
> > allowed for programming RcBufThreshold
> > 5b689599 Gaurav K Singh 2018-11-27  387              */
> > 5b689599 Gaurav K Singh 2018-11-27  388             
> > vdsc_cfg->rc_buf_thresh[i] = rc_buf_thresh[i] >> 6;
> > 5b689599 Gaurav K Singh 2018-11-27  389     }
> > 5b689599 Gaurav K Singh 2018-11-27  390
> > 5b689599 Gaurav K Singh 2018-11-27  391     /*
> > 5b689599 Gaurav K Singh 2018-11-27  392      * For 6bpp, RC Buffer 
> > threshold 12 and 13 need a different value
> > 5b689599 Gaurav K Singh 2018-11-27  393      * as per C Model
> > 5b689599 Gaurav K Singh 2018-11-27  394      */
> > 5b689599 Gaurav K Singh 2018-11-27  395     if (compressed_bpp == 6) {
> > 5b689599 Gaurav K Singh 2018-11-27  396             
> > vdsc_cfg->rc_buf_thresh[12] = 0x7C;
> > 5b689599 Gaurav K Singh 2018-11-27  397             
> > vdsc_cfg->rc_buf_thresh[13] = 0x7D;
> > 5b689599 Gaurav K Singh 2018-11-27  398     }
> > 5b689599 Gaurav K Singh 2018-11-27  399
> > 5b689599 Gaurav K Singh 2018-11-27  400     row_index = 
> > get_row_index_for_rc_params(compressed_bpp);
> > 5b689599 Gaurav K Singh 2018-11-27  401     column_index =
> > 5b689599 Gaurav K Singh 2018-11-27  402             
> > get_column_index_for_rc_params(vdsc_cfg->bits_per_component);
> > 5b689599 Gaurav K Singh 2018-11-27  403
> > 5b689599 Gaurav K Singh 2018-11-27 @404     if (row_index < 0 || 
> > column_index < 0)
> >
> > ---
> > 0-DAY kernel test infrastructure                Open Source Technology 
> > Center
> > https://lists.01.org/pipermail/kbuild-all                   Intel 
> > Corporation
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to