[Intel-gfx] Find bugs in i915 driver

Paul Menzel paulepanter at users.sourceforge.net
Mon Aug 13 09:10:36 CEST 2012


Am Montag, den 13.08.2012, 03:08 +0000 schrieb Xu, Anhua:
> Sorry, Deniel/Greg, late response for your email because of a busy work last work. 
> I will response to you guys ASAP :), below is the updated patch: 
> 
> 
> From 33eb95a3a711b2354985361ff208ea150a5ba235 Mon Sep 17 00:00:00 2001
> From: Xu Anhua <anhua.xu at intel.com>

If Anhua is your first name your name is still switched here.

Please do the following.

    git commit --amend --author="Anhua Xu <anhua.xu at intel.com>"

> Date: Tue, 31 Jul 2012 17:16:50 +0800
> Subject: [PATCH] drm/i915: fix wrong order of parameters in port checking functions
> 
> Wrong order of parameters passed-in when calling hdmi/adpa
> /lvds_pipe_enabled(), 2nd and 3rd parameters are reversed.
> This bug was indroduced by commit
> 1519b9956eb4b4180fa3f47c73341463cdcfaa37

Since it is hard to remember commit hashes, you should add the following
summary

        commit 1519b9956eb4b4180fa3f47c73341463cdcfaa37
        Author: Keith Packard <keithp at keithp.com>
        Date:   Sat Aug 6 10:35:34 2011 -0700
        
            drm/i915: Fix PCH port pipe select in CPT disable paths

or just the following.

        1519b995 drm/i915: Fix PCH port pipe select in CPT disable paths

> The reachable tag for this commit is v3.1-rc1-3-g1519b99

Then this should be sent to stable [1] too?

    Cc: <stable at vger.kernel.org>

Does this actually fix a bug you are seeing or did you just spot this
reading the code?

> Signed-off-by: Anhua Xu <anhua.xu at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c |   12 ++++++------
>  1 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index f615976..5fc8c8d 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -1383,7 +1383,7 @@ static void assert_pch_hdmi_disabled(struct drm_i915_private *dev_priv,
>  				     enum pipe pipe, int reg)
>  {
>  	u32 val = I915_READ(reg);
> -	WARN(hdmi_pipe_enabled(dev_priv, val, pipe),
> +	WARN(hdmi_pipe_enabled(dev_priv, pipe, val),
>  	     "PCH HDMI (0x%08x) enabled on transcoder %c, should be disabled\n",
>  	     reg, pipe_name(pipe));
>  
> @@ -1403,13 +1403,13 @@ static void assert_pch_ports_disabled(struct drm_i915_private *dev_priv,
>  
>  	reg = PCH_ADPA;
>  	val = I915_READ(reg);
> -	WARN(adpa_pipe_enabled(dev_priv, val, pipe),
> +	WARN(adpa_pipe_enabled(dev_priv, pipe, val),
>  	     "PCH VGA enabled on transcoder %c, should be disabled\n",
>  	     pipe_name(pipe));
>  
>  	reg = PCH_LVDS;
>  	val = I915_READ(reg);
> -	WARN(lvds_pipe_enabled(dev_priv, val, pipe),
> +	WARN(lvds_pipe_enabled(dev_priv, pipe, val),
>  	     "PCH LVDS enabled on transcoder %c, should be disabled\n",
>  	     pipe_name(pipe));
>  
> @@ -1871,7 +1871,7 @@ static void disable_pch_hdmi(struct drm_i915_private *dev_priv,
>  			     enum pipe pipe, int reg)
>  {
>  	u32 val = I915_READ(reg);
> -	if (hdmi_pipe_enabled(dev_priv, val, pipe)) {
> +	if (hdmi_pipe_enabled(dev_priv, pipe, val)) {
>  		DRM_DEBUG_KMS("Disabling pch HDMI %x on pipe %d\n",
>  			      reg, pipe);
>  		I915_WRITE(reg, val & ~PORT_ENABLE);
> @@ -1893,12 +1893,12 @@ static void intel_disable_pch_ports(struct drm_i915_private *dev_priv,
>  
>  	reg = PCH_ADPA;
>  	val = I915_READ(reg);
> -	if (adpa_pipe_enabled(dev_priv, val, pipe))
> +	if (adpa_pipe_enabled(dev_priv, pipe, val))
>  		I915_WRITE(reg, val & ~ADPA_DAC_ENABLE);
>  
>  	reg = PCH_LVDS;
>  	val = I915_READ(reg);
> -	if (lvds_pipe_enabled(dev_priv, val, pipe)) {
> +	if (lvds_pipe_enabled(dev_priv, pipe, val)) {
>  		DRM_DEBUG_KMS("disable lvds on pipe %d val 0x%08x\n", pipe, val);
>  		I915_WRITE(reg, val & ~LVDS_PORT_EN);
>  		POSTING_READ(reg);

With the changes addressed above, please add

    Acked-by: Paul Menzel <paulepanter at users.sourceforge.net>

when sending [PATCH v3] as documented in [2].


Thanks,

Paul


[1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=Documentation/stable_kernel_rules.txt;h=b0714d8f678ac51d0c280a4f5f2980196052421f;hb=HEAD
[2] http://wireless.kernel.org/en/developers/Documentation/git-guide#Annotating_new_revision
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20120813/bb36b43e/attachment.sig>


More information about the Intel-gfx mailing list