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

Rodrigo Vivi rodrigo.vivi at intel.com
Tue Oct 30 22:35:39 UTC 2018


On Tue, Oct 30, 2018 at 05:30:25PM +0800, kbuild test robot wrote:
> 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'?

it seems you need to rebase on latest drm-tip...

>      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


> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx



More information about the Intel-gfx mailing list