[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