Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752016AbbGIJGF (ORCPT ); Thu, 9 Jul 2015 05:06:05 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:54278 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751236AbbGIJF4 (ORCPT ); Thu, 9 Jul 2015 05:05:56 -0400 X-AuditID: cbfee68d-f79106d00000728c-09-559e3965beec Message-id: <559E396C.4060802@samsung.com> Date: Thu, 09 Jul 2015 18:05:48 +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 v2 2/6] drm/exynos/mixer: fix interrupt clearing References: <559E2703.9090502@samsung.com> <1436429273-24144-1-git-send-email-a.hajda@samsung.com> In-reply-to: <1436429273-24144-1-git-send-email-a.hajda@samsung.com> Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprBIsWRmVeSWpSXmKPExsWyRsSkQDfVcl6owbQzIha31p1jtdg4Yz2r xZWv79ksJt2fwGJxtukNu8XlXXPYLNYeucvuwO5xv/s4k0ffllWMHp83yQUwR3HZpKTmZJal FunbJXBlrNw3n6mgi7ui7+wF9gbGXxxdjJwcEgImEpO+z2KFsMUkLtxbz9bFyMUhJLCUUaL/ 7BEmmKLNU/eD2UIC0xkl9vZ5QRQ9YJRouraIBSTBK6Al8eD7abBJLAKqEoc797CB2GwCehJ3 th0HaxYVCJM4M6MDql5Q4sfke2C2iICtRNeyA6wgQ5kFtjNKXLpxmRkkISzgLXH/5mMWiM0p Eo8PPmEEsTkFXCROzrwFNJQDqEFdYsqUXJAws4C8xOY1b5lB5kgIHGKX+DxrJtRBAhLfJh9i AamXEJCV2HSAGeIxSYmDK26wTGAUm4XkpFkIU2chmbqAkXkVo2hqQXJBcVJ6kaFecWJucWle ul5yfu4mRmCEnf73rHcH4+0D1ocYBTgYlXh4G3fODRViTSwrrsw9xGgKdMREZinR5HxgHOeV xBsamxlZmJqYGhuZW5opifMqSv0MFhJITyxJzU5NLUgtii8qzUktPsTIxMEp1cCYxngqWzrg ybuzU6oOna/dPJtDYUpA6I5tIj+VMop5Zl5Yp2HE6SE+j+0PJ4/K07KUU1/seReJtycmbpqc H6zk9HRt0lzTVR/mv78v0+lUtVG6o+ngdW+/5J1T/3e+vc23eaa1N/uEM1sDLaa+kpC5fTsi wmfWuU3H5hWYMqs43PqqdXD18yXcSizFGYmGWsxFxYkAUyFNTKsCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrEIsWRmVeSWpSXmKPExsVy+t9jQd1Uy3mhBpsf8VncWneO1WLjjPWs Fle+vmezmHR/AovF2aY37BaXd81hs1h75C67A7vH/e7jTB59W1YxenzeJBfAHNXAaJORmpiS WqSQmpecn5KZl26r5B0c7xxvamZgqGtoaWGupJCXmJtqq+TiE6DrlpkDtF1JoSwxpxQoFJBY XKykb4dpQmiIm64FTGOErm9IEFyPkQEaSFjDmLFy33ymgi7uir6zF9gbGH9xdDFyckgImEhs nrqfCcIWk7hwbz0biC0kMJ1RYm+fVxcjF5D9gFGi6doiFpAEr4CWxIPvp1lBbBYBVYnDnXvA GtgE9CTubDsONkhUIEzizIwOqHpBiR+T74HZIgK2El3LDrCCDGUW2M4ocenGZWaQhLCAt8T9 m49ZIDanSDw++IQRxOYUcJE4OfMW0FAOoAZ1iSlTckHCzALyEpvXvGWewCgwC8mKWQhVs5BU LWBkXsUomlqQXFCclJ5rqFecmFtcmpeul5yfu4kRHL/PpHYwrmywOMQowMGoxMPbsHNuqBBr YllxZe4hRgkOZiURXjapeaFCvCmJlVWpRfnxRaU5qcWHGE2BATCRWUo0OR+YWvJK4g2NTcyM LI3MDS2MjM2VxHlP5vuECgmkJ5akZqemFqQWwfQxcXBKNTDOD7zv33KuxnzOE/bE9Ox9k7fU C9ns2/vtpK+ESEWyQML/FrXq7buWWAnVXWS341W89tly3pHgydXrTt3kmmjZuSPj1mflwlNv nH9UZ673WsRjHeSxvURuooBELPOtM5kFRheDjxaKBh6OCJldWrSvdOFW2bjDdZzzL/KKLf16 8WrI0vCNeieVWIozEg21mIuKEwGBdAf39QIAAA== 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: 1622 Lines: 46 On 07/09/2015 05:07 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 | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c > index cae98db..25f0aac 100644 > --- a/drivers/gpu/drm/exynos/exynos_mixer.c > +++ b/drivers/gpu/drm/exynos/exynos_mixer.c > @@ -718,6 +718,10 @@ 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; > + val &= ~MXR_INT_STATUS_VSYNC; > + > /* interlace scan need to check shadow register */ > if (ctx->interlace) { > base = mixer_reg_read(res, MXR_GRAPHIC_BASE(0)); > @@ -743,11 +747,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); > Reviewed-by: Joonyoung Shim Thanks. -- 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/