From patchwork Tue Jan 20 12:16:59 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 5673041 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.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id E61629F2ED for ; Wed, 21 Jan 2015 02:20:19 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 2A4A1204AF for ; Wed, 21 Jan 2015 02:20:19 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 28022204CF for ; Wed, 21 Jan 2015 02:20:17 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4EADE89D5F; Tue, 20 Jan 2015 18:20:11 -0800 (PST) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by gabe.freedesktop.org (Postfix) with ESMTP id 75BE36E61B for ; Tue, 20 Jan 2015 04:17:13 -0800 (PST) Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245]) by mailout2.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0NIH00E016BGBL70@mailout2.w1.samsung.com> for dri-devel@lists.freedesktop.org; Tue, 20 Jan 2015 12:21:16 +0000 (GMT) X-AuditID: cbfec7f5-b7fc86d0000066b7-95-54be474a6bcd Received: from eusync3.samsung.com ( [203.254.199.213]) by eucpsbgm2.samsung.com (EUCPMTA) with SMTP id 27.E1.26295.A474EB45; Tue, 20 Jan 2015 12:17:14 +0000 (GMT) Received: from amdc1339.digital.local ([106.116.147.30]) by eusync3.samsung.com (Oracle Communications Messaging Server 7u4-23.01 (7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPA id <0NIH00J4064B2380@eusync3.samsung.com>; Tue, 20 Jan 2015 12:17:12 +0000 (GMT) From: Marek Szyprowski To: linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org Subject: [PATCH v4 9/9] drm/exynos: add support for 'hdmi' clock Date: Tue, 20 Jan 2015 13:16:59 +0100 Message-id: <1421756219-21037-10-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.2 In-reply-to: <1421756219-21037-1-git-send-email-m.szyprowski@samsung.com> References: <1421756219-21037-1-git-send-email-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrCLMWRmVeSWpSXmKPExsVy+t/xq7pe7vtCDC7/Y7G4te4cq8Wj+Y+Z La58fc9mMen+BBaLo78LLF7cu8hi0f/4NbPF2aY37BabHl9jtZhxfh+TRdfPn2wWa4/cZbdY tesPowOvx9/n11k8Fn3P8tg56y67x+JN+9k8Nq3qZPO4332cyWPzknqPvi2rGD0+b5IL4Izi sklJzcksSy3St0vgypjwdTVbwTW+iiPbrrI1MC7h6WLk5JAQMJFovNPDBmGLSVy4tx7I5uIQ EljKKDGj8SwjhNPHJLFoz2+wKjYBQ4mut11ANgeHiIC3xPJriiA1zALzmCVaX5wDiwsLOEg8 eZYGUs4ioCrx5nAzK4jNK+ApcXTqKWaIZXIS/1+uYAKxOYHizf9mgI0XEvCQOPWgi20CI+8C RoZVjKKppckFxUnpuUZ6xYm5xaV56XrJ+bmbGCEh+3UH49JjVocYBTgYlXh4TzjvDRFiTSwr rsw9xCjBwawkwnvWfF+IEG9KYmVValF+fFFpTmrxIUYmDk6pBsaF97LOpKm+WZDx69Ajgyy2 c7f3LFn6x0e4tI3nXZCt8d/1rnrSfmc+aH43eaKbWCT4wTHa6GlitVvHltwYkaOaXzU13WsC leccOjXf5WyNiWjO7yU7+ScHyBm7tfv0LlsnL7d0rsRK7weKs83OeZgyetxvV3rmUr9Nlv/R xmQnC/f/LT8TpiqxFGckGmoxFxUnAgCSqiL0NwIAAA== X-Mailman-Approved-At: Tue, 20 Jan 2015 18:20:08 -0800 Cc: Tobias Jakobi , dri-devel@lists.freedesktop.org, Daniel Drake , Andrzej Hajda , kyungmin.park@samsung.com, Kukjin Kim , Javier Martinez Canillas , Marek Szyprowski X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 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.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, 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 Mixed need to have hdmi clock enabled to properly perform power on/off sequences, so add handling of this clock directly to the mixer driver. Dependency between hdmi clock and mixer module has been observed on Exynos4 based boards. Suggested-by: Andrzej Hajda Signed-off-by: Marek Szyprowski Reviewed-by: Javier Martinez Canillas Tested-by: Javier Martinez Canillas --- drivers/gpu/drm/exynos/exynos_mixer.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c index 820b76234ef4..e5ef1fccd8fb 100644 --- a/drivers/gpu/drm/exynos/exynos_mixer.c +++ b/drivers/gpu/drm/exynos/exynos_mixer.c @@ -72,6 +72,7 @@ struct mixer_resources { spinlock_t reg_slock; struct clk *mixer; struct clk *vp; + struct clk *hdmi; struct clk *sclk_mixer; struct clk *sclk_hdmi; struct clk *mout_mixer; @@ -774,6 +775,12 @@ static int mixer_resources_init(struct mixer_context *mixer_ctx) return -ENODEV; } + mixer_res->hdmi = devm_clk_get(dev, "hdmi"); + if (IS_ERR(mixer_res->hdmi)) { + dev_err(dev, "failed to get clock 'hdmi'\n"); + return -ENODEV; + } + mixer_res->sclk_hdmi = devm_clk_get(dev, "sclk_hdmi"); if (IS_ERR(mixer_res->sclk_hdmi)) { dev_err(dev, "failed to get clock 'sclk_hdmi'\n"); @@ -1095,6 +1102,7 @@ static void mixer_poweron(struct exynos_drm_manager *mgr) pm_runtime_get_sync(ctx->dev); clk_prepare_enable(res->mixer); + clk_prepare_enable(res->hdmi); if (ctx->vp_enabled) { clk_prepare_enable(res->vp); if (ctx->has_sclk) @@ -1134,6 +1142,7 @@ static void mixer_poweroff(struct exynos_drm_manager *mgr) ctx->powered = false; mutex_unlock(&ctx->mixer_mutex); + clk_disable_unprepare(res->hdmi); clk_disable_unprepare(res->mixer); if (ctx->vp_enabled) { clk_disable_unprepare(res->vp);