[Mesa-dev] [PATCH 05/11] i965/inst: Add notify and gateway_subfuncid fields
Kenneth Graunke
kenneth at whitecape.org
Sun Mar 29 17:47:45 PDT 2015
On Wednesday, March 25, 2015 05:53:43 PM Ben Widawsky wrote:
> On Sun, Mar 22, 2015 at 06:49:15PM -0700, Jordan Justen wrote:
> > These fields will be used when emitting a send for the barrier function.
> >
> > Reference: IVB PRM Volume 4, Part 2, Section 1.1.1 Message Descriptor
> >
> > Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
> > Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
> > ---
> > src/mesa/drivers/dri/i965/brw_inst.h | 18 +++++++++++++++---
> > 1 file changed, 15 insertions(+), 3 deletions(-)
> >
> > diff --git a/src/mesa/drivers/dri/i965/brw_inst.h
b/src/mesa/drivers/dri/i965/brw_inst.h
> > index 372aa2b..8701771 100644
> > --- a/src/mesa/drivers/dri/i965/brw_inst.h
> > +++ b/src/mesa/drivers/dri/i965/brw_inst.h
> > @@ -322,6 +322,9 @@ FJ(gen4_jump_count, 111, 96, brw->gen < 6)
> > FC(gen4_pop_count, 115, 112, brw->gen < 6)
> > /** @} */
> >
> > +/* Message descriptor bits */
> > +#define MD(x) (x + 96)
> > +
> > /**
> > * Fields for SEND messages:
> > * @{
> > @@ -347,6 +350,12 @@ FF(header_present,
> > /* 6: */ 115, 115,
> > /* 7: */ 115, 115,
> > /* 8: */ 115, 115)
> > +FF(notify,
> > + /* 4: doesn't exist */ -1, -1, -1, -1,
> > + /* 5: doesn't exist */ -1, -1,
> > + /* 6: doesn't exist */ -1, -1,
> > + /* 7: */ MD(16), MD(15),
> > + /* 8: */ MD(16), MD(15))
>
> I'm pretty sure notify has existed for much longer than Gen7. I understand
that
> you don't implement it, but "doesn't exist is at least a little confusing."
> (Also, if it does exist all the way back, you could potentially just use
F())
The "Notify" bit in the "Message Gateway" message descriptor has existed
since the original 965 - it is 16:15 on all generations.
So I agree with Ben, this should be F(notify, MD(16), MD(15)).
Since this only applies to Message Gateway messages, it might make sense
to call it gateway_notify or some such...I've tried to prefix the other
descriptor bits with "math_", "sampler_", "urb_", and so on.
> If you end up modifying stuff, should you throw in AckReq?
>
> > FF(function_control,
> > /* 4: */ 111, 96,
> > /* 4.5: */ 111, 96,
> > @@ -354,6 +363,12 @@ FF(function_control,
> > /* 6: */ 114, 96,
> > /* 7: */ 114, 96,
> > /* 8: */ 114, 96)
> > +FF(gateway_subfuncid,
> > + /* 4: doesn't exist */ -1, -1, -1, -1,
> > + /* 5: doesn't exist */ -1, -1,
> > + /* 6: doesn't exist */ -1, -1,
> > + /* 7: */ MD(2), MD(0),
> > + /* 8: */ MD(2), MD(0))
Likewise, these exist on older platforms too...
FF(gateway_subfuncid,
/* 4: */ MD(1), MD(0),
/* 4.5: */ MD(1), MD(0),
/* 5: */ MD(1), MD(0), /* 2:0, but bit 2 is reserved MBZ */
/* 6: */ MD(2), MD(0),
/* 7: */ MD(2), MD(0),
/* 8: */ MD(2), MD(0))
With those changes, this would get a:
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
> > FF(sfid,
> > /* 4: */ 123, 120, /* called msg_target */
> > /* 4.5 */ 123, 120,
> > @@ -364,9 +379,6 @@ FF(sfid,
> > FC(base_mrf, 27, 24, brw->gen < 6);
> > /** @} */
> >
> > -/* Message descriptor bits */
> > -#define MD(x) (x + 96)
> > -
> > /**
> > * URB message function control bits:
> > * @{
>
> I am not a huge fan of MD(x) but I suppose you didn't create that yourself.
I'd
> be in favor of killing it at some point.
>
> Patches up through this one are:
> Reviewed-by: Ben Widawsky <ben at bwidawsk.net>
>
> (I think 1 & 2 make more sense as a single patch, but meh)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150329/b643f12c/attachment.sig>
More information about the mesa-dev
mailing list