public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Thomas Richter <thor@math.tu-berlin.de>
To: Daniel Vetter <daniel.vetter@ffwll.ch>,
	intel-gfx <intel-gfx@lists.freedesktop.org>
Subject: Bug/Patch : resolved i830 black screen
Date: Sun, 05 Jan 2014 22:48:18 +0100	[thread overview]
Message-ID: <52C9D322.7020304@math.tu-berlin.de> (raw)

Dear intel-experts,

a while ago I reported that the latest kernel from intel-drm-nightly 
broke operations on i830 completely. In the meantime,
I found the reason. The trouble is in intel_crtcl_init():

static void intel_crtc_init(struct drm_device *dev, int pipe)
{

     ....

     /*
      * On gen2/3 only plane A can do fbc, but the panel fitter and lvds 
port
      * is hooked to plane B. Hence we want plane A feeding pipe B.
      */
     intel_crtc->pipe = pipe;
     intel_crtc->plane = pipe;
     if (IS_MOBILE(dev) && IS_GEN3(dev)) {
         DRM_DEBUG_KMS("swapping pipes & planes for FBC\n");
         intel_crtc->plane = !pipe;
     }

The new code has here the condition "IS_MOBILE(dev) && 
INTEL_INFO(dev)->gen < 4", which however, gives a nonworking
display on my Fujitsu-Siemens. Apparently, this swap is not correct. It 
might do the right thing on gen3 (I do not have a
gen3-based system so I cannot verify), but it does not work on GEN2. The 
check (as above) conditioned on IS_GEN3() only
restores a working display on this system.

Two additional observations:

1) Panning did not work on i830 due to an incorrect watermark setting. 
The watermark register must be at least 6 *on this specific machine*. On 
the R31, it had to be at least four.

2) I do not seem to need the PIPE_A workaround on this Fujitsu laptop. 
It also boots with disabling the quirk. I have not tested suspend to 
ram, but it did not work before, and it likely does not work now. 
Probably the pipe A quirk is only required for suspend to ram?

Even without the pipe A quirk, the bios seems to keep pipe A busy. At 
least this is what I get from xrandr:

Screen 0: minimum 320 x 200, current 2048 x 1536, maximum 2048 x 2048
VGA1 unknown connection (normal left inverted right x axis y axis)
    1360x768       59.8
    1152x864       60.0
    1024x768       60.0
    800x600        60.3
    640x480        59.9
DVI1 connected 2048x1536+0+0 (normal left inverted right x axis y axis) 
0mm x 0mm panning 2048x1536+0+0
    1024x768       60.0*
    800x600        60.3     56.2
    640x480        59.9

Greetings and Happy New Year,

Thomas

             reply	other threads:[~2014-01-05 21:48 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-05 21:48 Thomas Richter [this message]
2014-01-07 13:53 ` Bug/Patch : resolved i830 black screen Ville Syrjälä

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=52C9D322.7020304@math.tu-berlin.de \
    --to=thor@math.tu-berlin.de \
    --cc=daniel.vetter@ffwll.ch \
    --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