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