All of lore.kernel.org
 help / color / mirror / Atom feed
From: Manasi Navare <manasi.d.navare@intel.com>
To: Julia Lawall <julia.lawall@lip6.fr>
Cc: intel-gfx@lists.freedesktop.org, kbuild-all@01.org
Subject: Re: [CI v12 10/23] drm/i915/dsc: Define & Compute VESA DSC params (fwd)
Date: Wed, 28 Nov 2018 10:50:58 -0800	[thread overview]
Message-ID: <20181128185056.GA7834@intel.com> (raw)
In-Reply-To: <alpine.DEB.2.21.1811281145000.2394@hadrien>

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.

Does this make sense?

Manasi
 
> julia
> 
> ---------- Forwarded message ----------
> Date: Wed, 28 Nov 2018 19:43:30 +0800
> From: kbuild test robot <lkp@intel.com>
> To: kbuild@01.org
> Cc: Julia Lawall <julia.lawall@lip6.fr>
> Subject: Re: [Intel-gfx] [CI v12 10/23] drm/i915/dsc: Define & Compute VESA DSC
>     params
> 
> CC: kbuild-all@01.org
> In-Reply-To: <20181127214125.17658-10-manasi.d.navare@intel.com>
> References: <20181127214125.17658-10-manasi.d.navare@intel.com>
> TO: Manasi Navare <manasi.d.navare@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	other threads:[~2018-11-28 18:47 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-28 11:46 [CI v12 10/23] drm/i915/dsc: Define & Compute VESA DSC params (fwd) Julia Lawall
2018-11-28 18:50 ` Manasi Navare [this message]
2018-11-28 18:50   ` Julia Lawall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181128185056.GA7834@intel.com \
    --to=manasi.d.navare@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=julia.lawall@lip6.fr \
    --cc=kbuild-all@01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.