[Intel-gfx] [PATCH v9] drm/i915: Avoid writing relocs with addresses in non-canonical form

Daniel Vetter daniel at ffwll.ch
Tue Jan 5 02:01:16 PST 2016


On Tue, Dec 29, 2015 at 05:28:04PM +0000, Chris Wilson wrote:
> On Tue, Dec 29, 2015 at 06:24:52PM +0100, Michał Winiarski wrote:
> > According to PRM, some parts of HW require the addresses to be in
> > a canonical form, where bits [63:48] == [47]. Let's convert addresses to
> > canonical form prior to relocating and return converted offsets to
> > userspace. We also need to make sure that userspace is using addresses
> > in canonical form in case of softpin.
> > 
> > v2: Whitespace fixup, gen8_canonical_addr description (Chris, Ville)
> > v3: Rebase on top of softpin, fix a hole in relocate_entry,
> >     s/expect/require (Chris)
> > v4: Handle softpin in validate_exec_list (Chris)
> > v5: Convert back to canonical form at copy_to_user time (Chris)
> > v6: Don't use struct exec_object2 in place of exec_object
> > v7: Use sign_extend64 for converting to canonical form (Joonas),
> >     reject non-canonical and non-page-aligned offset for softpin (Chris)
> > v8: Convert back to non-canonical form in a function,
> >     split the test for EXEC_OBJECT_PINNED (Chris)
> > v9: s/canonial/canonical, drop accidental double newline (Chris)
>  
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92699
> > Cc: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Michel Thierry <michel.thierry at intel.com>
> > Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > Signed-off-by: Michał Winiarski <michal.winiarski at intel.com>
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

Queued for -next, with Testcase: and Cc: -fixes added, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list