From: Mika Kuoppala <mika.kuoppala@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
Damien Lespiau <damien.lespiau@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: Emit even number of dwords when emitting LRIs
Date: Thu, 23 Oct 2014 17:42:47 +0300 [thread overview]
Message-ID: <871tpysv88.fsf@gaia.fi.intel.com> (raw)
In-Reply-To: <20141023125023.GL13512@nuc-i3427.alporthouse.com>
Chris Wilson <chris@chris-wilson.co.uk> writes:
> On Thu, Oct 23, 2014 at 01:42:38PM +0100, Damien Lespiau wrote:
>> On Thu, Oct 23, 2014 at 02:21:02PM +0200, Daniel Vetter wrote:
>> > On Wed, Oct 22, 2014 at 06:59:52PM +0100, Arun Siluvery wrote:
>> > > The number of DWords should be even when doing ring emits as
>> > > command sequences require QWord alignment.
>> > >
>> > > v2: user LRI variant that can write multiple regs in one go (Damien).
>> > > We can simply insert one NOP at the end instead of one per register write.
>> > >
>> > > Cc: Mika Kuoppala <mika.kuoppala@intel.com>
>> > > Signed-off-by: Arun Siluvery <arun.siluvery@linux.intel.com>
>> > > ---
>> > > drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +++--
>> > > 1 file changed, 3 insertions(+), 2 deletions(-)
>> > >
>> > > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
>> > > index 497b836..a8f72e8 100644
>> > > --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
>> > > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
>> > > @@ -680,15 +680,16 @@ static int intel_ring_workarounds_emit(struct intel_engine_cs *ring)
>> > > if (ret)
>> > > return ret;
>> > >
>> > > - ret = intel_ring_begin(ring, w->count * 3);
>> > > + ret = intel_ring_begin(ring, (w->count * 2 + 2));
>> > > if (ret)
>> > > return ret;
>> > >
>> > > + intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(w->count));
>> >
>> > Afaik there's a limit to the size of an MI_LRI. Where's the check for
>> > that (probably with a WARN_ON for now to avoid unecessary complexity)?
>>
>> I guess there's always the size of the length field, I don't see any
>> other indication. Note that I can find the documentation of the
>> multi-registers version of LRI either. So, well, we probably should
>> double check it does work.
>
> It does work. The max is around 60 iirc (the max length of the
> command).
> -Chris
>
I did some test with bdw:
The maximum is 128 writes, resulting the 8 bit length
field of the command being 0xff, thus following the spec.
The 128'th write went through.
Perhaps the max command length is then less in older gens?
Perhaps WARN_ON(x > 128) in MI_LOAD_REGISTER_IMM would be in place
but one needs minor tweak to command parser a bit also then.
#define I915_MAX_WA_REGS 16
keeps us safe for now atleast.
-Mika
> --
> Chris Wilson, Intel Open Source Technology Centre
next prev parent reply other threads:[~2014-10-23 14:43 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-22 17:59 [PATCH] drm/i915: Emit even number of dwords when emitting LRIs Arun Siluvery
2014-10-22 21:59 ` Damien Lespiau
2014-10-23 12:21 ` Daniel Vetter
2014-10-23 12:42 ` Damien Lespiau
2014-10-23 12:50 ` Chris Wilson
2014-10-23 13:41 ` Ville Syrjälä
2014-10-23 13:55 ` Siluvery, Arun
2014-10-23 14:42 ` Mika Kuoppala [this message]
2014-10-23 15:49 ` Daniel Vetter
-- strict thread matches above, loose matches on Subject: below --
2014-10-22 9:09 Arun Siluvery
2014-10-22 10:40 ` Damien Lespiau
2014-10-22 10:54 ` Damien Lespiau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871tpysv88.fsf@gaia.fi.intel.com \
--to=mika.kuoppala@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=damien.lespiau@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.