All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] Updates for ti-sysc interconnect target driver
@ 2024-03-27  8:15 Tony Lindgren
  2024-03-27  8:15 ` [PATCH 1/5] bus: ti-sysc: Move check for no-reset-on-init Tony Lindgren
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Tony Lindgren @ 2024-03-27  8:15 UTC (permalink / raw)
  To: linux-omap; +Cc: Dhruva Gole, Greg Kroah-Hartman, linux-kernel

Hi all,

Here are few updates for ti-sysc. We were missing copyrights, have one
non-urgent issue on reset handling, and can finally drop all the quirks
related to the legacy use of pm_runtime_irq_safe() for uart and
smartreflex.

Regards,

Tony

Tony Lindgren (5):
  bus: ti-sysc: Move check for no-reset-on-init
  bus: ti-sysc: Add a description and copyrights
  bus: ti-sysc: Drop legacy quirk handling for uarts
  bus: ti-sysc: Drop legacy quirk handling for smartreflex
  bus: ti-sysc: Drop legacy idle quirk handling

 drivers/bus/ti-sysc.c                 | 165 ++++++--------------------
 include/linux/platform_data/ti-sysc.h |   1 -
 2 files changed, 34 insertions(+), 132 deletions(-)

-- 
2.44.0

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/5] bus: ti-sysc: Move check for no-reset-on-init
  2024-03-27  8:15 [PATCH 0/5] Updates for ti-sysc interconnect target driver Tony Lindgren
@ 2024-03-27  8:15 ` Tony Lindgren
  2024-03-27  8:15 ` [PATCH 2/5] bus: ti-sysc: Add a description and copyrights Tony Lindgren
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 13+ messages in thread
From: Tony Lindgren @ 2024-03-27  8:15 UTC (permalink / raw)
  To: linux-omap; +Cc: Dhruva Gole, Greg Kroah-Hartman, linux-kernel

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 <tony@atomide.com>
---
 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)
-- 
2.44.0

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 2/5] bus: ti-sysc: Add a description and copyrights
  2024-03-27  8:15 [PATCH 0/5] Updates for ti-sysc interconnect target driver Tony Lindgren
  2024-03-27  8:15 ` [PATCH 1/5] bus: ti-sysc: Move check for no-reset-on-init Tony Lindgren
@ 2024-03-27  8:15 ` Tony Lindgren
  2024-03-28 11:19   ` Dhruva Gole
  2024-03-27  8:15 ` [PATCH 3/5] bus: ti-sysc: Drop legacy quirk handling for uarts Tony Lindgren
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: Tony Lindgren @ 2024-03-27  8:15 UTC (permalink / raw)
  To: linux-omap; +Cc: Dhruva Gole, Greg Kroah-Hartman, linux-kernel

The ti-sysc driver is missing coprights and description, let's add
those.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 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 <linux/io.h>
-- 
2.44.0

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 3/5] bus: ti-sysc: Drop legacy quirk handling for uarts
  2024-03-27  8:15 [PATCH 0/5] Updates for ti-sysc interconnect target driver Tony Lindgren
  2024-03-27  8:15 ` [PATCH 1/5] bus: ti-sysc: Move check for no-reset-on-init Tony Lindgren
  2024-03-27  8:15 ` [PATCH 2/5] bus: ti-sysc: Add a description and copyrights Tony Lindgren
@ 2024-03-27  8:15 ` Tony Lindgren
  2024-03-27  8:15 ` [PATCH 4/5] bus: ti-sysc: Drop legacy quirk handling for smartreflex Tony Lindgren
  2024-03-27  8:15 ` [PATCH 5/5] bus: ti-sysc: Drop legacy idle quirk handling Tony Lindgren
  4 siblings, 0 replies; 13+ messages in thread
From: Tony Lindgren @ 2024-03-27  8:15 UTC (permalink / raw)
  To: linux-omap; +Cc: Dhruva Gole, Greg Kroah-Hartman, linux-kernel

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 <tony@atomide.com>
---
 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,
-- 
2.44.0

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 4/5] bus: ti-sysc: Drop legacy quirk handling for smartreflex
  2024-03-27  8:15 [PATCH 0/5] Updates for ti-sysc interconnect target driver Tony Lindgren
                   ` (2 preceding siblings ...)
  2024-03-27  8:15 ` [PATCH 3/5] bus: ti-sysc: Drop legacy quirk handling for uarts Tony Lindgren
@ 2024-03-27  8:15 ` Tony Lindgren
  2024-03-28 11:23   ` Dhruva Gole
  2024-03-27  8:15 ` [PATCH 5/5] bus: ti-sysc: Drop legacy idle quirk handling Tony Lindgren
  4 siblings, 1 reply; 13+ messages in thread
From: Tony Lindgren @ 2024-03-27  8:15 UTC (permalink / raw)
  To: linux-omap; +Cc: Dhruva Gole, Greg Kroah-Hartman, linux-kernel

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 <tony@atomide.com>
---
 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,
 };
 
 /*
-- 
2.44.0

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 5/5] bus: ti-sysc: Drop legacy idle quirk handling
  2024-03-27  8:15 [PATCH 0/5] Updates for ti-sysc interconnect target driver Tony Lindgren
                   ` (3 preceding siblings ...)
  2024-03-27  8:15 ` [PATCH 4/5] bus: ti-sysc: Drop legacy quirk handling for smartreflex Tony Lindgren
@ 2024-03-27  8:15 ` Tony Lindgren
  2024-03-28 11:28   ` Dhruva Gole
  4 siblings, 1 reply; 13+ messages in thread
From: Tony Lindgren @ 2024-03-27  8:15 UTC (permalink / raw)
  To: linux-omap; +Cc: Dhruva Gole, Greg Kroah-Hartman, linux-kernel

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 <tony@atomide.com>
---
 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)
-- 
2.44.0

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/5] bus: ti-sysc: Add a description and copyrights
  2024-03-27  8:15 ` [PATCH 2/5] bus: ti-sysc: Add a description and copyrights Tony Lindgren
@ 2024-03-28 11:19   ` Dhruva Gole
  2024-03-28 11:36     ` Greg Kroah-Hartman
  2024-03-28 11:38     ` Tony Lindgren
  0 siblings, 2 replies; 13+ messages in thread
From: Dhruva Gole @ 2024-03-28 11:19 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, Greg Kroah-Hartman, linux-kernel, nm, vigneshr

On Mar 27, 2024 at 10:15:05 +0200, Tony Lindgren wrote:
> The ti-sysc driver is missing coprights and description, let's add
> those.
> 
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
>  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.

+Nishant

I am no expert on the copyrights part of it, but who gets copyright from
2012 - 2017?

Also, for TI should we stick to this format as you did above?
Copyright (C) 2011-2024 Texas Instruments Incorporated
perhaps?

But otherwise,
Reviewed-by: Dhruva Gole <d-gole@ti.com>

-- 
Best regards,
Dhruva

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 4/5] bus: ti-sysc: Drop legacy quirk handling for smartreflex
  2024-03-27  8:15 ` [PATCH 4/5] bus: ti-sysc: Drop legacy quirk handling for smartreflex Tony Lindgren
@ 2024-03-28 11:23   ` Dhruva Gole
  2024-03-28 11:34     ` Tony Lindgren
  0 siblings, 1 reply; 13+ messages in thread
From: Dhruva Gole @ 2024-03-28 11:23 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, Greg Kroah-Hartman, linux-kernel

Hi,

On Mar 27, 2024 at 10:15:07 +0200, Tony Lindgren wrote:
> With the smartreflex driver no longer relying on the use of
> pm_runtime_irq_safe(), we can finally drop the related legacy quirk
> handling.

Just for some more context can you describe from which commit of
smartreflex driver did this happen?

> 
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
>  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,

I'm good with the changes,
Reviewed-by: Dhruva Gole <d-gole@ti.com>

-- 
Best regards,
Dhruva

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 5/5] bus: ti-sysc: Drop legacy idle quirk handling
  2024-03-27  8:15 ` [PATCH 5/5] bus: ti-sysc: Drop legacy idle quirk handling Tony Lindgren
@ 2024-03-28 11:28   ` Dhruva Gole
  0 siblings, 0 replies; 13+ messages in thread
From: Dhruva Gole @ 2024-03-28 11:28 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, Greg Kroah-Hartman, linux-kernel

Hi,

On Mar 27, 2024 at 10:15:08 +0200, Tony Lindgren wrote:
> 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 <tony@atomide.com>
> ---
>  drivers/bus/ti-sysc.c                 | 109 +-------------------------
>  include/linux/platform_data/ti-sysc.h |   1 -
>  2 files changed, 2 insertions(+), 108 deletions(-)
> 

looks much cleaner :)
Reviewed-by: Dhruva Gole <d-gole@ti.com>

-- 
Best regards,
Dhruva

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 4/5] bus: ti-sysc: Drop legacy quirk handling for smartreflex
  2024-03-28 11:23   ` Dhruva Gole
@ 2024-03-28 11:34     ` Tony Lindgren
  0 siblings, 0 replies; 13+ messages in thread
From: Tony Lindgren @ 2024-03-28 11:34 UTC (permalink / raw)
  To: Dhruva Gole; +Cc: linux-omap, Greg Kroah-Hartman, linux-kernel

* Dhruva Gole <d-gole@ti.com> [240328 11:23]:
> Hi,
> 
> On Mar 27, 2024 at 10:15:07 +0200, Tony Lindgren wrote:
> > With the smartreflex driver no longer relying on the use of
> > pm_runtime_irq_safe(), we can finally drop the related legacy quirk
> > handling.
> 
> Just for some more context can you describe from which commit of
> smartreflex driver did this happen?

That happened earlier with commit ed4520d6a10b ("soc: ti: Remove
pm_runtime_irq_safe() usage for smartreflex").

Regards,

Tony

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/5] bus: ti-sysc: Add a description and copyrights
  2024-03-28 11:19   ` Dhruva Gole
@ 2024-03-28 11:36     ` Greg Kroah-Hartman
  2024-03-28 11:47       ` Dhruva Gole
  2024-03-28 11:38     ` Tony Lindgren
  1 sibling, 1 reply; 13+ messages in thread
From: Greg Kroah-Hartman @ 2024-03-28 11:36 UTC (permalink / raw)
  To: Dhruva Gole; +Cc: Tony Lindgren, linux-omap, linux-kernel, nm, vigneshr

On Thu, Mar 28, 2024 at 04:49:07PM +0530, Dhruva Gole wrote:
> On Mar 27, 2024 at 10:15:05 +0200, Tony Lindgren wrote:
> > The ti-sysc driver is missing coprights and description, let's add
> > those.
> > 
> > Signed-off-by: Tony Lindgren <tony@atomide.com>
> > ---
> >  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.
> 
> +Nishant
> 
> I am no expert on the copyrights part of it, but who gets copyright from
> 2012 - 2017?

If there are no changes in those years, what exactly are you attempting
to copyright for those years?

Please talk to your corporate copyright lawyers about this.  I'm sure
there is a class you can take from them to explain all of this.  If not,
there's a free one online from the Linux Foundation that you might want
to take instead.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/5] bus: ti-sysc: Add a description and copyrights
  2024-03-28 11:19   ` Dhruva Gole
  2024-03-28 11:36     ` Greg Kroah-Hartman
@ 2024-03-28 11:38     ` Tony Lindgren
  1 sibling, 0 replies; 13+ messages in thread
From: Tony Lindgren @ 2024-03-28 11:38 UTC (permalink / raw)
  To: Dhruva Gole; +Cc: linux-omap, Greg Kroah-Hartman, linux-kernel, nm, vigneshr

* Dhruva Gole <d-gole@ti.com> [240328 11:19]:
> On Mar 27, 2024 at 10:15:05 +0200, Tony Lindgren wrote:
> > The ti-sysc driver is missing coprights and description, let's add
> > those.
> > 
> > Signed-off-by: Tony Lindgren <tony@atomide.com>
> > ---
> >  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.
> 
> +Nishant
> 
> I am no expert on the copyrights part of it, but who gets copyright from
> 2012 - 2017?

Well this particular driver did not exist until 2017 :) But for the
earlier hwmod arch code reference above, we could make it 2011-2024.

> Also, for TI should we stick to this format as you did above?
> Copyright (C) 2011-2024 Texas Instruments Incorporated
> perhaps?

Sure that works for me.

> But otherwise,
> Reviewed-by: Dhruva Gole <d-gole@ti.com>

Thanks,

Tony

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/5] bus: ti-sysc: Add a description and copyrights
  2024-03-28 11:36     ` Greg Kroah-Hartman
@ 2024-03-28 11:47       ` Dhruva Gole
  0 siblings, 0 replies; 13+ messages in thread
From: Dhruva Gole @ 2024-03-28 11:47 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: Tony Lindgren, linux-omap, linux-kernel, nm, vigneshr

On Mar 28, 2024 at 12:36:22 +0100, Greg Kroah-Hartman wrote:
> On Thu, Mar 28, 2024 at 04:49:07PM +0530, Dhruva Gole wrote:
> > On Mar 27, 2024 at 10:15:05 +0200, Tony Lindgren wrote:
> > > The ti-sysc driver is missing coprights and description, let's add
> > > those.
> > > 
> > > Signed-off-by: Tony Lindgren <tony@atomide.com>
> > > ---
> > >  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.
> > 
> > +Nishant
> > 
> > I am no expert on the copyrights part of it, but who gets copyright from
> > 2012 - 2017?
> 
> If there are no changes in those years, what exactly are you attempting
> to copyright for those years?

Oops, should've checked git log. I think 2017 makes sense then.
However the 2011-2012 copyright format comment still stands.

> 
> Please talk to your corporate copyright lawyers about this.  I'm sure
> there is a class you can take from them to explain all of this.  If not,
> there's a free one online from the Linux Foundation that you might want
> to take instead.

Thanks, will take a look!


-- 
Best regards,
Dhruva Gole <d-gole@ti.com>

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-03-28 11:47 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-27  8:15 [PATCH 0/5] Updates for ti-sysc interconnect target driver Tony Lindgren
2024-03-27  8:15 ` [PATCH 1/5] bus: ti-sysc: Move check for no-reset-on-init Tony Lindgren
2024-03-27  8:15 ` [PATCH 2/5] bus: ti-sysc: Add a description and copyrights Tony Lindgren
2024-03-28 11:19   ` Dhruva Gole
2024-03-28 11:36     ` Greg Kroah-Hartman
2024-03-28 11:47       ` Dhruva Gole
2024-03-28 11:38     ` Tony Lindgren
2024-03-27  8:15 ` [PATCH 3/5] bus: ti-sysc: Drop legacy quirk handling for uarts Tony Lindgren
2024-03-27  8:15 ` [PATCH 4/5] bus: ti-sysc: Drop legacy quirk handling for smartreflex Tony Lindgren
2024-03-28 11:23   ` Dhruva Gole
2024-03-28 11:34     ` Tony Lindgren
2024-03-27  8:15 ` [PATCH 5/5] bus: ti-sysc: Drop legacy idle quirk handling Tony Lindgren
2024-03-28 11:28   ` Dhruva Gole

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.