mbox series

[0/4] clk: ti: get rid of CLK_IS_BASIC

Message ID 1547543715-16467-1-git-send-email-t-kristo@ti.com
Headers show
Series clk: ti: get rid of CLK_IS_BASIC | expand

Message

Tero Kristo Jan. 15, 2019, 9:15 a.m. UTC
Hi Stephen,

As requested, this series gets rid of CLK_IS_BASIC flag usage from
TI clock drivers.

Boot tested on am3/am4/am5/omap3/omap4 series of SoCs. Also, ran a quick
suspend/resume test on omap3/omap4/am5.

-Tero

--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

Comments

Tony Lindgren Jan. 15, 2019, 6:20 p.m. UTC | #1
* Tero Kristo <t-kristo@ti.com> [190115 09:15]:
> Hi Stephen,

> 

> As requested, this series gets rid of CLK_IS_BASIC flag usage from

> TI clock drivers.

> 

> Boot tested on am3/am4/am5/omap3/omap4 series of SoCs. Also, ran a quick

> suspend/resume test on omap3/omap4/am5.


Does this also fix the issue Andreas was fixing earlier
or is this separate clean-up?

Regards,

Tony
Tero Kristo Jan. 15, 2019, 6:31 p.m. UTC | #2
On 15/01/2019 20:20, Tony Lindgren wrote:
> * Tero Kristo <t-kristo@ti.com> [190115 09:15]:

>> Hi Stephen,

>>

>> As requested, this series gets rid of CLK_IS_BASIC flag usage from

>> TI clock drivers.

>>

>> Boot tested on am3/am4/am5/omap3/omap4 series of SoCs. Also, ran a quick

>> suspend/resume test on omap3/omap4/am5.

> 

> Does this also fix the issue Andreas was fixing earlier

> or is this separate clean-up?


The series from Andreas would be needed on top of this.

-Tero
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Andreas Kemnade Jan. 15, 2019, 8:24 p.m. UTC | #3
Hi Tero,

On Tue, 15 Jan 2019 20:31:54 +0200
Tero Kristo <t-kristo@ti.com> wrote:

> On 15/01/2019 20:20, Tony Lindgren wrote:

> > * Tero Kristo <t-kristo@ti.com> [190115 09:15]:  

> >> Hi Stephen,

> >>

> >> As requested, this series gets rid of CLK_IS_BASIC flag usage from

> >> TI clock drivers.

> >>

> >> Boot tested on am3/am4/am5/omap3/omap4 series of SoCs. Also, ran a quick

> >> suspend/resume test on omap3/omap4/am5.  

> > 

> > Does this also fix the issue Andreas was fixing earlier

> > or is this separate clean-up?  

> 

> The series from Andreas would be needed on top of this.

> 

thanks for this cleanup. I will rebase my work upon it the next days.

Regards,
Andreas
Tony Lindgren Jan. 21, 2019, 7:58 p.m. UTC | #4
* Tero Kristo <t-kristo@ti.com> [190115 18:32]:
> On 15/01/2019 20:20, Tony Lindgren wrote:

> > * Tero Kristo <t-kristo@ti.com> [190115 09:15]:

> > > Hi Stephen,

> > > 

> > > As requested, this series gets rid of CLK_IS_BASIC flag usage from

> > > TI clock drivers.

> > > 

> > > Boot tested on am3/am4/am5/omap3/omap4 series of SoCs. Also, ran a quick

> > > suspend/resume test on omap3/omap4/am5.

> > 

> > Does this also fix the issue Andreas was fixing earlier

> > or is this separate clean-up?

> 

> The series from Andreas would be needed on top of this.


OK so I acked Andreas' series, and here's an ack for
this series too:

Acked-by: Tony Lindgren <tony@atomide.com>
Tero Kristo Feb. 15, 2019, 7:19 p.m. UTC | #5
On 21/01/2019 21:58, Tony Lindgren wrote:
> * Tero Kristo <t-kristo@ti.com> [190115 18:32]:

>> On 15/01/2019 20:20, Tony Lindgren wrote:

>>> * Tero Kristo <t-kristo@ti.com> [190115 09:15]:

>>>> Hi Stephen,

>>>>

>>>> As requested, this series gets rid of CLK_IS_BASIC flag usage from

>>>> TI clock drivers.

>>>>

>>>> Boot tested on am3/am4/am5/omap3/omap4 series of SoCs. Also, ran a quick

>>>> suspend/resume test on omap3/omap4/am5.

>>>

>>> Does this also fix the issue Andreas was fixing earlier

>>> or is this separate clean-up?

>>

>> The series from Andreas would be needed on top of this.

> 

> OK so I acked Andreas' series, and here's an ack for

> this series too:

> 

> Acked-by: Tony Lindgren <tony@atomide.com>

> 


Queued up for 5.1, thanks.

-Tero
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Stephen Boyd Feb. 22, 2019, 7:50 p.m. UTC | #6
Quoting Tero Kristo (2019-01-15 01:15:11)
> Hi Stephen,

> 

> As requested, this series gets rid of CLK_IS_BASIC flag usage from

> TI clock drivers.

> 

> Boot tested on am3/am4/am5/omap3/omap4 series of SoCs. Also, ran a quick

> suspend/resume test on omap3/omap4/am5.

> 


I'm looking at clk-next now that this is all merged in and I still see
one usage of CLK_IS_BASIC in the omap2 hwmod code.

arch/arm/mach-omap2/omap_hwmod.c:               if (__clk_get_flags(oh->_clk) & CLK_IS_BASIC)

Can that also be removed? If not, what clk types are on this platform?
Maybe I can remove CLK_IS_BASIC from every clk type except for the ones
that this code is checking for.
Tero Kristo Feb. 25, 2019, 7:18 a.m. UTC | #7
On 22/02/2019 21:50, Stephen Boyd wrote:
> Quoting Tero Kristo (2019-01-15 01:15:11)

>> Hi Stephen,

>>

>> As requested, this series gets rid of CLK_IS_BASIC flag usage from

>> TI clock drivers.

>>

>> Boot tested on am3/am4/am5/omap3/omap4 series of SoCs. Also, ran a quick

>> suspend/resume test on omap3/omap4/am5.

>>

> 

> I'm looking at clk-next now that this is all merged in and I still see

> one usage of CLK_IS_BASIC in the omap2 hwmod code.

> 

> arch/arm/mach-omap2/omap_hwmod.c:               if (__clk_get_flags(oh->_clk) & CLK_IS_BASIC)

> 

> Can that also be removed? If not, what clk types are on this platform?

> Maybe I can remove CLK_IS_BASIC from every clk type except for the ones

> that this code is checking for.

> 


Hmm, I missed this in my update, only looked at the drivers/clk/ti 
portion of code. However, this can be fixed with the following patch, I 
would need to export the omap2_clk_is_hw_omap() func from the driver and 
call it from the omap2 platform code. What do you think? Shall I post 
this as an official change? This one still has the issue that I am 
calling __clk_get_hw() though.

---


diff --git a/arch/arm/mach-omap2/omap_hwmod.c 
b/arch/arm/mach-omap2/omap_hwmod.c
index 3a04c73..baadddf 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -648,10 +648,10 @@ static struct clockdomain *_get_clkdm(struct 
omap_hwmod *oh)
  	if (oh->clkdm) {
  		return oh->clkdm;
  	} else if (oh->_clk) {
-		if (__clk_get_flags(oh->_clk) & CLK_IS_BASIC)
+		if (!omap2_clk_is_hw_omap(__clk_get_hw(oh->_clk)))
  			return NULL;
  		clk = to_clk_hw_omap(__clk_get_hw(oh->_clk));
-		return  clk->clkdm;
+		return clk->clkdm;
  	}
  	return NULL;
  }
diff --git a/drivers/clk/ti/clock.h b/drivers/clk/ti/clock.h
index 1c0fac5..4223a39 100644
--- a/drivers/clk/ti/clock.h
+++ b/drivers/clk/ti/clock.h
@@ -303,7 +303,6 @@ long omap4_dpll_regm4xen_round_rate(struct clk_hw *hw,
  int omap4_dpll_regm4xen_determine_rate(struct clk_hw *hw,
  				       struct clk_rate_request *req);
  int omap2_clk_for_each(int (*fn)(struct clk_hw_omap *hw));
-bool omap2_clk_is_hw_omap(struct clk_hw *hw);

  extern struct ti_clk_ll_ops *ti_clk_ll_ops;

diff --git a/include/linux/clk/ti.h b/include/linux/clk/ti.h
index 78872ef..2821f7c 100644
--- a/include/linux/clk/ti.h
+++ b/include/linux/clk/ti.h
@@ -243,6 +243,7 @@ struct ti_clk_ll_ops {

  #define to_clk_hw_omap(_hw) container_of(_hw, struct clk_hw_omap, hw)

+bool omap2_clk_is_hw_omap(struct clk_hw *hw);
  int omap2_clk_disable_autoidle_all(void);
  int omap2_clk_enable_autoidle_all(void);
  int omap2_clk_allow_idle(struct clk *clk);
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Stephen Boyd Feb. 25, 2019, 5:12 p.m. UTC | #8
Quoting Tero Kristo (2019-02-24 23:18:57)
> On 22/02/2019 21:50, Stephen Boyd wrote:

> > Quoting Tero Kristo (2019-01-15 01:15:11)

> >> Hi Stephen,

> >>

> >> As requested, this series gets rid of CLK_IS_BASIC flag usage from

> >> TI clock drivers.

> >>

> >> Boot tested on am3/am4/am5/omap3/omap4 series of SoCs. Also, ran a quick

> >> suspend/resume test on omap3/omap4/am5.

> >>

> > 

> > I'm looking at clk-next now that this is all merged in and I still see

> > one usage of CLK_IS_BASIC in the omap2 hwmod code.

> > 

> > arch/arm/mach-omap2/omap_hwmod.c:               if (__clk_get_flags(oh->_clk) & CLK_IS_BASIC)

> > 

> > Can that also be removed? If not, what clk types are on this platform?

> > Maybe I can remove CLK_IS_BASIC from every clk type except for the ones

> > that this code is checking for.

> > 

> 

> Hmm, I missed this in my update, only looked at the drivers/clk/ti 

> portion of code. However, this can be fixed with the following patch, I 

> would need to export the omap2_clk_is_hw_omap() func from the driver and 

> call it from the omap2 platform code. What do you think? Shall I post 

> this as an official change? This one still has the issue that I am 

> calling __clk_get_hw() though.


Looks ok to me. Please post it as an official change. I think we should
look into making clk domains with genpds and plumb that through the clk
framework so that devices calling clk_get() can have their domains
attached automatically on clk_get(). Maybe that would help here. Not
sure.