<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/i915/i915_cmd_parser.c, branch linux-4.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-03-21T09:03:26Z</updated>
<entry>
<title>drm/i915: Bump command parser version for new whitelisted registers</title>
<updated>2016-03-21T09:03:26Z</updated>
<author>
<name>Jordan Justen</name>
</author>
<published>2016-03-07T07:30:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6cf0716c0321344fdc72205d590e968e53492088'/>
<id>urn:sha1:6cf0716c0321344fdc72205d590e968e53492088</id>
<content type='text'>
Signed-off-by: Jordan Justen &lt;jordan.l.justen@intel.com&gt;
Reviewed-by: Francisco Jerez &lt;currojerez@riseup.net&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1457335830-30923-6-git-send-email-jordan.l.justen@intel.com
</content>
</entry>
<entry>
<title>drm/i915: Add Haswell CS GPR registers to whitelist</title>
<updated>2016-03-21T09:03:17Z</updated>
<author>
<name>Jordan Justen</name>
</author>
<published>2016-03-07T07:30:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b85066bb1332e4298e533b7f15e04d82990ceaf'/>
<id>urn:sha1:1b85066bb1332e4298e533b7f15e04d82990ceaf</id>
<content type='text'>
This is needed for the Mesa Vulkan driver on Haswell.

Signed-off-by: Jordan Justen &lt;jordan.l.justen@intel.com&gt;
Reviewed-by: Francisco Jerez &lt;currojerez@riseup.net&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1457335830-30923-5-git-send-email-jordan.l.justen@intel.com
</content>
</entry>
<entry>
<title>drm/i915: Move Haswell registers to separate whitelist table</title>
<updated>2016-03-21T09:02:46Z</updated>
<author>
<name>Jordan Justen</name>
</author>
<published>2016-03-07T07:30:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=99c5aeca94a506a2b279022fae5de3f8606730bd'/>
<id>urn:sha1:99c5aeca94a506a2b279022fae5de3f8606730bd</id>
<content type='text'>
Now that we can whitelist registers only on Haswell, move HSW_SCRATCH1
and HSW_ROW_CHICKEN3 into a separate Haswell only table.

Signed-off-by: Jordan Justen &lt;jordan.l.justen@intel.com&gt;
Cc: Francisco Jerez &lt;currojerez@riseup.net&gt;
Reviewed-by: Francisco Jerez &lt;currojerez@riseup.net&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1457335830-30923-4-git-send-email-jordan.l.justen@intel.com
</content>
</entry>
<entry>
<title>drm/i915: Use an array of register tables in command parser</title>
<updated>2016-03-21T09:02:01Z</updated>
<author>
<name>Jordan Justen</name>
</author>
<published>2016-03-07T07:30:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=361b027bc6ae8501756829043ac98e42e40494f8'/>
<id>urn:sha1:361b027bc6ae8501756829043ac98e42e40494f8</id>
<content type='text'>
For Haswell, we will want another table of registers while retaining
the large common table of whitelisted registers shared by all gen7
devices.

Signed-off-by: Jordan Justen &lt;jordan.l.justen@intel.com&gt;
Reviewed-by: Francisco Jerez &lt;currojerez@riseup.net&gt;
[danvet: Pipe patch through sed -e 's/\&lt;ring\&gt;/engine/g' to make it
apply.]
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/i915: Add TIMESTAMP to register whitelist</title>
<updated>2016-03-21T08:56:42Z</updated>
<author>
<name>Jordan Justen</name>
</author>
<published>2016-03-07T07:30:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a6573e1f54b713f837ac08d87961f610c63246ba'/>
<id>urn:sha1:a6573e1f54b713f837ac08d87961f610c63246ba</id>
<content type='text'>
This is needed for the Mesa Vulkan driver on Haswell.

Signed-off-by: Jordan Justen &lt;jordan.l.justen@intel.com&gt;
Cc: Kristian Høgsberg &lt;krh@bitplanet.net&gt;
Cc: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Reviewed-by: Francisco Jerez &lt;currojerez@riseup.net&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1457335830-30923-2-git-send-email-jordan.l.justen@intel.com
</content>
</entry>
<entry>
<title>drm/i915: Rename intel_engine_cs function parameters</title>
<updated>2016-03-16T15:33:10Z</updated>
<author>
<name>Tvrtko Ursulin</name>
</author>
<published>2016-03-16T11:00:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0bc40be85f33ca1795253a5f8674efb430f83cce'/>
<id>urn:sha1:0bc40be85f33ca1795253a5f8674efb430f83cce</id>
<content type='text'>
@@
identifier func;
@@
func(..., struct intel_engine_cs *
- ring
+ engine
, ...)
{
&lt;...
- ring
+ engine
...&gt;
}
@@
identifier func;
type T;
@@
T func(..., struct intel_engine_cs *
- ring
+ engine
, ...);

Signed-off-by: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
</content>
</entry>
<entry>
<title>drm/i915: Type safe register read/write</title>
<updated>2015-11-18T13:39:11Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2015-11-18T13:33:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f0f59a00a1c9be11038bef5aa735ed7dd985f9cf'/>
<id>urn:sha1:f0f59a00a1c9be11038bef5aa735ed7dd985f9cf</id>
<content type='text'>
Make I915_READ and I915_WRITE more type safe by wrapping the register
offset in a struct. This should eliminate most of the fumbles we've had
with misplaced parens.

This only takes care of normal mmio registers. We could extend the idea
to other register types and define each with its own struct. That way
you wouldn't be able to accidentally pass the wrong thing to a specific
register access function.

The gpio_reg setup is probably the ugliest thing left. But I figure I'd
just leave it for now, and wait for some divine inspiration to strike
before making it nice.

As for the generated code, it's actually a bit better sometimes. Eg.
looking at i915_irq_handler(), we can see the following change:
  lea    0x70024(%rdx,%rax,1),%r9d
  mov    $0x1,%edx
- movslq %r9d,%r9
- mov    %r9,%rsi
- mov    %r9,-0x58(%rbp)
- callq  *0xd8(%rbx)
+ mov    %r9d,%esi
+ mov    %r9d,-0x48(%rbp)
 callq  *0xd8(%rbx)

So previously gcc thought the register offset might be signed and
decided to sign extend it, just in case. The rest appears to be
mostly just minor shuffling of instructions.

v2: i915_mmio_reg_{offset,equal,valid}() helpers added
    s/_REG/_MMIO/ in the register defines
    mo more switch statements left to worry about
    ring_emit stuff got sorted in a prep patch
    cmd parser, lrc context and w/a batch buildup also in prep patch
    vgpu stuff cleaned up and moved to a prep patch
    all other unrelated changes split out
v3: Rebased due to BXT DSI/BLC, MOCS, etc.
v4: Rebased due to churn, s/i915_mmio_reg_t/i915_reg_t/

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1447853606-2751-1-git-send-email-ville.syrjala@linux.intel.com
</content>
</entry>
<entry>
<title>drm/i915: Make the cmd parser 64bit regs explicit</title>
<updated>2015-11-18T12:35:20Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2015-11-06T19:44:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e597ef40457fa14dbad551903d958f7253e9572a'/>
<id>urn:sha1:e597ef40457fa14dbad551903d958f7253e9572a</id>
<content type='text'>
Add defines for the upper halves of the registers used by the cmd
parser. Getting rid of the arithmetic with the register offset
will help in making registers type safe.

v2: s/_HI/_UDW/ (Chris)

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1446839080-18732-1-git-send-email-ville.syrjala@linux.intel.com
</content>
</entry>
<entry>
<title>drm/i915: Add GEN7_GPGPU_DISPATCHDIMX/Y/Z to the register whitelist</title>
<updated>2015-10-06T08:40:22Z</updated>
<author>
<name>Jordan Justen</name>
</author>
<published>2015-10-02T06:09:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7b9748cb513a6bef4af87b79f0da3ff7e8b56cd8'/>
<id>urn:sha1:7b9748cb513a6bef4af87b79f0da3ff7e8b56cd8</id>
<content type='text'>
This is required to support glDispatchComputeIndirect for gen7.

Signed-off-by: Jordan Justen &lt;jordan.l.justen@intel.com&gt;
Reviewed-by: Kristian Høgsberg &lt;krh@bitplanet.net&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/i915: Fix cmdparser STORE/LOAD command descriptors</title>
<updated>2015-09-04T08:43:09Z</updated>
<author>
<name>Chris Wilson</name>
</author>
<published>2015-09-02T11:29:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=614f4ad7984f930623bf0d25adba707d0d36c6dc'/>
<id>urn:sha1:614f4ad7984f930623bf0d25adba707d0d36c6dc</id>
<content type='text'>
Fixes regression from
commit f1afe24f0e736b9d7f2275e2b1504af3fe612f2a
Author: Arun Siluvery &lt;arun.siluvery@linux.intel.com&gt;
Date:   Tue Aug 4 16:22:20 2015 +0100

    drm/i915: Change SRM, LRM instructions to use correct length

which forgot to account for the length bias when declaring the fixed
length.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91844
Reported-by: Andreas Reis &lt;andreas.reis@gmail.com&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Dave Gordon &lt;david.s.gordon@intel.com&gt;
Cc: Arun Siluvery &lt;arun.siluvery@linux.intel.com&gt;
Cc: Mika Kuoppala &lt;mika.kuoppala@intel.com&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Reviewed-by: Arun Siluvery &lt;arun.siluvery@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
</feed>
