[Intel-gfx] 830GM still woes
Daniel Vetter
daniel at ffwll.ch
Fri May 16 17:09:53 CEST 2014
On Fri, May 16, 2014 at 03:41:05PM +0100, Chris Wilson wrote:
> On Fri, May 16, 2014 at 04:02:48PM +0200, Thomas Richter wrote:
> > It's not that I haven't had a patch for it. Really trivial. I wonder
> > what keeps you from adding this to the kernel and just make things
> > working?
>
> You mean this patch?
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index f671aca..3981898 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -944,7 +944,7 @@ static const struct intel_watermark_params i915_wm_info = {
> static const struct intel_watermark_params i830_wm_info = {
> I855GM_FIFO_SIZE,
> I915_MAX_WM,
> - 1,
> + 8,
> 2,
> I830_FIFO_LINE_SIZE
> };
> @@ -1001,7 +1001,7 @@ static unsigned long intel_calculate_wm(unsigned long clock_in_khz,
> /* Don't promote wm_size to unsigned... */
> if (wm_size > (long)wm->max_wm)
> wm_size = wm->max_wm;
> - if (wm_size <= 0)
> + if (wm_size < (long)wm->default_wm)
> wm_size = wm->default_wm;
> return wm_size;
> }
>
> I haven't spotted any explanation as to why that is, but a rough guess
> would be that we program it to read in blocks of 8 superwords and that
> it tries and fails to read from memory when the fifo only has room for 1
> superword.
I have it - we need to proper align watermark limits and fifo sizes and
round them apparently. Bspec at least strongly suggests that, and it would
perfectly fit Thomas' symptoms.
Unfortunately that branch is still sitting ducks somewhere on a machine :(
The problem is that we need to frob the watermark functions a bit to make
this work correctly and in all cases, and my first attempt looked horribly
and disappeared in a tangential death trap ...
Still trying to grab some time from somewhere to resurrect this.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list