public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Chris Wilson <chris@chris-wilson.co.uk>
Cc: intel-gfx <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH] drm/i915: Only apply DPMS to the encoder if enabled
Date: Thu, 3 Oct 2013 22:51:31 +0200	[thread overview]
Message-ID: <20131003205131.GJ31334@phenom.ffwll.local> (raw)
In-Reply-To: <CAKMK7uFM=crhb4zqcK9An0idNa2O4Pmi48oBB7Ku+Fo6dDLR0A@mail.gmail.com>

On Sun, Sep 29, 2013 at 08:27:50PM +0200, Daniel Vetter wrote:
> On Sun, Sep 29, 2013 at 8:15 PM, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> > The current test for an attached enabled encoder fails if we have
> > multiple connectors aliased to the same encoder - both connectors
> > believe they own the enabled encoder and so we attempt to both enable
> > and disable DPMS on the encoder, leading to hilarity and an OOPs:
> >
> > [  354.803064] WARNING: CPU: 0 PID: 482 at
> > /usr/src/linux/dist/3.11.2/drivers/gpu/drm/i915/intel_display.c:3869 intel_modeset_check_state+0x764/0x770 [i915]()
> > [  354.803064] wrong connector dpms state
> > [  354.803084] Modules linked in: nfsd auth_rpcgss oid_registry exportfs nfs lockd sunrpc xt_nat iptable_nat nf_nat_ipv4 nf_nat xt_limit xt_LOG xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 ipt_REJECT ipv6 xt_recent xt_conntrack nf_conntrack iptable_filter ip_tables x_tables snd_hda_codec_realtek snd_hda_codec_hdmi x86_pkg_temp_thermal snd_hda_intel coretemp kvm_intel snd_hda_codec i915 kvm snd_hwdep snd_pcm_oss snd_mixer_oss crc32_pclmul snd_pcm crc32c_intel e1000e intel_agp igb ghash_clmulni_intel intel_gtt aesni_intel cfbfillrect aes_x86_64 cfbimgblt lrw cfbcopyarea drm_kms_helper ptp video thermal processor gf128mul snd_page_alloc drm snd_timer glue_helper 8250_pci snd pps_core ablk_helper agpgart cryptd sg soundcore fan i2c_algo_bit sr_mod thermal_sys 8250 i2c_i801 serial_core
> > hwmon cdrom i2c_core evdev button
> > [  354.803086] CPU: 0 PID: 482 Comm: kworker/0:1 Not tainted 3.11.2 #1
> > [  354.803087] Hardware name: Supermicro X10SAE/X10SAE, BIOS 1.00 05/03/2013 [  354.803091] Workqueue: events console_callback
> > [  354.803092]  0000000000000009 ffff88023611db48 ffffffff814048ac ffff88023611db90
> > [  354.803093]  ffff88023611db80 ffffffff8103d4e3 ffff880230d82800 ffff880230f9b800
> > [  354.803094]  ffff880230f99000 ffff880230f99448 ffff8802351c0e00 ffff88023611dbe0
> > [  354.803094] Call Trace:
> > [  354.803098]  [<ffffffff814048ac>] dump_stack+0x54/0x8d
> > [  354.803101]  [<ffffffff8103d4e3>] warn_slowpath_common+0x73/0x90
> > [  354.803103]  [<ffffffff8103d547>] warn_slowpath_fmt+0x47/0x50
> > [  354.803109]  [<ffffffffa089f1be>] ? intel_ddi_connector_get_hw_state+0x5e/0x110 [i915]
> > [  354.803114]  [<ffffffffa0896974>] intel_modeset_check_state+0x764/0x770 [i915]
> > [  354.803117]  [<ffffffffa08969bb>] intel_connector_dpms+0x3b/0x60 [i915]
> > [  354.803120]  [<ffffffffa037e1d0>] drm_fb_helper_dpms.isra.11+0x120/0x160 [drm_kms_helper]
> > [  354.803122]  [<ffffffffa037e24e>] drm_fb_helper_blank+0x3e/0x80 [drm_kms_helper]
> > [  354.803123]  [<ffffffff812116c2>] fb_blank+0x52/0xc0
> > [  354.803125]  [<ffffffff8121e04b>] fbcon_blank+0x21b/0x2d0
> > [  354.803127]  [<ffffffff81062243>] ? update_rq_clock.part.74+0x13/0x30
> > [  354.803129]  [<ffffffff81047486>] ? lock_timer_base.isra.30+0x26/0x50
> > [  354.803130]  [<ffffffff810472b2>] ? internal_add_timer+0x12/0x40
> > [  354.803131]  [<ffffffff81047f48>] ? mod_timer+0xf8/0x1c0
> > [  354.803133]  [<ffffffff81266d61>] do_unblank_screen+0xa1/0x1c0
> > [  354.803134]  [<ffffffff81268087>] poke_blanked_console+0xc7/0xd0
> > [  354.803136]  [<ffffffff812681cf>] console_callback+0x13f/0x160
> > [  354.803137]  [<ffffffff81053258>] process_one_work+0x148/0x3d0
> > [  354.803138]  [<ffffffff81053f19>] worker_thread+0x119/0x3a0
> > [  354.803140]  [<ffffffff81053e00>] ? manage_workers.isra.30+0x2a0/0x2a0
> > [  354.803141]  [<ffffffff8105994b>] kthread+0xbb/0xc0
> > [  354.803142]  [<ffffffff81059890>] ? kthread_create_on_node+0x120/0x120
> > [  354.803144]  [<ffffffff8140b32c>] ret_from_fork+0x7c/0xb0
> > [  354.803145]  [<ffffffff81059890>] ? kthread_create_on_node+0x120/0x120
> >
> > Reported-and-tested-by: Wakko Warner <wakko@animx.eu.org>
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68030
> > Link:  http://lkml.kernel.org/r/20130928185023.GA21672@animx.eu.org
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> 
> A testcase would be great ;-) I've already poked Rodrigo about it, the
> recipe I have in mind is to pimp kms_flip with a new flag to disable
> all other connectors. If we have a buggy kernel the pipe should get
> killed and the pageflip fail.

I've gone ahead and written that testcase. Patch merged to -fixes with
cc: stable and a note which commit broke this first.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

      reply	other threads:[~2013-10-03 20:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-29 18:15 [PATCH] drm/i915: Only apply DPMS to the encoder if enabled Chris Wilson
2013-09-29 18:27 ` Daniel Vetter
2013-10-03 20:51   ` Daniel Vetter [this message]

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=20131003205131.GJ31334@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox