From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
intel-gfx <intel-gfx@lists.freedesktop.org>,
DRI <dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] WARNING: CPU: 1 PID: 2846 at drivers/gpu/drm/i915/intel_sdvo.c:1378
Date: Fri, 2 Aug 2013 12:26:11 +0300 [thread overview]
Message-ID: <20130802092610.GJ5004@intel.com> (raw)
In-Reply-To: <CA+55aFxNMovWW80Fva1-zjjt1iqXtMRW_v9oHv0jwJ8+NCeA+g@mail.gmail.com>
On Thu, Aug 01, 2013 at 05:51:31PM -0700, Linus Torvalds wrote:
> This one may have been going on for some time - I haven't updated the
> old Intel Mac Mini in a while.
>
> And by "not updated" I also mean that it's some really old user-space:
> the machine is running F14, and cannot be updated to anything newer
> without having to reinstall everything because of a stupid small /boot
> partition. So it's not going to happen. But maybe somebody cares about
> the i915 warning anyway?
>
> Linus
>
> ---
> WARNING: CPU: 1 PID: 2846 at drivers/gpu/drm/i915/intel_sdvo.c:1378
> intel_sdvo_get_config+0x158/0x160()
> SDVO pixel multiplier mismatch, port: 0, encoder: 1
> Modules linked in: snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep
> CPU: 1 PID: 2846 Comm: Xorg Not tainted 3.11.0-rc3-00208-gbe1e8d7-dirty #19
> Hardware name: Apple Computer, Inc. Macmini1,1/Mac-F4208EC8, BIOS
> MM11.88Z.0055.B03.0604071521 04/07/06
> 00000000 00000000 ef0afa54 c1597bbb c1737ea4 ef0afa84 c10392ca c1737e6c
> ef0afab0 00000b1e c1737ea4 00000562 c12dfbe8 c12dfbe8 ef0afb14 00000000
> f697ec00 ef0afa9c c103936e 00000009 ef0afa94 c1737e6c ef0afab0 ef0afadc
> Call Trace:
> [<c1597bbb>] dump_stack+0x41/0x56
> [<c10392ca>] warn_slowpath_common+0x7a/0xa0
> [<c103936e>] warn_slowpath_fmt+0x2e/0x30
> [<c12dfbe8>] intel_sdvo_get_config+0x158/0x160
> [<c12c3220>] check_crtc_state+0x1e0/0xb10
> [<c12cdc7d>] intel_modeset_check_state+0x29d/0x7c0
> [<c12dfe5c>] intel_sdvo_dpms+0x5c/0xa0
> [<c12985de>] drm_mode_obj_set_property_ioctl+0x40e/0x420
> [<c1298625>] drm_mode_connector_property_set_ioctl+0x35/0x40
> [<c1289294>] drm_ioctl+0x3e4/0x540
> [<c10fc1a2>] do_vfs_ioctl+0x72/0x570
> [<c10fc72f>] SyS_ioctl+0x8f/0xa0
> [<c159b7fa>] sysenter_do_call+0x12/0x22
> ---[ end trace 7ce940aff1366d60 ]---
Looks like this could happen when you go to DPMS_OFF. After we've turned
off the the pipe, get_pipe_config() gives a mostly zeroed pipe_config
(including pixel_multiplier), and then in the case of SDVO, we go and
check it against the encoder's idea of pixel_multiplier anyway.
I'm thinking perhaps we shouldn't call get_config for inactive
encoders. How about the following patch?
>From 16c4048bfb54e338ce23a7e98af96af2f58b0e0d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
Date: Fri, 2 Aug 2013 12:06:47 +0300
Subject: [PATCH] drm/i915: Don't call encoder's get_config unless encoder is
active
---
drivers/gpu/drm/i915/intel_display.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index e1e50df..6396bca 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8549,9 +8549,11 @@ check_crtc_state(struct drm_device *dev)
list_for_each_entry(encoder, &dev->mode_config.encoder_list,
base.head) {
+ enum pipe pipe;
if (encoder->base.crtc != &crtc->base)
continue;
- if (encoder->get_config)
+ if (encoder->get_config &&
+ encoder->get_hw_state(encoder, &pipe))
encoder->get_config(encoder, &pipe_config);
}
--
1.8.1.5
--
Ville Syrjälä
Intel OTC
next prev parent reply other threads:[~2013-08-02 9:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-02 0:51 WARNING: CPU: 1 PID: 2846 at drivers/gpu/drm/i915/intel_sdvo.c:1378 Linus Torvalds
2013-08-02 9:26 ` Ville Syrjälä [this message]
2013-08-04 16:52 ` Daniel Vetter
2013-08-04 18:38 ` [Intel-gfx] " Linus Torvalds
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=20130802092610.GJ5004@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--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.