[Intel-gfx] [PATCH] drm/i915: don't double-restore ARB mode bits for kms

Jani Nikula jani.nikula at linux.intel.com
Wed Feb 5 14:01:25 CET 2014


On Thu, 16 Jan 2014, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> On Thu, Jan 16, 2014 at 5:54 PM, Paulo Zanoni <przanoni at gmail.com> wrote:
>> 2014/1/16 Daniel Vetter <daniel.vetter at ffwll.ch>:
>>> Our init_clock_gating functions and related code should already take
>>> care of this. And if they don't we'd better know.
>>
>> For both registers, I see functions applying specific workarounds, but
>> they only do the read-write-modify through _MASKED_BIT_ENABLE(). I
>> don't see anybody explicitly fully initializing the registers
>> anywhere. So we go with whatever the BIOS gives us at boot + our
>> changes to a few specific registers. At resume, we don't know so far
>> what we'll get, so I fear this patch may in fact cause a regression.
>
> That's part of the risk of it, but fixing those is a simple matter of
> comparing register dumps. These two bits here are one of the very few
> holdouts we have that depend upon the register save/restore code, and
> I want to remove them. Since thus far this was a really good way to
> hide random bugs.

I'm in favour of the patch in general, but I spotted at least

	/* On GEN3 we really need to make sure the ARB C3 LP bit is set */
	if (IS_GEN3(dev)) {
		I915_WRITE(MI_ARB_STATE,
			   _MASKED_BIT_ENABLE(MI_ARB_C3_LP_WRITE_ENABLE));
	}

in i915_gem_load() that won't be set on a suspend/resume cycle. Is that
going to be problem?

BR,
Jani.



-- 
Jani Nikula, Intel Open Source Technology Center



More information about the Intel-gfx mailing list