Re: [Intel-gfx] [PATCH] drm/i915: Use two 32bit reads for all 64bit REG_READ ioctls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 15, 2015 at 08:59:52AM +0100, Chris Wilson wrote:
> On Wed, Jul 15, 2015 at 08:50:44AM +0100, Chris Wilson wrote:
> > Since the hardware sometimes mysteriously totally flummoxes the 64bit
> > read of a 64bit register when read using a single instruction, split the
> > read into two instructions. Since the read here is of automatically
> > incrementing timestamp counters, we also have to be very careful in
> > order to make sure that it does not increment between the two
> > instructions.
> > 
> > The phenomen was first observed on a 32bit system which offset the value
> > by 32bits, but recently even 64bit Haswell systems have been
> > demonstrated to return complete garbage instead.
> > 
> > Reported-by: Karol Herbst <freedesktop@xxxxxxxxxxxxxx>
> > Tested-by: Karol Herbst <freedesktop@xxxxxxxxxxxxxx>
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91317
> > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> > Cc: stable@xxxxxxxxxxxxxxx
> 
> It should be noted that earlier attempts tried to workaround broken
> userspace code in beignet that tried to utilise the broken reads. However,
> as this aptly demonstrates the result can be truly random and it was
> silly to even try and workaround such damage.

I thought mesa used the timestamp correctly. It doesn't. Userspace is
just complete and utter garbage. 
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]