Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751729AbbGIHrO (ORCPT ); Thu, 9 Jul 2015 03:47:14 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:51873 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750819AbbGIHrJ (ORCPT ); Thu, 9 Jul 2015 03:47:09 -0400 X-AuditID: cbfee68e-f79c56d000006efb-77-559e26fc7203 Message-id: <559E2703.9090502@samsung.com> Date: Thu, 09 Jul 2015 16:47:15 +0900 From: Joonyoung Shim User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-version: 1.0 To: Andrzej Hajda , inki.dae@samsung.com Cc: b.zolnierkie@samsung.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Kyungmin Park , Marek Szyprowski Subject: Re: [PATCH RESEND 2/6] drm/exynos/mixer: fix interrupt clearing References: <1436423143-22027-1-git-send-email-a.hajda@samsung.com> <1436423143-22027-3-git-send-email-a.hajda@samsung.com> In-reply-to: <1436423143-22027-3-git-send-email-a.hajda@samsung.com> Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprBIsWRmVeSWpSXmKPExsWyRsSkSPeP2rxQg4NfNSxurTvHarFxxnpW iytf37NZTLo/gcXibNMbdovLu+awWaw9cpfdgd3jfvdxJo++LasYPT5vkgtgjuKySUnNySxL LdK3S+DKOHhiB2PBYu6K7jd/2RsYezi7GDk5JARMJLYd38MOYYtJXLi3nq2LkYtDSGApo0TD 3S4mmKK2id2MILaQwCJGidvnVCCKHjBKTHgzmxUkwSugJfHp3xuwSSwCqhLTPkxhBrHZBPQk 7mw7DjZIVCBM4syMDhaIekGJH5PvgdkiArYSXcsOsIIMZRbYzihx6cZlsGZhAQ+JR7P/MkNs rpU4cvI4WAOngIvEujd3gOIcQA3qElOm5IKEmQXkJTavecsMMkdC4BC7xO3OGSwQBwlIfJt8 iAWkXkJAVmLTAWaIxyQlDq64wTKBUWwWkpNmIUydhWTqAkbmVYyiqQXJBcVJ6UVGesWJucWl eel6yfm5mxiBEXb637O+HYw3D1gfYhTgYFTi4W3YOTdUiDWxrLgy9xCjKdARE5mlRJPzgXGc VxJvaGxmZGFqYmpsZG5ppiTOmyD1M1hIID2xJDU7NbUgtSi+qDQntfgQIxMHp1QDo9Sfxvtx T2LXF6ptreWsX7XPrVbw6SGWKJ7D9+t1ypjn6H2XPShwuV/s4+4Pgn9fhs3+dtVRQjTj9Lnp 82wkjp/TKLDwnemddWzuFEZe/X1nBLt82/JOcUy44eLL9//Sgjk10jruSvWcE9vuL5z+Y+na YNUTjlKKnxNPWZxtPDfv5RGTl56LPJVYijMSDbWYi4oTATPp7pmrAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrEIsWRmVeSWpSXmKPExsVy+t9jAd0/avNCDX6dUba4te4cq8XGGetZ La58fc9mMen+BBaLs01v2C0u75rDZrH2yF12B3aP+93HmTz6tqxi9Pi8SS6AOaqB0SYjNTEl tUghNS85PyUzL91WyTs43jne1MzAUNfQ0sJcSSEvMTfVVsnFJ0DXLTMHaLuSQlliTilQKCCx uFhJ3w7ThNAQN10LmMYIXd+QILgeIwM0kLCGMePgiR2MBYu5K7rf/GVvYOzh7GLk5JAQMJFo m9jNCGGLSVy4t54NxBYSWMQocfucShcjF5D9gFFiwpvZrCAJXgEtiU//3rCD2CwCqhLTPkxh BrHZBPQk7mw7zgRiiwqESZyZ0cECUS8o8WPyPTBbRMBWomvZAVaQocwC2xklLt24DNYsLOAh 8Wj2X2aIzbUSR04eB2vgFHCRWPfmDlCcA6hBXWLKlFyQMLOAvMTmNW+ZJzAKzEKyYhZC1Swk VQsYmVcxiqYWJBcUJ6XnGuoVJ+YWl+al6yXn525iBMfvM6kdjCsbLA4xCnAwKvHwNuycGyrE mlhWXJl7iFGCg1lJhJdNal6oEG9KYmVValF+fFFpTmrxIUZTYABMZJYSTc4Hppa8knhDYxMz I0sjc0MLI2NzJXHek/k+oUIC6YklqdmpqQWpRTB9TBycUg2M1oGTX7vaSDrzPzwjIh2QIlP8 hU9n/peWK5LadmwLLFIDvi3RXDh3884VYgcVlx0NPy4b0fzxzcce4zUhyyyfqOhp8IQ84rje +6kyMpa3+UL9PscHl3nld11Xyq/d/mL/n+O7mBubHpxedDJet2elwafUF2dO/XsZPamgKnGL 4YP1e7hPr7D2VmIpzkg01GIuKk4EAL5zOaL1AgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1647 Lines: 46 On 07/09/2015 03:25 PM, Andrzej Hajda wrote: > The driver used incorrect flags to clear interrupt status. > The patch fixes it. > > Signed-off-by: Andrzej Hajda > --- > drivers/gpu/drm/exynos/exynos_mixer.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c > index cae98db..0686484 100644 > --- a/drivers/gpu/drm/exynos/exynos_mixer.c > +++ b/drivers/gpu/drm/exynos/exynos_mixer.c > @@ -718,6 +718,9 @@ static irqreturn_t mixer_irq_handler(int irq, void *arg) > > /* handling VSYNC */ > if (val & MXR_INT_STATUS_VSYNC) { > + /* vsync interrupt use different bit for read and clear */ > + val |= MXR_INT_CLEAR_VSYNC; MXR_INT_STATUS_VSYNC bit of MXR_INT_STATUS register is read-only, so it needs to be clear MXR_INT_STATUS_VSYNC bit of val. > + > /* interlace scan need to check shadow register */ > if (ctx->interlace) { > base = mixer_reg_read(res, MXR_GRAPHIC_BASE(0)); > @@ -743,11 +746,6 @@ static irqreturn_t mixer_irq_handler(int irq, void *arg) > > out: > /* clear interrupts */ > - if (~val & MXR_INT_EN_VSYNC) { > - /* vsync interrupt use different bit for read and clear */ > - val &= ~MXR_INT_EN_VSYNC; > - val |= MXR_INT_CLEAR_VSYNC; > - } > mixer_reg_write(res, MXR_INT_STATUS, val); > > spin_unlock(&res->reg_slock); > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/