From patchwork Fri Mar 18 21:59:34 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carl Vanderlip X-Patchwork-Id: 645421 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p2IM0IMw031453 for ; Fri, 18 Mar 2011 22:00:18 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932875Ab1CRV7v (ORCPT ); Fri, 18 Mar 2011 17:59:51 -0400 Received: from wolverine01.qualcomm.com ([199.106.114.254]:8037 "EHLO wolverine01.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932874Ab1CRV7s (ORCPT ); Fri, 18 Mar 2011 17:59:48 -0400 X-IronPort-AV: E=McAfee;i="5400,1158,6289"; a="80850565" Received: from ironmsg04-r.qualcomm.com ([172.30.46.18]) by wolverine01.qualcomm.com with ESMTP; 18 Mar 2011 14:59:48 -0700 X-IronPort-AV: E=Sophos;i="4.63,205,1299484800"; d="scan'208";a="37045057" Received: from carlv-linux.qualcomm.com ([10.52.52.151]) by Ironmsg04-R.qualcomm.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 18 Mar 2011 14:59:36 -0700 Received: from carlv-linux.qualcomm.com (localhost [127.0.0.1]) by carlv-linux.qualcomm.com (8.14.2/8.14.2/1.0) with ESMTP id p2ILxaCu027636; Fri, 18 Mar 2011 14:59:36 -0700 Received: (from carlv@localhost) by carlv-linux.qualcomm.com (8.14.2/8.12.1/Submit) id p2ILxa8T027635; Fri, 18 Mar 2011 14:59:36 -0700 From: Carl Vanderlip To: David Brown , Daniel Walker , Bryan Huntsman Cc: Brian Swetland , Dima Zavin , Rebecca Schultz Zavin , Colin Cross , linux-fbdev@vger.kernel.org, Carl Vanderlip , linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 17/20] video: msm: Prevent framebuffer glitch during initialization Date: Fri, 18 Mar 2011 14:59:34 -0700 Message-Id: <1300485574-27600-1-git-send-email-carlv@codeaurora.org> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1300484846-26393-1-git-send-email-carlv@codeaurora.org> References: <1300484846-26393-1-git-send-email-carlv@codeaurora.org> Sender: linux-fbdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Fri, 18 Mar 2011 22:00:29 +0000 (UTC) diff --git a/drivers/video/msm/mdp.c b/drivers/video/msm/mdp.c index 0bb19fa..b3f334ad 100644 --- a/drivers/video/msm/mdp.c +++ b/drivers/video/msm/mdp.c @@ -38,6 +38,7 @@ struct class *mdp_class; static DECLARE_WAIT_QUEUE_HEAD(mdp_ppp_waitqueue); static unsigned int mdp_irq_mask; +struct clk *mdp_clk_to_disable_later; DEFINE_MUTEX(mdp_mutex); static int locked_enable_mdp_irq(struct mdp_info *mdp, uint32_t mask) @@ -670,6 +671,7 @@ int mdp_probe(struct platform_device *pdev) disable_irq(mdp->irq); clk_enable(mdp->clk); + mdp_clk_to_disable_later = mdp->clk; mdp_hw_init(mdp); /* register mdp device */ @@ -706,6 +708,13 @@ static struct platform_driver msm_mdp_driver = { .driver = {.name = "msm_mdp"}, }; +static int __init mdp_lateinit(void) +{ + if (mdp_clk_to_disable_later) + clk_disable(mdp_clk_to_disable_later); + return 0; +} + static int __init mdp_init(void) { mdp_class = class_create(THIS_MODULE, "msm_mdp"); @@ -717,3 +726,4 @@ static int __init mdp_init(void) } subsys_initcall(mdp_init); +late_initcall(mdp_lateinit);