From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: [PATCH v4 2/6] drm/rockchip: dw_hdmi: Allow outputs that don't need output switching Date: Mon, 10 Sep 2018 11:22:19 +0200 Message-ID: <20180910092223.1106-3-heiko@sntech.de> References: <20180910092223.1106-1-heiko@sntech.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180910092223.1106-1-heiko@sntech.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: architt@codeaurora.org, hjc@rock-chips.com, a.hajda@samsung.com Cc: Jose.Abreu@synopsys.com, algea.cao@rock-chips.com, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Laurent.pinchart@ideasonboard.com, linux-arm-kernel@lists.infradead.org, zhengyang@rock-chips.com List-Id: linux-rockchip.vger.kernel.org U28gZmFyIHdlIGFsd2F5cyBlbmNvdW50ZXJlZCBzb2NzIHdpdGggMiBvdXRwdXQgY3J0Y3MgbmVl ZGluZyB0aGUgZHJpdmVyCnRvIHRlbGwgdGhlIGhkbWkgYmxvY2sgd2hpY2ggb3V0cHV0IHRvIGNv bm5lY3QgdG8uIEJ1dCB0aGVyZSBhbHNvIGV4aXN0CnNvY3Mgd2l0aCBvbmx5IG9uZSBjcnRjIGxp a2UgdGhlIHJrMzIyOCwgcmszMzI4IGFuZCByazMzNjguCgpTbyBhZGFwdCB0aGUgcmVnaXN0ZXIg ZmllbGQgdG8gc2ltcGx5IGNhcnJ5IGEgbmVnYXRpdmUgdmFsdWUgdG8gc2lnbmFsCnRoYXQgbm8g b3V0cHV0LXN3aXRjaGluZyBpcyBuZWNlc3NhcnkuCgpTaWduZWQtb2ZmLWJ5OiBIZWlrbyBTdHVl Ym5lciA8aGVpa29Ac250ZWNoLmRlPgpUZXN0ZWQtYnk6IFJvYmluIE11cnBoeSA8cm9iaW4ubXVy cGh5QGFybS5jb20+CgpjaGFuZ2VzIGluIHYzOgotIGZpeGVkIHdvcmRpbmcgaXNzdWUgZm91bmQg YnkgUm9iaW4gTXVycGh5Ci0tLQogZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3X2hkbWktcm9j a2NoaXAuYyB8IDUgKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHdfaGRtaS1y b2NrY2hpcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3X2hkbWktcm9ja2NoaXAuYwpp bmRleCAxMTMwOWEyYTRlNDMuLmIwOWMzNTMxMzA1YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3JvY2tjaGlwL2R3X2hkbWktcm9ja2NoaXAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9j a2NoaXAvZHdfaGRtaS1yb2NrY2hpcC5jCkBAIC0zNiw3ICszNiw3IEBACiAgKiBAbGNkc2VsX2xp dDogcmVnIHZhbHVlIG9mIHNlbGVjdGluZyB2b3AgbGl0dGxlIGZvciBIRE1JCiAgKi8KIHN0cnVj dCByb2NrY2hpcF9oZG1pX2NoaXBfZGF0YSB7Ci0JdTMyCWxjZHNlbF9ncmZfcmVnOworCWludAls Y2RzZWxfZ3JmX3JlZzsKIAl1MzIJbGNkc2VsX2JpZzsKIAl1MzIJbGNkc2VsX2xpdDsKIH07CkBA IC0yNDUsNiArMjQ1LDkgQEAgc3RhdGljIHZvaWQgZHdfaGRtaV9yb2NrY2hpcF9lbmNvZGVyX2Vu YWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJdTMyIHZhbDsKIAlpbnQgcmV0Owog CisJaWYgKGhkbWktPmNoaXBfZGF0YS0+bGNkc2VsX2dyZl9yZWcgPCAwKQorCQlyZXR1cm47CisK IAlyZXQgPSBkcm1fb2ZfZW5jb2Rlcl9hY3RpdmVfZW5kcG9pbnRfaWQoaGRtaS0+ZGV2LT5vZl9u b2RlLCBlbmNvZGVyKTsKIAlpZiAocmV0KQogCQl2YWwgPSBoZG1pLT5jaGlwX2RhdGEtPmxjZHNl bF9saXQ7Ci0tIAoyLjE3LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: heiko@sntech.de (Heiko Stuebner) Date: Mon, 10 Sep 2018 11:22:19 +0200 Subject: [PATCH v4 2/6] drm/rockchip: dw_hdmi: Allow outputs that don't need output switching In-Reply-To: <20180910092223.1106-1-heiko@sntech.de> References: <20180910092223.1106-1-heiko@sntech.de> Message-ID: <20180910092223.1106-3-heiko@sntech.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org So far we always encountered socs with 2 output crtcs needing the driver to tell the hdmi block which output to connect to. But there also exist socs with only one crtc like the rk3228, rk3328 and rk3368. So adapt the register field to simply carry a negative value to signal that no output-switching is necessary. Signed-off-by: Heiko Stuebner Tested-by: Robin Murphy changes in v3: - fixed wording issue found by Robin Murphy --- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c index 11309a2a4e43..b09c3531305b 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c @@ -36,7 +36,7 @@ * @lcdsel_lit: reg value of selecting vop little for HDMI */ struct rockchip_hdmi_chip_data { - u32 lcdsel_grf_reg; + int lcdsel_grf_reg; u32 lcdsel_big; u32 lcdsel_lit; }; @@ -245,6 +245,9 @@ static void dw_hdmi_rockchip_encoder_enable(struct drm_encoder *encoder) u32 val; int ret; + if (hdmi->chip_data->lcdsel_grf_reg < 0) + return; + ret = drm_of_encoder_active_endpoint_id(hdmi->dev->of_node, encoder); if (ret) val = hdmi->chip_data->lcdsel_lit; -- 2.17.0