<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/gpu/drm/msm/msm_atomic.c, branch v5.5</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>drm/msm: add atomic traces</title>
<updated>2019-09-03T23:17:02+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@chromium.org</email>
</author>
<published>2019-08-29T16:45:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d934a712c5e6a3724dd560b8e92eb230b025ee8d'/>
<id>d934a712c5e6a3724dd560b8e92eb230b025ee8d</id>
<content type='text'>
This was useful for debugging fps drops.  I suspect it will be useful
again.

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was useful for debugging fps drops.  I suspect it will be useful
again.

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/dpu: async commit support</title>
<updated>2019-09-03T23:17:01+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@chromium.org</email>
</author>
<published>2019-08-29T16:45:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=cd6d923167b1bf3e051f9d90fa129456d78ef06e'/>
<id>cd6d923167b1bf3e051f9d90fa129456d78ef06e</id>
<content type='text'>
In addition, moving to kms-&gt;flush_commit() lets us drop the only user
of kms-&gt;commit().

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In addition, moving to kms-&gt;flush_commit() lets us drop the only user
of kms-&gt;commit().

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm: async commit support</title>
<updated>2019-09-03T23:17:01+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@chromium.org</email>
</author>
<published>2019-08-29T16:45:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2d99ced787e3d0f251fa370d2aae83cf2085a8d9'/>
<id>2d99ced787e3d0f251fa370d2aae83cf2085a8d9</id>
<content type='text'>
Now that flush/wait/complete is decoupled from the "synchronous" part of
atomic commit_tail(), add support to defer flush to a timer that expires
shortly before vblank for async commits.  In this way, multiple atomic
commits (for example, cursor updates) can be coalesced into a single
flush at the end of the frame.

v2: don't hold lock over -&gt;wait_flush(), to avoid locking interaction
    that was causing fps drop when combining page flips or non-async
    atomic commits and lots of legacy cursor updates

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that flush/wait/complete is decoupled from the "synchronous" part of
atomic commit_tail(), add support to defer flush to a timer that expires
shortly before vblank for async commits.  In this way, multiple atomic
commits (for example, cursor updates) can be coalesced into a single
flush at the end of the frame.

v2: don't hold lock over -&gt;wait_flush(), to avoid locking interaction
    that was causing fps drop when combining page flips or non-async
    atomic commits and lots of legacy cursor updates

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm: split power control from prepare/complete_commit</title>
<updated>2019-09-03T23:17:01+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@chromium.org</email>
</author>
<published>2019-08-29T16:45:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e35a29d5c432504e6134c881dc4aaded7de7e717'/>
<id>e35a29d5c432504e6134c881dc4aaded7de7e717</id>
<content type='text'>
With atomic commit, -&gt;prepare_commit() and -&gt;complete_commit() may not
be evenly balanced (although -&gt;complete_commit() will complete each
crtc that had been previously prepared).  So these will no longer be
a good place to enable/disable clocks needed for hw access.

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With atomic commit, -&gt;prepare_commit() and -&gt;complete_commit() may not
be evenly balanced (although -&gt;complete_commit() will complete each
crtc that had been previously prepared).  So these will no longer be
a good place to enable/disable clocks needed for hw access.

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm: add kms-&gt;flush_commit()</title>
<updated>2019-09-03T23:17:01+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@chromium.org</email>
</author>
<published>2019-08-29T16:45:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9f6b65642bd2d7ec1fc2eb675cf10a55f29417e2'/>
<id>9f6b65642bd2d7ec1fc2eb675cf10a55f29417e2</id>
<content type='text'>
Add -&gt;flush_commit(crtc_mask).  Currently a no-op, but kms backends
should migrate writing flush registers to this hook, so we can decouple
pushing updates to hardware, and flushing the updates.

Once we add async commit support, the hw updates will be pushed down to
the hw synchronously, but flushing the updates will be deferred until as
close to vblank as possible, so that multiple updates can be combined in
a single frame.

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add -&gt;flush_commit(crtc_mask).  Currently a no-op, but kms backends
should migrate writing flush registers to this hook, so we can decouple
pushing updates to hardware, and flushing the updates.

Once we add async commit support, the hw updates will be pushed down to
the hw synchronously, but flushing the updates will be deferred until as
close to vblank as possible, so that multiple updates can be combined in
a single frame.

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm: convert kms-&gt;complete_commit() to crtc_mask</title>
<updated>2019-09-03T23:17:01+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@chromium.org</email>
</author>
<published>2019-08-29T16:45:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=80b4b4a703d6e4fb966e5c6a7c74a06001bf7d19'/>
<id>80b4b4a703d6e4fb966e5c6a7c74a06001bf7d19</id>
<content type='text'>
Prep work for async commits, in which case this will be called after we
no longer have the atomic state object.

This drops some wait_for_vblanks(), but those should be unnecessary, as
we call this after waiting for flush to complete.

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prep work for async commits, in which case this will be called after we
no longer have the atomic state object.

This drops some wait_for_vblanks(), but those should be unnecessary, as
we call this after waiting for flush to complete.

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm: add kms-&gt;wait_flush()</title>
<updated>2019-09-03T23:17:01+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@chromium.org</email>
</author>
<published>2019-08-29T16:45:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d4d2c60497cfc5063f129010521ba69f34f33127'/>
<id>d4d2c60497cfc5063f129010521ba69f34f33127</id>
<content type='text'>
First step in re-working the atomic related internal API to prepare for
async updates pending.. -&gt;wait_flush() is intended to block until there
is no in-progress flush.

A crtc_mask is used, rather than an atomic state object, as this will
later be used for async flush after the atomic state is destroyed.

This replaces -&gt;wait_for_crtc_commit_done()

v2: update for review comments

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
First step in re-working the atomic related internal API to prepare for
async updates pending.. -&gt;wait_flush() is intended to block until there
is no in-progress flush.

A crtc_mask is used, rather than an atomic state object, as this will
later be used for async flush after the atomic state is destroyed.

This replaces -&gt;wait_for_crtc_commit_done()

v2: update for review comments

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/dpu: unwind async commit handling</title>
<updated>2019-09-03T23:17:01+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@chromium.org</email>
</author>
<published>2019-08-29T16:45:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b4bb9f15b4439252872f0df4388b28f47f296b7f'/>
<id>b4bb9f15b4439252872f0df4388b28f47f296b7f</id>
<content type='text'>
It attempted to avoid fps drops in the presence of cursor updates.  But
it is racing, and can result in hw updates after flush before vblank,
which leads to underruns.

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It attempted to avoid fps drops in the presence of cursor updates.  But
it is racing, and can result in hw updates after flush before vblank,
which leads to underruns.

Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
Reviewed-by: Sean Paul &lt;sean@poorly.run&gt;
Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm: drop use of drmP.h</title>
<updated>2019-09-03T23:16:57+00:00</updated>
<author>
<name>Sam Ravnborg</name>
<email>sam@ravnborg.org</email>
</author>
<published>2019-08-04T06:55:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=feea39a86dfdbad9d02264fd4730277b4e69764e'/>
<id>feea39a86dfdbad9d02264fd4730277b4e69764e</id>
<content type='text'>
Drop the deprecated drmP.h header file, and trim msm_drv.h
to the relevant include files.

This resulted in a suprisingly many edits as many files relied
on headers included via msm_drv.h.
But msm_drv.h is not supposed to carry include files it do not need, so
the individual files have to include what extra they needs.

v2:
- Rebased on top of https://gitlab.freedesktop.org/drm/msm.git msm-next

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Cc: Rob Clark &lt;robdclark@gmail.com&gt;
Cc: Sean Paul &lt;sean@poorly.run&gt;
Cc: David Airlie &lt;airlied@linux.ie&gt;
Cc: Daniel Vetter &lt;daniel@ffwll.ch&gt;
Cc: Jordan Crouse &lt;jcrouse@codeaurora.org&gt;
Cc: Jeykumar Sankaran &lt;jsanka@codeaurora.org&gt;
Cc: Bruce Wang &lt;bzwang@chromium.org&gt;
Cc: Shayenne Moura &lt;shayenneluzmoura@gmail.com&gt;
Cc: Mamta Shukla &lt;mamtashukla555@gmail.com&gt;
Cc: Jonathan Marek &lt;jonathan@marek.ca&gt;
Cc: Carsten Behling &lt;carsten.behling@googlemail.com&gt;
Cc: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Cc: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
Cc: Paul Kocialkowski &lt;paul.kocialkowski@bootlin.com&gt;
Cc: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Cc: Todor Tomov &lt;todor.tomov@linaro.org&gt;
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20190804065551.GA5211@ravnborg.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Drop the deprecated drmP.h header file, and trim msm_drv.h
to the relevant include files.

This resulted in a suprisingly many edits as many files relied
on headers included via msm_drv.h.
But msm_drv.h is not supposed to carry include files it do not need, so
the individual files have to include what extra they needs.

v2:
- Rebased on top of https://gitlab.freedesktop.org/drm/msm.git msm-next

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Cc: Rob Clark &lt;robdclark@gmail.com&gt;
Cc: Sean Paul &lt;sean@poorly.run&gt;
Cc: David Airlie &lt;airlied@linux.ie&gt;
Cc: Daniel Vetter &lt;daniel@ffwll.ch&gt;
Cc: Jordan Crouse &lt;jcrouse@codeaurora.org&gt;
Cc: Jeykumar Sankaran &lt;jsanka@codeaurora.org&gt;
Cc: Bruce Wang &lt;bzwang@chromium.org&gt;
Cc: Shayenne Moura &lt;shayenneluzmoura@gmail.com&gt;
Cc: Mamta Shukla &lt;mamtashukla555@gmail.com&gt;
Cc: Jonathan Marek &lt;jonathan@marek.ca&gt;
Cc: Carsten Behling &lt;carsten.behling@googlemail.com&gt;
Cc: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Cc: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
Cc: Paul Kocialkowski &lt;paul.kocialkowski@bootlin.com&gt;
Cc: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Cc: Todor Tomov &lt;todor.tomov@linaro.org&gt;
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20190804065551.GA5211@ravnborg.org
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge v5.3-rc1 into drm-misc-next</title>
<updated>2019-07-22T19:24:10+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime.ripard@bootlin.com</email>
</author>
<published>2019-07-22T19:24:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=03b0f2ce735e97e9f49790d4563c82515b8fa702'/>
<id>03b0f2ce735e97e9f49790d4563c82515b8fa702</id>
<content type='text'>
Noralf needs some SPI patches in 5.3 to merge some work on tinydrm.

Signed-off-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Noralf needs some SPI patches in 5.3 to merge some work on tinydrm.

Signed-off-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
