From: Inki Dae <inki.dae@samsung.com>
To: Andrzej Hajda <a.hajda@samsung.com>
Cc: Joonyoung Shim <jy0922.shim@samsung.com>,
Seung-Woo Kim <sw0312.kim@samsung.com>,
Kyungmin Park <kyungmin.park@samsung.com>,
David Airlie <airlied@linux.ie>,
Kukjin Kim <kgene.kim@samsung.com>,
dri-devel@lists.freedesktop.org,
linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] drm/exynos: fix vblank handling during dpms off
Date: Wed, 15 Oct 2014 14:32:38 +0900 [thread overview]
Message-ID: <543E06F6.7020606@samsung.com> (raw)
In-Reply-To: <5437D39A.60603@samsung.com>
On 2014년 10월 10일 21:39, Andrzej Hajda wrote:
> On 10/02/2014 12:52 PM, Inki Dae wrote:
>> On 2014년 10월 02일 17:58, Joonyoung Shim wrote:
>>> Hi Andrzej,
>>>
>>> On 10/01/2014 05:14 PM, Andrzej Hajda wrote:
>>>> The patch disables vblanks during dpms off only if pagefilp has
>>>> not been finished. It also replaces drm_vblank_off with drm_crtc_vblank_put.
>>>> It fixes issue with page_flip ioctl not being able to acquire vblank counter.
>>> This problem isn't related with pageflip, it just causes from
>>> 7ffd7a68511c710b84db3548a1997fd2625f580a commit (drm: Always reject
>>> drm_vblank_get() after drm_vblank_off()).
>>>
>>> We need to use drm_vblank_on() as a counterpart to drm_vblank_off()
>>> after the commit .
>>>
>>> How about below patch?
>> Thanks you Joonyoung and Andrzej,
>>
>> drm_vblank_on/off() are legacy api so it would be better to use
>> drm_vblank_crtc_on/off functions instead.
>>
>> And drm_vblank_crtc_off() makes sure that the latest vblank frame count
>> is stored and restored by drm_vblank_crtc_on() again. So my opinion is,
>>
>> static void exynos_drm_crtc_dpms(struct drm_crtc *crtc, int mode)
>> {
>> [snip]
>>
>> if (mode > DRM_MODE_DPMS_ON) {
>> /* wait for the completion of page flip. */
>> if (!wait_event_timeout(exynos_crtc->pending_flip_queue,
>> !atomic_read(&exynos_crtc->pending_flip),
>> HZ/20))
>> atomic_set(&exynos_crtc->pending_flip, 0);
>> drm_crtc_vblank_off(crtc); //<- store the latest vblank frame count.
>> } else {
>> drm_crtc_vblank_on(crtc); //<- restore the vblank frame count.
>> }
>>
>> [snip]
>> }
>>
>>
>> Tested and worked well with above patch. How about it?
>>
>>
>
> drm_crtc_vblank_on should be called after dpms on, otherwise it can fail enabling vblank. I have provided
> full explanation in my other email [1].
> You can modify your patch or just use the one provided in [1].
I will just merge your patch set after review and test. :)
Thanks,
Inki Dae
>
> [1]: http://permalink.gmane.org/gmane.comp.video.dri.devel/116152
>
> Regards
> Andrzej
>
>
next prev parent reply other threads:[~2014-10-15 5:32 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-10 11:53 [PATCH] drm/exynos: remove ifdeferry from initialization code Andrzej Hajda
2014-09-10 11:53 ` Andrzej Hajda
2014-09-30 11:29 ` Andrzej Hajda
2014-10-01 5:48 ` Inki Dae
2014-10-01 5:48 ` Inki Dae
2014-10-01 6:07 ` Inki Dae
2014-10-01 8:14 ` [PATCH] drm/exynos: fix vblank handling during dpms off Andrzej Hajda
2014-10-02 8:58 ` Joonyoung Shim
2014-10-02 8:58 ` Joonyoung Shim
2014-10-02 10:52 ` Inki Dae
2014-10-02 10:52 ` Inki Dae
2014-10-02 11:52 ` Andrzej Hajda
2014-10-02 11:52 ` Andrzej Hajda
2014-10-09 5:43 ` Alexandre Courbot
2014-10-09 8:52 ` Russell King - ARM Linux
2014-10-09 9:58 ` Thierry Reding
[not found] ` <54362066.9000504-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-10-09 10:08 ` Thierry Reding
2014-10-09 10:08 ` Thierry Reding
2014-10-09 10:23 ` Alexandre Courbot
2014-10-10 12:39 ` Andrzej Hajda
2014-10-15 5:32 ` Inki Dae [this message]
2014-10-01 6:26 ` [PATCH] drm/exynos: remove ifdeferry from initialization code Ajay kumar
2014-10-30 12:36 ` Andrzej Hajda
2014-10-30 12:36 ` Andrzej Hajda
2014-10-30 13:02 ` Inki Dae
2014-10-30 13:02 ` Inki Dae
2014-10-30 13:13 ` Andrzej Hajda
2014-10-30 14:29 ` Inki Dae
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=543E06F6.7020606@samsung.com \
--to=inki.dae@samsung.com \
--cc=a.hajda@samsung.com \
--cc=airlied@linux.ie \
--cc=dri-devel@lists.freedesktop.org \
--cc=jy0922.shim@samsung.com \
--cc=kgene.kim@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=sw0312.kim@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.