All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Jeff Chua <jeff.chua.linux@gmail.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	"Rafael J. Wysocki" <rjw@sisk.pl>, Len Brown <lenb@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: Commit 500f7147cf5bafd139056d521536b10c2bc2e154 breaks _resume_
Date: Mon, 07 Feb 2011 09:54:02 +0100	[thread overview]
Message-ID: <s5hsjw0uswl.wl%tiwai@suse.de> (raw)
In-Reply-To: <AANLkTimW_V96w4USjxX1=8_r6g-XJzdcGbYn_JDr9ANL@mail.gmail.com>

At Mon, 7 Feb 2011 16:45:16 +0800,
Jeff Chua wrote:
> 
> On Mon, Feb 7, 2011 at 4:36 PM, Jeff Chua <jeff.chua.linux@gmail.com> wrote:
> > On Mon, Feb 7, 2011 at 4:25 PM, Takashi Iwai <tiwai@suse.de> wrote:
> >> At Mon, 7 Feb 2011 13:02:46 +0800,
> >> Jeff Chua wrote:
> >>>
> >>> On Mon, Feb 7, 2011 at 12:48 PM, Jeff Chua <jeff.chua.linux@gmail.com> wrote:
> >>> > On Sun, Feb 6, 2011 at 11:27 PM, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> >>> >> One last step: move contents of intel_crtc_reset() back to
> >>> >> intel_crtc_init() one by one.
> >>> >>
> >>> >> The active flag is my suspicion. I was thinking that we brought up the
> >>> >> outputs in a similar manner upon resume as upon initial boot. On
> >>> >> reflection, this is the not case.
> >>> >>
> >>> >> However, the first action we take inside modesetting is to disable the
> >>> >> outputs about to be reconfigured. So setting active should be the right
> >>> >> course of action so that cleanup any residual state from resume.
> >>> >>
> >>> >> So I am intrigued as to which line is the cause, and just where the
> >>> >> machine becomes unresponsive...
> >>> >
> >>> > It's this line causing the problem.
> >>> >
> >>> > intel_crtc->active = true; /* force the pipe off on setup_init_config */
> >>> >
> >>> >
> >>> > When it's called before entering intel_crtc_reset(&intel_crtc->base),
> >>> > it works, but if called within the function, it doesn't work. Strange.
> >>> > Not sure whether is passing the correct value to to_intel_crtc(crtc)?
> >>>
> >>> I've added printk() below and the function returns a different value
> >>> of intel_crtc.
> >>>
> >>>
> >>> static void intel_crtc_reset(struct drm_crtc *crtc)
> >>> {
> >>>         struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> >>>         printk("intel_crtc %p\n", intel_crtc); ===> intel_crtc ffff8802349d1000
> >>>
> >>> }
> >>>
> >>> printk("intel_crtc %p\n", intel_crtc); ===> intel_crtc ffff8802349d0000
> >>> intel_crtc_reset(&intel_crtc->base);
> >>
> >> That's weird.  Since base is the first member, both intel_crtc and crtc
> >> must be identical.
> >
> > In case I'm messing something up, here's my intel_display.c
> 
> Why not just pass intel_crtc as in
> 
> - static void intel_crtc_reset(struct drm_crtc *crtc)
> + static void intel_crtc_reset(struct intel_crtc *intel_crtc)

Because it's called from drm_crtc.c that has no idea about the
driver-local type :)


Takashi

  reply	other threads:[~2011-02-07  8:54 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-06  1:50 Commit 500f7147cf5bafd139056d521536b10c2bc2e154 breaks _resume_ Jeff Chua
2011-02-06  8:19 ` Marc Koschewski
2011-02-06 11:02   ` Takashi Iwai
2011-02-06 11:06     ` Dave Airlie
2011-02-06 12:21       ` Marc Koschewski
2011-02-06 13:04         ` Rafael J. Wysocki
2011-02-06 13:44           ` Marc Koschewski
2011-02-06 13:55             ` Rafael J. Wysocki
2011-02-06 11:00 ` Takashi Iwai
2011-02-06 12:24   ` Marc Koschewski
2011-02-06 13:19     ` Takashi Iwai
2011-02-06 14:01   ` Jeff Chua
2011-02-06 14:47     ` Chris Wilson
2011-02-06 14:51       ` Jeff Chua
2011-02-06 14:49     ` Jeff Chua
2011-02-06 15:27       ` Chris Wilson
2011-02-07  4:48         ` Jeff Chua
2011-02-07  5:02           ` Jeff Chua
2011-02-07  8:25             ` Takashi Iwai
2011-02-07  8:36               ` Jeff Chua
2011-02-07  8:45                 ` Jeff Chua
2011-02-07  8:54                   ` Takashi Iwai [this message]
2011-02-07  8:52                 ` Takashi Iwai
2011-02-07 10:15                   ` Takashi Iwai
2011-02-07 13:38                     ` Jeff Chua
2011-02-07 14:11                       ` Jeff Chua
2011-02-07 21:20                         ` Rafael J. Wysocki
2011-02-08  1:40                           ` Jeff Chua
2011-02-08 13:36                         ` Chris Wilson
2011-02-09  0:55                           ` Jeff Chua
2011-02-09  1:05                             ` Jeff Chua
2011-02-09  2:56                               ` Indan Zupancic
2011-02-09  5:45                                 ` Jeff Chua
2011-02-09  9:42                                   ` Indan Zupancic
2011-02-09  9:32                                 ` Chris Wilson
2011-02-09 10:20                                   ` Indan Zupancic
2011-02-07 10:02               ` Marc Koschewski
2011-02-07 10:06                 ` Takashi Iwai
2011-02-07 10:09                   ` Marc Koschewski

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=s5hsjw0uswl.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=chris@chris-wilson.co.uk \
    --cc=jeff.chua.linux@gmail.com \
    --cc=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=torvalds@linux-foundation.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.