<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/gpu/drm/rockchip, branch v4.9.28</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.9.28</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.9.28'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2016-10-04T06:23:17Z</updated>
<entry>
<title>drm/rockchip: analogix_dp: Refuse to enable PSR if panel doesn't support it</title>
<updated>2016-10-04T06:23:17Z</updated>
<author>
<name>Tomeu Vizoso</name>
<email>tomeu.vizoso@collabora.com</email>
</author>
<published>2016-09-23T14:06:40Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=0546d685f07cc4fc5748fd36e57d167877c2842d'/>
<id>urn:sha1:0546d685f07cc4fc5748fd36e57d167877c2842d</id>
<content type='text'>
There's no point in enabling PSR when the panel doesn't support it.

This also avoids a problem when PSR gets enabled when a CRTC is being
disabled, because sometimes in that situation the DSP_HOLD_VALID_INTR
interrupt on which we wait will never arrive. This was observed on
RK3288 with a panel without PSR (veyron-jaq Chromebook).

It's very easy to reproduce by running the kms_rmfb test in IGT a few
times.

Cc: Yakir Yang &lt;ykk@rock-chips.com&gt;
Reviewed-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Signed-off-by: Tomeu Vizoso &lt;tomeu.vizoso@collabora.com&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1474639600-30090-2-git-send-email-tomeu.vizoso@collabora.com
</content>
</entry>
<entry>
<title>drm/rockchip: mark symbols static where possible</title>
<updated>2016-10-04T06:23:01Z</updated>
<author>
<name>Baoyou Xie</name>
<email>baoyou.xie@linaro.org</email>
</author>
<published>2016-09-25T07:43:08Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6239817702e6fc3737d95256586a767a9b4f7fc0'/>
<id>urn:sha1:6239817702e6fc3737d95256586a767a9b4f7fc0</id>
<content type='text'>
We get 2 warnings when building kernel with W=1:
drivers/gpu/drm/rockchip/rockchip_drm_drv.c:309:6: warning: no previous prototype for 'rockchip_drm_fb_suspend' [-Wmissing-prototypes]
drivers/gpu/drm/rockchip/rockchip_drm_drv.c:318:6: warning: no previous prototype for 'rockchip_drm_fb_resume' [-Wmissing-prototypes]

In fact, these functions are only used in the file in which they are
declared and don't need a declaration, but can be made static.
So this patch marks these functions with 'static'.

Signed-off-by: Baoyou Xie &lt;baoyou.xie@linaro.org&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1474789388-3284-1-git-send-email-baoyou.xie@linaro.org
</content>
</entry>
<entry>
<title>drm/rockchip: add missing header dependencies</title>
<updated>2016-10-04T06:23:00Z</updated>
<author>
<name>Baoyou Xie</name>
<email>baoyou.xie@linaro.org</email>
</author>
<published>2016-09-25T07:38:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=813cfc89f826edc6d78ac0dc0cfbf45ca6483fd4'/>
<id>urn:sha1:813cfc89f826edc6d78ac0dc0cfbf45ca6483fd4</id>
<content type='text'>
We get 2 warnings when building kernel with W=1:
drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c:130:5: warning: no previous prototype for 'rockchip_drm_fbdev_init' [-Wmissing-prototypes]
drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c:173:6: warning: no previous prototype for 'rockchip_drm_fbdev_fini' [-Wmissing-prototypes]

In fact, these functions are declared
in drivers/gpu/drm/rockchip/rockchip_drm_fbdev.h,
so this patch adds missing header dependencies.

Signed-off-by: Baoyou Xie &lt;baoyou.xie@linaro.org&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1474789109-22010-1-git-send-email-baoyou.xie@linaro.org
</content>
</entry>
<entry>
<title>Merge branch 'for-next' of ssh://people.freedesktop.org/~seanpaul/dogwood into drm-next</title>
<updated>2016-09-28T01:22:27Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2016-09-28T01:22:27Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=378db830c3cc5c05e2c176274b0d2fcee0b133f3'/>
<id>urn:sha1:378db830c3cc5c05e2c176274b0d2fcee0b133f3</id>
<content type='text'>
I've included some improvements to PSR from myself, as well as a great
series from Tomasz to clean up and tighten up vblank/flip handling.

The last patch is one from Tomeu that has been floating around for a
while, and since rockchip is one of the beneficiaries, I figured this
would be a good place to pick it up.

* 'for-next' of ssh://people.freedesktop.org/~seanpaul/dogwood:
  drm/rockchip: Balance irq refcount on failure
  drm/rockchip: Kill vop_plane_state
  drm/rockchip: Always signal event in next vblank after cfg_done
  drm/rockchip: Do not enable vblank without event
  drm/rockchip: Replace custom wait_for_vblanks with helper
  drm/rockchip: Unreference framebuffers from flip work
  drm/rockchip: Avoid race with vblank count increment
  drm/rockchip: Get rid of some unnecessary code
  drm/rockchip: Clear interrupt status bits before enabling
  drm/rockchip: Fix up bug in psr state machine
  drm/bridge: analogix_dp: Remove duplicated code
  drm/rockchip: Reduce psr flush time to 100ms
  drm/rockchip: Don't key off vblank for psr
</content>
</entry>
<entry>
<title>drm: Don't swallow error codes in drm_dev_alloc()</title>
<updated>2016-09-22T11:03:48Z</updated>
<author>
<name>Tom Gundersen</name>
<email>teg@jklm.no</email>
</author>
<published>2016-09-21T14:59:19Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=0f2886057be322ddfa4858384c40a505f7a32a4a'/>
<id>urn:sha1:0f2886057be322ddfa4858384c40a505f7a32a4a</id>
<content type='text'>
There are many reasons other than ENOMEM that drm_dev_init() can
fail. Return ERR_PTR rather than NULL to be able to distinguish
these in the caller.

Signed-off-by: Tom Gundersen &lt;teg@jklm.no&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20160921145919.13754-2-teg@jklm.no
</content>
</entry>
<entry>
<title>drm/rockchip: Balance irq refcount on failure</title>
<updated>2016-09-21T13:55:53Z</updated>
<author>
<name>Sean Paul</name>
<email>seanpaul@chromium.org</email>
</author>
<published>2016-09-16T18:22:03Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=8c763c9b1072c91aac90e5bc0a2ac2220a6980d7'/>
<id>urn:sha1:8c763c9b1072c91aac90e5bc0a2ac2220a6980d7</id>
<content type='text'>
If create_crtc fails in vop bind, ensure the irq refcount is zeroed
back out before exiting.

Reviewed-by: Daniel Kurtz &lt;djkurtz@chromium.org&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
</content>
</entry>
<entry>
<title>drm/rockchip: Kill vop_plane_state</title>
<updated>2016-09-21T13:55:52Z</updated>
<author>
<name>Tomasz Figa</name>
<email>tfiga@chromium.org</email>
</author>
<published>2016-09-14T12:55:01Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d47a7246bb5f2a36f7c26672966e9febeb78bc82'/>
<id>urn:sha1:d47a7246bb5f2a36f7c26672966e9febeb78bc82</id>
<content type='text'>
After changes introduced by last patches, there is no useful data stored
in vop_plane_state struct.  Let's remove it and make the driver use
generic plane state alone.

Signed-off-by: Tomasz Figa &lt;tfiga@chromium.org&gt;
</content>
</entry>
<entry>
<title>drm/rockchip: Always signal event in next vblank after cfg_done</title>
<updated>2016-09-21T13:55:52Z</updated>
<author>
<name>Tomasz Figa</name>
<email>tfiga@chromium.org</email>
</author>
<published>2016-09-14T12:55:00Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=41ee436700f41260663d0b201585551745b623d0'/>
<id>urn:sha1:41ee436700f41260663d0b201585551745b623d0</id>
<content type='text'>
This patch makes the driver send the pending vblank event in next vblank
following the commit, relying on vblank signalling improvements done in
previous patches. This gives us vblank events that always represent the
real moment of changes hitting on the screen (which was the case only
for complete FB changes before) and lets us remove the manual window
update check.

Signed-off-by: Tomasz Figa &lt;tfiga@chromium.org&gt;
</content>
</entry>
<entry>
<title>drm/rockchip: Do not enable vblank without event</title>
<updated>2016-09-21T13:55:51Z</updated>
<author>
<name>Tomasz Figa</name>
<email>tfiga@chromium.org</email>
</author>
<published>2016-09-14T12:54:59Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=646ec68718067a3e6b029b72a9a2919178f0f201'/>
<id>urn:sha1:646ec68718067a3e6b029b72a9a2919178f0f201</id>
<content type='text'>
Originally we needed to enable vblank for any atomic commit to kick the
PSR machine, but that was changed and we no longer need to do so from
a vblank interrupt. Let's return to original behavior of enabling
vblank only if it is really necessary.

This essentially reverts commit 5b6804034ae9 ("drm/rockchip: Enable
vblank without event").

Signed-off-by: Tomasz Figa &lt;tfiga@chromium.org&gt;
</content>
</entry>
<entry>
<title>drm/rockchip: Replace custom wait_for_vblanks with helper</title>
<updated>2016-09-21T13:55:51Z</updated>
<author>
<name>Tomasz Figa</name>
<email>tfiga@chromium.org</email>
</author>
<published>2016-09-14T12:54:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=81c248f75a130c1ce46c67e8b05b37e8ffbbb33e'/>
<id>urn:sha1:81c248f75a130c1ce46c67e8b05b37e8ffbbb33e</id>
<content type='text'>
Currently the driver uses a custom function to wait for flip to complete
after an atomic commit. It was needed before because of two problems:
 - there is no hardware vblank counter, so the original helper would
   have a race condition with the vblank interrupt,
 - the driver didn't support unreferencing cursor framebuffers
   asynchronously to the commit, which was what the helper expected.
Since both problems have been solved by previous patches, we can now
make the driver use the generic helper and remove custom waiting code.

Signed-off-by: Tomasz Figa &lt;tfiga@chromium.org&gt;
</content>
</entry>
</feed>
