Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1159979 > unrolled thread

Re: git pull] drm for v4.1-rc1

Started byVille Syrjälä <ville.syrjala@linux.intel.com>
First post2015-06-07 02:00 +0200
Last post2015-06-08 13:00 +0200
Articles 5 — 4 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: git pull] drm for v4.1-rc1 Ville Syrjälä <ville.syrjala@linux.intel.com> - 2015-06-07 02:00 +0200
    Re: git pull] drm for v4.1-rc1 Stefan Lippers-Hollmann <s.l-h@gmx.de> - 2015-06-07 04:40 +0200
      Re: git pull] drm for v4.1-rc1 Stefan Lippers-Hollmann <s.l-h@gmx.de> - 2015-06-08 12:30 +0200
      [Fwd: Re: [PATCH] drm/i915: Properly initialize SDVO analog  connectors] Ander Conselvan De Oliveira <conselvan2@gmail.com> - 2015-06-08 12:40 +0200
      Re: [PATCH] drm/i915: Properly initialize SDVO analog connectors Jani Nikula <jani.nikula@intel.com> - 2015-06-08 13:00 +0200

#1159979 — Re: git pull] drm for v4.1-rc1

FromVille Syrjälä <ville.syrjala@linux.intel.com>
Date2015-06-07 02:00 +0200
SubjectRe: git pull] drm for v4.1-rc1
Message-ID<pywam-7bL-7@gated-at.bofh.it>
On Fri, Jun 05, 2015 at 11:18:21PM +0200, Stefan Lippers-Hollmann wrote:
> Hi
> 
> On 2015-04-20, Dave Airlie wrote:
> [...]
> > The following changes since commit 09d51602cf84a1264946711dd4ea0dddbac599a1:
> > 
> >   Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux (2015-04-19 14:31:41 -0700)
> > 
> > are available in the git repository at:
> > 
> >   git://people.freedesktop.org/~airlied/linux drm-next-merged
> > 
> > for you to fetch changes up to 2c33ce009ca2389dbf0535d0672214d09738e35e:
> > 
> >   Merge Linus master into drm-next (2015-04-20 13:05:20 +1000)
> [...]
> > Ander Conselvan de Oliveira (28):
> [...]
> >       drm/i915: Allocate connector state together with the connectors
> [...]
> 
> This commit introduces a regression relative to v4.0 on an Intel 
> D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics 
> using its (only-) VGA connector for me.
> 
> v4.1-rc6-52-gff25ea8:
> [   13.265699] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
> [   13.265723] IP: [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915]

Hmm. Smells like a connector with a NULL state pointer, and the bad
commit touched exactly the part that sets it up. I can't immediately
spot any place where we'd forget to set it up though.

Can you try with something like this so we'd at least find out which
connector(s) is/are at fault here?

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 3007b44..c10f423 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -918,6 +918,8 @@ int drm_connector_init(struct drm_device *dev,
 
 	connector->debugfs_entry = NULL;
 
+	WARN(1, "connector = %p\n", connector);
+
 out_put:
 	if (ret)
 		drm_mode_object_put(dev, &connector->base);
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index d0f3cbc..dd8ced7 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -10332,6 +10332,10 @@ static void intel_modeset_update_connector_atomic_state(struct drm_device *dev)
 	struct intel_connector *connector;
 
 	for_each_intel_connector(dev, connector) {
+		if (WARN(!connector->base.state,
+			 "connector = %p\n", &connector->base))
+			continue;
+
 		if (connector->base.encoder) {
 			connector->base.state->best_encoder =
 				connector->base.encoder;
-- 
2.3.6

-- 
Ville Syrjälä
Intel OTC
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1159989

FromStefan Lippers-Hollmann <s.l-h@gmx.de>
Date2015-06-07 04:40 +0200
Message-ID<pyyFb-2Ah-5@gated-at.bofh.it>
In reply to#1159979

[Multipart message — attachments visible in raw view] — view raw

Hi

On 2015-06-07, Ville Syrjälä wrote:
> On Fri, Jun 05, 2015 at 11:18:21PM +0200, Stefan Lippers-Hollmann wrote:
> > Hi
> > 
> > On 2015-04-20, Dave Airlie wrote:
> > [...]
> > > The following changes since commit 09d51602cf84a1264946711dd4ea0dddbac599a1:
> > > 
> > >   Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux (2015-04-19 14:31:41 -0700)
> > > 
> > > are available in the git repository at:
> > > 
> > >   git://people.freedesktop.org/~airlied/linux drm-next-merged
> > > 
> > > for you to fetch changes up to 2c33ce009ca2389dbf0535d0672214d09738e35e:
> > > 
> > >   Merge Linus master into drm-next (2015-04-20 13:05:20 +1000)
> > [...]
> > > Ander Conselvan de Oliveira (28):
> > [...]
> > >       drm/i915: Allocate connector state together with the connectors
> > [...]
> > 
> > This commit introduces a regression relative to v4.0 on an Intel 
> > D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics 
> > using its (only-) VGA connector for me.
> > 
> > v4.1-rc6-52-gff25ea8:
> > [   13.265699] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
> > [   13.265723] IP: [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915]
> 
> Hmm. Smells like a connector with a NULL state pointer, and the bad
> commit touched exactly the part that sets it up. I can't immediately
> spot any place where we'd forget to set it up though.
> 
> Can you try with something like this so we'd at least find out which
> connector(s) is/are at fault here?

With the patch applied, the kernel (v4.1-rc6-104-g4b17069) locks up even
harder, so I had to switch to a serial console in order to fetch the 
boot messages:

[   13.492784] connector = ffff880079bb8000
[   13.910439] connector = ffff8800795b5800
[   14.463114] connector = ffff8800795b6000
[   14.700707] connector = ffff8800795b6800
[   14.869418] connector = ffff8800795b7000
[   14.923848] connector = ffff8800795b7000

Full, gzipped, bootlog attached - thanks a lot for your efforts.

Regards
	Stefan Lippers-Hollmann

[toc] | [prev] | [next] | [standalone]


#1160386

FromStefan Lippers-Hollmann <s.l-h@gmx.de>
Date2015-06-08 12:30 +0200
Message-ID<pz2tz-48L-5@gated-at.bofh.it>
In reply to#1159989
Hi

On 2015-06-08, Ander Conselvan De Oliveira wrote:
> On Mon, 2015-06-08 at 11:06 +0300, Ander Conselvan De Oliveira wrote:
> > On Sun, 2015-06-07 at 04:32 +0200, Stefan Lippers-Hollmann wrote:
> > > On 2015-06-07, Ville Syrjälä wrote:
> > > > On Fri, Jun 05, 2015 at 11:18:21PM +0200, Stefan Lippers-Hollmann wrote:
> > > > > On 2015-04-20, Dave Airlie wrote:
[...]
> > > > > > Ander Conselvan de Oliveira (28):
> > > > > [...]
> > > > > >       drm/i915: Allocate connector state together with the connectors
> > > > > [...]
> > > > > 
> > > > > This commit introduces a regression relative to v4.0 on an Intel 
> > > > > D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics 
> > > > > using its (only-) VGA connector for me.
> > > > > 
> > > > > v4.1-rc6-52-gff25ea8:
> > > > > [   13.265699] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
> > > > > [   13.265723] IP: [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915]
> > > > 
> > > > Hmm. Smells like a connector with a NULL state pointer, and the bad
> > > > commit touched exactly the part that sets it up. I can't immediately
> > > > spot any place where we'd forget to set it up though.
> > > > 
> > > > Can you try with something like this so we'd at least find out which
> > > > connector(s) is/are at fault here?
> > > 
> > > With the patch applied, the kernel (v4.1-rc6-104-g4b17069) locks up even
> > > harder, so I had to switch to a serial console in order to fetch the 
> > > boot messages:
> > > 
> > > [   13.492784] connector = ffff880079bb8000
> > > [   13.910439] connector = ffff8800795b5800
> > > [   14.463114] connector = ffff8800795b6000
> > > [   14.700707] connector = ffff8800795b6800
> > > [   14.869418] connector = ffff8800795b7000
> > > [   14.923848] connector = ffff8800795b7000
> > > 
> > > Full, gzipped, bootlog attached - thanks a lot for your efforts.
> > 
> > Could you repeat the process with drm.debug=0xe in your kernel command
> > line and send the logs again?
> 
> Never mind, Ville's patch produced all the information necessary. Please
> give the patch I just sent a try.

Thanks a lot, as already reported as a response to your patch, your 
change "drm/i915: Allocate connector state together with the connectors"
fixes the problem for me.

Regards
	Stefan Lippers-Hollmann
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1160391 — [Fwd: Re: [PATCH] drm/i915: Properly initialize SDVO analog connectors]

FromAnder Conselvan De Oliveira <conselvan2@gmail.com>
Date2015-06-08 12:40 +0200
Subject[Fwd: Re: [PATCH] drm/i915: Properly initialize SDVO analog connectors]
Message-ID<pz2Dg-4k3-13@gated-at.bofh.it>
In reply to#1159989
Thanks for testing.

-------- Forwarded Message --------
From: Stefan Lippers-Hollmann <s.l-h@gmx.de>
To: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Subject: Re: [PATCH] drm/i915: Properly initialize SDVO analog
connectors
Date: Mon, 8 Jun 2015 12:16:04 +0200

Hi

On 2015-06-08, Ander Conselvan de Oliveira wrote:
> In the commit below, I missed the connector allocation in the function
> intel_sdvo_analog_init(), leading to those connectors to have a NULL
> state pointer.

Thanks a lot, this patch is working (on top of 4.1-rc7).

> commit 08d9bc920d465bbbbd762cac9383249c19bf69a2
> Author: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@intel.com>
> Date:   Fri Apr 10 10:59:10 2015 +0300
> 
>     drm/i915: Allocate connector state together with the connectors
> 
> Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@intel.com>

Feel free to add:

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>

Regards
	Stefan Lippers-Hollmann


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1160407 — Re: [PATCH] drm/i915: Properly initialize SDVO analog connectors

FromJani Nikula <jani.nikula@intel.com>
Date2015-06-08 13:00 +0200
SubjectRe: [PATCH] drm/i915: Properly initialize SDVO analog connectors
Message-ID<pz2WC-4Hr-15@gated-at.bofh.it>
In reply to#1159989
On Mon, 08 Jun 2015, Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> wrote:
> In the commit below, I missed the connector allocation in the function
> intel_sdvo_analog_init(), leading to those connectors to have a NULL
> state pointer.
>
> commit 08d9bc920d465bbbbd762cac9383249c19bf69a2
> Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
> Date:   Fri Apr 10 10:59:10 2015 +0300
>
>     drm/i915: Allocate connector state together with the connectors
>
> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>

Pushed to drm-intel-fixes, thanks for the patch and testing.

BR,
Jani.



> ---
>  drivers/gpu/drm/i915/intel_sdvo.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
> index d24ef75..aa2fd75 100644
> --- a/drivers/gpu/drm/i915/intel_sdvo.c
> +++ b/drivers/gpu/drm/i915/intel_sdvo.c
> @@ -2554,7 +2554,7 @@ intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device)
>  
>  	DRM_DEBUG_KMS("initialising analog device %d\n", device);
>  
> -	intel_sdvo_connector = kzalloc(sizeof(*intel_sdvo_connector), GFP_KERNEL);
> +	intel_sdvo_connector = intel_sdvo_connector_alloc();
>  	if (!intel_sdvo_connector)
>  		return false;
>  
> -- 
> 2.1.0
>

-- 
Jani Nikula, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web