Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp3655870img; Mon, 25 Mar 2019 15:02:58 -0700 (PDT) X-Google-Smtp-Source: APXvYqw3SkGOcKrbvEMSDLOLlQQTxx5ESrhllAzh2SNqq5CDC/C+CNjAm6U3hose0IrpofBuFDrn X-Received: by 2002:a63:4f61:: with SMTP id p33mr25541430pgl.303.1553551378219; Mon, 25 Mar 2019 15:02:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553551378; cv=none; d=google.com; s=arc-20160816; b=AH+lYSvBQJ/8oKqQWbAuNu3aswipnE7hXDsjj8Bs6EA4PYzqybKt9aGrnAHJLwZE89 G3wtZSoaJGk8CmQHEdUssSDWPQxmdaKeEjpzPxpOAlzpxg1V3ZDZo9/28ABRFg33M2uN ENhkZfBZmKyXj7qD1/liKsXJ88jxpUmkfnXc69shH56v/3YziY1fYSw2Gt6Xkk78tjZ2 b102e2JPpJl8x1+dgj74gGzE9IqpIZkcwXg1waCEHf0OU+URCiKxz6bnldwaLJpBQVRB tLlfTn+PhIuUZQ1OrM/yBuNjvAEfL96g6Gw4gs4zSl2EPp2nPtGuCrapO9k1dorU+4qE sc4g== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=n/iBiJD0OFJLrpGw8gNamAR3icTiBBZqHR0l05VvqaU=; b=YtORJN0F8ixbS0lRIGLUwPuj9HdnzWbw+IXg/MjwEYOh/6XCZGTAY92Tx54gEzeRJE IkZYU5Eumq7wJ80CSJONsemSuCoFBBnFuD50E+bJVUo90saAlmFI5eIDR/l8FTFB+bFw l1m8Fw5dZMhe8myvIqPd2b/ubJeiW5jCmzBinDDJt3d0XYIzXNSt80QeD4VEAc1tCxfS HCSUKBCYXtBVvyKUYT8+3doz0Y4K6tJs/cHtCK2qWPKKZGn/QEA6eZvQ+B2ynPT0SAle XNR1xMLy9tq1c8U/6FjK/wx2s+kip3iW3rAi8ZH/9JskE6RAevyWjpKctWhdpu6+bJj0 RO5Q== 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 s8si13945160pgp.140.2019.03.25.15.02.42; Mon, 25 Mar 2019 15:02:58 -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 S1730925AbfCYWAL (ORCPT + 99 others); Mon, 25 Mar 2019 18:00:11 -0400 Received: from muru.com ([72.249.23.125]:42594 "EHLO muru.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730501AbfCYV7C (ORCPT ); Mon, 25 Mar 2019 17:59:02 -0400 Received: from hillo.muru.com (localhost [127.0.0.1]) by muru.com (Postfix) with ESMTP id 77EAD819C; Mon, 25 Mar 2019 21:59:14 +0000 (UTC) From: Tony Lindgren To: linux-omap@vger.kernel.org Cc: Dave Gerlach , Faiz Abbas , Greg Kroah-Hartman , Keerthy , Nishanth Menon , Peter Ujfalusi , Roger Quadros , Suman Anna , Tero Kristo , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Rob Herring , devicetree@vger.kernel.org Subject: [PATCH 02/14] bus: ti-sysc: Handle missed no-idle property in addition to no-idle-on-init Date: Mon, 25 Mar 2019 14:58:37 -0700 Message-Id: <20190325215849.13182-3-tony@atomide.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190325215849.13182-1-tony@atomide.com> References: <20190325215849.13182-1-tony@atomide.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We have ti,no-idle in use in addition to ti,no-idle-on-init but we're missing handling for it in the ti-sysc interconnect target module driver. Let's also group the idle defines together and update the binding documentation for it. Cc: Rob Herring Cc: devicetree@vger.kernel.org Signed-off-by: Tony Lindgren --- Documentation/devicetree/bindings/bus/ti-sysc.txt | 2 ++ arch/arm/mach-omap2/omap_hwmod.c | 2 ++ drivers/bus/ti-sysc.c | 5 ++++- include/linux/platform_data/ti-sysc.h | 5 +++-- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/bus/ti-sysc.txt b/Documentation/devicetree/bindings/bus/ti-sysc.txt --- a/Documentation/devicetree/bindings/bus/ti-sysc.txt +++ b/Documentation/devicetree/bindings/bus/ti-sysc.txt @@ -94,6 +94,8 @@ Optional properties: - ti,no-idle-on-init interconnect target module should not be idled at init +- ti,no-idle interconnect target module should not be idled + Example: Single instance of MUSB controller on omap4 using interconnect ranges using offsets from l4_cfg second segment (0x4a000000 + 0x80000 = 0x4a0ab000): diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c @@ -3675,6 +3675,8 @@ int omap_hwmod_init_module(struct device *dev, if (error) return error; + if (data->cfg->quirks & SYSC_QUIRK_NO_IDLE) + oh->flags |= HWMOD_NO_IDLE; if (data->cfg->quirks & SYSC_QUIRK_NO_IDLE_ON_INIT) oh->flags |= HWMOD_INIT_NO_IDLE; if (data->cfg->quirks & SYSC_QUIRK_NO_RESET_ON_INIT) diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -920,7 +920,8 @@ static int sysc_init_module(struct sysc *ddata) { int error; - if (ddata->cfg.quirks & SYSC_QUIRK_NO_IDLE_ON_INIT) { + if (ddata->cfg.quirks & + (SYSC_QUIRK_NO_IDLE | SYSC_QUIRK_NO_IDLE_ON_INIT)) { ddata->revision = sysc_read_revision(ddata); goto rev_quirks; } @@ -1281,6 +1282,8 @@ static const struct sysc_dts_quirk sysc_dts_quirks[] = { .mask = SYSC_QUIRK_NO_IDLE_ON_INIT, }, { .name = "ti,no-reset-on-init", .mask = SYSC_QUIRK_NO_RESET_ON_INIT, }, + { .name = "ti,no-idle", + .mask = SYSC_QUIRK_NO_IDLE, }, }; static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np, diff --git a/include/linux/platform_data/ti-sysc.h b/include/linux/platform_data/ti-sysc.h --- a/include/linux/platform_data/ti-sysc.h +++ b/include/linux/platform_data/ti-sysc.h @@ -46,8 +46,9 @@ struct sysc_regbits { s8 emufree_shift; }; -#define SYSC_QUIRK_LEGACY_IDLE BIT(8) -#define SYSC_QUIRK_RESET_STATUS BIT(7) +#define SYSC_QUIRK_LEGACY_IDLE BIT(9) +#define SYSC_QUIRK_RESET_STATUS BIT(8) +#define SYSC_QUIRK_NO_IDLE BIT(7) #define SYSC_QUIRK_NO_IDLE_ON_INIT BIT(6) #define SYSC_QUIRK_NO_RESET_ON_INIT BIT(5) #define SYSC_QUIRK_OPT_CLKS_NEEDED BIT(4) -- 2.21.0