From patchwork Mon Nov 17 13:00:16 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: YoungJun Cho X-Patchwork-Id: 5318801 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 5706FC11AD for ; Mon, 17 Nov 2014 13:00:35 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 895A020219 for ; Mon, 17 Nov 2014 13:00:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 81E19201FA for ; Mon, 17 Nov 2014 13:00:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751709AbaKQNAb (ORCPT ); Mon, 17 Nov 2014 08:00:31 -0500 Received: from mailout1.samsung.com ([203.254.224.24]:35157 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751632AbaKQNAa (ORCPT ); Mon, 17 Nov 2014 08:00:30 -0500 Received: from epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0NF600LK9PGL9T40@mailout1.samsung.com> for linux-samsung-soc@vger.kernel.org; Mon, 17 Nov 2014 22:00:21 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [203.254.230.45]) by epcpsbgr4.samsung.com (EPCPMTA) with SMTP id 60.13.18167.561F9645; Mon, 17 Nov 2014 22:00:21 +0900 (KST) X-AuditID: cbfee690-f79ab6d0000046f7-80-5469f1653642 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id D3.A8.09430.461F9645; Mon, 17 Nov 2014 22:00:21 +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 <0NF60048CPGGHM50@mmp2.samsung.com>; Mon, 17 Nov 2014 22:00:20 +0900 (KST) From: YoungJun Cho To: dri-devel@lists.freedesktop.org Cc: linux-samsung-soc@vger.kernel.org, inki.dae@samsung.com, jy0922.shim@samsung.com, sw0312.kim@samsung.com, a.hajda@samsung.com, kyungmin.park@samsung.com Subject: [PATCH 9/9] drm/exynos: dsi: set TE GPIO IRQ status as IRQ_NOAUTOEN Date: Mon, 17 Nov 2014 22:00:16 +0900 Message-id: <1416229216-32018-10-git-send-email-yj44.cho@samsung.com> X-Mailer: git-send-email 1.9.0 In-reply-to: <1416229216-32018-1-git-send-email-yj44.cho@samsung.com> References: <1416229216-32018-1-git-send-email-yj44.cho@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrALMWRmVeSWpSXmKPExsVy+t8zXd3Uj5khBtP/s1vcWneO1eLK1/ds FpPuT2CxeHHvIovF2aY37BYzzu9jspgx+SWbA7vH/e7jTB59W1YxenzeJBfAHMVlk5Kak1mW WqRvl8CVcWzjfbaCC7wVr5pWsTUwHuLuYuTgkBAwkZgzQ6SLkRPIFJO4cG89WxcjF4eQwDJG iSV/F7NDJEwk7pxpYYdITGeUOH7pLSOE08ok8e59LxtIFZuApsTzjztYQWwRAWWJvxNXMYLY zAILGCWu3uAAsYUFfCRmH/kKVsMioCqxbfFaRpAreAVcJfrmK0Isk5OY8nsB2GJOoPCb2T1g Y4QEXCSWfDsJtldCoJtdYtnUf+wQcwQkvk0+xALxjazEpgPMEHMkJQ6uuMEygVF4ASPDKkbR 1ILkguKk9CITveLE3OLSvHS95PzcTYyQgJ6wg/HeAetDjAIcjEo8vDuyM0OEWBPLiitzDzGa Am2YyCwlmpwPjJu8knhDYzMjC1MTU2Mjc0szJXHe11I/g4UE0hNLUrNTUwtSi+KLSnNSiw8x MnFwSjUwBul4tJ//8WPf1dWVtWfVDq1elVHWfSBiUl7fg8m+TEv8nQx+enaUfmJ5PE0jcHXr sTNiTLLvpOZmac6dePi/5y0zng1704xuzDN9FtWxx+Dnjy1m9647XL1m1PihfxZfgRLLR8Od gac7nHgduLKfHJhu0CBzVjB5PuPFMl/Tqm3x/M3NnL4BSizFGYmGWsxFxYkAWpDrsGMCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprNIsWRmVeSWpSXmKPExsVy+t9jQd3Uj5khBmfms1jcWneO1eLK1/ds FpPuT2CxeHHvIovF2aY37BYzzu9jspgx+SWbA7vH/e7jTB59W1YxenzeJBfAHNXAaJORmpiS WqSQmpecn5KZl26r5B0c7xxvamZgqGtoaWGupJCXmJtqq+TiE6DrlpkDtF1JoSwxpxQoFJBY XKykb4dpQmiIm64FTGOErm9IEFyPkQEaSFjHmHFs4322ggu8Fa+aVrE1MB7i7mLk5JAQMJG4 c6aFHcIWk7hwbz1bFyMXh5DAdEaJ45feMkI4rUwS7973soFUsQloSjz/uIMVxBYRUJb4O3EV I4jNLLCAUeLqDQ4QW1jAR2L2ka9gNSwCqhLbFq8FquHg4BVwleibrwixTE5iyu8FYIs5gcJv ZveAjREScJFY8u0k4wRG3gWMDKsYRVMLkguKk9JzjfSKE3OLS/PS9ZLzczcxgiPmmfQOxlUN FocYBTgYlXh4d2RnhgixJpYVV+YeYpTgYFYS4Y25CBTiTUmsrEotyo8vKs1JLT7EaAp01ERm KdHkfGA055XEGxqbmBlZGpkZm5gbGyuJ8x5stQ4UEkhPLEnNTk0tSC2C6WPi4JRqYFRe/XfT 0nVJR6XiEjZlPvd4EyfhXPfpZv+U7bPUHu2Y/OjHAinG438sXCqUdtw5ItdntO/JhQyGVYe3 3O2N8JoRGbYl0Y3zb+efOdNOf2FeuSP9iICLzdF9C3sWamn6rg62nOdZmRcgoHY8Z4vlmazX TzaFtUrWTqix+8Qdfya4Q7x8r/z3twlKLMUZiYZazEXFiQBl70DbrgIAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_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 The exynos_dsi_te_irq_handler() works only dsi(DPMS) is on. So it is enough to enable and disable TE GPIO IRQ in exynos_dsi_enable(disable)_irq() like DSI IRQ. Signed-off-by: YoungJun Cho Acked-by: Inki Dae a Acked-by: Kyungmin Park --- drivers/gpu/drm/exynos/exynos_drm_dsi.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index 6fe6486..717c719 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c @@ -1155,6 +1155,7 @@ static int exynos_dsi_init(struct exynos_dsi *dsi) static int exynos_dsi_register_te_irq(struct exynos_dsi *dsi) { int ret; + int te_gpio_irq; dsi->te_gpio = of_get_named_gpio(dsi->panel_node, "te-gpios", 0); if (!gpio_is_valid(dsi->te_gpio)) { @@ -1169,14 +1170,10 @@ static int exynos_dsi_register_te_irq(struct exynos_dsi *dsi) goto out; } - /* - * This TE GPIO IRQ should not be set to IRQ_NOAUTOEN, because panel - * calls drm_panel_init() first then calls mipi_dsi_attach() in probe(). - * It means that te_gpio is invalid when exynos_dsi_enable_irq() is - * called by drm_panel_init() before panel is attached. - */ - ret = request_threaded_irq(gpio_to_irq(dsi->te_gpio), - exynos_dsi_te_irq_handler, NULL, + te_gpio_irq = gpio_to_irq(dsi->te_gpio); + + irq_set_status_flags(te_gpio_irq, IRQ_NOAUTOEN); + ret = request_threaded_irq(te_gpio_irq, exynos_dsi_te_irq_handler, NULL, IRQF_TRIGGER_RISING, "TE", dsi); if (ret) { dev_err(dsi->dev, "request interrupt failed with %d\n", ret);