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@ffwll.ch>
Cc: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: Avoid flicker with horizontal panning on 830GM
Date: Mon, 02 Sep 2013 15:58:59 +0200	[thread overview]
Message-ID: <522499A3.50502@math.tu-berlin.de> (raw)
In-Reply-To: <2593_1378105810_522439D2_2593_1811_1_20130902071022.GP9374@phenom.ffwll.local>

Hi Daniel,

> I've just looked at the docs and they only mention that the base address
> must be pixel aligned. But it could very well be that the watermarks are a
> bit off for your chipset. The below quick hack should test this theory.
> -Daniel
>
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index dfdc7ad..990b1f4 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -1673,7 +1673,7 @@ static void i830_update_wm(struct drm_device *dev)
>   				       dev_priv->display.get_fifo_size(dev, 0),
>   				       4, latency_ns);
>   	fwater_lo = I915_READ(FW_BLC)&  ~0xfff;
> -	fwater_lo |= (3<<8) | planea_wm;
> +	fwater_lo |= (3<<8) | 0;
>
>   	DRM_DEBUG_KMS("Setting FIFO watermarks - A: %d\n", planea_wm);
>
Checked with the above modifications. Unfortunately, the result is 
negative. With the above modifications and my changes commented out, the 
screen flickers in normal state (without panning) but in a different 
way: With the above enabled, you get a rather irregular almost 
pseudo-random flicker, and not the 60/30Hz flicker I see when panning 
horizontally. If I add horizontal panning, then I also get this 
irregular flicker, except when scrolling to the "forbidden positions" at 
which I get the regular hi-frequency flicker again.

However, now that I checked closer, I found that my patch has also a 
drawback, namely the hardware scroll position and the requested scroll 
position disagrees, i.e. the mouse pointer is not exactly where it 
should be, i.e. the mouse pointer hot-spot is off.

Is there a way to indicate the calling method what the actual 
panning/scroll position is if it is different from the requested position?

Is there a different method to scroll the screen than to adjust the 
screen origin? Old hardware had not only a screen pointer, but also a 
pixel-offset (horizontal scroll) register. Is there something like this 
on the 830M to work around the observed trouble?

Greetings,
     Thomas

PS: A closer inspection shows that the screen flickers if the panning 
position x has the property that (x mod 16) != 0. Strange enough.

  parent reply	other threads:[~2013-09-02 13:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-01 17:01 [PATCH] drm/i915: Avoid flicker with horizontal panning on 830GM Thomas Richter
2013-09-02  7:10 ` Daniel Vetter
2013-09-02 14:12   ` Ville Syrjälä
     [not found] ` <2593_1378105810_522439D2_2593_1811_1_20130902071022.GP9374@phenom.ffwll.local>
2013-09-02 13:58   ` Thomas Richter [this message]
2013-09-02 14:18     ` Daniel Vetter
2013-09-02 14:21     ` Ville Syrjälä
     [not found]     ` <2593_1378131525_52249E45_2593_4993_1_20130902141857.GW9374@phenom.ffwll.local>
2013-09-02 15:21       ` Thomas Richter
2013-09-05 14:51       ` Thomas Richter
2013-09-05 14:56         ` Daniel Vetter

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=522499A3.50502@math.tu-berlin.de \
    --to=thor@math.tu-berlin.de \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel@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