Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp780018ybl; Wed, 11 Dec 2019 07:24:33 -0800 (PST) X-Google-Smtp-Source: APXvYqzaOnI3mZ8/1g02Apan0tGB8koVH2jGU5ZR+cPH/FXPRyDIYMYIeTlCkV9VUklIuyACc1pW X-Received: by 2002:aca:500f:: with SMTP id e15mr3350418oib.172.1576077873241; Wed, 11 Dec 2019 07:24:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576077873; cv=none; d=google.com; s=arc-20160816; b=o6q2ojnYgBRaiCkNNpK2B5KbKC6P/AWcC4Eu5UpGclSdL7CORrxUUxxjdb7KnOTkXG uwmJDzapXpfdvAgieUt92Vn5t+hUZ+vmZT9Iy7nFhkIHCBQNKSYo+1AeOV88HQ/484Ua 06rHWXhFTzp1jGe8iHMxmjous6ztPwsrKmznJrl8G+OFKhMYx25/7xQ3shDlM1ifd+Ab 1NmyqJP0ivIjmSToUG07CTZMGt3rrwzurIZvW2D6IKKVKKFCDMqKSQN2YLYG+1dFG7RY oqHr2v/u4jbU7FijhXcvZXQhscceMfJV7yxqaGyGYP37mbzuJg1LQi9CO1S+hJ0PgNcT 42WA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Fx2PdXRRqH/XrjoGYknPB/mWIcxrWcNr7APk4dtAWyU=; b=t7pRRLchEC2H625mNdUN6PjFPXRAC8ARtiM7JCMcAEm89zfWMHNAZJLPCqi9/E3RXB mlzRE29yqJr3YN1tEuGiQNUUeinA3/B+JwrDEEU6eOp4MKuNeeBxnDTtjUbAYLXVvLpe nam15LAryWaF8FG7MaOpVazaTEv2azLCZwHppi4qWN65lGtODfILIbnJMX0+gW6yZoUF P+OdNHMzAWB0YTKJmUt1toTOXL11LTNe1VZVdEg7KVaoEpttpizaeiY7XUC80eNZsqUW pORwuWKJ8TqRcWsaC32AD4Qx8H//Mywudtk/w4XswH5EJ2CdX7WYiY/F7cg6B8Eru+fq C9Hg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=rT0ISnsA; 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 d206si1357521oif.203.2019.12.11.07.24.20; Wed, 11 Dec 2019 07:24:33 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=rT0ISnsA; 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 S1732761AbfLKPXs (ORCPT + 99 others); Wed, 11 Dec 2019 10:23:48 -0500 Received: from mail.kernel.org ([198.145.29.99]:54824 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732749AbfLKPXn (ORCPT ); Wed, 11 Dec 2019 10:23:43 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id AB2862077B; Wed, 11 Dec 2019 15:23:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1576077823; bh=397+llq5b8ShLmAi4cOwDwNlPSEvwZuhmZI3njME1mE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rT0ISnsA83GDqkAbVEa/316zdxxAx8FORpYs2EppsNCrVcrFO+Aeu/xrf2z+IiUzF e2Xryjnn4wuk1oRiGAzWfZYWkgj4W2EWoRiMhMWpxSvGvTP2+WG0vthe+l47ErHvyZ 8TupCzo0e7uqHm+cAJ36QdGxYKVUrbsq5o4qxn0c= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Geert Uytterhoeven , Simon Horman , Sasha Levin Subject: [PATCH 4.19 183/243] soc: renesas: r8a77990-sysc: Fix initialization order of 3DG-{A,B} Date: Wed, 11 Dec 2019 16:05:45 +0100 Message-Id: <20191211150351.521599663@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191211150339.185439726@linuxfoundation.org> References: <20191211150339.185439726@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Geert Uytterhoeven [ Upstream commit b0d7fbf8b174168c580bb310964c3c809e5569a9 ] The workaround for the wrong hierarchy of the 3DG-{A,B} power domains on R-Car E3 ES1.0 corrected the parent domains. However, the 3DG-{A,B} power domains were still initialized and powered in the wrong order, causing 3DG operation to fail. Fix this by changing the order in the table at runtime, when running on an affected SoC. Fixes: 086b399965a7ee7e ("soc: renesas: r8a77990-sysc: Add workaround for 3DG-{A,B}") Signed-off-by: Geert Uytterhoeven Signed-off-by: Simon Horman Signed-off-by: Sasha Levin --- drivers/soc/renesas/r8a77990-sysc.c | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/drivers/soc/renesas/r8a77990-sysc.c b/drivers/soc/renesas/r8a77990-sysc.c index 15579ebc5ed20..664b244eb1dd9 100644 --- a/drivers/soc/renesas/r8a77990-sysc.c +++ b/drivers/soc/renesas/r8a77990-sysc.c @@ -28,19 +28,6 @@ static struct rcar_sysc_area r8a77990_areas[] __initdata = { { "3dg-b", 0x100, 1, R8A77990_PD_3DG_B, R8A77990_PD_3DG_A }, }; -static void __init rcar_sysc_fix_parent(struct rcar_sysc_area *areas, - unsigned int num_areas, u8 id, - int new_parent) -{ - unsigned int i; - - for (i = 0; i < num_areas; i++) - if (areas[i].isr_bit == id) { - areas[i].parent = new_parent; - return; - } -} - /* Fixups for R-Car E3 ES1.0 revision */ static const struct soc_device_attribute r8a77990[] __initconst = { { .soc_id = "r8a77990", .revision = "ES1.0" }, @@ -50,12 +37,10 @@ static const struct soc_device_attribute r8a77990[] __initconst = { static int __init r8a77990_sysc_init(void) { if (soc_device_match(r8a77990)) { - rcar_sysc_fix_parent(r8a77990_areas, - ARRAY_SIZE(r8a77990_areas), - R8A77990_PD_3DG_A, R8A77990_PD_3DG_B); - rcar_sysc_fix_parent(r8a77990_areas, - ARRAY_SIZE(r8a77990_areas), - R8A77990_PD_3DG_B, R8A77990_PD_ALWAYS_ON); + /* Fix incorrect 3DG hierarchy */ + swap(r8a77990_areas[7], r8a77990_areas[8]); + r8a77990_areas[7].parent = R8A77990_PD_ALWAYS_ON; + r8a77990_areas[8].parent = R8A77990_PD_3DG_B; } return 0; -- 2.20.1