From patchwork Mon Feb 26 14:43:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 129655 Delivered-To: patch@linaro.org Received: by 10.46.66.2 with SMTP id p2csp277737lja; Mon, 26 Feb 2018 06:43:51 -0800 (PST) X-Google-Smtp-Source: AH8x224s0A0/a1kuZ+IcN9kSc9hSoBUfT3aRvfy6v257HaehJqXMUULIUwB2AFG6k+FBEQsuBOr8 X-Received: by 10.98.31.155 with SMTP id l27mr10904362pfj.176.1519656231169; Mon, 26 Feb 2018 06:43:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519656231; cv=none; d=google.com; s=arc-20160816; b=g8ypNXaezV3fyajwmn2/eezKxWGpTqrPjpafZTUpuQTIQeZ0CbwIsU4XLQDTYMrXR1 yjShr3iA2Gtr92Zg7TCVIOSVOB77p70tN9ZBxsyxfRcif0bxrsUWmwZs5JuJLjl0CA0U d+NRZgk1QbyZ6tFFvPtxC1xOCyF84gX5gf1s/oyHcAWYKoAI4g/9SCZi2Vzufp9Y6ZE/ 0lT3HT/hfiM1WzKd9Q9BXcCD8yr/EJ+vlNVVzIZIa8kQkXD6EnlIdxCdvMdHFXvVioZn ZbyJZLJsai7Hfj23F8EvCD9fECH5xowXN4NvdtwJX4PJlq2jZfE6nZ6bxfK2uxdJE+KU w/hA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:cms-type:message-id:date :subject:cc:to:from:dkim-signature:dkim-filter :arc-authentication-results; bh=nM5LQWZ/qBI7Rm99a6NLIZJli1Fu0YllVFTvvYNARWk=; b=MPyPpNd15VTxtM6AESTZSzBmQEcHSD4opOrE+bcM6rFXk4HwGWF0I+vd4+KGK4qJp2 fWmt/mNIm3MEW8rCHDFjO/2oY9NE7/iG//9F2gAsMgjY892q7RDjG74vPcgFaBU24eiw ZQ+ywrbdTUGB/JyBvMPVeF6wD5JwHMd1nVUDqjNVWTyY4jAh5fCFs2rkdEEx74JqMgKX L2nKsssdaGF7eY59RVq11FM474pR7TdkLSzfVsW1+aCgqFo8CylzJlejhk5XHU7i4pBn FfOWqnt/OyOMGkEvbwA94V2tDT/W7n3QgbHH/cRr0bkX4G/GahxgbvSiK7lyddflEwCc MbcQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@samsung.com header.s=mail20170921 header.b=XOnvOdSK; spf=pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-samsung-soc-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y67si5604207pgb.728.2018.02.26.06.43.50; Mon, 26 Feb 2018 06:43:51 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@samsung.com header.s=mail20170921 header.b=XOnvOdSK; spf=pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-samsung-soc-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753766AbeBZOnu (ORCPT + 3 others); Mon, 26 Feb 2018 09:43:50 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:45791 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753719AbeBZOnt (ORCPT ); Mon, 26 Feb 2018 09:43:49 -0500 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20180226144347euoutp02c6c089c81ee600a06e18f9db543d4ec3~W50mRjoWC0781407814euoutp021; Mon, 26 Feb 2018 14:43:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20180226144347euoutp02c6c089c81ee600a06e18f9db543d4ec3~W50mRjoWC0781407814euoutp021 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1519656227; bh=C1TtCIJvoxuq2vqV9D2G7V44wbPJPTlUfvb9UovyCOc=; h=From:To:Cc:Subject:Date:References:From; b=XOnvOdSKHlkR5gEGcmtPPx6ydIpRuFr54yFjAA2eujA2gcss2rDH1AjE/b+L1n3NG aq+MFGwbWe+AJEaWqv6mVRq4Jbudq9YQzPndIbZlHJLXtJiB2Lb1iKehhUvu5nqcI/ TOClKSnLXkzr9ZBgmVvcJ0qYMgzdQV+K60pE2Ev4= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20180226144346eucas1p1a0cda43a905d3e42c4d30fabc2da9cf5~W50lWtqec2080920809eucas1p1t; Mon, 26 Feb 2018 14:43:46 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 10.67.05700.12D149A5; Mon, 26 Feb 2018 14:43:45 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20180226144345eucas1p177661aa4eacd6a282192c7e28e6872c4~W50kT4FEW1036810368eucas1p1n; Mon, 26 Feb 2018 14:43:45 +0000 (GMT) X-AuditID: cbfec7f2-1dbff70000011644-a1-5a941d21533f Received: from eusync1.samsung.com ( [203.254.199.211]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 3D.2B.04178.12D149A5; Mon, 26 Feb 2018 14:43:45 +0000 (GMT) Received: from AMDC2765.digital.local ([106.116.147.25]) by eusync1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0P4R00B6PI8U6HC0@eusync1.samsung.com>; Mon, 26 Feb 2018 14:43:45 +0000 (GMT) From: Marek Szyprowski To: dri-devel@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org Cc: Marek Szyprowski , Archit Taneja , Yakir Yang , Sean Paul , Bartlomiej Zolnierkiewicz , Laurent Pinchart , Andrzej Hajda Subject: [PATCH v2] drm/bridge: analogix_dp: Keep PHY powered between driver bind/unbind Date: Mon, 26 Feb 2018 15:43:40 +0100 Message-id: <20180226144340.24608-1-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.15.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrPIsWRmVeSWpSXmKPExsWy7djP87qKslOiDL5dtra4te4cq0VTx1tW i40z1rNaXPn6ns2ic+ISdosZ5/cxWaw9cpfd4u6Gs4wW5xomsztwesxuuMjicbmvl8ljdsdM Vo/73ceZPP7O2s/i0bdlFaPH501yAexRXDYpqTmZZalF+nYJXBl3H51mKmgTrJg0ZS5jA+Na vi5GTg4JAROJdWenMncxcnEICaxglGjbO5UdwvnMKPH48FpGmKotJ88wQSSWMUrMXbecFcJp YJJ4dv0vO0gVm4ChRNfbLjYQW0TATaLp8EywImaBLUwSj3duBisSFoiS+PPuNFgRi4CqxI77 jWAreAVsJZ50TIZaJy+x+PtONpBmCYEONokVyz8zQSRcJH5s+cYCYQtLvDq+hR3ClpHo7DjI BNHQzyjx7/9LKGcGo8T6j61QVdYSh49fZAWxmQX4JCZtmw70NwdQnFeio00IosRD4l/XCagr HCUO3VsN1iokECvx5MMf9gmMkgsYGVYxiqeWFuempxYb5qWW6xUn5haX5qXrJefnbmIERuvp f8c/7WD8einpEKMAB6MSD++Cn5OihFgTy4orcw8xSnAwK4nwrlw8OUqINyWxsiq1KD++qDQn tfgQozQHi5I4b5xGXZSQQHpiSWp2ampBahFMlomDU6qBMV7VPtbfoMT/b0ZYf3B5nzbjURe1 46vZjsSmm4a7XCzOvPE5cuap1ylGUSGLNLzfx8/krH6TlF1f6xZSJqJ17OjH91+mOHW90lXk 8d+5yuZRaQZHznXhpJbTf3ZfOXf7gyr35VX6ZyssAlVz5yl/nl8VX6H2oGmK513nH+sns1/b vT3xoGCZEktxRqKhFnNRcSIApax2x9ICAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmphluLIzCtJLcpLzFFi42I5/e/4ZV1F2SlRBu92ClncWneO1aKp4y2r xcYZ61ktrnx9z2bROXEJu8WM8/uYLNYeuctucXfDWUaLcw2T2R04PWY3XGTxuNzXy+Qxu2Mm q8f97uNMHn9n7Wfx6NuyitHj8ya5APYoLpuU1JzMstQifbsEroy7j04zFbQJVkyaMpexgXEt XxcjJ4eEgInElpNnmLoYuTiEBJYwSvSfe8YC4TQxSXzb/5IRpIpNwFCi620XG4gtIuAm0XR4 JitIEbPANiaJE7/mgCWEBaIk/rw7DWazCKhK7LjfCNbMK2Ar8aRjMiPEOnmJxd93sk1g5FrA yLCKUSS1tDg3PbfYUK84Mbe4NC9dLzk/dxMjMGy2Hfu5eQfjpY3BhxgFOBiVeHgX/JwUJcSa WFZcmXuIUYKDWUmEd+XiyVFCvCmJlVWpRfnxRaU5qcWHGKU5WJTEec8bVEYJCaQnlqRmp6YW pBbBZJk4OKUaGBlW2GYHbhGysblwfhFbxpdthy/kCmpU9x8/Oj3Y2GZj9bfeFZvNvxmI/c36 5CVqbee5adumsqOHjNLac2TZPn2ZaeltpMcwYV15Q0ROYOjdsq7MkMa3W+Z+KJ5madp2wG5f bkLDwcd71Kpz9sz/9XvDrjOSVixqQu/vHGhXaw9b5iNdk/pqhRJLcUaioRZzUXEiALc5eHgX AgAA X-CMS-MailID: 20180226144345eucas1p177661aa4eacd6a282192c7e28e6872c4 X-Msg-Generator: CA CMS-TYPE: 201P X-CMS-RootMailID: 20180226144345eucas1p177661aa4eacd6a282192c7e28e6872c4 X-RootMTR: 20180226144345eucas1p177661aa4eacd6a282192c7e28e6872c4 References: Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org Patch f0a8b49c03d2 ("drm/bridge: analogix dp: Fix runtime PM state on driver bind") fixed unbalanced call to phy_power_on() in analogix_dp_bind() function by calling phy_power_off() at the end of bind operation. However it turned out that having PHY powered is required for proper DRM display pipeline initialization on Peach-Pit Chromebook2 board, as this board freezes otherwise when PHY power off is called in bind. Fix this by keeping PHY powered for the whole bind/unbind driver life cycle. The freeze is probably related to the fact that the display pipeline (Exynos FIMD CTRC -> Exynos/Analogix DP bridge -> PS8625 dp2lvds bridge -> B116XW03 panel) is already configured and enabled by the bootloader and requires reset of all components for proper shutdown. Having PHY powered is also needed for proper EDID handling, which has been fixed by commit 510353a63796 ("drm/bridge: analogix dp: Fix runtime PM state in get_modes() callback"). Fixes: f0a8b49c03d2 ("drm/bridge: analogix dp: Fix runtime PM state on driver bind") Signed-off-by: Marek Szyprowski --- Changelog: v2: - added comment in the code about Chromebook2 Peach-PIT issue --- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -- 2.15.0 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index a8905049b9da..5b6c04c44f01 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -1419,8 +1419,11 @@ int analogix_dp_bind(struct device *dev, struct drm_device *drm_dev, goto err_disable_pm_runtime; } - phy_power_off(dp->phy); pm_runtime_put(dev); + /* + * intentionally keep PHY powered on, Chromebook2 Peach-PIT board + * freezes otherwise + */ return 0; @@ -1452,6 +1455,7 @@ void analogix_dp_unbind(struct device *dev, struct device *master, drm_dp_aux_unregister(&dp->aux); pm_runtime_disable(dev); + phy_power_off(dp->phy); clk_disable_unprepare(dp->clock); } EXPORT_SYMBOL_GPL(analogix_dp_unbind);