From patchwork Wed May 14 06:26:49 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: YoungJun Cho X-Patchwork-Id: 4172731 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id B73769F9BC for ; Wed, 14 May 2014 06:27:23 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id E5A9C20375 for ; Wed, 14 May 2014 06:27:22 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 1DB5E2037A for ; Wed, 14 May 2014 06:27:22 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5F9676E41C; Tue, 13 May 2014 23:27:12 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mailout4.samsung.com (mailout4.samsung.com [203.254.224.34]) by gabe.freedesktop.org (Postfix) with ESMTP id E21956E38A for ; Tue, 13 May 2014 23:27:10 -0700 (PDT) Received: from epcpsbgr5.samsung.com (u145.gpu120.samsung.co.kr [203.254.230.145]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0N5J003NBWL9ARB0@mailout4.samsung.com> for dri-devel@lists.freedesktop.org; Wed, 14 May 2014 15:27:09 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [203.254.230.41]) by epcpsbgr5.samsung.com (EPCPMTA) with SMTP id AF.E6.11496.CBC03735; Wed, 14 May 2014 15:27:09 +0900 (KST) X-AuditID: cbfee691-b7f3e6d000002ce8-6c-53730cbc75a4 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 49.01.27725.CBC03735; Wed, 14 May 2014 15:27:08 +0900 (KST) Received: from localhost.localdomain ([10.252.75.90]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0N5J009Z6WL5U190@mmp2.samsung.com>; Wed, 14 May 2014 15:27:08 +0900 (KST) From: YoungJun Cho To: airlied@linux.ie, dri-devel@lists.freedesktop.org Subject: [PATCH 02/18] drm/exynos: use wait_event_timeout() for safety usage Date: Wed, 14 May 2014 15:26:49 +0900 Message-id: <1400048825-6052-3-git-send-email-yj44.cho@samsung.com> X-Mailer: git-send-email 1.7.9.5 In-reply-to: <1400048825-6052-1-git-send-email-yj44.cho@samsung.com> References: <1400048825-6052-1-git-send-email-yj44.cho@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrJIsWRmVeSWpSXmKPExsVy+t8zTd29PMXBBofELG6tO8dq0XvuJJPF /CNA1pWv79ks+t8sZLU492olo8Wk+xNYLF7cu8hi0bvgKpvF2aY37BadE5ewW8w4v4/JYun1 i0wWE6avZbFo3XuE3eLTx4UsFjMmv2Sz+LlrHouDkMeaeWsYPS739TJ57Jx1l91j5fIvbB6z O2ayemxa1cnmsf3bA1aP+93HmTz6/xp49G1ZxejxeZNcAHcUl01Kak5mWWqRvl0CV8bdR6dZ CtZzVuzYf5OtgfEvexcjJ4eEgInElKZZbBC2mMSFe+uBbC4OIYFljBLvNzUxwhRtmNXGApGY zigx+WA3I4TTyiSxesIFsFFsApoSzz/uYAWxRQRMJTomLQXrYBZYwiyxt30V2A5hAR+JE083 gxWxCKhKnP/1nAXE5hVwlvjU+QloEAfQOgWJOZNsQMKcAi4SC2b/ZQMJCwGV/GgG2yshMJND YsebR4wQYwQkvk0+xALRKiux6QAzxNGSEgdX3GCZwCi8gJFhFaNoakFyQXFSepGpXnFibnFp Xrpecn7uJkZINE7cwXj/gPUhxmSgcROZpUST84HRnFcSb2hsZmRhamJqbGRuaUaasJI4b/qj pCAhgfTEktTs1NSC1KL4otKc1OJDjEwcnFINjL29KWu3ZdezRb8T39AcsNY94ov19xu2O0Nn R0cxrFDhUZG8azXD0m+z/BG1miAPveTUft69HoeiFQUkq30n7A2+7qh2KU778CWD9H91MUtZ 7I+5t27eKDRtEfOTM9PW6K5IilrPFz5P78ixnJS960Mclb2mTQ16tjZk/+T9ayyfhTnUT0/6 r8RSnJFoqMVcVJwIANtVTbLcAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrOKsWRmVeSWpSXmKPExsVy+t9jQd09PMXBBk9vWljcWneO1aL33Ekm i/lHgKwrX9+zWfS/Wchqce7VSkaLSfcnsFi8uHeRxaJ3wVU2i7NNb9gtOicuYbeYcX4fk8XS 6xeZLCZMX8ti0br3CLvFp48LWSxmTH7JZvFz1zwWByGPNfPWMHpc7utl8tg56y67x8rlX9g8 ZnfMZPXYtKqTzWP7twesHve7jzN59P818OjbsorR4/MmuQDuqAZGm4zUxJTUIoXUvOT8lMy8 dFsl7+B453hTMwNDXUNLC3MlhbzE3FRbJRefAF23zByg35QUyhJzSoFCAYnFxUr6dpgmhIa4 6VrANEbo+oYEwfUYGaCBhHWMGXcfnWYpWM9ZsWP/TbYGxr/sXYycHBICJhIbZrWxQNhiEhfu rWfrYuTiEBKYzigx+WA3I4TTyiSxesIFsA42AU2J5x93sILYIgKmEh2TlrKAFDELLGGW2Nu+ ig0kISzgI3Hi6WawIhYBVYnzv56DreAVcJb41PkJaBAH0DoFiTmTbEDCnAIuEgtm/2UDCQsB lfxoZpzAyLuAkWEVo2hqQXJBcVJ6rqFecWJucWleul5yfu4mRnC0P5PawbiyweIQowAHoxIP 7w3nomAh1sSy4srcQ4wSHMxKIrzlW4BCvCmJlVWpRfnxRaU5qcWHGJOBbprILCWanA9MRHkl 8YbGJmZGlkZmxibmxsakCSuJ8x5otQ4UEkhPLEnNTk0tSC2C2cLEwSnVwHg20PmzGKfBz+Qf CSuj/8xdHzBpZrNxVnX7i7n3Xcu0zYwqFAyufvN+ZGgV/GXz66deQm+Uk5xiPj8vv3np6hbN 9M6adC6T2V8LQt7frL1xzsd7Xm3wrdOfcv1FelNS7BamnPuyQ/HtnvpjqquuiJ6c/maz9hmh Z+dNGZadWbioaIq+ZVDV/wVKLMUZiYZazEXFiQARQX/UOgMAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, pawel.moll@arm.com, ijc+devicetree@hellion.org.uk, sw0312.kim@samsung.com, a.hajda@samsung.com, kyungmin.park@samsung.com, robh+dt@kernel.org, laurent.pinchart@ideasonboard.com, galak@codeaurora.org, kgene.kim@samsung.com, s.trumtrar@pengutronix.de X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP There could be the case that the page flip operation isn't finished correctly with some abnormal condition such as panel reset. So this patch replaces wait_event() with wait_event_timeout() to avoid waiting for page flip completion infinitely. Signed-off-by: YoungJun Cho Acked-by: Inki Dae Acked-by: Kyungmin Park Reviewed-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_drm_crtc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c index 95c9435..485fa26 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c @@ -69,8 +69,9 @@ static void exynos_drm_crtc_dpms(struct drm_crtc *crtc, int mode) if (mode > DRM_MODE_DPMS_ON) { /* wait for the completion of page flip. */ - wait_event(exynos_crtc->pending_flip_queue, - atomic_read(&exynos_crtc->pending_flip) == 0); + wait_event_timeout(exynos_crtc->pending_flip_queue, + !atomic_read(&exynos_crtc->pending_flip), + HZ/20); drm_vblank_off(crtc->dev, exynos_crtc->pipe); }