Hi Jani, kernel test robot noticed the following build warnings: [auto build test WARNING on drm-xe/drm-xe-next] [also build test WARNING on next-20240918] [cannot apply to drm-intel/for-linux-next drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.11] [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/Jani-Nikula/drm-i915-gem-fix-bitwise-and-logical-AND-mixup/20240918-191938 base: https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next patch link: https://lore.kernel.org/r/067332b1f8679f940f373618fd24b1d03370ba45.1726658138.git.jani.nikula%40intel.com patch subject: [PATCH 5/5] drm/i915: switch intel_wakeref_t underlying type to struct ref_tracker * config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20240919/202409190032.ZCHBxK9e-lkp@xxxxxxxxx/config) compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240919/202409190032.ZCHBxK9e-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202409190032.ZCHBxK9e-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): >> drivers/gpu/drm/i915/display/intel_display_power.c:548:10: warning: expression which evaluates to zero treated as a null pointer constant of type 'intel_wakeref_t' (aka 'struct ref_tracker *') [-Wnon-literal-null-conversion] 548 | return false; | ^~~~~ 1 warning generated. vim +548 drivers/gpu/drm/i915/display/intel_display_power.c 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 525 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 526 /** 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 527 * intel_display_power_get_if_enabled - grab a reference for an enabled display power domain 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 528 * @dev_priv: i915 device instance 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 529 * @domain: power domain to reference 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 530 * 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 531 * This function grabs a power domain reference for @domain and ensures that the 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 532 * power domain and all its parents are powered up. Therefore users should only 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 533 * grab a reference to the innermost power domain they need. 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 534 * 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 535 * Any power domain reference obtained by this function must have a symmetric 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 536 * call to intel_display_power_put() to release the reference again. 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 537 */ 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 538 intel_wakeref_t 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 539 intel_display_power_get_if_enabled(struct drm_i915_private *dev_priv, 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 540 enum intel_display_power_domain domain) 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 541 { e3e8148f43fb6d drivers/gpu/drm/i915/display/intel_display_power.c Jani Nikula 2022-08-29 542 struct i915_power_domains *power_domains = &dev_priv->display.power.domains; 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 543 intel_wakeref_t wakeref; 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 544 bool is_enabled; 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 545 d858d5695f3897 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-06-13 546 wakeref = intel_runtime_pm_get_if_in_use(&dev_priv->runtime_pm); 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 547 if (!wakeref) 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 @548 return false; 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 549 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 550 mutex_lock(&power_domains->lock); 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 551 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 552 if (__intel_display_power_is_enabled(dev_priv, domain)) { 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 553 __intel_display_power_get_domain(dev_priv, domain); 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 554 is_enabled = true; 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 555 } else { 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 556 is_enabled = false; 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 557 } 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 558 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 559 mutex_unlock(&power_domains->lock); 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 560 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 561 if (!is_enabled) { d858d5695f3897 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-06-13 562 intel_runtime_pm_put(&dev_priv->runtime_pm, wakeref); 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 563 wakeref = 0; 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 564 } 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 565 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 566 return wakeref; 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 567 } 7645b19d9bdd13 drivers/gpu/drm/i915/intel_display_power.c Daniele Ceraolo Spurio 2019-05-31 568 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki