<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/gpu/drm/msm/msm_gpu.c, branch linux-4.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.1.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.1.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2014-08-04T15:55:29Z</updated>
<entry>
<title>drm/msm: fix potential deadlock in gpu init</title>
<updated>2014-08-04T15:55:29Z</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2014-07-11T15:59:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a1ad35233345e7ddd9ea3ea7b841432f4723d743'/>
<id>urn:sha1:a1ad35233345e7ddd9ea3ea7b841432f4723d743</id>
<content type='text'>
Somewhere along the way, the firmware loader sprouted another lock
dependency, resulting in possible deadlock scenario:

 &amp;dev-&gt;struct_mutex --&gt; &amp;sb-&gt;s_type-&gt;i_mutex_key#2 --&gt; &amp;mm-&gt;mmap_sem

which is problematic vs things like gem mmap.

So introduce a separate mutex to synchronize gpu init.

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
</entry>
<entry>
<title>drm/msm: use upstream iommu</title>
<updated>2014-08-04T15:55:29Z</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2014-07-10T02:08:15Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=944fc36c31ed685cf8d3d125eb681ae7198f06fc'/>
<id>urn:sha1:944fc36c31ed685cf8d3d125eb681ae7198f06fc</id>
<content type='text'>
Downstream kernel IOMMU had a non-standard way of dealing with multiple
devices and multiple ports/contexts.  We don't need that on upstream
kernel, so rip out the crazy.

Note that we have to move the pinning of the ringbuffer to after the
IOMMU is attached.  No idea how that managed to work properly on the
downstream kernel.

For now, I am leaving the IOMMU port name stuff in place, to simplify
things for folks trying to backport latest drm/msm to device kernels.
Once we no longer have to care about pre-DT kernels, we can drop this
and instead backport upstream IOMMU driver.

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
</entry>
<entry>
<title>drm/msm: add perf logging debugfs</title>
<updated>2014-06-02T11:36:21Z</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2014-05-30T18:49:43Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=70c70f091b1ffd16b3e1a439bd595f7d539b1d5d'/>
<id>urn:sha1:70c70f091b1ffd16b3e1a439bd595f7d539b1d5d</id>
<content type='text'>
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
</entry>
<entry>
<title>drm/msm: add rd logging debugfs</title>
<updated>2014-06-02T11:36:11Z</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2014-05-30T18:47:38Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a7d3c9509b2fecf8e593f3c933ab302cbe987d2e'/>
<id>urn:sha1:a7d3c9509b2fecf8e593f3c933ab302cbe987d2e</id>
<content type='text'>
To ease debugging, add debugfs file which can be cat/tail'd to log
submits, along with fence #.  If GPU hangs, you can look at 'gpu'
debugfs file to find last completed fence and current register state,
and compare with logged rd file to narrow down the DRAW_INDX which
triggered the GPU hang.

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
</entry>
<entry>
<title>drm/msm: crank down gpu when inactive</title>
<updated>2014-03-31T14:27:46Z</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2014-01-11T21:25:08Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=37d77c3ab589bf8e3160a33b651fe6dd7439ba48'/>
<id>urn:sha1:37d77c3ab589bf8e3160a33b651fe6dd7439ba48</id>
<content type='text'>
Shut down the clks when the gpu has nothing to do.  A short inactivity
timer is used to provide a low pass filter for power transitions.

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
</entry>
<entry>
<title>drm/msm: bigger synchronization hammer</title>
<updated>2014-02-07T15:26:25Z</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2014-02-07T00:19:20Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c2703b13a63da335053a2f3cb560bb806bdda0ae'/>
<id>urn:sha1:c2703b13a63da335053a2f3cb560bb806bdda0ae</id>
<content type='text'>
Because we use a list_head in the bo to track it's position in a submit,
we need to serialize at a higher layer.  Otherwise there are problems
when multiple contexts are SUBMIT'ing in parallel cmdstreams referencing
a shared bo.

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
</entry>
<entry>
<title>drm/msm: add support for non-IOMMU systems</title>
<updated>2014-01-09T19:38:58Z</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2013-11-16T17:56:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=871d812aa43e6350a4edf41bf7cb0879675255f1'/>
<id>urn:sha1:871d812aa43e6350a4edf41bf7cb0879675255f1</id>
<content type='text'>
Add a VRAM carveout that is used for systems which do not have an IOMMU.

The VRAM carveout uses CMA.  The arch code must setup a CMA pool for the
device (preferrably in highmem.. a 256m-512m VRAM pool in lowmem is not
cool).  The user can configure the VRAM pool size using msm.vram module
param.

Technically, the abstraction of IOMMU behind msm_mmu is not strictly
needed, but it simplifies the GEM code a bit, and will be useful later
when I add support for a2xx devices with GPUMMU, so I decided to keep
this part.

It appears to be possible to configure the GPU to restrict access to
addresses within the VRAM pool, but this is not done yet.  So for now
the GPU will refuse to load if there is no sort of mmu.  Once address
based limits are supported and tested to confirm that we aren't giving
the GPU access to arbitrary memory, this restriction can be lifted

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
</entry>
<entry>
<title>drm/msm: fix bus scaling</title>
<updated>2014-01-09T19:38:58Z</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2013-11-15T14:03:15Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=bf2b33afb9ea1d9609767c70562610a686bdfbd7'/>
<id>urn:sha1:bf2b33afb9ea1d9609767c70562610a686bdfbd7</id>
<content type='text'>
This got a bit broken with original patches when re-arranging things to
move dependencies on mach-msm inside #ifndef OF.

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
</entry>
<entry>
<title>drm/msm: rework inactive-work</title>
<updated>2013-11-01T16:39:45Z</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2013-09-14T18:01:55Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=edd4fc63a33eeeb922503b14e8040a3b028c76a5'/>
<id>urn:sha1:edd4fc63a33eeeb922503b14e8040a3b028c76a5</id>
<content type='text'>
Re-arrange things a bit so that we can get work requested after a bo
fence passes, like pageflip, done before retiring bo's.  Without any
sort of bo cache in userspace, some games can trigger hundred's of
transient bo's, which can cause retire to take a long time (5-10ms).
Obviously we want a bo cache.. but this cleanup will make things a
bit easier for atomic as well and makes things a bit cleaner.

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
Acked-by: David Brown &lt;davidb@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>drm/msm: fix potential NULL pointer dereference</title>
<updated>2013-09-12T14:32:12Z</updated>
<author>
<name>Wei Yongjun</name>
<email>yongjun_wei@trendmicro.com.cn</email>
</author>
<published>2013-09-11T14:09:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=aea6a64c38725b6fb30738a31695ef81af3079c3'/>
<id>urn:sha1:aea6a64c38725b6fb30738a31695ef81af3079c3</id>
<content type='text'>
The dereference to 'pdata' should be moved below the NULL test.

Signed-off-by: Wei Yongjun &lt;yongjun_wei@trendmicro.com.cn&gt;
</content>
</entry>
</feed>
