RE: [PATCH v2 1/4] OMAP2PLUS: opt-clocks: align dss clock roles and names

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sumit,

> -----Original Message-----
> From: linux-omap-owner@xxxxxxxxxxxxxxx
[mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of Sumit Semwal
> Sent: Tuesday, January 25, 2011 6:30 PM
> To: tomi.valkeinen@xxxxxxxxx; paul@xxxxxxxxx; khilman@xxxxxx;
hvaibhav@xxxxxx; linux-omap@xxxxxxxxxxxxxxx; b-
> cousson@xxxxxx
> Cc: Sumit Semwal
> Subject: [PATCH v2 1/4] OMAP2PLUS: opt-clocks: align dss clock roles and
names
>
> opt clocks require (NULL, act-clock-name) as entries in clock database,
> so that hwmod can replace it with (dev, role) tuple during hwmod data
init.
>
> These role names are aligned to be same across OMAP2420, 2430, 3xxx,
44xx
> platforms, and also with dss clk handling code, so
clk_get/put/enable/disable
> APIs in dss can use uniform role names.
>
> Signed-off-by: Sumit Semwal <sumit.semwal@xxxxxx>
> ---
>  arch/arm/mach-omap2/clock2420_data.c       |   10 +++++++---
>  arch/arm/mach-omap2/clock2430_data.c       |   10 +++++++---
>  arch/arm/mach-omap2/clock3xxx_data.c       |   22
+++++++++++++++-------
>  arch/arm/mach-omap2/clock44xx_data.c       |    7 ++++++-
>  arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |    2 +-
>  drivers/video/omap2/dss/dss.c              |    8 ++++----
>  6 files changed, 40 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/clock2420_data.c
b/arch/arm/mach-omap2/clock2420_data.c
> index d2abc2f..72a1872 100644
> --- a/arch/arm/mach-omap2/clock2420_data.c
> +++ b/arch/arm/mach-omap2/clock2420_data.c
> @@ -1787,9 +1787,13 @@ static struct omap_clk omap2420_clks[] = {
>  	CLK(NULL,	"gfx_ick",	&gfx_ick,	CK_242X),
>  	/* DSS domain clocks */
>  	CLK("omap_dss",	"ick",		&dss_ick,	CK_242X),
> -	CLK("omap_dss",	"dss1_fck",	&dss1_fck,	CK_242X),
> -	CLK("omap_dss",	"dss2_fck",	&dss2_fck,	CK_242X),
> -	CLK("omap_dss",	"tv_fck",	&dss_54m_fck,	CK_242X),
> +	CLK("omap_dss",	"fck",		&dss1_fck,	CK_242X),
> +	/*
> +	 * clocks handled via hwmod opt_clk mechanism need dev=NULL,
> +	 * con=clock name as per actual clk structure, NOT role
> +	 */

I don't think that's true. The hmmod framework uses the
omap_clk_get_by_name api which does not look up the
clkdev table at all. It just looks up the clk->name, so the
clkdev entries need not be changed with role=clk->name.
Same applies to all other such instances in this patch.

Regards,
Rajendra

> +	CLK(NULL,	"dss2_fck",	&dss2_fck,	CK_242X),
> +	CLK(NULL,	"dss_54m_fck",	&dss_54m_fck,	CK_242X),
>  	/* L3 domain clocks */
>  	CLK(NULL,	"core_l3_ck",	&core_l3_ck,	CK_242X),
>  	CLK(NULL,	"ssi_fck",	&ssi_ssr_sst_fck, CK_242X),
> diff --git a/arch/arm/mach-omap2/clock2430_data.c
b/arch/arm/mach-omap2/clock2430_data.c
> index 663f298..b99f881 100644
> --- a/arch/arm/mach-omap2/clock2430_data.c
> +++ b/arch/arm/mach-omap2/clock2430_data.c
> @@ -1891,9 +1891,13 @@ static struct omap_clk omap2430_clks[] = {
>  	CLK(NULL,	"mdm_osc_ck",	&mdm_osc_ck,	CK_243X),
>  	/* DSS domain clocks */
>  	CLK("omap_dss",	"ick",		&dss_ick,	CK_243X),
> -	CLK("omap_dss",	"dss1_fck",	&dss1_fck,	CK_243X),
> -	CLK("omap_dss",	"dss2_fck",	&dss2_fck,	CK_243X),
> -	CLK("omap_dss",	"tv_fck",	&dss_54m_fck,	CK_243X),
> +	CLK("omap_dss",	"fck",		&dss1_fck,	CK_243X),
> +	/*
> +	 * clocks handled via hwmod opt_clk mechanism need dev=NULL,
> +	 * con=clock name as per actual clk structure, NOT role
> +	 */
> +	CLK(NULL,	"dss2_fck",	&dss2_fck,	CK_243X),
> +	CLK(NULL,	"dss_54m_fck",	&dss_54m_fck,	CK_243X),
>  	/* L3 domain clocks */
>  	CLK(NULL,	"core_l3_ck",	&core_l3_ck,	CK_243X),
>  	CLK(NULL,	"ssi_fck",	&ssi_ssr_sst_fck, CK_243X),
> diff --git a/arch/arm/mach-omap2/clock3xxx_data.c
b/arch/arm/mach-omap2/clock3xxx_data.c
> index 5c97b93..c32df5d 100644
> --- a/arch/arm/mach-omap2/clock3xxx_data.c
> +++ b/arch/arm/mach-omap2/clock3xxx_data.c
> @@ -3357,13 +3357,21 @@ static struct omap_clk omap3xxx_clks[] = {
>  	CLK("omap_rng",	"ick",		&rng_ick,	CK_34XX |
CK_36XX),
>  	CLK(NULL,	"sha11_ick",	&sha11_ick,	CK_34XX |
CK_36XX),
>  	CLK(NULL,	"des1_ick",	&des1_ick,	CK_34XX |
CK_36XX),
> -	CLK("omap_dss",	"dss1_fck",	&dss1_alwon_fck_3430es1,
CK_3430ES1),
> -	CLK("omap_dss",	"dss1_fck",	&dss1_alwon_fck_3430es2,
CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
> -	CLK("omap_dss",	"tv_fck",	&dss_tv_fck,	CK_3XXX),
> -	CLK("omap_dss",	"video_fck",	&dss_96m_fck,	CK_3XXX),
> -	CLK("omap_dss",	"dss2_fck",	&dss2_alwon_fck, CK_3XXX),
> -	CLK("omap_dss",	"ick",		&dss_ick_3430es1,
CK_3430ES1),
> -	CLK("omap_dss",	"ick",		&dss_ick_3430es2,
CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
> +	/* DSS clocks */
> +	CLK("omap_dss",	"fck",		&dss1_alwon_fck_3430es1,
CK_3430ES1),
> +	CLK("omap_dss",	"fck",		&dss1_alwon_fck_3430es2,
CK_3430ES2PLUS
> +								|
CK_AM35XX),
> +	CLK("omap_dss",	"ick",		&dss_ick_3430es1, CK_3430ES1),
> +	CLK("omap_dss",	"ick",		&dss_ick_3430es2, CK_3430ES2PLUS
> +								|
CK_AM35XX),
> +	/*
> +	 * clocks handled via hwmod opt_clk mechanism need dev=NULL,
> +	 * con=clock name as per actual clk structure, NOT role
> +	 */
> +	CLK(NULL,       "dss_tv_fck",   &dss_tv_fck,    CK_3XXX),
> +	CLK(NULL,       "dss_96m_fck",  &dss_96m_fck,   CK_3XXX),
> +	CLK(NULL,       "dss2_alwon_fck",       &dss2_alwon_fck,
CK_3XXX),
> +
>  	CLK(NULL,	"cam_mclk",	&cam_mclk,	CK_34XX |
CK_36XX),
>  	CLK(NULL,	"cam_ick",	&cam_ick,	CK_34XX |
CK_36XX),
>  	CLK(NULL,	"csi2_96m_fck",	&csi2_96m_fck,	CK_34XX |
CK_36XX),
> diff --git a/arch/arm/mach-omap2/clock44xx_data.c
b/arch/arm/mach-omap2/clock44xx_data.c
> index e8cb32f..74db324 100644
> --- a/arch/arm/mach-omap2/clock44xx_data.c
> +++ b/arch/arm/mach-omap2/clock44xx_data.c
> @@ -3107,11 +3107,16 @@ static struct omap_clk omap44xx_clks[] = {
>  	CLK(NULL,	"dmic_sync_mux_ck",		&dmic_sync_mux_ck,
CK_443X),
>  	CLK(NULL,	"dmic_fck",			&dmic_fck,
CK_443X),
>  	CLK(NULL,	"dsp_fck",			&dsp_fck,
CK_443X),
> +	/* dss clocks */
> +	CLK(NULL,	"fck",				&dss_fck,
CK_443X),
> +	/*
> +	 * clocks handled via hwmod opt_clk mechanism need dev=NULL,
> +	 * con=clock name as per actual clk structure, NOT role
> +	 */
>  	CLK(NULL,	"dss_sys_clk",			&dss_sys_clk,
CK_443X),
>  	CLK(NULL,	"dss_tv_clk",			&dss_tv_clk,
CK_443X),
>  	CLK(NULL,	"dss_dss_clk",			&dss_dss_clk,
CK_443X),
>  	CLK(NULL,	"dss_48mhz_clk",		&dss_48mhz_clk,
CK_443X),
> -	CLK(NULL,	"dss_fck",			&dss_fck,
CK_443X),
>  	CLK(NULL,	"efuse_ctrl_cust_fck",
&efuse_ctrl_cust_fck,	CK_443X),
>  	CLK(NULL,	"emif1_fck",			&emif1_fck,
CK_443X),
>  	CLK(NULL,	"emif2_fck",			&emif2_fck,
CK_443X),
> diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> index 713165d..cb0c624 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> @@ -770,7 +770,7 @@ static struct omap_hwmod_ocp_if
*omap3xxx_dss_slaves[] = {
>
>  static struct omap_hwmod_opt_clk dss_opt_clks[] = {
>  	{ .role = "tv_clk", .clk = "dss_tv_fck" },
> -	{ .role = "dssclk", .clk = "dss_96m_fck" },
> +	{ .role = "video_clk", .clk = "dss_96m_fck" },
>  	{ .role = "sys_clk", .clk = "dss2_alwon_fck" },
>  };
>
> diff --git a/drivers/video/omap2/dss/dss.c
b/drivers/video/omap2/dss/dss.c
> index f9390b4..91f8cf7 100644
> --- a/drivers/video/omap2/dss/dss.c
> +++ b/drivers/video/omap2/dss/dss.c
> @@ -758,19 +758,19 @@ static int dss_get_clocks(void)
>  	if (r)
>  		goto err;
>
> -	r = dss_get_clock(&dss.dss1_fck, "dss1_fck");
> +	r = dss_get_clock(&dss.dss1_fck, "fck");
>  	if (r)
>  		goto err;
>
> -	r = dss_get_clock(&dss.dss2_fck, "dss2_fck");
> +	r = dss_get_clock(&dss.dss2_fck, "sys_clk");
>  	if (r)
>  		goto err;
>
> -	r = dss_get_clock(&dss.dss_54m_fck, "tv_fck");
> +	r = dss_get_clock(&dss.dss_54m_fck, "tv_clk");
>  	if (r)
>  		goto err;
>
> -	r = dss_get_clock(&dss.dss_96m_fck, "video_fck");
> +	r = dss_get_clock(&dss.dss_96m_fck, "video_clk");
>  	if (r)
>  		goto err;
>
> --
> 1.7.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux