Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp2116835imm; Tue, 10 Jul 2018 13:37:21 -0700 (PDT) X-Google-Smtp-Source: AAOMgpe23Hla+EKZecWk5Md7Y94qRz4R/3uR4quSfGYy88LuwSUyY0s0YbdApzYPrVt9o6TgTiUB X-Received: by 2002:a17:902:3281:: with SMTP id z1-v6mr26388563plb.226.1531255041902; Tue, 10 Jul 2018 13:37:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531255041; cv=none; d=google.com; s=arc-20160816; b=sb9uNerscp1lTXfOjCpMc7W+doe5LOWGnOVe3BkrqFuT3+Tf2z659dUMBV7YRsnXKx BKocYK/XCtqu2ZB4dnsZ0PS99CK87bXl/UdexOpEKXKxG9o7wro2Nlm1XZRrjMwNjhpY mSTGtCieHanf3OpLPiHk3UmK4j3O6kz9JMo6fCiutYItoOJ78485SsxXyBiq0MAQNq8k mtZokW+uZbSY0og9GkCRPAc8Ag0IfclQk2z3tnh2BHm2fS123po7k6O1GbrlHEpH9lxL NKh3jkhwUv+JSpjgILHp2h3C6yhSyhU1zOuEcHmxCGgSoG12JBbAIK8F5BmQb4a9nefq lqqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=jA3kC/nhAHXqTzMt8piQb6Kp+ATEUkB7rHE1FIhIgHk=; b=CLo41exG+gIJg64mm9o9d92QLW4MPYrblmOdx4u6WUI+qv0l6COx4xzkF0Ox4dr2vi 3M9RbJ5LiySxNMcdKC2l0lmVtIIzNya9YW6WvIfsatO9v+JTASVva+BVPb3REWGxzfwG 66pQ0F8iXleieN0jZf4qk4STrEvE9fVoSD2JTSUR3kBi9YMTjGdVeOCn/1QAPFN0LHPd /UPz6jtlZxGsc2A7CFmjTppV5J9asH1rAyOp/sF9CNJ21pKyxHgpF+Bb/Y3nUJ06a7+J oCVyvXZCn3ZcewR0w9o/iVNXjg8v6k4GhdNFNb/6eVI+NkZyVryHkCDe2DnFNT1Kpprh ZzeA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r17-v6si16497216pgd.52.2018.07.10.13.37.06; Tue, 10 Jul 2018 13:37:21 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733118AbeGJUgx (ORCPT + 99 others); Tue, 10 Jul 2018 16:36:53 -0400 Received: from mailoutvs58.siol.net ([185.57.226.249]:47702 "EHLO mail.siol.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1732543AbeGJUgw (ORCPT ); Tue, 10 Jul 2018 16:36:52 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.siol.net (Zimbra) with ESMTP id AC23E5224AB; Tue, 10 Jul 2018 22:36:08 +0200 (CEST) X-Virus-Scanned: amavisd-new at psrvmta12.zcs-production.pri Received: from mail.siol.net ([127.0.0.1]) by localhost (psrvmta12.zcs-production.pri [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 4xQJd80uSqUQ; Tue, 10 Jul 2018 22:36:08 +0200 (CEST) Received: from mail.siol.net (localhost [127.0.0.1]) by mail.siol.net (Zimbra) with ESMTPS id 20800522548; Tue, 10 Jul 2018 22:36:08 +0200 (CEST) Received: from localhost.localdomain (unknown [194.152.15.144]) (Authenticated sender: 031275009) by mail.siol.net (Zimbra) with ESMTPSA id AC34D5226EE; Tue, 10 Jul 2018 22:36:00 +0200 (CEST) From: Jernej Skrabec To: maxime.ripard@bootlin.com, wens@csie.org, robh+dt@kernel.org Cc: airlied@linux.ie, mark.rutland@arm.com, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com Subject: [PATCH v2 17/18] drm/sun4i: tcon-top: Remove mux configuration at probe time Date: Tue, 10 Jul 2018 22:35:10 +0200 Message-Id: <20180710203511.18454-18-jernej.skrabec@siol.net> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180710203511.18454-1-jernej.skrabec@siol.net> References: <20180710203511.18454-1-jernej.skrabec@siol.net> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Now that R40 TCON migrated to runtime mux configuration, old code can be removed. Signed-off-by: Jernej Skrabec --- drivers/gpu/drm/sun4i/sun8i_tcon_top.c | 76 +------------------------- 1 file changed, 1 insertion(+), 75 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun8i_tcon_top.c b/drivers/gpu/drm/sun4i/sun8i_tcon_top.c index c09b15b64192..b7cf0f0f6583 100644 --- a/drivers/gpu/drm/sun4i/sun8i_tcon_top.c +++ b/drivers/gpu/drm/sun4i/sun8i_tcon_top.c @@ -87,34 +87,6 @@ int sun8i_tcon_top_de_config(struct device *dev, int mixer, int tcon) } EXPORT_SYMBOL(sun8i_tcon_top_de_config); -static int sun8i_tcon_top_get_connected_ep_id(struct device_node *node, - int port_id) -{ - struct device_node *ep, *remote, *port; - struct of_endpoint endpoint; - - port = of_graph_get_port_by_id(node, port_id); - if (!port) - return -ENOENT; - - for_each_available_child_of_node(port, ep) { - remote = of_graph_get_remote_port_parent(ep); - if (!remote) - continue; - - if (of_device_is_available(remote)) { - of_graph_parse_endpoint(ep, &endpoint); - - of_node_put(remote); - - return endpoint.id; - } - - of_node_put(remote); - } - - return -ENOENT; -} static struct clk_hw *sun8i_tcon_top_register_gate(struct device *dev, const char *parent, @@ -149,11 +121,9 @@ static int sun8i_tcon_top_bind(struct device *dev, struct device *master, struct platform_device *pdev = to_platform_device(dev); struct clk_hw_onecell_data *clk_data; struct sun8i_tcon_top *tcon_top; - bool mixer0_unused = false; struct resource *res; void __iomem *regs; - int ret, i, id; - u32 val; + int ret, i; tcon_top = devm_kzalloc(dev, sizeof(*tcon_top), GFP_KERNEL); if (!tcon_top) @@ -198,50 +168,6 @@ static int sun8i_tcon_top_bind(struct device *dev, struct device *master, goto err_assert_reset; } - val = 0; - - /* check if HDMI mux output is connected */ - if (sun8i_tcon_top_get_connected_ep_id(dev->of_node, 5) >= 0) { - /* find HDMI input endpoint id, if it is connected at all*/ - id = sun8i_tcon_top_get_connected_ep_id(dev->of_node, 4); - if (id >= 0) - val = FIELD_PREP(TCON_TOP_HDMI_SRC_MSK, id + 1); - else - DRM_DEBUG_DRIVER("TCON TOP HDMI input is not connected\n"); - } else { - DRM_DEBUG_DRIVER("TCON TOP HDMI output is not connected\n"); - } - - writel(val, regs + TCON_TOP_GATE_SRC_REG); - - val = 0; - - /* process mixer0 mux output */ - id = sun8i_tcon_top_get_connected_ep_id(dev->of_node, 1); - if (id >= 0) { - val = FIELD_PREP(TCON_TOP_PORT_DE0_MSK, id); - } else { - DRM_DEBUG_DRIVER("TCON TOP mixer0 output is not connected\n"); - mixer0_unused = true; - } - - /* process mixer1 mux output */ - id = sun8i_tcon_top_get_connected_ep_id(dev->of_node, 3); - if (id >= 0) { - val |= FIELD_PREP(TCON_TOP_PORT_DE1_MSK, id); - - /* - * mixer0 mux has priority over mixer1 mux. We have to - * make sure mixer0 doesn't overtake TCON from mixer1. - */ - if (mixer0_unused && id == 0) - val |= FIELD_PREP(TCON_TOP_PORT_DE0_MSK, 1); - } else { - DRM_DEBUG_DRIVER("TCON TOP mixer1 output is not connected\n"); - } - - writel(val, regs + TCON_TOP_PORT_SEL_REG); - /* * TCON TOP has two muxes, which select parent clock for each TCON TV * channel clock. Parent could be either TCON TV or TVE clock. For now -- 2.18.0