Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750929AbdIEGgz (ORCPT ); Tue, 5 Sep 2017 02:36:55 -0400 Received: from mailout2.samsung.com ([203.254.224.25]:64384 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750709AbdIEGgx (ORCPT ); Tue, 5 Sep 2017 02:36:53 -0400 X-AuditID: b6c32a45-f79466d000002ac6-3a-59ae46030faa MIME-version: 1.0 Content-type: text/plain; charset="utf-8"; format="flowed" Subject: Re: [PATCH] drm/vblank: Fix delta_ns to an absolute value To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, daniel.vetter@intel.com From: Hoegeun Kwon Cc: Hoegeun Kwon Message-id: Date: Tue, 05 Sep 2017 15:36:52 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 In-reply-to: <20170904073620.pmnlxghc4xe2xqvp@phenom.ffwll.local> Content-transfer-encoding: 8bit Content-language: en-US X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupik+LIzCtJLcpLzFFi42LZdljTVJfZbV2kweNeUYvlZ9YxW1z5+p7N 4v3yLjaLy7vmsFl8/7eQyYHVY/Gel0we804GetzvPs7k0bdlFaPH501yAaxRqTYZqYkpqUUK qXnJ+SmZeem2St7B8c7xpmYGhrqGlhbmSgp5ibmptkouPgG6bpk5QLuVFMoSc0qBQgGJxcVK +nY2RfmlJakKGfnFJbZK0YaGRnqGBuZ6RkZGeibGsVZGpkAlCakZh+a4FBwSq9h//ApjA+MW oS5GTg4JAROJL40f2SBsMYkL99YD2VwcQgI7GCXOL9wE5XxnlFj0tJ0RpuPyzQ+sEIkNjBId TT+YQBK8AoISPybfYwGxmQWsJJ79a4UqussoMfvxWrAiYQEniQtbZrCDJEQEFjBK9DxoZgdJ sAnoSnztuc4E0a0tsXnVb0aIqXYSbVu7ge7g4GARUJU4/docJCwqECGx7fsMsLs5BRwlrn2e yQzRKi9x8MpzqCPEJZpbb7KA7JIQOMImsaz5JTPECy4S3Q+WQj0tLPHq+BZ2CFta4tmqjVBv 1ktc3nGSEaK5gVGif+JsqCJjiVNdjVCH8kl0HP7LDnKchACvREcbNFA9JN5cvQu1y1Gi/cFh RDh2/+1nnsAoPwspxGYhhdgsJE/MQvLEAkaWVYxiqQXFuempxUYFhnrFibnFpXnpesn5uZsY welQy3UH44xzPocYBTgYlXh4N4SvjRRiTSwrrsw9xCjBwawkwpttsi5SiDclsbIqtSg/vqg0 J7X4EKMpMFwnMkuJJucDU3VeSbyhiaWBiZmZkbmZBTDpifPWb7sWISSQnliSmp2aWpBaBNPH xMEp1cD46qjZH63ZHbFnvTYb75CecPiyL+fdLW4XDnlVWj1Xcc3v8PhQdGyr/zWG2emZl1ME 3VPL+N8lSx1K2Djv62uOmsP2HyY8W76l9JPk19MMD6zzZt42r55x6n0q+99bsV8f3WS8NbHp UeMas8A3swN6J/LnPnfdb3fcJLzXckH90d/rYlLOHDRnU2Ipzkg01GIuKk4EAPFDMiadAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrILMWRmVeSWpSXmKPExsVy+t9jQV0mt3WRBj1fxS2Wn1nHbHHl63s2 i/fLu9gsLu+aw2bx/d9CJgdWj8V7XjJ5zDsZ6HG/+ziTR9+WVYwenzfJBbBGcdmkpOZklqUW 6dslcGUcmuNScEisYv/xK4wNjFuEuhg5OSQETCQu3/zA2sXIxSEksI5R4v63+awgCV4BQYkf k++xgNjMAmYSX14ehiq6zyhx9e0LZpCEsICTxIUtM9hBEiICCxglunuamSGqfjJK3Nn9hQmk ik1AV+Jrz3UmiFHaEptX/WaEWGEn0ba1m62LkYODRUBV4vRrc5CwqECERN/by+wgNqeAo8S1 zzOZIVrlJQ5eeQ51kbhEc+tNlgmMArOQHDsLybGzkLTMQtKygJFlFaNkakFxbnpusVGBUV5q uV5xYm5xaV66XnJ+7iZGYMBvO6zVv4Px8ZL4Q4wCHIxKPLwbwtdGCrEmlhVX5h5ilOBgVhLh zTZZFynEm5JYWZValB9fVJqTWnyIUZqDRUmcN7NvRqSQQHpiSWp2ampBahFMlomDU6qB8dCJ iu1y6xMNWW7vusu37MRRroqzYhKKz/5/cpm60371c/XXHyIMDy9IbRF+5Cn0bflb7spPe3eZ aK14vOFMjP6O531HFtdb6KwUaN3QdkLnxQfvAjmbN+xT1Hd5/rTXnZl95Mm7suemfCeC6n9J S3as9syOCXJISw6esumjL99cwRevFIV+vFZiKc5INNRiLipOBAAdcBFddAIAAA== X-CMS-MailID: 20170905063650epcas2p4282a61cccb19d165b84d9f88e73ebfa3 X-Msg-Generator: CA X-Sender-IP: 182.195.42.143 X-Local-Sender: =?UTF-8?B?6raM7ZqM6re8G1RpemVuIFBsYXRmb3JtIExhYihTL1fshLw=?= =?UTF-8?B?7YSwKRvsgrzshLHsoITsnpAbRW5naW5lZXI=?= X-Global-Sender: =?UTF-8?B?SG9lZ2V1biBLd29uG1RpemVuIFBsYXRmb3JtIExhYi4bU2Ft?= =?UTF-8?B?c3VuZyBFbGVjdHJvbmljcxtFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG1RFTEUbQzEwVjgxMTE=?= CMS-TYPE: 102P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20170901070725epcas1p288a5be80c3a3edb02433d24f5beed338 X-RootMTR: 20170901070725epcas1p288a5be80c3a3edb02433d24f5beed338 References: <1504249636-11681-1-git-send-email-hoegeun.kwon@samsung.com> <20170901133625.GT4914@intel.com> <20170904073620.pmnlxghc4xe2xqvp@phenom.ffwll.local> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2807 Lines: 73 On 09/04/2017 04:36 PM, Daniel Vetter wrote: > On Fri, Sep 01, 2017 at 04:36:25PM +0300, Ville Syrjälä wrote: >> On Fri, Sep 01, 2017 at 04:07:16PM +0900, Hoegeun Kwon wrote: >>> If scanout started, we should reduce etime by delta_ns. But delta_ns >>> is negative if scanout has not started. If delta_ns is negative, >>> subtraction of delta_ns from etime increases etime. This is wrong, the >>> etime should not be increased, so you have to make delta_ns an >>> absolute value. >>> >>> Signed-off-by: Hoegeun Kwon >>> --- >>> >>> Hello all, >>> >>> I think that the etime should not be increased. >>> In cases where delta_ns is negative, if you get time again after an >>> interrupt call, there is a problem that the time obtained from the >>> interrupt becomes the future time instead of the past time. >>> >>> Please let me know if this patch is wrong. >> It is wrong. The timestamp corresponds to the first active pixel of the >> frame/field. So while between vblank start and active start we expect >> to get a timestamp that is in the future. > A bit more strict, it's up to drivers when exactly the vblank interrupt > fires. Some fire at vblank start, some at the end, some somewhen around > that. The only rule is that the vblank must not fire before the point of > no return for another page_flip call, i.e. after the vblank event goes > out, the next page_flip (or atomic ioctl) must go to the next vblank. > > So yeah both positive and negative deltas make perfect sense. > -Daniel Thanks Ville and Daniel, Your response has been really helpful. Thanks so much. Best regards, Hoegeun >>> Best regards, >>> Hoegeun >>> >>> drivers/gpu/drm/drm_vblank.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c >>> index 70f2b95..a3e0176 100644 >>> --- a/drivers/gpu/drm/drm_vblank.c >>> +++ b/drivers/gpu/drm/drm_vblank.c >>> @@ -684,7 +684,7 @@ bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, >>> /* Subtract time delta from raw timestamp to get final >>> * vblank_time timestamp for end of vblank. >>> */ >>> - etime = ktime_sub_ns(etime, delta_ns); >>> + etime = ktime_sub_ns(etime, abs(delta_ns)); >>> *vblank_time = ktime_to_timeval(etime); >>> >>> DRM_DEBUG_VBL("crtc %u : v p(%d,%d)@ %ld.%ld -> %ld.%ld [e %d us, %d rep]\n", >>> -- >>> 1.9.1 >>> >>> _______________________________________________ >>> dri-devel mailing list >>> dri-devel@lists.freedesktop.org >>> https://lists.freedesktop.org/mailman/listinfo/dri-devel >> -- >> Ville Syrjälä >> Intel OTC >> _______________________________________________ >> dri-devel mailing list >> dri-devel@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/dri-devel