[Intel-gfx] [PATCH 2/2] drm/i915: don't chnage the original mode in dp_mode_fixup

2012-05-30 Thread Daniel Vetter
We should only frob adjusted_mode. This is in preparation of
a massive patch by Laurent Pinchart to make the mode argument
const.

After the prevous prep patch to use adjusted_mode-clock instead of
mode-clock the only thing left is to clean up things a bit. I've
opted to pass in an adjust_mode param to dp_adjust_dithering because
that way we can be sure to avoid duplicating this logic - which was
the cause behind a dp link bw calculation bug in the past.

Also mark the mode argument of pch_panel_fitting const.

v2: Split up the mode-clock = adjusted_mode-clock change,
as suggested by Chris Wilson.

Reported-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
Signed-off-by: Daniel Vetter daniel.vet...@ffwll.ch
---
 drivers/gpu/drm/i915/intel_dp.c|   12 ++--
 drivers/gpu/drm/i915/intel_drv.h   |2 +-
 drivers/gpu/drm/i915/intel_panel.c |2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index a9dffa6..c5c5669 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -222,7 +222,7 @@ intel_dp_max_data_rate(int max_link_clock, int max_lanes)
 static bool
 intel_dp_adjust_dithering(struct intel_dp *intel_dp,
  struct drm_display_mode *mode,
- struct drm_display_mode *adjusted_mode)
+ bool adjust_mode)
 {
int max_link_clock = 
intel_dp_link_clock(intel_dp_max_link_bw(intel_dp));
int max_lanes = intel_dp_max_lane_count(intel_dp);
@@ -236,8 +236,8 @@ intel_dp_adjust_dithering(struct intel_dp *intel_dp,
if (mode_rate  max_rate)
return false;
 
-   if (adjusted_mode)
-   adjusted_mode-private_flags
+   if (adjust_mode)
+   mode-private_flags
|= INTEL_MODE_DP_FORCE_6BPC;
 
return true;
@@ -260,7 +260,7 @@ intel_dp_mode_valid(struct drm_connector *connector,
return MODE_PANEL;
}
 
-   if (!intel_dp_adjust_dithering(intel_dp, mode, NULL))
+   if (!intel_dp_adjust_dithering(intel_dp, mode, false))
return MODE_CLOCK_HIGH;
 
if (mode-clock  1)
@@ -700,14 +700,14 @@ intel_dp_mode_fixup(struct drm_encoder *encoder, struct 
drm_display_mode *mode,
mode, adjusted_mode);
}
 
-   if (mode-flags  DRM_MODE_FLAG_DBLCLK)
+   if (adjusted_mode-flags  DRM_MODE_FLAG_DBLCLK)
return false;
 
DRM_DEBUG_KMS(DP link computation with max lane count %i 
  max bw %02x pixel clock %iKHz\n,
  max_lane_count, bws[max_clock], adjusted_mode-clock);
 
-   if (!intel_dp_adjust_dithering(intel_dp, adjusted_mode, adjusted_mode))
+   if (!intel_dp_adjust_dithering(intel_dp, adjusted_mode, true))
return false;
 
bpp = adjusted_mode-private_flags  INTEL_MODE_DP_FORCE_6BPC ? 18 : 24;
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 3e09188..3e3b60c 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -372,7 +372,7 @@ extern void intel_fixed_panel_mode(struct drm_display_mode 
*fixed_mode,
   struct drm_display_mode *adjusted_mode);
 extern void intel_pch_panel_fitting(struct drm_device *dev,
int fitting_mode,
-   struct drm_display_mode *mode,
+   const struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode);
 extern u32 intel_panel_get_max_backlight(struct drm_device *dev);
 extern u32 intel_panel_get_backlight(struct drm_device *dev);
diff --git a/drivers/gpu/drm/i915/intel_panel.c 
b/drivers/gpu/drm/i915/intel_panel.c
index 2a1625d..7180cc8 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -56,7 +56,7 @@ intel_fixed_panel_mode(struct drm_display_mode *fixed_mode,
 void
 intel_pch_panel_fitting(struct drm_device *dev,
int fitting_mode,
-   struct drm_display_mode *mode,
+   const struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode)
 {
struct drm_i915_private *dev_priv = dev-dev_private;
-- 
1.7.10

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH 2/2] drm/i915: don't chnage the original mode in dp_mode_fixup

2012-05-30 Thread Paul Menzel
Am Mittwoch, den 30.05.2012, 13:52 +0200 schrieb Daniel Vetter:

Typo in »change« in the commit message.

 We should only frob adjusted_mode. This is in preparation of
 a massive patch by Laurent Pinchart to make the mode argument
 const.
 
 After the prevous prep patch to use adjusted_mode-clock instead of

previous

 mode-clock the only thing left is to clean up things a bit. I've
 opted to pass in an adjust_mode param to dp_adjust_dithering because
 that way we can be sure to avoid duplicating this logic - which was
 the cause behind a dp link bw calculation bug in the past.
 
 Also mark the mode argument of pch_panel_fitting const.
 
 v2: Split up the mode-clock = adjusted_mode-clock change,
 as suggested by Chris Wilson.
 
 Reported-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
 Signed-off-by: Daniel Vetter daniel.vet...@ffwll.ch
 ---
  drivers/gpu/drm/i915/intel_dp.c|   12 ++--
  drivers/gpu/drm/i915/intel_drv.h   |2 +-
  drivers/gpu/drm/i915/intel_panel.c |2 +-
  3 files changed, 8 insertions(+), 8 deletions(-)

[…]


Thanks,

Paul


signature.asc
Description: This is a digitally signed message part
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx