All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Zhong <zyw@rock-chips.com>
To: dri-devel@lists.freedesktop.org, kishon@ti.com, robh@kernel.org,
	linux-rockchip@lists.infradead.org
Cc: linux-kernel@vger.kernel.org, mark.yao@rock-chips.com,
	groeck@chromium.org, seanpaul@chromium.org, zyw@rock-chips.com,
	David Airlie <airlied@linux.ie>, Heiko Stuebner <heiko@sntech.de>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/4] drm/rockchip: cdn-dp: remove the DP phy switch
Date: Fri, 10 Feb 2017 15:44:14 +0800	[thread overview]
Message-ID: <1486712654-15431-5-git-send-email-zyw@rock-chips.com> (raw)
In-Reply-To: <1486712654-15431-1-git-send-email-zyw@rock-chips.com>

There are 2 Type-c PHYs in RK3399, but only one DP controller. Hence
only one PHY can connect to DP controller at one time, the other should
be disconnected. The GRF_SOC_CON26 register has a switch bit to do it,
set this bit means enable PHY 1, clear this bit means enable PHY 0.

If the board has 2 Type-C ports, the DP driver get the phy id from
devm_of_phy_get_by_index, and then control this switch according to
this id. But some others board only has one Type-C port, it may be PHY 0
or PHY 1. The dts node id can not tell us the correct PHY id. Hence move
this switch to PHY driver, the PHY driver can distinguish between PHY 0
and PHY 1, and then write the correct register bit.

Signed-off-by: Chris Zhong <zyw@rock-chips.com>
---

 drivers/gpu/drm/rockchip/cdn-dp-core.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c
index 9ab67a6..d3f6e6b 100644
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
@@ -43,8 +43,6 @@
 #define GRF_SOC_CON9		0x6224
 #define DP_SEL_VOP_LIT		BIT(12)
 #define GRF_SOC_CON26		0x6268
-#define UPHY_SEL_BIT		3
-#define UPHY_SEL_MASK		BIT(19)
 #define DPTX_HPD_SEL		(3 << 12)
 #define DPTX_HPD_DEL		(2 << 12)
 #define DPTX_HPD_SEL_MASK	(3 << 28)
@@ -403,11 +401,6 @@ static int cdn_dp_enable_phy(struct cdn_dp_device *dp, struct cdn_dp_port *port)
 	union extcon_property_value property;
 	int ret;
 
-	ret = cdn_dp_grf_write(dp, GRF_SOC_CON26,
-			       (port->id << UPHY_SEL_BIT) | UPHY_SEL_MASK);
-	if (ret)
-		return ret;
-
 	if (!port->phy_enabled) {
 		ret = phy_power_on(port->phy);
 		if (ret) {
-- 
2.6.3

WARNING: multiple messages have this Message-ID (diff)
From: Chris Zhong <zyw@rock-chips.com>
To: dri-devel@lists.freedesktop.org, kishon@ti.com, robh@kernel.org,
	linux-rockchip@lists.infradead.org
Cc: linux-kernel@vger.kernel.org, zyw@rock-chips.com,
	groeck@chromium.org, linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/4] drm/rockchip: cdn-dp: remove the DP phy switch
Date: Fri, 10 Feb 2017 15:44:14 +0800	[thread overview]
Message-ID: <1486712654-15431-5-git-send-email-zyw@rock-chips.com> (raw)
In-Reply-To: <1486712654-15431-1-git-send-email-zyw@rock-chips.com>

There are 2 Type-c PHYs in RK3399, but only one DP controller. Hence
only one PHY can connect to DP controller at one time, the other should
be disconnected. The GRF_SOC_CON26 register has a switch bit to do it,
set this bit means enable PHY 1, clear this bit means enable PHY 0.

If the board has 2 Type-C ports, the DP driver get the phy id from
devm_of_phy_get_by_index, and then control this switch according to
this id. But some others board only has one Type-C port, it may be PHY 0
or PHY 1. The dts node id can not tell us the correct PHY id. Hence move
this switch to PHY driver, the PHY driver can distinguish between PHY 0
and PHY 1, and then write the correct register bit.

Signed-off-by: Chris Zhong <zyw@rock-chips.com>
---

 drivers/gpu/drm/rockchip/cdn-dp-core.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c
index 9ab67a6..d3f6e6b 100644
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
@@ -43,8 +43,6 @@
 #define GRF_SOC_CON9		0x6224
 #define DP_SEL_VOP_LIT		BIT(12)
 #define GRF_SOC_CON26		0x6268
-#define UPHY_SEL_BIT		3
-#define UPHY_SEL_MASK		BIT(19)
 #define DPTX_HPD_SEL		(3 << 12)
 #define DPTX_HPD_DEL		(2 << 12)
 #define DPTX_HPD_SEL_MASK	(3 << 28)
@@ -403,11 +401,6 @@ static int cdn_dp_enable_phy(struct cdn_dp_device *dp, struct cdn_dp_port *port)
 	union extcon_property_value property;
 	int ret;
 
-	ret = cdn_dp_grf_write(dp, GRF_SOC_CON26,
-			       (port->id << UPHY_SEL_BIT) | UPHY_SEL_MASK);
-	if (ret)
-		return ret;
-
 	if (!port->phy_enabled) {
 		ret = phy_power_on(port->phy);
 		if (ret) {
-- 
2.6.3

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: zyw@rock-chips.com (Chris Zhong)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/4] drm/rockchip: cdn-dp: remove the DP phy switch
Date: Fri, 10 Feb 2017 15:44:14 +0800	[thread overview]
Message-ID: <1486712654-15431-5-git-send-email-zyw@rock-chips.com> (raw)
In-Reply-To: <1486712654-15431-1-git-send-email-zyw@rock-chips.com>

There are 2 Type-c PHYs in RK3399, but only one DP controller. Hence
only one PHY can connect to DP controller at one time, the other should
be disconnected. The GRF_SOC_CON26 register has a switch bit to do it,
set this bit means enable PHY 1, clear this bit means enable PHY 0.

If the board has 2 Type-C ports, the DP driver get the phy id from
devm_of_phy_get_by_index, and then control this switch according to
this id. But some others board only has one Type-C port, it may be PHY 0
or PHY 1. The dts node id can not tell us the correct PHY id. Hence move
this switch to PHY driver, the PHY driver can distinguish between PHY 0
and PHY 1, and then write the correct register bit.

Signed-off-by: Chris Zhong <zyw@rock-chips.com>
---

 drivers/gpu/drm/rockchip/cdn-dp-core.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c
index 9ab67a6..d3f6e6b 100644
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
@@ -43,8 +43,6 @@
 #define GRF_SOC_CON9		0x6224
 #define DP_SEL_VOP_LIT		BIT(12)
 #define GRF_SOC_CON26		0x6268
-#define UPHY_SEL_BIT		3
-#define UPHY_SEL_MASK		BIT(19)
 #define DPTX_HPD_SEL		(3 << 12)
 #define DPTX_HPD_DEL		(2 << 12)
 #define DPTX_HPD_SEL_MASK	(3 << 28)
@@ -403,11 +401,6 @@ static int cdn_dp_enable_phy(struct cdn_dp_device *dp, struct cdn_dp_port *port)
 	union extcon_property_value property;
 	int ret;
 
-	ret = cdn_dp_grf_write(dp, GRF_SOC_CON26,
-			       (port->id << UPHY_SEL_BIT) | UPHY_SEL_MASK);
-	if (ret)
-		return ret;
-
 	if (!port->phy_enabled) {
 		ret = phy_power_on(port->phy);
 		if (ret) {
-- 
2.6.3

  parent reply	other threads:[~2017-02-10  7:52 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-10  7:44 [PATCH 0/4] Move DP phy switch to PHY driver Chris Zhong
2017-02-10  7:44 ` Chris Zhong
2017-02-10  7:44 ` Chris Zhong
2017-02-10  7:44 ` [PATCH 1/4] Documentation: bindings: add uphy-dp-sel for Rockchip USB Type-C PHY Chris Zhong
2017-02-10  7:44   ` Chris Zhong
2017-02-10  7:44   ` Chris Zhong
2017-02-16  2:20   ` Rob Herring
2017-02-16  2:20     ` Rob Herring
2017-02-16  2:20     ` Rob Herring
2017-02-16  3:14     ` Chris Zhong
2017-02-16  3:14       ` Chris Zhong
2017-02-16  3:14       ` Chris Zhong
2017-02-10  7:44 ` [PATCH 2/4] arm64: dts: rockchip: add rockchip,uphy-dp-sel for Type-C phy Chris Zhong
2017-02-10  7:44   ` [PATCH 2/4] arm64: dts: rockchip: add rockchip, uphy-dp-sel " Chris Zhong
2017-02-10  7:44   ` Chris Zhong
2017-02-10  7:44 ` [PATCH 3/4] phy: rockchip-typec: support DP phy switch Chris Zhong
2017-02-10  7:44   ` Chris Zhong
2017-02-10  7:44   ` Chris Zhong
2017-03-09  0:39   ` Brian Norris
2017-03-09  0:39     ` Brian Norris
2017-03-09  0:39     ` Brian Norris
2017-03-09  1:02     ` Heiko Stübner
2017-03-09  1:02       ` Heiko Stübner
2017-03-09  1:02       ` Heiko Stübner
2017-03-09  2:19       ` Chris Zhong
2017-03-09  2:19         ` Chris Zhong
2017-03-09  2:19         ` Chris Zhong
2017-03-09  3:10       ` Brian Norris
2017-03-09  3:10         ` Brian Norris
2017-03-09  3:10         ` Brian Norris
2017-03-09  8:31         ` Heiko Stübner
2017-03-09  8:31           ` Heiko Stübner
2017-03-09  8:31           ` Heiko Stübner
2017-03-09 23:35           ` Brian Norris
2017-03-09 23:35             ` Brian Norris
2017-03-09 23:35             ` Brian Norris
2017-02-10  7:44 ` Chris Zhong [this message]
2017-02-10  7:44   ` [PATCH 4/4] drm/rockchip: cdn-dp: remove the " Chris Zhong
2017-02-10  7:44   ` Chris Zhong
2017-11-28 23:32 ` [PATCH 0/4] Move DP phy switch to PHY driver Doug Anderson
2017-11-28 23:32   ` Doug Anderson
2017-11-28 23:32   ` Doug Anderson
2017-11-30  2:27   ` Chris Zhong
2017-11-30  2:27     ` Chris Zhong
2017-11-30  2:27     ` Chris Zhong
2017-12-01 21:42     ` Doug Anderson
2017-12-01 21:42       ` Doug Anderson
2017-12-01 21:42       ` Doug Anderson
2017-12-01 21:42       ` Doug Anderson
2017-12-01 21:58       ` Heiko Stuebner
2017-12-01 21:58         ` Heiko Stuebner
2017-12-01 21:58         ` Heiko Stuebner
2017-12-04  2:47         ` Chris Zhong
2017-12-04  2:47           ` Chris Zhong
2017-12-04  2:47           ` Chris Zhong
2017-12-04  7:46           ` Heiko Stübner
2017-12-04  7:46             ` Heiko Stübner
2017-12-04  7:46             ` Heiko Stübner
2017-12-04 16:08             ` Doug Anderson
2017-12-04 16:08               ` Doug Anderson
2017-12-04 16:08               ` Doug Anderson
2017-12-04 21:53               ` Heiko Stübner
2017-12-04 21:53                 ` Heiko Stübner
2017-12-04 21:53                 ` Heiko Stübner
2018-02-16 11:04 ` Kishon Vijay Abraham I
2018-02-16 11:04   ` Kishon Vijay Abraham I
2018-02-16 11:04   ` Kishon Vijay Abraham I
2018-02-16 13:05   ` Heiko Stübner
2018-02-16 13:05     ` Heiko Stübner
2018-02-16 13:05     ` Heiko Stübner
2018-02-16 13:59     ` Kishon Vijay Abraham I
2018-02-16 13:59       ` Kishon Vijay Abraham I
2018-02-16 13:59       ` Kishon Vijay Abraham I

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1486712654-15431-5-git-send-email-zyw@rock-chips.com \
    --to=zyw@rock-chips.com \
    --cc=airlied@linux.ie \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=groeck@chromium.org \
    --cc=heiko@sntech.de \
    --cc=kishon@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mark.yao@rock-chips.com \
    --cc=robh@kernel.org \
    --cc=seanpaul@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.