[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