[drm-intel:drm-intel-next-queued 2/2] drivers/gpu/drm/i915/i915_perf.c:2442:85: sparse: sparse: dubious: x | !y

kbuild test robot lkp at intel.com
Fri Nov 1 11:30:44 UTC 2019


tree:   git://anongit.freedesktop.org/drm-intel drm-intel-next-queued
head:   00a7f0d7155c28ab18600bcf3f62d7cade2a870d
commit: 00a7f0d7155c28ab18600bcf3f62d7cade2a870d [2/2] drm/i915/tgl: Add perf support on TGL
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-dirty
        git checkout 00a7f0d7155c28ab18600bcf3f62d7cade2a870d
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp at intel.com>


sparse warnings: (new ones prefixed by >>)

>> drivers/gpu/drm/i915/i915_perf.c:2442:85: sparse: sparse: dubious: x | !y

vim +2442 drivers/gpu/drm/i915/i915_perf.c

  2430	
  2431	static int gen12_enable_metric_set(struct i915_perf_stream *stream)
  2432	{
  2433		struct intel_uncore *uncore = stream->uncore;
  2434		struct i915_oa_config *oa_config = stream->oa_config;
  2435		bool periodic = stream->periodic;
  2436		u32 period_exponent = stream->period_exponent;
  2437		int ret;
  2438	
  2439		intel_uncore_write(uncore, GEN12_OAG_OA_DEBUG,
  2440				   /* Disable clk ratio reports, like previous Gens. */
  2441				   _MASKED_BIT_ENABLE(GEN12_OAG_OA_DEBUG_DISABLE_CLK_RATIO_REPORTS |
> 2442						      GEN12_OAG_OA_DEBUG_INCLUDE_CLK_RATIO) |
  2443				   /*
  2444				    * If the user didn't require OA reports, instruct the
  2445				    * hardware not to emit ctx switch reports.
  2446				    */
  2447				   !(stream->sample_flags & SAMPLE_OA_REPORT) ?
  2448				   _MASKED_BIT_ENABLE(GEN12_OAG_OA_DEBUG_DISABLE_CTX_SWITCH_REPORTS) :
  2449				   _MASKED_BIT_DISABLE(GEN12_OAG_OA_DEBUG_DISABLE_CTX_SWITCH_REPORTS));
  2450	
  2451		intel_uncore_write(uncore, GEN12_OAG_OAGLBCTXCTRL, periodic ?
  2452				   (GEN12_OAG_OAGLBCTXCTRL_COUNTER_RESUME |
  2453				    GEN12_OAG_OAGLBCTXCTRL_TIMER_ENABLE |
  2454				    (period_exponent << GEN12_OAG_OAGLBCTXCTRL_TIMER_PERIOD_SHIFT))
  2455				    : 0);
  2456	
  2457		/*
  2458		 * Update all contexts prior writing the mux configurations as we need
  2459		 * to make sure all slices/subslices are ON before writing to NOA
  2460		 * registers.
  2461		 */
  2462		ret = lrc_configure_all_contexts(stream, oa_config);
  2463		if (ret)
  2464			return ret;
  2465	
  2466		/*
  2467		 * For Gen12, performance counters are context
  2468		 * saved/restored. Only enable it for the context that
  2469		 * requested this.
  2470		 */
  2471		if (stream->ctx) {
  2472			ret = gen12_emit_oar_config(stream->pinned_ctx,
  2473						    oa_config != NULL);
  2474			if (ret)
  2475				return ret;
  2476		}
  2477	
  2478		return emit_oa_config(stream, oa_config, oa_context(stream));
  2479	}
  2480	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


More information about the dri-devel mailing list