Advertisement
Guest User

Untitled

a guest
Mar 8th, 2013
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 4.09 KB | None | 0 0
  1. commit 6e91394b57b3272046f8859b7008dfe32ba5f0d4
  2. Author: Pantelis Antoniou <panto@antoniou-consulting.com>
  3. Date:   Fri Mar 8 16:39:10 2013 +0200
  4.  
  5.     tilcdc: Enable reduced blanking check only on DVI/slave
  6.    
  7.     There's no reason to enable the check for non EDID probe cases.
  8.     Make sure it does not activate on fixed panel timings.
  9.    
  10.     Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
  11.  
  12. diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
  13. index 628d9aa..4d94daa 100644
  14. --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
  15. +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
  16. @@ -241,7 +241,7 @@ static int tilcdc_crtc_mode_set(struct drm_crtc *crtc,
  17.     uint32_t reg, hbp, hfp, hsw, vbp, vfp, vsw;
  18.     int ret;
  19.  
  20. -   ret = tilcdc_crtc_mode_valid(crtc, mode);
  21. +   ret = tilcdc_crtc_mode_valid(crtc, mode, 0);
  22.     if (WARN_ON(ret))
  23.         return ret;
  24.  
  25. @@ -418,7 +418,8 @@ int tilcdc_crtc_max_width(struct drm_crtc *crtc)
  26.     return max_width;
  27.  }
  28.  
  29. -int tilcdc_crtc_mode_valid(struct drm_crtc *crtc, struct drm_display_mode *mode)
  30. +int tilcdc_crtc_mode_valid(struct drm_crtc *crtc, struct drm_display_mode *mode,
  31. +       int rb_check)
  32.  {
  33.     struct tilcdc_drm_private *priv = crtc->dev->dev_private;
  34.     unsigned int bandwidth;
  35. @@ -439,7 +440,7 @@ int tilcdc_crtc_mode_valid(struct drm_crtc *crtc, struct drm_display_mode *mode)
  36.     if (bandwidth > priv->max_bandwidth)
  37.         return MODE_BAD;
  38.  
  39. -   if (priv->allow_non_rblank == 0) {
  40. +   if (rb_check) {
  41.         /* we only support reduced blanking modes */
  42.         rb = (mode->htotal - mode->hdisplay == 160) &&
  43.                (mode->hsync_end - mode->hdisplay == 80) &&
  44. diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.h b/drivers/gpu/drm/tilcdc/tilcdc_drv.h
  45. index c858f73..b04f94c 100644
  46. --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.h
  47. +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.h
  48. @@ -145,7 +145,8 @@ irqreturn_t tilcdc_crtc_irq(struct drm_crtc *crtc);
  49.  void tilcdc_crtc_update_clk(struct drm_crtc *crtc);
  50.  void tilcdc_crtc_set_panel_info(struct drm_crtc *crtc,
  51.         const struct tilcdc_panel_info *info);
  52. -int tilcdc_crtc_mode_valid(struct drm_crtc *crtc, struct drm_display_mode *mode);
  53. +int tilcdc_crtc_mode_valid(struct drm_crtc *crtc, struct drm_display_mode *mode,
  54. +       int rb_check);
  55.  int tilcdc_crtc_max_width(struct drm_crtc *crtc);
  56.  
  57.  #endif /* __TILCDC_DRV_H__ */
  58. diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
  59. index f4b794d..2496ee4 100644
  60. --- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c
  61. +++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
  62. @@ -197,7 +197,7 @@ static int panel_connector_mode_valid(struct drm_connector *connector,
  63.  {
  64.     struct tilcdc_drm_private *priv = connector->dev->dev_private;
  65.     /* our only constraints are what the crtc can generate: */
  66. -   return tilcdc_crtc_mode_valid(priv->crtc, mode);
  67. +   return tilcdc_crtc_mode_valid(priv->crtc, mode, 0);
  68.  }
  69.  
  70.  static struct drm_encoder *panel_connector_best_encoder(
  71. diff --git a/drivers/gpu/drm/tilcdc/tilcdc_slave.c b/drivers/gpu/drm/tilcdc/tilcdc_slave.c
  72. index 7d05c3d..a2d86ac 100644
  73. --- a/drivers/gpu/drm/tilcdc/tilcdc_slave.c
  74. +++ b/drivers/gpu/drm/tilcdc/tilcdc_slave.c
  75. @@ -167,7 +167,8 @@ static int slave_connector_mode_valid(struct drm_connector *connector,
  76.     struct tilcdc_drm_private *priv = connector->dev->dev_private;
  77.     int ret;
  78.  
  79. -   ret = tilcdc_crtc_mode_valid(priv->crtc, mode);
  80. +   ret = tilcdc_crtc_mode_valid(priv->crtc, mode,
  81. +           priv->allow_non_rblank ? 0 : 1);
  82.     if (ret != MODE_OK)
  83.         return ret;
  84.  
  85. diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
  86. index 7065dfa..6f9d727 100644
  87. --- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
  88. +++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
  89. @@ -213,7 +213,8 @@ static int tfp410_connector_mode_valid(struct drm_connector *connector,
  90.  {
  91.     struct tilcdc_drm_private *priv = connector->dev->dev_private;
  92.     /* our only constraints are what the crtc can generate: */
  93. -   return tilcdc_crtc_mode_valid(priv->crtc, mode);
  94. +   return tilcdc_crtc_mode_valid(priv->crtc, mode,
  95. +           priv->allow_non_rblank ? 0 : 1);
  96.  }
  97.  
  98.  static struct drm_encoder *tfp410_connector_best_encoder(
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement