[Intel-gfx] [PATCH v3 2/4] drm/i915/icl: Implement Display WA_1405510057
Radhakrishna Sripada
radhakrishna.sripada at intel.com
Wed Oct 31 18:54:15 UTC 2018
On Tue, Oct 30, 2018 at 03:35:39PM -0700, Rodrigo Vivi wrote:
> 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...
I rebased the patch on drm-tip. The drm-tip commit
33b7f3ee6e00831 drm/i915: Add CRTC output format YCBCR 4:2:0
introduced crtc_state->output_format. And this commit is not part of drm-intel
for-linux-next tag.
Regards,
Radhakrishna(RK) Sripada
>
> > 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