SHARE
TWEET

Untitled

temppaste Jun 4th, 2018 44 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. diff -pruN a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
  2. --- a/drivers/gpu/drm/i915/i915_params.c    2018-05-25 07:46:20.000000000 -0700
  3. +++ b/drivers/gpu/drm/i915/i915_params.c    2018-05-26 16:52:37.204352639 -0700
  4. @@ -175,6 +175,10 @@ i915_param_named(enable_dpcd_backlight,
  5.  i915_param_named(enable_gvt, bool, 0400,
  6.     "Enable support for Intel GVT-g graphics virtualization host support(default:false)");
  7.  
  8. +i915_param_named_unsafe(glkhdmi, int, 0400,
  9. +       "Enable GLK HDMI workarounds "
  10. +       "(0=none/default, 1=disable HDMI 12bpc, 2=add 50ms delay after transcoder disable to give the level shifter time to settle)");
  11. +
  12.  static __always_inline void _print_param(struct drm_printer *p,
  13.                      const char *name,
  14.                      const char *type,
  15. diff -pruN a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
  16. --- a/drivers/gpu/drm/i915/i915_params.h    2018-05-25 07:46:20.000000000 -0700
  17. +++ b/drivers/gpu/drm/i915/i915_params.h    2018-05-26 16:52:37.204352639 -0700
  18. @@ -69,7 +69,8 @@ struct drm_printer;
  19.     param(bool, nuclear_pageflip, false) \
  20.     param(bool, enable_dp_mst, true) \
  21.     param(bool, enable_dpcd_backlight, false) \
  22. -   param(bool, enable_gvt, false)
  23. +   param(bool, enable_gvt, false) \
  24. +   param(int, glkhdmi, CONFIG_I915_GLK_HDMI_NOSIGNAL_WORKAROUND)
  25.  
  26.  #define MEMBER(T, member, ...) T member;
  27.  struct i915_params {
  28. diff -pruN a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
  29. --- a/drivers/gpu/drm/i915/intel_ddi.c  2018-05-25 07:46:20.000000000 -0700
  30. +++ b/drivers/gpu/drm/i915/intel_ddi.c  2018-05-26 16:52:37.207352625 -0700
  31. @@ -1613,6 +1613,9 @@ void intel_ddi_disable_transcoder_func(s
  32.     val &= ~(TRANS_DDI_FUNC_ENABLE | TRANS_DDI_PORT_MASK | TRANS_DDI_DP_VC_PAYLOAD_ALLOC);
  33.     val |= TRANS_DDI_PORT_NONE;
  34.     I915_WRITE(reg, val);
  35. +
  36. +   if (i915_modparams.glkhdmi == 2)
  37. +       msleep(50);
  38.  }
  39.  
  40.  bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector)
  41. diff -pruN a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
  42. --- a/drivers/gpu/drm/i915/intel_hdmi.c 2018-05-25 07:46:20.000000000 -0700
  43. +++ b/drivers/gpu/drm/i915/intel_hdmi.c 2018-05-26 16:52:37.213352599 -0700
  44. @@ -1350,6 +1350,9 @@ static bool hdmi_12bpc_possible(const st
  45.     struct drm_connector *connector;
  46.     int i;
  47.  
  48. +   if (i915_modparams.glkhdmi == 1)
  49. +       return false;
  50. +
  51.     if (HAS_GMCH_DISPLAY(dev_priv))
  52.         return false;
  53.  
  54. diff -pruN a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
  55. --- a/drivers/gpu/drm/i915/Kconfig  2018-05-25 07:46:20.000000000 -0700
  56. +++ b/drivers/gpu/drm/i915/Kconfig  2018-05-26 16:52:37.197352669 -0700
  57. @@ -126,6 +126,23 @@ config DRM_I915_GVT_KVMGT
  58.       Choose this option if you want to enable KVMGT support for
  59.       Intel GVT-g.
  60.  
  61. +choice
  62. +   prompt "Workaround for Gemini-Lake HDMI no signal"
  63. +   depends on DRM_I915
  64. +   config GLK_HDMI_WORKAROUND_0
  65. +       bool "None"
  66. +   config GLK_HDMI_WORKAROUND_1
  67. +       bool "Disable 12bpc HDMI support"
  68. +   config GLK_HDMI_WORKAROUND_2
  69. +       bool "Add 50ms delay after disabling the transcoder"
  70. +endchoice
  71. +
  72. +config I915_GLK_HDMI_NOSIGNAL_WORKAROUND
  73. +   int
  74. +   default 0 if GLK_HDMI_WORKAROUND_0
  75. +   default 1 if GLK_HDMI_WORKAROUND_1
  76. +   default 2 if GLK_HDMI_WORKAROUND_2
  77. +
  78.  menu "drm/i915 Debugging"
  79.  depends on DRM_I915
  80.  depends on EXPERT
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top