Advertisement
temppaste

Untitled

Jun 4th, 2018
311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.26 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement