[Intel-gfx] [PATCH v3 2/4] drm/i915/icl: Implement Display WA_1405510057

kbuild test robot lkp at intel.com
Tue Oct 30 09:30:25 UTC 2018


Hi Radhakrishna,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on v4.19 next-20181030]
[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/Radhakrishna-Sripada/drm-i915-icl-Add-WaEnable32PlaneMode/20181030-164539
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-x075-201843 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   In file included from include/linux/string.h:6:0,
                    from include/linux/uuid.h:20,
                    from include/linux/mod_devicetable.h:13,
                    from include/linux/i2c.h:29,
                    from drivers/gpu/drm/i915/intel_hdmi.c:29:
   drivers/gpu/drm/i915/intel_hdmi.c: In function 'hdmi_deep_color_possible':
   drivers/gpu/drm/i915/intel_hdmi.c:1654:18: error: 'const struct intel_crtc_state' has no member named 'output_format'; did you mean 'output_types'?
     if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 &&
                     ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> drivers/gpu/drm/i915/intel_hdmi.c:1654:2: note: in expansion of macro 'if'
     if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 &&
     ^~
   drivers/gpu/drm/i915/intel_hdmi.c:1654:35: error: 'INTEL_OUTPUT_FORMAT_YCBCR420' undeclared (first use in this function); did you mean 'INTEL_OUTPUT_DP_MST'?
     if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 &&
                                      ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> drivers/gpu/drm/i915/intel_hdmi.c:1654:2: note: in expansion of macro 'if'
     if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 &&
     ^~
   drivers/gpu/drm/i915/intel_hdmi.c:1654:35: note: each undeclared identifier is reported only once for each function it appears in
     if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 &&
                                      ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> drivers/gpu/drm/i915/intel_hdmi.c:1654:2: note: in expansion of macro 'if'
     if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 &&
     ^~
   drivers/gpu/drm/i915/intel_hdmi.c:1654:18: error: 'const struct intel_crtc_state' has no member named 'output_format'; did you mean 'output_types'?
     if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 &&
                     ^
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> drivers/gpu/drm/i915/intel_hdmi.c:1654:2: note: in expansion of macro 'if'
     if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 &&
     ^~
   drivers/gpu/drm/i915/intel_hdmi.c:1654:18: error: 'const struct intel_crtc_state' has no member named 'output_format'; did you mean 'output_types'?
     if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 &&
                     ^
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> drivers/gpu/drm/i915/intel_hdmi.c:1654:2: note: in expansion of macro 'if'
     if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 &&
     ^~

vim +/if +1654 drivers/gpu/drm/i915/intel_hdmi.c

  1591	
  1592	static bool hdmi_deep_color_possible(const struct intel_crtc_state *crtc_state,
  1593					     int bpc)
  1594	{
  1595		struct drm_i915_private *dev_priv =
  1596			to_i915(crtc_state->base.crtc->dev);
  1597		struct drm_atomic_state *state = crtc_state->base.state;
  1598		struct drm_connector_state *connector_state;
  1599		struct drm_connector *connector;
  1600		const struct drm_display_mode *adjusted_mode =
  1601			&crtc_state->base.adjusted_mode;
  1602		int i;
  1603	
  1604		if (HAS_GMCH_DISPLAY(dev_priv))
  1605			return false;
  1606	
  1607		if (bpc == 10 && INTEL_GEN(dev_priv) < 11)
  1608			return false;
  1609	
  1610		if (crtc_state->pipe_bpp <= 8*3)
  1611			return false;
  1612	
  1613		if (!crtc_state->has_hdmi_sink)
  1614			return false;
  1615	
  1616		/*
  1617		 * HDMI deep color affects the clocks, so it's only possible
  1618		 * when not cloning with other encoder types.
  1619		 */
  1620		if (crtc_state->output_types != 1 << INTEL_OUTPUT_HDMI)
  1621			return false;
  1622	
  1623		for_each_new_connector_in_state(state, connector, connector_state, i) {
  1624			const struct drm_display_info *info = &connector->display_info;
  1625	
  1626			if (connector_state->crtc != crtc_state->base.crtc)
  1627				continue;
  1628	
  1629			if (crtc_state->ycbcr420) {
  1630				const struct drm_hdmi_info *hdmi = &info->hdmi;
  1631	
  1632				if (bpc == 12 && !(hdmi->y420_dc_modes &
  1633						   DRM_EDID_YCBCR420_DC_36))
  1634					return false;
  1635				else if (bpc == 10 && !(hdmi->y420_dc_modes &
  1636							DRM_EDID_YCBCR420_DC_30))
  1637					return false;
  1638			} else {
  1639				if (bpc == 12 && !(info->edid_hdmi_dc_modes &
  1640						   DRM_EDID_HDMI_DC_36))
  1641					return false;
  1642				else if (bpc == 10 && !(info->edid_hdmi_dc_modes &
  1643							DRM_EDID_HDMI_DC_30))
  1644					return false;
  1645			}
  1646		}
  1647	
  1648		/* Display WA #1139: glk */
  1649		if (bpc == 12 && IS_GLK_REVID(dev_priv, 0, GLK_REVID_A1) &&
  1650		    adjusted_mode->htotal > 5460)
  1651			return false;
  1652	
  1653		/* Display Wa_1405510057:icl */
> 1654		if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 &&
  1655		    bpc == 10 && IS_ICELAKE(dev_priv) &&
  1656		    (adjusted_mode->crtc_hblank_end -
  1657		     adjusted_mode->crtc_hblank_start) % 8 == 2)
  1658			return false;
  1659	
  1660		return true;
  1661	}
  1662	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 33854 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20181030/2b663078/attachment-0001.gz>


More information about the Intel-gfx mailing list