From patchwork Wed Mar 27 08:15:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tony Lindgren X-Patchwork-Id: 13605862 Received: from mail5.25mail.st (mail5.25mail.st [74.50.62.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6B678339A8; Wed, 27 Mar 2024 08:15:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.50.62.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711527344; cv=none; b=cpwLvbx+CMwK3KcxUAkJz4JSNzaFvfcr3cGvBjDjTle6dmoTEq/x+wND8zNvQNQFqWrzEZvynGKEUH7ATgAL048MnPbgYGvTLPcmSdUn0dvGS2ii0EvuubyWjlumgc2YfabB8W4bPvjVs9kOHf7q3db2i2D8vfbyZ1W3/rrpi6s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711527344; c=relaxed/simple; bh=wCs2Bbu3C6J2O1X3vXpkxYOKLXy+CaCvFD4nkCkciKE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PAUO8MNXKvusMaYnni7STOpKBU8YUSqpTeqdWUotC4CU9A+/LMrPMoqc4HxJd7ZtVIioT6uMimVmdam10IGFoiaQG+THhbnXfTvVeYD52JYPIIz1FlyZnnDxhoiYDUYIkSr9zeuwQHOYKlf9uUGvQ4YMMJ/oPT4tp/Bmfq2BwFs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomide.com; spf=fail smtp.mailfrom=atomide.com; dkim=pass (2048-bit key) header.d=atomide.com header.i=@atomide.com header.b=fBzIyneo; arc=none smtp.client-ip=74.50.62.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomide.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=atomide.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=atomide.com header.i=@atomide.com header.b="fBzIyneo" Received: from localhost (91-158-86-216.elisa-laajakaista.fi [91.158.86.216]) by mail5.25mail.st (Postfix) with ESMTPSA id F409B604C8; Wed, 27 Mar 2024 08:15:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=atomide.com; s=25mailst; t=1711527340; bh=wCs2Bbu3C6J2O1X3vXpkxYOKLXy+CaCvFD4nkCkciKE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fBzIyneoLfw5GjwkPSQRdG8ZsYygVNsJ6DkfWnX2j0QSW2pasesYCJ3cC8yWQa8TV O6vliLxiZnHT5pJB9TUqeRUDm0N34gs3KG8LdDtjA/L3aDBpKDL+FwDtkWW5spIu3x XFHyyx7bYgymaY3LnKAj1R7jd/20ptpzEtf6tx2ObvDHJW8TYGSSW+Ipmz15ElGJhB RhFMNYWZEACHe7R4bwopXvepxUUmUU2IJva0IofVYBbixQ5PgbuTzdfkutkkEScCuh 2F8yeWYaiN+fi39o2kLOsHC4Tv/7pWScoEyCydNBmel18DQmJI99RsEAA7d+hh2K22 eHlrQGj2OslrQ== From: Tony Lindgren To: linux-omap@vger.kernel.org Cc: Dhruva Gole , Greg Kroah-Hartman , linux-kernel@vger.kernel.org Subject: [PATCH 1/5] bus: ti-sysc: Move check for no-reset-on-init Date: Wed, 27 Mar 2024 10:15:04 +0200 Message-ID: <20240327081508.36747-2-tony@atomide.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240327081508.36747-1-tony@atomide.com> References: <20240327081508.36747-1-tony@atomide.com> Precedence: bulk X-Mailing-List: linux-omap@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 We are wrongly checking SYSC_QUIRK_NO_RESET_ON_INIT flag in sysc_reset(), it can be called also after init from sysc_reinit_module(). Let's fix the issue by moving the check to the init code. Fixes: 6a52bc2b81fa ("bus: ti-sysc: Add quirk handling for reset on re-init") Signed-off-by: Tony Lindgren --- drivers/bus/ti-sysc.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) 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 @@ -2145,8 +2145,7 @@ static int sysc_reset(struct sysc *ddata) sysc_offset = ddata->offsets[SYSC_SYSCONFIG]; if (ddata->legacy_mode || - ddata->cap->regbits->srst_shift < 0 || - ddata->cfg.quirks & SYSC_QUIRK_NO_RESET_ON_INIT) + ddata->cap->regbits->srst_shift < 0) return 0; sysc_mask = BIT(ddata->cap->regbits->srst_shift); @@ -2240,12 +2239,14 @@ static int sysc_init_module(struct sysc *ddata) goto err_main_clocks; } - error = sysc_reset(ddata); - if (error) - dev_err(ddata->dev, "Reset failed with %d\n", error); + if (!(ddata->cfg.quirks & SYSC_QUIRK_NO_RESET_ON_INIT)) { + error = sysc_reset(ddata); + if (error) + dev_err(ddata->dev, "Reset failed with %d\n", error); - if (error && !ddata->legacy_mode) - sysc_disable_module(ddata->dev); + if (error && !ddata->legacy_mode) + sysc_disable_module(ddata->dev); + } err_main_clocks: if (error) From patchwork Wed Mar 27 08:15:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tony Lindgren X-Patchwork-Id: 13605863 Received: from mail5.25mail.st (mail5.25mail.st [74.50.62.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C64283612A; Wed, 27 Mar 2024 08:15:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.50.62.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711527353; cv=none; b=cCwZYhLlHjGslmPLYJmwcrXagcrrpUotb6vacb+gYdT+2abWFdK+ymg/ASBhgGmls2/40ibYIro+zWTUuiwqNen8gu6uskkZ4ugHdyQ2ZsHrTgRQ2OLz1ZX/yzzlE9Au0k0del2UzXhQkdUSwCIEFqa5+Tthx5r0P95XK+uRu04= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711527353; c=relaxed/simple; bh=9zW+dvDM9/wXQGn6EIf+QJxDDRQRin0FzQ+DyTde2Ng=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Tt/EzhSaX/V50ANVGID/T+Oz0QpVIOo2l6X0A+g1Xo8m2MXQIHhGYCvlDuq09khHiJyCVUaiA2/u+5qrkPjE0xw0yUTYBohluIQlJFRHCyAWql3OaR81h316fzXduCJO49wejxEiq9BqXja/IuS64EiTiBDGd4LvefmotyUwaR8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomide.com; spf=fail smtp.mailfrom=atomide.com; dkim=pass (2048-bit key) header.d=atomide.com header.i=@atomide.com header.b=ZQUj/FRx; arc=none smtp.client-ip=74.50.62.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomide.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=atomide.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=atomide.com header.i=@atomide.com header.b="ZQUj/FRx" Received: from localhost (91-158-86-216.elisa-laajakaista.fi [91.158.86.216]) by mail5.25mail.st (Postfix) with ESMTPSA id 8024B60462; Wed, 27 Mar 2024 08:15:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=atomide.com; s=25mailst; t=1711527351; bh=9zW+dvDM9/wXQGn6EIf+QJxDDRQRin0FzQ+DyTde2Ng=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZQUj/FRx6Z2EBttCnOxNBpRmzX3KS+Eblq3ZQB3XmS2FOYbaf/yhuc8iPx1Mhn7Rg C+95PUM0+UkD5hvMc/Gn5XEbMjwHgHZr+p4pqHkcEwzpyEt5pV+pGr6yxE8lWQqDXM i9AXJTs2QcNoOkFhj7KgStWLX5MJfok7POS9HhDszrw4h7/z+axRjOtz/mDX2uNBGu 6QU6jA8sXYyxEV1rdkXMM+rxn/jNYBVvOqHQ2sJQui19zNH2CDWDIt6UWBKbCnhUAH DyBhuCb+uQ1AQLhilwMTyGYhSEtpy8dMSBQEMIkB/gUj3bhpMfQ/BRjRPdQ4Fc0m85 0rLnRWXphxS0w== From: Tony Lindgren To: linux-omap@vger.kernel.org Cc: Dhruva Gole , Greg Kroah-Hartman , linux-kernel@vger.kernel.org Subject: [PATCH 2/5] bus: ti-sysc: Add a description and copyrights Date: Wed, 27 Mar 2024 10:15:05 +0200 Message-ID: <20240327081508.36747-3-tony@atomide.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240327081508.36747-1-tony@atomide.com> References: <20240327081508.36747-1-tony@atomide.com> Precedence: bulk X-Mailing-List: linux-omap@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The ti-sysc driver is missing coprights and description, let's add those. Signed-off-by: Tony Lindgren Reviewed-by: Dhruva Gole --- drivers/bus/ti-sysc.c | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 @@ -1,6 +1,17 @@ // SPDX-License-Identifier: GPL-2.0 /* * ti-sysc.c - Texas Instruments sysc interconnect target driver + * + * TI SoCs have an interconnect target wrapper IP for many devices. The wrapper + * IP manages clock gating, resets, and PM capabilities for the connected devices. + * + * Copyright (C) 2017-2024 Texas Instruments Incorporated - https://www.ti.com/ + * + * Many features are based on the earlier omap_hwmod arch code with thanks to all + * the people who developed and debugged the code over the years: + * + * Copyright (C) 2009-2011 Nokia Corporation + * Copyright (C) 2011-2012 Texas Instruments, Inc. */ #include From patchwork Wed Mar 27 08:15:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tony Lindgren X-Patchwork-Id: 13605864 Received: from mail5.25mail.st (mail5.25mail.st [74.50.62.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5E78F3612C; Wed, 27 Mar 2024 08:16:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.50.62.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711527365; cv=none; b=q5wzF3JXsAyRfRYrfLThgmzaXEnH7kooZTvGWNtI9Wq5I3jDw/tSZWG5ih5DoNBX/YRyuxvCkw6uM+NNMlPiN8nNsVpujCAcwU2LdKW8HTyX9JQT2kW60t66BmDdbxxCursBe/5lHq0jD+3EKUuhRZJe9iTPi+ih4EAhg35sbe0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711527365; c=relaxed/simple; bh=0nz944gsPunaEY0WbXrcZZChPstAF/Sym3EL2KX9RZA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EnbkysYHZ2b1nXnWZV59MBLN/CBWbBo5c0JDiXJXe308Ahh8k8pBdBtPMYri86Zvj6Cn3NCMH+ouflraL7NMmaxj+g8rm1mZZmZqWQKa5o01TlgKccF9eEWkLicIQvftw/KxDGwFfU0h8l61scc9NX67/+KONPG5dhWP969Tyew= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomide.com; spf=fail smtp.mailfrom=atomide.com; dkim=pass (2048-bit key) header.d=atomide.com header.i=@atomide.com header.b=Hh0iaQEP; arc=none smtp.client-ip=74.50.62.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomide.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=atomide.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=atomide.com header.i=@atomide.com header.b="Hh0iaQEP" Received: from localhost (91-158-86-216.elisa-laajakaista.fi [91.158.86.216]) by mail5.25mail.st (Postfix) with ESMTPSA id 03ED360462; Wed, 27 Mar 2024 08:15:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=atomide.com; s=25mailst; t=1711527361; bh=0nz944gsPunaEY0WbXrcZZChPstAF/Sym3EL2KX9RZA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Hh0iaQEPeJKjflBIEm2EgHUEbLyvx3SC4u+27CnmOTrtDYpSUell35SqtXd3ZbV6A 6vGZeKRdR4LM0qpFCR8e39oG+0bS3fr+B375m3ocK1Ac7SARH41sW1oHyaUyaBX9qa H7s6cK/ISczWH5FUws04CsMa9cL/LKLgEck/jIhGaeRBJwP3CIFK3DLvMWm+Ox6Mx/ /hVsuP0d4kTpcEB6mCn2ZXpNajRpzXxRShnJTiPY5EJxwfiAi6VDI0WOB273vgyZyc HFwoTnjQ7w0Y4JLOTEPuQj87B+EydXJ7HHAXLMxbhiEYbwb6JOxXM1I9HNm+262LNc ObLshS7RFXUkw== From: Tony Lindgren To: linux-omap@vger.kernel.org Cc: Dhruva Gole , Greg Kroah-Hartman , linux-kernel@vger.kernel.org Subject: [PATCH 3/5] bus: ti-sysc: Drop legacy quirk handling for uarts Date: Wed, 27 Mar 2024 10:15:06 +0200 Message-ID: <20240327081508.36747-4-tony@atomide.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240327081508.36747-1-tony@atomide.com> References: <20240327081508.36747-1-tony@atomide.com> Precedence: bulk X-Mailing-List: linux-omap@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 With the 8250_omap and omap-serial drivers no longer relying on the use of pm_runtime_irq_safe(), we can finally drop the related legacy quirk handling for uarts. Signed-off-by: Tony Lindgren --- drivers/bus/ti-sysc.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) 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 @@ -1540,19 +1540,6 @@ struct sysc_revision_quirk { } static const struct sysc_revision_quirk sysc_revision_quirks[] = { - /* These drivers need to be fixed to not use pm_runtime_irq_safe() */ - SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x00000046, 0xffffffff, - SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), - SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x00000052, 0xffffffff, - SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), - /* Uarts on omap4 and later */ - SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x50411e03, 0xffff00ff, - SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), - SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x47422e03, 0xffffffff, - SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), - SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x47424e03, 0xffffffff, - SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), - /* Quirks that need to be set based on the module address */ SYSC_QUIRK("mcpdm", 0x40132000, 0, 0x10, -ENODEV, 0x50000800, 0xffffffff, SYSC_QUIRK_EXT_OPT_CLOCK | SYSC_QUIRK_NO_RESET_ON_INIT | @@ -1610,6 +1597,17 @@ static const struct sysc_revision_quirk sysc_revision_quirks[] = { SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY), SYSC_QUIRK("sata", 0, 0xfc, 0x1100, -ENODEV, 0x5e412000, 0xffffffff, SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY), + SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x00000046, 0xffffffff, + SYSC_QUIRK_SWSUP_SIDLE_ACT), + SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x00000052, 0xffffffff, + SYSC_QUIRK_SWSUP_SIDLE_ACT), + /* Uarts on omap4 and later */ + SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x50411e03, 0xffff00ff, + SYSC_QUIRK_SWSUP_SIDLE_ACT), + SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x47422e03, 0xffffffff, + SYSC_QUIRK_SWSUP_SIDLE_ACT), + SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x47424e03, 0xffffffff, + SYSC_QUIRK_SWSUP_SIDLE_ACT), SYSC_QUIRK("usb_host_hs", 0, 0, 0x10, 0x14, 0x50700100, 0xffffffff, SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY), SYSC_QUIRK("usb_host_hs", 0, 0, 0x10, -ENODEV, 0x50700101, 0xffffffff, From patchwork Wed Mar 27 08:15:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tony Lindgren X-Patchwork-Id: 13605865 Received: from mail5.25mail.st (mail5.25mail.st [74.50.62.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EB31A364A4; Wed, 27 Mar 2024 08:16:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.50.62.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711527374; cv=none; b=hs5GWrGnlhWJICR0LPO87bov3boacs1KHVDWoI/JZugq0Wf7oDP/wEHTY2TaoiwKeNSlPybx7ErdiJgL0hpfk0PHDHrcTFx+iYeSHImj2I/WmW6vvB6VSu/AQMG9Kg91DAarmPcrDi/RQUjoD4FfW2+tiDD4X5PUK/7+6v+ooNE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711527374; c=relaxed/simple; bh=5Wp3EbqRXlFnAzFR7aYGK9sB8fobkQcw7EykZ9pAxZA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=logYofRW5lWR0wImpla7VOhp/p1s1dmQ4D7By1ndEd9NedBBNhb2+64LUk9PP74OhHUbG95FjrdW8/2fxQA0k8idSQ6OoychUh9TAX2h91PgNrZvyhkywRWSEBnLX0RXMrdFuNnoU4GY79S02Hg/8CeOMIpm+poWqQmLkijUA70= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomide.com; spf=fail smtp.mailfrom=atomide.com; dkim=pass (2048-bit key) header.d=atomide.com header.i=@atomide.com header.b=Pipq6E1T; arc=none smtp.client-ip=74.50.62.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomide.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=atomide.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=atomide.com header.i=@atomide.com header.b="Pipq6E1T" Received: from localhost (91-158-86-216.elisa-laajakaista.fi [91.158.86.216]) by mail5.25mail.st (Postfix) with ESMTPSA id 76EE6604C8; Wed, 27 Mar 2024 08:16:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=atomide.com; s=25mailst; t=1711527372; bh=5Wp3EbqRXlFnAzFR7aYGK9sB8fobkQcw7EykZ9pAxZA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Pipq6E1Taj3JFwD0ptrhSh0Dg57lxe13t+XBTDF/xyvsHhfMiSuK4iHKxNcHVtgfJ UcudmnOwuZRjm3d2ZbfOc7mJTTrjrL1Nyh15v7bVHxZwFW8wodkO2xUpGFOZkYQZfL WvE1i1hEXEVx0qacC8YIUJwQj3UHEGdaeXAXu5PlFBBdbkImSvFqTuCxJQajGVlV78 rFuYaV8QkPJl/OnQexZEFKF73GCl8/WoLmrEU9j0puHEBGlNjlJPqqb/a3M5KJTJhH EeqAwmZRUFfABFbDlU+SsBBcbfbX6+9h/RvVzrXvsqoYgZDsUs2FIiH+TBjKR0UdVi ogP1QJu/mM3Ug== From: Tony Lindgren To: linux-omap@vger.kernel.org Cc: Dhruva Gole , Greg Kroah-Hartman , linux-kernel@vger.kernel.org Subject: [PATCH 4/5] bus: ti-sysc: Drop legacy quirk handling for smartreflex Date: Wed, 27 Mar 2024 10:15:07 +0200 Message-ID: <20240327081508.36747-5-tony@atomide.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240327081508.36747-1-tony@atomide.com> References: <20240327081508.36747-1-tony@atomide.com> Precedence: bulk X-Mailing-List: linux-omap@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 With the smartreflex driver no longer relying on the use of pm_runtime_irq_safe(), we can finally drop the related legacy quirk handling. Signed-off-by: Tony Lindgren Reviewed-by: Dhruva Gole --- drivers/bus/ti-sysc.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) 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 @@ -2869,8 +2869,7 @@ static const struct sysc_capabilities sysc_34xx_sr = { .type = TI_SYSC_OMAP34XX_SR, .sysc_mask = SYSC_OMAP2_CLOCKACTIVITY, .regbits = &sysc_regbits_omap34xx_sr, - .mod_quirks = SYSC_QUIRK_USE_CLOCKACT | SYSC_QUIRK_UNCACHED | - SYSC_QUIRK_LEGACY_IDLE, + .mod_quirks = SYSC_QUIRK_USE_CLOCKACT | SYSC_QUIRK_UNCACHED, }; /* @@ -2891,13 +2890,12 @@ static const struct sysc_capabilities sysc_36xx_sr = { .type = TI_SYSC_OMAP36XX_SR, .sysc_mask = SYSC_OMAP3_SR_ENAWAKEUP, .regbits = &sysc_regbits_omap36xx_sr, - .mod_quirks = SYSC_QUIRK_UNCACHED | SYSC_QUIRK_LEGACY_IDLE, + .mod_quirks = SYSC_QUIRK_UNCACHED, }; static const struct sysc_capabilities sysc_omap4_sr = { .type = TI_SYSC_OMAP4_SR, .regbits = &sysc_regbits_omap36xx_sr, - .mod_quirks = SYSC_QUIRK_LEGACY_IDLE, }; /* From patchwork Wed Mar 27 08:15:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tony Lindgren X-Patchwork-Id: 13605866 Received: from mail5.25mail.st (mail5.25mail.st [74.50.62.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 818422D7B8; Wed, 27 Mar 2024 08:16:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.50.62.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711527385; cv=none; b=eOfKKBv9k/R+g2sshBeinsMaWUZVblW20GN0sQ2TdElrVFyvpy7tr9UIZD8gZxy3dCHwk1ivgj8JZ65oo94looDsU285pHF5dOH3rS9PpSBhxkuP5K64IYOmeFwQr7WCqs+Xg9xg3U7GpfFFnZQR42csAjFoknPzgqWukpQtTRg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711527385; c=relaxed/simple; bh=5XVLYxZnsE3IFzszPgGoCMdQGtUkTEW8giYsWGBSh3I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=C8eBaGsySh3Ns0wk0MePQvfDgdPXJqzGjj49CabyKFl+sIKvzWmoP8/V6V6XHMy4KcSTnNmn2JR4ao0ywjhOhDakLLBKfYcxX558xAgNZkthM96V76lWSKvxd1ZNsbV2wCZdviV1dwGIQtJdBKj3c2QYC4BkTcUtIrzdmjvj8jk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomide.com; spf=fail smtp.mailfrom=atomide.com; dkim=pass (2048-bit key) header.d=atomide.com header.i=@atomide.com header.b=R7DTwvkJ; arc=none smtp.client-ip=74.50.62.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomide.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=atomide.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=atomide.com header.i=@atomide.com header.b="R7DTwvkJ" Received: from localhost (91-158-86-216.elisa-laajakaista.fi [91.158.86.216]) by mail5.25mail.st (Postfix) with ESMTPSA id 4A71260462; Wed, 27 Mar 2024 08:16:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=atomide.com; s=25mailst; t=1711527382; bh=5XVLYxZnsE3IFzszPgGoCMdQGtUkTEW8giYsWGBSh3I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=R7DTwvkJlHqP04o/uUpJuZQJPY3/StqC/WYALswXEh0U7V66CkVLSd0BMzx5cXkmH +oRFSsH0XiNU5MZc0rkAM/hAWlqv+mU3EK/vz0dFuiPMke+DBPawEYCFCJSYqabzmv 0aWpoe9p2CZzjXg+NYgnQgSQfCEo2dwEJ4oH5gpcTC+p1oqkH7DyhGg9MYwdPIgBpa KJt+kh48IgqRLYPvYONp5GMi+HOgXMlrA9ULZdP60lkmEiMh3BF0Fc9xsnEA+uEiWc 5gm+TkIY2cPdyVugAek4/xvL5rRke0qcijVd2NjY3JziCrnJyhsmbyABHdFYCPxeSh kEvxP3FQ2XUcA== From: Tony Lindgren To: linux-omap@vger.kernel.org Cc: Dhruva Gole , Greg Kroah-Hartman , linux-kernel@vger.kernel.org Subject: [PATCH 5/5] bus: ti-sysc: Drop legacy idle quirk handling Date: Wed, 27 Mar 2024 10:15:08 +0200 Message-ID: <20240327081508.36747-6-tony@atomide.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240327081508.36747-1-tony@atomide.com> References: <20240327081508.36747-1-tony@atomide.com> Precedence: bulk X-Mailing-List: linux-omap@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 There are no more users that need the legacy idle quirk so let's drop the legacy idle quirk handling. This simplifies the PM code to just sysc_pm_ops with unified handling for all the interconnect targets. Signed-off-by: Tony Lindgren Reviewed-by: Dhruva Gole --- drivers/bus/ti-sysc.c | 109 +------------------------- include/linux/platform_data/ti-sysc.h | 1 - 2 files changed, 2 insertions(+), 108 deletions(-) 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 @@ -1469,8 +1469,7 @@ static int __maybe_unused sysc_noirq_suspend(struct device *dev) ddata = dev_get_drvdata(dev); - if (ddata->cfg.quirks & - (SYSC_QUIRK_LEGACY_IDLE | SYSC_QUIRK_NO_IDLE)) + if (ddata->cfg.quirks & SYSC_QUIRK_NO_IDLE) return 0; if (!ddata->enabled) @@ -1488,8 +1487,7 @@ static int __maybe_unused sysc_noirq_resume(struct device *dev) ddata = dev_get_drvdata(dev); - if (ddata->cfg.quirks & - (SYSC_QUIRK_LEGACY_IDLE | SYSC_QUIRK_NO_IDLE)) + if (ddata->cfg.quirks & SYSC_QUIRK_NO_IDLE) return 0; if (ddata->cfg.quirks & SYSC_QUIRK_REINIT_ON_RESUME) { @@ -2457,89 +2455,6 @@ static int __maybe_unused sysc_child_runtime_resume(struct device *dev) return pm_generic_runtime_resume(dev); } -#ifdef CONFIG_PM_SLEEP -static int sysc_child_suspend_noirq(struct device *dev) -{ - struct sysc *ddata; - int error; - - ddata = sysc_child_to_parent(dev); - - dev_dbg(ddata->dev, "%s %s\n", __func__, - ddata->name ? ddata->name : ""); - - error = pm_generic_suspend_noirq(dev); - if (error) { - dev_err(dev, "%s error at %i: %i\n", - __func__, __LINE__, error); - - return error; - } - - if (!pm_runtime_status_suspended(dev)) { - error = pm_generic_runtime_suspend(dev); - if (error) { - dev_dbg(dev, "%s busy at %i: %i\n", - __func__, __LINE__, error); - - return 0; - } - - error = sysc_runtime_suspend(ddata->dev); - if (error) { - dev_err(dev, "%s error at %i: %i\n", - __func__, __LINE__, error); - - return error; - } - - ddata->child_needs_resume = true; - } - - return 0; -} - -static int sysc_child_resume_noirq(struct device *dev) -{ - struct sysc *ddata; - int error; - - ddata = sysc_child_to_parent(dev); - - dev_dbg(ddata->dev, "%s %s\n", __func__, - ddata->name ? ddata->name : ""); - - if (ddata->child_needs_resume) { - ddata->child_needs_resume = false; - - error = sysc_runtime_resume(ddata->dev); - if (error) - dev_err(ddata->dev, - "%s runtime resume error: %i\n", - __func__, error); - - error = pm_generic_runtime_resume(dev); - if (error) - dev_err(ddata->dev, - "%s generic runtime resume: %i\n", - __func__, error); - } - - return pm_generic_resume_noirq(dev); -} -#endif - -static struct dev_pm_domain sysc_child_pm_domain = { - .ops = { - SET_RUNTIME_PM_OPS(sysc_child_runtime_suspend, - sysc_child_runtime_resume, - NULL) - USE_PLATFORM_PM_SLEEP_OPS - SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(sysc_child_suspend_noirq, - sysc_child_resume_noirq) - } -}; - /* Caller needs to take list_lock if ever used outside of cpu_pm */ static void sysc_reinit_modules(struct sysc_soc_info *soc) { @@ -2610,25 +2525,6 @@ static void sysc_add_restored(struct sysc *ddata) mutex_unlock(&sysc_soc->list_lock); } -/** - * sysc_legacy_idle_quirk - handle children in omap_device compatible way - * @ddata: device driver data - * @child: child device driver - * - * Allow idle for child devices as done with _od_runtime_suspend(). - * Otherwise many child devices will not idle because of the permanent - * parent usecount set in pm_runtime_irq_safe(). - * - * Note that the long term solution is to just modify the child device - * drivers to not set pm_runtime_irq_safe() and then this can be just - * dropped. - */ -static void sysc_legacy_idle_quirk(struct sysc *ddata, struct device *child) -{ - if (ddata->cfg.quirks & SYSC_QUIRK_LEGACY_IDLE) - dev_pm_domain_set(child, &sysc_child_pm_domain); -} - static int sysc_notifier_call(struct notifier_block *nb, unsigned long event, void *device) { @@ -2645,7 +2541,6 @@ static int sysc_notifier_call(struct notifier_block *nb, error = sysc_child_add_clocks(ddata, dev); if (error) return error; - sysc_legacy_idle_quirk(ddata, dev); break; default: break; 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 @@ -71,7 +71,6 @@ struct sysc_regbits { #define SYSC_QUIRK_SWSUP_SIDLE_ACT BIT(12) #define SYSC_QUIRK_SWSUP_SIDLE BIT(11) #define SYSC_QUIRK_EXT_OPT_CLOCK BIT(10) -#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)