[Intel-gfx] [PATCH i-g-t] i915/gem_softpin: Check the last 32b page is excluded
Chris Wilson
chris at chris-wilson.co.uk
Wed Dec 16 21:35:24 UTC 2020
Quoting Tang, CQ (2020-12-16 21:23:04)
>
>
> > -----Original Message-----
> > From: Chris Wilson <chris at chris-wilson.co.uk>
> > Sent: Wednesday, December 16, 2020 12:53 PM
> > To: intel-gfx at lists.freedesktop.org
> > Cc: Chris Wilson <chris at chris-wilson.co.uk>; Tang, CQ <cq.tang at intel.com>
> > Subject: [PATCH i-g-t] i915/gem_softpin: Check the last 32b page is excluded
> >
> > In order to prevent issues with 32b stateless address, the last page under 4G
> > is excluded for non-48b objects.
> >
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: CQ Tang <cq.tang at intel.com>
> > ---
> > tests/i915/gem_softpin.c | 37
> > +++++++++++++++++++++++++++++++++++++
> > 1 file changed, 37 insertions(+)
> >
> > diff --git a/tests/i915/gem_softpin.c b/tests/i915/gem_softpin.c index
> > a3e6dcac3..703beb77d 100644
> > --- a/tests/i915/gem_softpin.c
> > +++ b/tests/i915/gem_softpin.c
> > @@ -156,6 +156,39 @@ static void test_zero(int i915)
> > gem_close(i915, object.handle);
> > }
> >
> > +static void test_32b_last_page(int i915) {
> > + uint64_t sz, gtt = gem_aperture_size(i915);
> > + struct drm_i915_gem_exec_object2 object = {
> > + .flags = EXEC_OBJECT_PINNED,
> > + };
> > + struct drm_i915_gem_execbuffer2 execbuf = {
> > + .buffers_ptr = to_user_pointer(&object),
> > + .buffer_count = 1,
> > + };
> > +
> > + /*
> > + * The last page under 32b is excluded for !48b objects in order to
> > + * prevent issues with stateless addressing.
> > + */
> > +
> > + igt_require(gtt >= 1ull << 32);
> > + object.handle = batch_create(i915, &sz),
>
> Where is this batch_create() version?
In upstream. Just the regular batch_create() but returning the allocated
size.
-Chris
More information about the Intel-gfx
mailing list