public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH 0/3] drm/i915: Fuzzy clock check for port_clock
@ 2013-09-03 14:32 ville.syrjala
  2013-09-03 14:32 ` [PATCH 1/3] drm/i915: Make intel_fuzzy_clock_check() take in arbitrary clocks ville.syrjala
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: ville.syrjala @ 2013-09-03 14:32 UTC (permalink / raw)
  To: intel-gfx

As requested by Daniel. Totally untested as of now.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/3] drm/i915: Make intel_fuzzy_clock_check() take in arbitrary clocks
  2013-09-03 14:32 [PATCH 0/3] drm/i915: Fuzzy clock check for port_clock ville.syrjala
@ 2013-09-03 14:32 ` ville.syrjala
  2013-09-03 14:32 ` [PATCH 2/3] drm/i915: Add PIPE_CONF_CHECK_CLOCK_FUZZY() ville.syrjala
  2013-09-03 14:32 ` [PATCH 3/3] drm/i915: Add fuzzy clock check for port_clock ville.syrjala
  2 siblings, 0 replies; 5+ messages in thread
From: ville.syrjala @ 2013-09-03 14:32 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

We want to do fuzzy clock checks for other things besides
adjusted_mode.clock, so just pass two two clocks to compare
to intel_fuzzy_clock_check().

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 3bd9a72..1fea189 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8545,13 +8545,9 @@ intel_modeset_update_state(struct drm_device *dev, unsigned prepare_pipes)
 
 }
 
-static bool intel_fuzzy_clock_check(struct intel_crtc_config *cur,
-				    struct intel_crtc_config *new)
+static bool intel_fuzzy_clock_check(int clock1, int clock2)
 {
-	int clock1, clock2, diff;
-
-	clock1 = cur->adjusted_mode.clock;
-	clock2 = new->adjusted_mode.clock;
+	int diff;
 
 	if (clock1 == clock2)
 		return true;
@@ -8673,7 +8669,8 @@ intel_pipe_config_compare(struct drm_device *dev,
 #undef PIPE_CONF_QUIRK
 
 	if (!IS_HASWELL(dev)) {
-		if (!intel_fuzzy_clock_check(current_config, pipe_config)) {
+		if (!intel_fuzzy_clock_check(current_config->adjusted_mode.clock,
+					     pipe_config->adjusted_mode.clock)) {
 			DRM_ERROR("mismatch in clock (expected %d, found %d)\n",
 				  current_config->adjusted_mode.clock,
 				  pipe_config->adjusted_mode.clock);
-- 
1.8.1.5

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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] drm/i915: Add PIPE_CONF_CHECK_CLOCK_FUZZY()
  2013-09-03 14:32 [PATCH 0/3] drm/i915: Fuzzy clock check for port_clock ville.syrjala
  2013-09-03 14:32 ` [PATCH 1/3] drm/i915: Make intel_fuzzy_clock_check() take in arbitrary clocks ville.syrjala
@ 2013-09-03 14:32 ` ville.syrjala
  2013-09-04  9:11   ` Jani Nikula
  2013-09-03 14:32 ` [PATCH 3/3] drm/i915: Add fuzzy clock check for port_clock ville.syrjala
  2 siblings, 1 reply; 5+ messages in thread
From: ville.syrjala @ 2013-09-03 14:32 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Add a new pipe config check macro PIPE_CONF_CHECK_CLOCK_FUZZY() to make
it trivial and error proof to compare clocks in a fuzzy manner.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 1fea189..bfa531a 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8601,6 +8601,15 @@ intel_pipe_config_compare(struct drm_device *dev,
 		return false; \
 	}
 
+#define PIPE_CONF_CHECK_CLOCK_FUZZY(name) \
+	if (!intel_fuzzy_clock_check(current_config->name, pipe_config->name)) { \
+		DRM_ERROR("mismatch in " #name " " \
+			  "(expected %i, found %i)\n", \
+			  current_config->name, \
+			  pipe_config->name); \
+		return false; \
+	}
+
 #define PIPE_CONF_QUIRK(quirk)	\
 	((current_config->quirks | pipe_config->quirks) & (quirk))
 
@@ -8663,21 +8672,16 @@ intel_pipe_config_compare(struct drm_device *dev,
 	PIPE_CONF_CHECK_X(dpll_hw_state.fp0);
 	PIPE_CONF_CHECK_X(dpll_hw_state.fp1);
 
+	if (!IS_HASWELL(dev)) {
+		PIPE_CONF_CHECK_CLOCK_FUZZY(adjusted_mode.clock);
+	}
+
 #undef PIPE_CONF_CHECK_X
 #undef PIPE_CONF_CHECK_I
 #undef PIPE_CONF_CHECK_FLAGS
+#undef PIPE_CONF_CHECK_CLOCK_FUZZY
 #undef PIPE_CONF_QUIRK
 
-	if (!IS_HASWELL(dev)) {
-		if (!intel_fuzzy_clock_check(current_config->adjusted_mode.clock,
-					     pipe_config->adjusted_mode.clock)) {
-			DRM_ERROR("mismatch in clock (expected %d, found %d)\n",
-				  current_config->adjusted_mode.clock,
-				  pipe_config->adjusted_mode.clock);
-			return false;
-		}
-	}
-
 	return true;
 }
 
-- 
1.8.1.5

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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] drm/i915: Add fuzzy clock check for port_clock
  2013-09-03 14:32 [PATCH 0/3] drm/i915: Fuzzy clock check for port_clock ville.syrjala
  2013-09-03 14:32 ` [PATCH 1/3] drm/i915: Make intel_fuzzy_clock_check() take in arbitrary clocks ville.syrjala
  2013-09-03 14:32 ` [PATCH 2/3] drm/i915: Add PIPE_CONF_CHECK_CLOCK_FUZZY() ville.syrjala
@ 2013-09-03 14:32 ` ville.syrjala
  2 siblings, 0 replies; 5+ messages in thread
From: ville.syrjala @ 2013-09-03 14:32 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index bfa531a..05ff91d 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8674,6 +8674,7 @@ intel_pipe_config_compare(struct drm_device *dev,
 
 	if (!IS_HASWELL(dev)) {
 		PIPE_CONF_CHECK_CLOCK_FUZZY(adjusted_mode.clock);
+		PIPE_CONF_CHECK_CLOCK_FUZZY(port_clock);
 	}
 
 #undef PIPE_CONF_CHECK_X
-- 
1.8.1.5

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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/3] drm/i915: Add PIPE_CONF_CHECK_CLOCK_FUZZY()
  2013-09-03 14:32 ` [PATCH 2/3] drm/i915: Add PIPE_CONF_CHECK_CLOCK_FUZZY() ville.syrjala
@ 2013-09-04  9:11   ` Jani Nikula
  0 siblings, 0 replies; 5+ messages in thread
From: Jani Nikula @ 2013-09-04  9:11 UTC (permalink / raw)
  To: ville.syrjala, intel-gfx

On Tue, 03 Sep 2013, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Add a new pipe config check macro PIPE_CONF_CHECK_CLOCK_FUZZY() to make
> it trivial and error proof to compare clocks in a fuzzy manner.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 24 ++++++++++++++----------
>  1 file changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 1fea189..bfa531a 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -8601,6 +8601,15 @@ intel_pipe_config_compare(struct drm_device *dev,
>  		return false; \
>  	}
>  
> +#define PIPE_CONF_CHECK_CLOCK_FUZZY(name) \
> +	if (!intel_fuzzy_clock_check(current_config->name, pipe_config->name)) { \
> +		DRM_ERROR("mismatch in " #name " " \
> +			  "(expected %i, found %i)\n", \
> +			  current_config->name, \
> +			  pipe_config->name); \
> +		return false; \
> +	}

I think I'd find this to have more clarity, but ymmv:

		DRM_ERROR("mismatch in %s (expected %i, found %i)\n", \
			  #name, current_config->name, pipe_config->name); \

Either way, on the series,

Reviewed-by: Jani Nikula <jani.nikula@intel.com>



> +
>  #define PIPE_CONF_QUIRK(quirk)	\
>  	((current_config->quirks | pipe_config->quirks) & (quirk))
>  
> @@ -8663,21 +8672,16 @@ intel_pipe_config_compare(struct drm_device *dev,
>  	PIPE_CONF_CHECK_X(dpll_hw_state.fp0);
>  	PIPE_CONF_CHECK_X(dpll_hw_state.fp1);
>  
> +	if (!IS_HASWELL(dev)) {
> +		PIPE_CONF_CHECK_CLOCK_FUZZY(adjusted_mode.clock);
> +	}
> +
>  #undef PIPE_CONF_CHECK_X
>  #undef PIPE_CONF_CHECK_I
>  #undef PIPE_CONF_CHECK_FLAGS
> +#undef PIPE_CONF_CHECK_CLOCK_FUZZY
>  #undef PIPE_CONF_QUIRK
>  
> -	if (!IS_HASWELL(dev)) {
> -		if (!intel_fuzzy_clock_check(current_config->adjusted_mode.clock,
> -					     pipe_config->adjusted_mode.clock)) {
> -			DRM_ERROR("mismatch in clock (expected %d, found %d)\n",
> -				  current_config->adjusted_mode.clock,
> -				  pipe_config->adjusted_mode.clock);
> -			return false;
> -		}
> -	}
> -
>  	return true;
>  }
>  
> -- 
> 1.8.1.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-09-04  9:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-03 14:32 [PATCH 0/3] drm/i915: Fuzzy clock check for port_clock ville.syrjala
2013-09-03 14:32 ` [PATCH 1/3] drm/i915: Make intel_fuzzy_clock_check() take in arbitrary clocks ville.syrjala
2013-09-03 14:32 ` [PATCH 2/3] drm/i915: Add PIPE_CONF_CHECK_CLOCK_FUZZY() ville.syrjala
2013-09-04  9:11   ` Jani Nikula
2013-09-03 14:32 ` [PATCH 3/3] drm/i915: Add fuzzy clock check for port_clock ville.syrjala

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox