From: Daniel Vetter <daniel@ffwll.ch>
To: Nicolas Kalkhof <nkalkhof@web.de>
Cc: intel-gfx <Intel-gfx@lists.freedesktop.org>
Subject: Re: still experiencing oops connecting Laptop to docking Station
Date: Thu, 21 May 2015 14:06:57 +0200 [thread overview]
Message-ID: <20150521120656.GX15256@phenom.ffwll.local> (raw)
In-Reply-To: <trinity-a6748cdc-82a2-404e-9539-23682dc3fd6c-1432204338466@3capp-webde-bs46>
On Thu, May 21, 2015 at 12:32:18PM +0200, Nicolas Kalkhof wrote:
> > This only contains the pile of WARNINGs and not the Oops itself. I guess
> > we still need a picture (and you need to change the system console logging
> > to make sure the debug stuff shows up to). At least at the bottom of your
> > past there's from drm or i915, indicating that the crucial debug info
> > didn't make it out before the machine died.
>
> Ok, I've set CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 to squeeze some more debug info out of the kernel. For the OOPS I still have to take a picture since kdump seems to be broken for me.
>
> http://pastebin.com/9mxRgNa2
>
> > I just want the decoded address (which I read from the oops, if you
> > recompile the kernel it might have changed so please double check). I.e.
> > the above two lines is all the howto you need. But please use "list"
> > instead of "break" as Chris suggested.
>
> Gotcha!
>
> gdb) list *drm_atomic_helper_check_modeset+0x2c5
> 0x955 is in drm_atomic_helper_check_modeset (drivers/gpu/drm/drm_atomic_helper.c:235).
> 230 }
> 231
> 232 connector_state->best_encoder = new_encoder;
> 233 idx = drm_crtc_index(connector_state->crtc);
> 234
> 235 crtc_state = state->crtc_states[idx];
> 236 crtc_state->mode_changed = true;
> 237
> 238 DRM_DEBUG_ATOMIC("[CONNECTOR:%d:%s] using [ENCODER:%d:%s] on [CRTC:%d]\n",
> 239 connector->base.id,
> (gdb)
>
> Address drm_atomic_helper_check_modeset+0x2c5/0x990 is the first line in the call trace.
> One more thing: When I fire up X BEFORE I connect to the docking there are no OOPSES and I can switch between DP/eDP. As soon as I kill X however my machine dies.
Ah, Chris hunch against my claim that this is impossible was spot-on. Can
you please try the below hack please and grab dmesg? Hopefully the kernel
won't die any more at least.
-Daniel
---
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index b82ef6262469..15ba72fb98dd 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -157,6 +157,7 @@ update_connector_routing(struct drm_atomic_state *state, int conn_idx)
struct drm_connector *connector;
struct drm_connector_state *connector_state;
struct drm_crtc_state *crtc_state;
+ struct drm_crtc *saved_crtc;
int idx, ret;
connector = state->connectors[conn_idx];
@@ -195,6 +196,8 @@ update_connector_routing(struct drm_atomic_state *state, int conn_idx)
return 0;
}
+ saved_crtc = connector_state->crtc;
+
funcs = connector->helper_private;
new_encoder = funcs->best_encoder(connector);
@@ -230,7 +233,8 @@ update_connector_routing(struct drm_atomic_state *state, int conn_idx)
}
connector_state->best_encoder = new_encoder;
- idx = drm_crtc_index(connector_state->crtc);
+ WARN_ON(!connector_state->crtc);
+ idx = drm_crtc_index(saved_crtc);
crtc_state = state->crtc_states[idx];
crtc_state->mode_changed = true;
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-05-21 12:04 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-20 15:05 still experiencing oops connecting Laptop to docking Station Nicolas Kalkhof
2015-05-20 15:38 ` Daniel Vetter
2015-05-20 16:00 ` Nicolas Kalkhof
2015-05-20 16:39 ` Daniel Vetter
2015-05-20 16:44 ` Chris Wilson
2015-05-20 17:06 ` Nicolas Kalkhof
2015-05-21 9:48 ` Daniel Vetter
2015-05-21 10:32 ` Nicolas Kalkhof
2015-05-21 12:06 ` Daniel Vetter [this message]
2015-05-21 14:30 ` Nicolas Kalkhof
2015-05-21 14:56 ` Daniel Vetter
2015-05-21 19:42 ` Nicolas Kalkhof
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150521120656.GX15256@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=Intel-gfx@lists.freedesktop.org \
--cc=nkalkhof@web.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox