diff mbox

[18/20] drm/i915: add gen8_irq_reset

Message ID 1394233836-3827-19-git-send-email-przanoni@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paulo Zanoni March 7, 2014, 11:10 p.m. UTC
From: Paulo Zanoni <paulo.r.zanoni@intel.com>

So we can merge all the common code from postinstall and uninstall.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
---
 drivers/gpu/drm/i915/i915_irq.c | 26 +++++++-------------------
 1 file changed, 7 insertions(+), 19 deletions(-)

Comments

Ben Widawsky March 18, 2014, 8:43 p.m. UTC | #1
On Fri, Mar 07, 2014 at 08:10:34PM -0300, Paulo Zanoni wrote:
> From: Paulo Zanoni <paulo.r.zanoni@intel.com>
> 
> So we can merge all the common code from postinstall and uninstall.
> 
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_irq.c | 26 +++++++-------------------
>  1 file changed, 7 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 4917a8c..d6723ab 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -2899,7 +2899,7 @@ static void valleyview_irq_preinstall(struct drm_device *dev)
>  	POSTING_READ(VLV_IER);
>  }
>  
> -static void gen8_irq_preinstall(struct drm_device *dev)
> +static void gen8_irq_reset(struct drm_device *dev)
>  {
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	int pipe;
> @@ -2924,6 +2924,11 @@ static void gen8_irq_preinstall(struct drm_device *dev)
>  	ibx_irq_reset(dev);
>  }
>  
> +static void gen8_irq_preinstall(struct drm_device *dev)
> +{
> +	gen8_irq_reset(dev);
> +}
> +
>  static void ibx_hpd_irq_setup(struct drm_device *dev)
>  {
>  	drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
> @@ -3253,30 +3258,13 @@ static int gen8_irq_postinstall(struct drm_device *dev)
>  static void gen8_irq_uninstall(struct drm_device *dev)
>  {
>  	struct drm_i915_private *dev_priv = dev->dev_private;
> -	int pipe;
>  
>  	if (!dev_priv)
>  		return;
>  
>  	intel_hpd_irq_uninstall(dev_priv);
>  
> -	I915_WRITE(GEN8_MASTER_IRQ, 0);
> -
> -	GEN8_IRQ_RESET_NDX(GT, 0);
> -	GEN8_IRQ_RESET_NDX(GT, 1);
> -	GEN8_IRQ_RESET_NDX(GT, 2);
> -	GEN8_IRQ_RESET_NDX(GT, 3);
> -
> -	for_each_pipe(pipe)
> -		GEN8_IRQ_RESET_NDX(DE_PIPE, pipe);
> -
> -	GEN5_IRQ_RESET(GEN8_DE_PORT_);
> -	GEN5_IRQ_RESET(GEN8_DE_MISC_);
> -	GEN5_IRQ_RESET(GEN8_PCU_);
> -
> -	POSTING_READ(GEN8_PCU_IIR);
> -
> -	ibx_irq_reset(dev);
> +	gen8_irq_reset(dev);

BTW: This looks like a bad hunk. I've merged up to this point, and I do
not have ibx_irq_reset().


>  }
>  
>  static void valleyview_irq_uninstall(struct drm_device *dev)
> -- 
> 1.8.5.3
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Paulo Zanoni March 27, 2014, 2:48 p.m. UTC | #2
2014-03-18 17:43 GMT-03:00 Ben Widawsky <ben@bwidawsk.net>:
> On Fri, Mar 07, 2014 at 08:10:34PM -0300, Paulo Zanoni wrote:
>> From: Paulo Zanoni <paulo.r.zanoni@intel.com>
>>
>> So we can merge all the common code from postinstall and uninstall.
>>
>> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
>> ---
>>  drivers/gpu/drm/i915/i915_irq.c | 26 +++++++-------------------
>>  1 file changed, 7 insertions(+), 19 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
>> index 4917a8c..d6723ab 100644
>> --- a/drivers/gpu/drm/i915/i915_irq.c
>> +++ b/drivers/gpu/drm/i915/i915_irq.c
>> @@ -2899,7 +2899,7 @@ static void valleyview_irq_preinstall(struct drm_device *dev)
>>       POSTING_READ(VLV_IER);
>>  }
>>
>> -static void gen8_irq_preinstall(struct drm_device *dev)
>> +static void gen8_irq_reset(struct drm_device *dev)
>>  {
>>       struct drm_i915_private *dev_priv = dev->dev_private;
>>       int pipe;
>> @@ -2924,6 +2924,11 @@ static void gen8_irq_preinstall(struct drm_device *dev)
>>       ibx_irq_reset(dev);
>>  }
>>
>> +static void gen8_irq_preinstall(struct drm_device *dev)
>> +{
>> +     gen8_irq_reset(dev);
>> +}
>> +
>>  static void ibx_hpd_irq_setup(struct drm_device *dev)
>>  {
>>       drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
>> @@ -3253,30 +3258,13 @@ static int gen8_irq_postinstall(struct drm_device *dev)
>>  static void gen8_irq_uninstall(struct drm_device *dev)
>>  {
>>       struct drm_i915_private *dev_priv = dev->dev_private;
>> -     int pipe;
>>
>>       if (!dev_priv)
>>               return;
>>
>>       intel_hpd_irq_uninstall(dev_priv);
>>
>> -     I915_WRITE(GEN8_MASTER_IRQ, 0);
>> -
>> -     GEN8_IRQ_RESET_NDX(GT, 0);
>> -     GEN8_IRQ_RESET_NDX(GT, 1);
>> -     GEN8_IRQ_RESET_NDX(GT, 2);
>> -     GEN8_IRQ_RESET_NDX(GT, 3);
>> -
>> -     for_each_pipe(pipe)
>> -             GEN8_IRQ_RESET_NDX(DE_PIPE, pipe);
>> -
>> -     GEN5_IRQ_RESET(GEN8_DE_PORT_);
>> -     GEN5_IRQ_RESET(GEN8_DE_MISC_);
>> -     GEN5_IRQ_RESET(GEN8_PCU_);
>> -
>> -     POSTING_READ(GEN8_PCU_IIR);
>> -
>> -     ibx_irq_reset(dev);
>> +     gen8_irq_reset(dev);
>
> BTW: This looks like a bad hunk. I've merged up to this point, and I do
> not have ibx_irq_reset().

It was introduced by patch 15.

>
>
>>  }
>>
>>  static void valleyview_irq_uninstall(struct drm_device *dev)
>> --
>> 1.8.5.3
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Ben Widawsky, Intel Open Source Technology Center
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 4917a8c..d6723ab 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2899,7 +2899,7 @@  static void valleyview_irq_preinstall(struct drm_device *dev)
 	POSTING_READ(VLV_IER);
 }
 
-static void gen8_irq_preinstall(struct drm_device *dev)
+static void gen8_irq_reset(struct drm_device *dev)
 {
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	int pipe;
@@ -2924,6 +2924,11 @@  static void gen8_irq_preinstall(struct drm_device *dev)
 	ibx_irq_reset(dev);
 }
 
+static void gen8_irq_preinstall(struct drm_device *dev)
+{
+	gen8_irq_reset(dev);
+}
+
 static void ibx_hpd_irq_setup(struct drm_device *dev)
 {
 	drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
@@ -3253,30 +3258,13 @@  static int gen8_irq_postinstall(struct drm_device *dev)
 static void gen8_irq_uninstall(struct drm_device *dev)
 {
 	struct drm_i915_private *dev_priv = dev->dev_private;
-	int pipe;
 
 	if (!dev_priv)
 		return;
 
 	intel_hpd_irq_uninstall(dev_priv);
 
-	I915_WRITE(GEN8_MASTER_IRQ, 0);
-
-	GEN8_IRQ_RESET_NDX(GT, 0);
-	GEN8_IRQ_RESET_NDX(GT, 1);
-	GEN8_IRQ_RESET_NDX(GT, 2);
-	GEN8_IRQ_RESET_NDX(GT, 3);
-
-	for_each_pipe(pipe)
-		GEN8_IRQ_RESET_NDX(DE_PIPE, pipe);
-
-	GEN5_IRQ_RESET(GEN8_DE_PORT_);
-	GEN5_IRQ_RESET(GEN8_DE_MISC_);
-	GEN5_IRQ_RESET(GEN8_PCU_);
-
-	POSTING_READ(GEN8_PCU_IIR);
-
-	ibx_irq_reset(dev);
+	gen8_irq_reset(dev);
 }
 
 static void valleyview_irq_uninstall(struct drm_device *dev)