[SRU][Bionic][PATCH 0/1] UBUNTU: SAUCE: Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available."

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[SRU][Bionic][PATCH 0/1] UBUNTU: SAUCE: Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available."

Joseph Salisbury-3
BugLink: http://bugs.launchpad.net/bugs/1773520

== SRU Justification ==
The bug reporter states that after update to Kernel 4.13-43 the intel
graphics seem to really lag - especially noticeable in apps which are
using vsync, which, at least on his system, locks to 40fps unlike the
previous kernel.

See https://askubuntu.com/questions/1039189/today-i-got-an-update-and-graphics-are-not-working-right-on-ubuntu-16-04/1040545#1040545 for some other users with the same issue

This regression was introduced by upstream commit dc911f5bd8aa.  A
revert of this commit fixes this bug.  Upstream has already reverted
this commit in drm-tip tree and cc'd it to upstream stable.  However,
the revert has not landed in mainline or stable yet, so it is being sent
as a SAUCE patch.

The revert is also needed in Artful. However, the Artful revert is
slightly differant, so it will be SRU'd separately.

== Fix ==
UBUNTU: SAUCE: Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available."

== Regression Potential ==
Low.  This revert is to fix a current regression.

== Test Case ==
A test kernel was built with this patch and tested by the original bug reporter.
The bug reporter states the test kernel resolved the bug.

Joseph Salisbury (1):
  Revert "drm/i915/edp: Allow alternate fixed mode for eDP if
    available."

 drivers/gpu/drm/i915/intel_dp.c    | 38 +++++---------------------------------
 drivers/gpu/drm/i915/intel_drv.h   |  2 --
 drivers/gpu/drm/i915/intel_dsi.c   |  2 +-
 drivers/gpu/drm/i915/intel_dvo.c   |  2 +-
 drivers/gpu/drm/i915/intel_lvds.c  |  3 +--
 drivers/gpu/drm/i915/intel_panel.c |  6 ------
 6 files changed, 8 insertions(+), 45 deletions(-)

--
2.7.4


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[SRU][Bionic][PATCH 1/1] UBUNTU: SAUCE: Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available."

Joseph Salisbury-3
From: Jani Nikula <[hidden email]>

BugLink: http://bugs.launchpad.net/bugs/1773520

This reverts commit dc911f5bd8aacfcf8aabd5c26c88e04c837a938e.

Per the report, no matter what display mode you select with xrandr, the
i915 driver will always select the alternate fixed mode. For the
reporter this means that the display will always run at 40Hz which is
quite annoying. This may be due to the mode comparison.

But there are some other potential issues. The choice of alt_fixed_mode
seems dubious. It's the first non-preferred mode, but there are no
guarantees that the only difference would be refresh rate. Similarly,
there may be more than one preferred mode in the probed modes list, and
the commit changes the preferred mode selection to choose the last one
on the list instead of the first.

(Note that the probed modes list is the raw, unfiltered, unsorted list
of modes from drm_add_edid_modes(), not the pretty result after a
drm_helper_probe_single_connector_modes() call.)

Finally, we already have eerily similar code in place to find the
downclock mode for DRRS that seems like could be reused here.

Back to the drawing board.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105469
Reported-by: Rune Petersen <[hidden email]>
Reported-by: Mark Spencer <[hidden email]>
Fixes: dc911f5bd8aa ("drm/i915/edp: Allow alternate fixed mode for eDP if available.")
Cc: Clint Taylor <[hidden email]>
Cc: David Weinehall <[hidden email]>
Cc: Rodrigo Vivi <[hidden email]>
Cc: Paulo Zanoni <[hidden email]>
Cc: Jani Nikula <[hidden email]>
Cc: Chris Wilson <[hidden email]>
Cc: Jim Bride <[hidden email]>
Cc: Jani Nikula <[hidden email]>
Cc: Joonas Lahtinen <[hidden email]>
Cc: [hidden email]
Cc: <[hidden email]> # v4.14+
Signed-off-by: Jani Nikula <[hidden email]>
Reviewed-by: Dhinakaran Pandiyan <[hidden email]>
Link: https://patchwork.freedesktop.org/patch/msgid/20180516080110.22770-1-jani.nikula@...
Signed-off-by: Joseph Salisbury <[hidden email]>
---
 drivers/gpu/drm/i915/intel_dp.c    | 38 +++++---------------------------------
 drivers/gpu/drm/i915/intel_drv.h   |  2 --
 drivers/gpu/drm/i915/intel_dsi.c   |  2 +-
 drivers/gpu/drm/i915/intel_dvo.c   |  2 +-
 drivers/gpu/drm/i915/intel_lvds.c  |  3 +--
 drivers/gpu/drm/i915/intel_panel.c |  6 ------
 6 files changed, 8 insertions(+), 45 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index add4b24..0dace06 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1603,23 +1603,6 @@ static int intel_dp_compute_bpp(struct intel_dp *intel_dp,
  return bpp;
 }
 
-static bool intel_edp_compare_alt_mode(struct drm_display_mode *m1,
-       struct drm_display_mode *m2)
-{
- bool bres = false;
-
- if (m1 && m2)
- bres = (m1->hdisplay == m2->hdisplay &&
- m1->hsync_start == m2->hsync_start &&
- m1->hsync_end == m2->hsync_end &&
- m1->htotal == m2->htotal &&
- m1->vdisplay == m2->vdisplay &&
- m1->vsync_start == m2->vsync_start &&
- m1->vsync_end == m2->vsync_end &&
- m1->vtotal == m2->vtotal);
- return bres;
-}
-
 bool
 intel_dp_compute_config(struct intel_encoder *encoder,
  struct intel_crtc_state *pipe_config,
@@ -1666,16 +1649,8 @@ intel_dp_compute_config(struct intel_encoder *encoder,
  pipe_config->has_audio = intel_conn_state->force_audio == HDMI_AUDIO_ON;
 
  if (intel_dp_is_edp(intel_dp) && intel_connector->panel.fixed_mode) {
- struct drm_display_mode *panel_mode =
- intel_connector->panel.alt_fixed_mode;
- struct drm_display_mode *req_mode = &pipe_config->base.mode;
-
- if (!intel_edp_compare_alt_mode(req_mode, panel_mode))
- panel_mode = intel_connector->panel.fixed_mode;
-
- drm_mode_debug_printmodeline(panel_mode);
-
- intel_fixed_panel_mode(panel_mode, adjusted_mode);
+ intel_fixed_panel_mode(intel_connector->panel.fixed_mode,
+       adjusted_mode);
 
  if (INTEL_GEN(dev_priv) >= 9) {
  int ret;
@@ -5828,7 +5803,6 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
  struct drm_device *dev = intel_encoder->base.dev;
  struct drm_i915_private *dev_priv = to_i915(dev);
  struct drm_display_mode *fixed_mode = NULL;
- struct drm_display_mode *alt_fixed_mode = NULL;
  struct drm_display_mode *downclock_mode = NULL;
  bool has_dpcd;
  struct drm_display_mode *scan;
@@ -5884,14 +5858,13 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
  }
  intel_connector->edid = edid;
 
- /* prefer fixed mode from EDID if available, save an alt mode also */
+ /* prefer fixed mode from EDID if available */
  list_for_each_entry(scan, &connector->probed_modes, head) {
  if ((scan->type & DRM_MODE_TYPE_PREFERRED)) {
  fixed_mode = drm_mode_duplicate(dev, scan);
  downclock_mode = intel_dp_drrs_init(
  intel_connector, fixed_mode);
- } else if (!alt_fixed_mode) {
- alt_fixed_mode = drm_mode_duplicate(dev, scan);
+ break;
  }
  }
 
@@ -5928,8 +5901,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
       pipe_name(pipe));
  }
 
- intel_panel_init(&intel_connector->panel, fixed_mode, alt_fixed_mode,
- downclock_mode);
+ intel_panel_init(&intel_connector->panel, fixed_mode, downclock_mode);
  intel_connector->panel.backlight.power = intel_edp_backlight_power;
  intel_panel_setup_backlight(connector, pipe);
 
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 5d77f75..aa8097b 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -265,7 +265,6 @@ struct intel_encoder {
 
 struct intel_panel {
  struct drm_display_mode *fixed_mode;
- struct drm_display_mode *alt_fixed_mode;
  struct drm_display_mode *downclock_mode;
 
  /* backlight */
@@ -1708,7 +1707,6 @@ void intel_overlay_reset(struct drm_i915_private *dev_priv);
 /* intel_panel.c */
 int intel_panel_init(struct intel_panel *panel,
      struct drm_display_mode *fixed_mode,
-     struct drm_display_mode *alt_fixed_mode,
      struct drm_display_mode *downclock_mode);
 void intel_panel_fini(struct intel_panel *panel);
 void intel_fixed_panel_mode(const struct drm_display_mode *fixed_mode,
diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
index 83f1584..d1deb74 100644
--- a/drivers/gpu/drm/i915/intel_dsi.c
+++ b/drivers/gpu/drm/i915/intel_dsi.c
@@ -1822,7 +1822,7 @@ void intel_dsi_init(struct drm_i915_private *dev_priv)
  connector->display_info.width_mm = fixed_mode->width_mm;
  connector->display_info.height_mm = fixed_mode->height_mm;
 
- intel_panel_init(&intel_connector->panel, fixed_mode, NULL, NULL);
+ intel_panel_init(&intel_connector->panel, fixed_mode, NULL);
  intel_panel_setup_backlight(connector, INVALID_PIPE);
 
  intel_dsi_add_properties(intel_connector);
diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
index 53c9b76..2b99904 100644
--- a/drivers/gpu/drm/i915/intel_dvo.c
+++ b/drivers/gpu/drm/i915/intel_dvo.c
@@ -535,7 +535,7 @@ void intel_dvo_init(struct drm_i915_private *dev_priv)
  */
  intel_panel_init(&intel_connector->panel,
  intel_dvo_get_current_mode(intel_encoder),
- NULL, NULL);
+ NULL);
  intel_dvo->panel_wants_dither = true;
  }
 
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 38572d6..885d349 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -1125,8 +1125,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
 out:
  mutex_unlock(&dev->mode_config.mutex);
 
- intel_panel_init(&intel_connector->panel, fixed_mode, NULL,
- downclock_mode);
+ intel_panel_init(&intel_connector->panel, fixed_mode, downclock_mode);
  intel_panel_setup_backlight(connector, INVALID_PIPE);
 
  lvds_encoder->is_dual_link = compute_is_dual_link_lvds(lvds_encoder);
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index adc51e4..76f3aa5 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1924,13 +1924,11 @@ intel_panel_init_backlight_funcs(struct intel_panel *panel)
 
 int intel_panel_init(struct intel_panel *panel,
      struct drm_display_mode *fixed_mode,
-     struct drm_display_mode *alt_fixed_mode,
      struct drm_display_mode *downclock_mode)
 {
  intel_panel_init_backlight_funcs(panel);
 
  panel->fixed_mode = fixed_mode;
- panel->alt_fixed_mode = alt_fixed_mode;
  panel->downclock_mode = downclock_mode;
 
  return 0;
@@ -1944,10 +1942,6 @@ void intel_panel_fini(struct intel_panel *panel)
  if (panel->fixed_mode)
  drm_mode_destroy(intel_connector->base.dev, panel->fixed_mode);
 
- if (panel->alt_fixed_mode)
- drm_mode_destroy(intel_connector->base.dev,
- panel->alt_fixed_mode);
-
  if (panel->downclock_mode)
  drm_mode_destroy(intel_connector->base.dev,
  panel->downclock_mode);
--
2.7.4


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

ACK: [SRU][Bionic][PATCH 1/1] UBUNTU: SAUCE: Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available."

Kleber Sacilotto de Souza
On 06/01/18 08:46, Joseph Salisbury wrote:

> From: Jani Nikula <[hidden email]>
>
> BugLink: http://bugs.launchpad.net/bugs/1773520
>
> This reverts commit dc911f5bd8aacfcf8aabd5c26c88e04c837a938e.
>
> Per the report, no matter what display mode you select with xrandr, the
> i915 driver will always select the alternate fixed mode. For the
> reporter this means that the display will always run at 40Hz which is
> quite annoying. This may be due to the mode comparison.
>
> But there are some other potential issues. The choice of alt_fixed_mode
> seems dubious. It's the first non-preferred mode, but there are no
> guarantees that the only difference would be refresh rate. Similarly,
> there may be more than one preferred mode in the probed modes list, and
> the commit changes the preferred mode selection to choose the last one
> on the list instead of the first.
>
> (Note that the probed modes list is the raw, unfiltered, unsorted list
> of modes from drm_add_edid_modes(), not the pretty result after a
> drm_helper_probe_single_connector_modes() call.)
>
> Finally, we already have eerily similar code in place to find the
> downclock mode for DRRS that seems like could be reused here.
>
> Back to the drawing board.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105469
> Reported-by: Rune Petersen <[hidden email]>
> Reported-by: Mark Spencer <[hidden email]>
> Fixes: dc911f5bd8aa ("drm/i915/edp: Allow alternate fixed mode for eDP if available.")
> Cc: Clint Taylor <[hidden email]>
> Cc: David Weinehall <[hidden email]>
> Cc: Rodrigo Vivi <[hidden email]>
> Cc: Paulo Zanoni <[hidden email]>
> Cc: Jani Nikula <[hidden email]>
> Cc: Chris Wilson <[hidden email]>
> Cc: Jim Bride <[hidden email]>
> Cc: Jani Nikula <[hidden email]>
> Cc: Joonas Lahtinen <[hidden email]>
> Cc: [hidden email]
> Cc: <[hidden email]> # v4.14+
> Signed-off-by: Jani Nikula <[hidden email]>
> Reviewed-by: Dhinakaran Pandiyan <[hidden email]>
> Link: https://patchwork.freedesktop.org/patch/msgid/20180516080110.22770-1-jani.nikula@...
> Signed-off-by: Joseph Salisbury <[hidden email]>

Acked-by: Kleber Sacilotto de Souza <[hidden email]>

> ---
>  drivers/gpu/drm/i915/intel_dp.c    | 38 +++++---------------------------------
>  drivers/gpu/drm/i915/intel_drv.h   |  2 --
>  drivers/gpu/drm/i915/intel_dsi.c   |  2 +-
>  drivers/gpu/drm/i915/intel_dvo.c   |  2 +-
>  drivers/gpu/drm/i915/intel_lvds.c  |  3 +--
>  drivers/gpu/drm/i915/intel_panel.c |  6 ------
>  6 files changed, 8 insertions(+), 45 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index add4b24..0dace06 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1603,23 +1603,6 @@ static int intel_dp_compute_bpp(struct intel_dp *intel_dp,
>   return bpp;
>  }
>  
> -static bool intel_edp_compare_alt_mode(struct drm_display_mode *m1,
> -       struct drm_display_mode *m2)
> -{
> - bool bres = false;
> -
> - if (m1 && m2)
> - bres = (m1->hdisplay == m2->hdisplay &&
> - m1->hsync_start == m2->hsync_start &&
> - m1->hsync_end == m2->hsync_end &&
> - m1->htotal == m2->htotal &&
> - m1->vdisplay == m2->vdisplay &&
> - m1->vsync_start == m2->vsync_start &&
> - m1->vsync_end == m2->vsync_end &&
> - m1->vtotal == m2->vtotal);
> - return bres;
> -}
> -
>  bool
>  intel_dp_compute_config(struct intel_encoder *encoder,
>   struct intel_crtc_state *pipe_config,
> @@ -1666,16 +1649,8 @@ intel_dp_compute_config(struct intel_encoder *encoder,
>   pipe_config->has_audio = intel_conn_state->force_audio == HDMI_AUDIO_ON;
>  
>   if (intel_dp_is_edp(intel_dp) && intel_connector->panel.fixed_mode) {
> - struct drm_display_mode *panel_mode =
> - intel_connector->panel.alt_fixed_mode;
> - struct drm_display_mode *req_mode = &pipe_config->base.mode;
> -
> - if (!intel_edp_compare_alt_mode(req_mode, panel_mode))
> - panel_mode = intel_connector->panel.fixed_mode;
> -
> - drm_mode_debug_printmodeline(panel_mode);
> -
> - intel_fixed_panel_mode(panel_mode, adjusted_mode);
> + intel_fixed_panel_mode(intel_connector->panel.fixed_mode,
> +       adjusted_mode);
>  
>   if (INTEL_GEN(dev_priv) >= 9) {
>   int ret;
> @@ -5828,7 +5803,6 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>   struct drm_device *dev = intel_encoder->base.dev;
>   struct drm_i915_private *dev_priv = to_i915(dev);
>   struct drm_display_mode *fixed_mode = NULL;
> - struct drm_display_mode *alt_fixed_mode = NULL;
>   struct drm_display_mode *downclock_mode = NULL;
>   bool has_dpcd;
>   struct drm_display_mode *scan;
> @@ -5884,14 +5858,13 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>   }
>   intel_connector->edid = edid;
>  
> - /* prefer fixed mode from EDID if available, save an alt mode also */
> + /* prefer fixed mode from EDID if available */
>   list_for_each_entry(scan, &connector->probed_modes, head) {
>   if ((scan->type & DRM_MODE_TYPE_PREFERRED)) {
>   fixed_mode = drm_mode_duplicate(dev, scan);
>   downclock_mode = intel_dp_drrs_init(
>   intel_connector, fixed_mode);
> - } else if (!alt_fixed_mode) {
> - alt_fixed_mode = drm_mode_duplicate(dev, scan);
> + break;
>   }
>   }
>  
> @@ -5928,8 +5901,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>        pipe_name(pipe));
>   }
>  
> - intel_panel_init(&intel_connector->panel, fixed_mode, alt_fixed_mode,
> - downclock_mode);
> + intel_panel_init(&intel_connector->panel, fixed_mode, downclock_mode);
>   intel_connector->panel.backlight.power = intel_edp_backlight_power;
>   intel_panel_setup_backlight(connector, pipe);
>  
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 5d77f75..aa8097b 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -265,7 +265,6 @@ struct intel_encoder {
>  
>  struct intel_panel {
>   struct drm_display_mode *fixed_mode;
> - struct drm_display_mode *alt_fixed_mode;
>   struct drm_display_mode *downclock_mode;
>  
>   /* backlight */
> @@ -1708,7 +1707,6 @@ void intel_overlay_reset(struct drm_i915_private *dev_priv);
>  /* intel_panel.c */
>  int intel_panel_init(struct intel_panel *panel,
>       struct drm_display_mode *fixed_mode,
> -     struct drm_display_mode *alt_fixed_mode,
>       struct drm_display_mode *downclock_mode);
>  void intel_panel_fini(struct intel_panel *panel);
>  void intel_fixed_panel_mode(const struct drm_display_mode *fixed_mode,
> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
> index 83f1584..d1deb74 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.c
> +++ b/drivers/gpu/drm/i915/intel_dsi.c
> @@ -1822,7 +1822,7 @@ void intel_dsi_init(struct drm_i915_private *dev_priv)
>   connector->display_info.width_mm = fixed_mode->width_mm;
>   connector->display_info.height_mm = fixed_mode->height_mm;
>  
> - intel_panel_init(&intel_connector->panel, fixed_mode, NULL, NULL);
> + intel_panel_init(&intel_connector->panel, fixed_mode, NULL);
>   intel_panel_setup_backlight(connector, INVALID_PIPE);
>  
>   intel_dsi_add_properties(intel_connector);
> diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
> index 53c9b76..2b99904 100644
> --- a/drivers/gpu/drm/i915/intel_dvo.c
> +++ b/drivers/gpu/drm/i915/intel_dvo.c
> @@ -535,7 +535,7 @@ void intel_dvo_init(struct drm_i915_private *dev_priv)
>   */
>   intel_panel_init(&intel_connector->panel,
>   intel_dvo_get_current_mode(intel_encoder),
> - NULL, NULL);
> + NULL);
>   intel_dvo->panel_wants_dither = true;
>   }
>  
> diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
> index 38572d6..885d349 100644
> --- a/drivers/gpu/drm/i915/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/intel_lvds.c
> @@ -1125,8 +1125,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>  out:
>   mutex_unlock(&dev->mode_config.mutex);
>  
> - intel_panel_init(&intel_connector->panel, fixed_mode, NULL,
> - downclock_mode);
> + intel_panel_init(&intel_connector->panel, fixed_mode, downclock_mode);
>   intel_panel_setup_backlight(connector, INVALID_PIPE);
>  
>   lvds_encoder->is_dual_link = compute_is_dual_link_lvds(lvds_encoder);
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index adc51e4..76f3aa5 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -1924,13 +1924,11 @@ intel_panel_init_backlight_funcs(struct intel_panel *panel)
>  
>  int intel_panel_init(struct intel_panel *panel,
>       struct drm_display_mode *fixed_mode,
> -     struct drm_display_mode *alt_fixed_mode,
>       struct drm_display_mode *downclock_mode)
>  {
>   intel_panel_init_backlight_funcs(panel);
>  
>   panel->fixed_mode = fixed_mode;
> - panel->alt_fixed_mode = alt_fixed_mode;
>   panel->downclock_mode = downclock_mode;
>  
>   return 0;
> @@ -1944,10 +1942,6 @@ void intel_panel_fini(struct intel_panel *panel)
>   if (panel->fixed_mode)
>   drm_mode_destroy(intel_connector->base.dev, panel->fixed_mode);
>  
> - if (panel->alt_fixed_mode)
> - drm_mode_destroy(intel_connector->base.dev,
> - panel->alt_fixed_mode);
> -
>   if (panel->downclock_mode)
>   drm_mode_destroy(intel_connector->base.dev,
>   panel->downclock_mode);
>

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

ACK: [SRU][Bionic][PATCH 0/1] UBUNTU: SAUCE: Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available."

Khaled Elmously
In reply to this post by Joseph Salisbury-3
On 2018-06-01 11:46:34 , Joseph Salisbury wrote:

> BugLink: http://bugs.launchpad.net/bugs/1773520
>
> == SRU Justification ==
> The bug reporter states that after update to Kernel 4.13-43 the intel
> graphics seem to really lag - especially noticeable in apps which are
> using vsync, which, at least on his system, locks to 40fps unlike the
> previous kernel.
>
> See https://askubuntu.com/questions/1039189/today-i-got-an-update-and-graphics-are-not-working-right-on-ubuntu-16-04/1040545#1040545 for some other users with the same issue
>
> This regression was introduced by upstream commit dc911f5bd8aa.  A
> revert of this commit fixes this bug.  Upstream has already reverted
> this commit in drm-tip tree and cc'd it to upstream stable.  However,
> the revert has not landed in mainline or stable yet, so it is being sent
> as a SAUCE patch.
>
> The revert is also needed in Artful. However, the Artful revert is
> slightly differant, so it will be SRU'd separately.
>
> == Fix ==
> UBUNTU: SAUCE: Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available."
>
> == Regression Potential ==
> Low.  This revert is to fix a current regression.
>
> == Test Case ==
> A test kernel was built with this patch and tested by the original bug reporter.
> The bug reporter states the test kernel resolved the bug.
>
> Joseph Salisbury (1):
>   Revert "drm/i915/edp: Allow alternate fixed mode for eDP if
>     available."
>
>  drivers/gpu/drm/i915/intel_dp.c    | 38 +++++---------------------------------
>  drivers/gpu/drm/i915/intel_drv.h   |  2 --
>  drivers/gpu/drm/i915/intel_dsi.c   |  2 +-
>  drivers/gpu/drm/i915/intel_dvo.c   |  2 +-
>  drivers/gpu/drm/i915/intel_lvds.c  |  3 +--
>  drivers/gpu/drm/i915/intel_panel.c |  6 ------
>  6 files changed, 8 insertions(+), 45 deletions(-)
>

Acked-by: Khalid Elmously <[hidden email]>
 

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

APPLIED: [SRU][Bionic][PATCH 0/1] UBUNTU: SAUCE: Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available."

Khaled Elmously
In reply to this post by Joseph Salisbury-3
Applied to Bionic


On 2018-06-01 11:46:34 , Joseph Salisbury wrote:

> BugLink: http://bugs.launchpad.net/bugs/1773520
>
> == SRU Justification ==
> The bug reporter states that after update to Kernel 4.13-43 the intel
> graphics seem to really lag - especially noticeable in apps which are
> using vsync, which, at least on his system, locks to 40fps unlike the
> previous kernel.
>
> See https://askubuntu.com/questions/1039189/today-i-got-an-update-and-graphics-are-not-working-right-on-ubuntu-16-04/1040545#1040545 for some other users with the same issue
>
> This regression was introduced by upstream commit dc911f5bd8aa.  A
> revert of this commit fixes this bug.  Upstream has already reverted
> this commit in drm-tip tree and cc'd it to upstream stable.  However,
> the revert has not landed in mainline or stable yet, so it is being sent
> as a SAUCE patch.
>
> The revert is also needed in Artful. However, the Artful revert is
> slightly differant, so it will be SRU'd separately.
>
> == Fix ==
> UBUNTU: SAUCE: Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available."
>
> == Regression Potential ==
> Low.  This revert is to fix a current regression.
>
> == Test Case ==
> A test kernel was built with this patch and tested by the original bug reporter.
> The bug reporter states the test kernel resolved the bug.
>
> Joseph Salisbury (1):
>   Revert "drm/i915/edp: Allow alternate fixed mode for eDP if
>     available."
>
>  drivers/gpu/drm/i915/intel_dp.c    | 38 +++++---------------------------------
>  drivers/gpu/drm/i915/intel_drv.h   |  2 --
>  drivers/gpu/drm/i915/intel_dsi.c   |  2 +-
>  drivers/gpu/drm/i915/intel_dvo.c   |  2 +-
>  drivers/gpu/drm/i915/intel_lvds.c  |  3 +--
>  drivers/gpu/drm/i915/intel_panel.c |  6 ------
>  6 files changed, 8 insertions(+), 45 deletions(-)
>
> --
> 2.7.4
>
>
> --
> kernel-team mailing list
> [hidden email]
> https://lists.ubuntu.com/mailman/listinfo/kernel-team

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team