[Intel-gfx] [drm-intel:topic/dp-hdmi-2.1-pcon 15/15] drivers/gpu/drm/i915/display/intel_dp.c:6909:42: error: use of logical '||' with constant operand
kernel test robot
lkp at intel.com
Fri Jan 8 18:49:43 UTC 2021
tree: git://anongit.freedesktop.org/drm-intel topic/dp-hdmi-2.1-pcon
head: 522508b665df3bbfdf40381d4e61777844b1703f
commit: 522508b665df3bbfdf40381d4e61777844b1703f [15/15] drm/i915/display: Let PCON convert from RGB to YCbCr if it can
config: x86_64-randconfig-r011-20210108 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 5c951623bc8965fa1e89660f2f5f4a2944e4981a)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git remote add drm-intel git://anongit.freedesktop.org/drm-intel
git fetch --no-tags drm-intel topic/dp-hdmi-2.1-pcon
git checkout 522508b665df3bbfdf40381d4e61777844b1703f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/i915/display/intel_dp.c:6909:42: error: use of logical '||' with constant operand [-Werror,-Wconstant-logical-operand]
DP_DS_HDMI_BT601_RGB_YCBCR_CONV ||
^
drivers/gpu/drm/i915/display/intel_dp.c:6909:42: note: use '|' for a bitwise operation
DP_DS_HDMI_BT601_RGB_YCBCR_CONV ||
^~
|
drivers/gpu/drm/i915/display/intel_dp.c:6910:42: error: use of logical '||' with constant operand [-Werror,-Wconstant-logical-operand]
DP_DS_HDMI_BT709_RGB_YCBCR_CONV ||
^
drivers/gpu/drm/i915/display/intel_dp.c:6910:42: note: use '|' for a bitwise operation
DP_DS_HDMI_BT709_RGB_YCBCR_CONV ||
^~
|
>> drivers/gpu/drm/i915/display/intel_dp.c:6911:10: error: converting the result of '<<' to a boolean always evaluates to true [-Werror,-Wtautological-constant-compare]
DP_DS_HDMI_BT2020_RGB_YCBCR_CONV);
^
include/drm/drm_dp_helper.h:444:48: note: expanded from macro 'DP_DS_HDMI_BT2020_RGB_YCBCR_CONV'
# define DP_DS_HDMI_BT2020_RGB_YCBCR_CONV (1 << 7)
^
drivers/gpu/drm/i915/display/intel_dp.c:6909:10: error: converting the result of '<<' to a boolean always evaluates to true [-Werror,-Wtautological-constant-compare]
DP_DS_HDMI_BT601_RGB_YCBCR_CONV ||
^
include/drm/drm_dp_helper.h:442:48: note: expanded from macro 'DP_DS_HDMI_BT601_RGB_YCBCR_CONV'
# define DP_DS_HDMI_BT601_RGB_YCBCR_CONV (1 << 5)
^
drivers/gpu/drm/i915/display/intel_dp.c:6910:10: error: converting the result of '<<' to a boolean always evaluates to true [-Werror,-Wtautological-constant-compare]
DP_DS_HDMI_BT709_RGB_YCBCR_CONV ||
^
include/drm/drm_dp_helper.h:443:48: note: expanded from macro 'DP_DS_HDMI_BT709_RGB_YCBCR_CONV'
# define DP_DS_HDMI_BT709_RGB_YCBCR_CONV (1 << 6)
^
5 errors generated.
vim +6909 drivers/gpu/drm/i915/display/intel_dp.c
6879
6880 static void
6881 intel_dp_update_420(struct intel_dp *intel_dp)
6882 {
6883 struct drm_i915_private *i915 = dp_to_i915(intel_dp);
6884 struct intel_connector *connector = intel_dp->attached_connector;
6885 bool is_branch, ycbcr_420_passthrough, ycbcr_444_to_420, rgb_to_ycbcr;
6886
6887 /* No YCbCr output support on gmch platforms */
6888 if (HAS_GMCH(i915))
6889 return;
6890
6891 /*
6892 * ILK doesn't seem capable of DP YCbCr output. The
6893 * displayed image is severly corrupted. SNB+ is fine.
6894 */
6895 if (IS_GEN(i915, 5))
6896 return;
6897
6898 is_branch = drm_dp_is_branch(intel_dp->dpcd);
6899 ycbcr_420_passthrough =
6900 drm_dp_downstream_420_passthrough(intel_dp->dpcd,
6901 intel_dp->downstream_ports);
6902 /* on-board LSPCON always assumed to support 4:4:4->4:2:0 conversion */
6903 ycbcr_444_to_420 =
6904 dp_to_dig_port(intel_dp)->lspcon.active ||
6905 drm_dp_downstream_444_to_420_conversion(intel_dp->dpcd,
6906 intel_dp->downstream_ports);
6907 rgb_to_ycbcr = drm_dp_downstream_rgb_to_ycbcr_conversion(intel_dp->dpcd,
6908 intel_dp->downstream_ports,
> 6909 DP_DS_HDMI_BT601_RGB_YCBCR_CONV ||
6910 DP_DS_HDMI_BT709_RGB_YCBCR_CONV ||
> 6911 DP_DS_HDMI_BT2020_RGB_YCBCR_CONV);
6912
6913 if (INTEL_GEN(i915) >= 11) {
6914 /* Let PCON convert from RGB->YCbCr if possible */
6915 if (is_branch && rgb_to_ycbcr && ycbcr_444_to_420) {
6916 intel_dp->dfp.rgb_to_ycbcr = true;
6917 intel_dp->dfp.ycbcr_444_to_420 = true;
6918 connector->base.ycbcr_420_allowed = true;
6919 } else {
6920 /* Prefer 4:2:0 passthrough over 4:4:4->4:2:0 conversion */
6921 intel_dp->dfp.ycbcr_444_to_420 =
6922 ycbcr_444_to_420 && !ycbcr_420_passthrough;
6923
6924 connector->base.ycbcr_420_allowed =
6925 !is_branch || ycbcr_444_to_420 || ycbcr_420_passthrough;
6926 }
6927 } else {
6928 /* 4:4:4->4:2:0 conversion is the only way */
6929 intel_dp->dfp.ycbcr_444_to_420 = ycbcr_444_to_420;
6930
6931 connector->base.ycbcr_420_allowed = ycbcr_444_to_420;
6932 }
6933
6934 drm_dbg_kms(&i915->drm,
6935 "[CONNECTOR:%d:%s] RGB->YcbCr conversion? %s, YCbCr 4:2:0 allowed? %s, YCbCr 4:4:4->4:2:0 conversion? %s\n",
6936 connector->base.base.id, connector->base.name,
6937 yesno(intel_dp->dfp.rgb_to_ycbcr),
6938 yesno(connector->base.ycbcr_420_allowed),
6939 yesno(intel_dp->dfp.ycbcr_444_to_420));
6940 }
6941
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 35963 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20210109/5df47ed7/attachment-0001.gz>
More information about the Intel-gfx
mailing list