From: Kevin Hilman <khilman@deeprootsystems.com>
To: Rajendra Nayak <rnayak@ti.com>
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCH 01/08] OMAP3 SRF: Add CORE rate table param in OMAP-PM
Date: Tue, 11 Nov 2008 17:08:06 -0800 [thread overview]
Message-ID: <87fxlxn43t.fsf@deeprootsystems.com> (raw)
In-Reply-To: <00bf01c94327$61ac5800$LocalHost@wipultra1382> (Rajendra Nayak's message of "Mon\, 10 Nov 2008 16\:57\:57 +0530")
"Rajendra Nayak" <rnayak@ti.com> writes:
> This patch modifies the omap_pm_if_init API in OMAP-PM
> layer to take the L3 interconnect/CORE OPP table
> as an additional parameter.
>
> Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Rajendra,
The current code does not handle well the case where board files pass
in NULL values for the various rate tables.
In the init code, there are a few places where you use the *_opps values
without checking if they are non-NULL, and this will trigger faults.
Can you test and fix the case where your board file passes in NULL for
all the OPP tables?
Kevin
> ---
> arch/arm/mach-omap2/io.c | 2 +-
> arch/arm/plat-omap/include/mach/omap-pm.h | 4 +++-
> arch/arm/plat-omap/omap-pm-noop.c | 5 ++++-
> arch/arm/plat-omap/omap-pm-srf.c | 5 ++++-
> 4 files changed, 12 insertions(+), 4 deletions(-)
>
> Index: linux-omap-2.6/arch/arm/plat-omap/include/mach/omap-pm.h
> ===================================================================
> --- linux-omap-2.6.orig/arch/arm/plat-omap/include/mach/omap-pm.h 2008-11-10 12:09:03.000000000 +0530
> +++ linux-omap-2.6/arch/arm/plat-omap/include/mach/omap-pm.h 2008-11-10 12:09:12.000000000 +0530
> @@ -57,12 +57,14 @@ int __init omap_pm_if_early_init(void);
> * omap_pm_if_init - OMAP PM init code called after clock fw init
> * @mpu_opp_table: array ptr to struct omap_opp for MPU
> * @dsp_opp_table: array ptr to struct omap_opp for DSP
> + * @l3_opp_table : array ptr to struct omap_opp for CORE
> *
> * The main initialization code. OPP tables are passed in here. The
> * "_if_" is to avoid name collisions with the PM idle-loop code.
> */
> int __init omap_pm_if_init(struct omap_opp *mpu_opp_table,
> - struct omap_opp *dsp_opp_table);
> + struct omap_opp *dsp_opp_table,
> + struct omap_opp *l3_opp_table);
>
> /**
> * omap_pm_if_exit - OMAP PM exit code
> Index: linux-omap-2.6/arch/arm/plat-omap/omap-pm-noop.c
> ===================================================================
> --- linux-omap-2.6.orig/arch/arm/plat-omap/omap-pm-noop.c 2008-11-10 12:09:03.000000000 +0530
> +++ linux-omap-2.6/arch/arm/plat-omap/omap-pm-noop.c 2008-11-10 12:09:12.000000000 +0530
> @@ -28,6 +28,7 @@
>
> static struct omap_opp *dsp_opps;
> static struct omap_opp *mpu_opps;
> +static struct omap_opp *l3_opps;
>
> /*
> * Device-driver-originated constraints (via board-*.c files)
> @@ -316,10 +317,12 @@ int __init omap_pm_if_early_init(void)
>
> /* Must be called after clock framework is initialized */
> int __init omap_pm_if_init(struct omap_opp *mpu_opp_table,
> - struct omap_opp *dsp_opp_table)
> + struct omap_opp *dsp_opp_table,
> + struct omap_opp *l3_opp_table)
> {
> mpu_opps = mpu_opp_table;
> dsp_opps = dsp_opp_table;
> + l3_opps = l3_opp_table;
> return 0;
> }
>
> Index: linux-omap-2.6/arch/arm/plat-omap/omap-pm-srf.c
> ===================================================================
> --- linux-omap-2.6.orig/arch/arm/plat-omap/omap-pm-srf.c 2008-11-10 12:09:03.000000000 +0530
> +++ linux-omap-2.6/arch/arm/plat-omap/omap-pm-srf.c 2008-11-10 12:09:12.000000000 +0530
> @@ -29,6 +29,7 @@
>
> static struct omap_opp *dsp_opps;
> static struct omap_opp *mpu_opps;
> +static struct omap_opp *l3_opps;
>
> #define LAT_RES_POSTAMBLE "_latency"
> #define MAX_LATENCY_RES_NAME 30
> @@ -346,10 +347,12 @@ int __init omap_pm_if_early_init(void)
>
> /* Must be called after clock framework is initialized */
> int __init omap_pm_if_init(struct omap_opp *mpu_opp_table,
> - struct omap_opp *dsp_opp_table)
> + struct omap_opp *dsp_opp_table,
> + struct omap_opp *l3_opp_table)
> {
> mpu_opps = mpu_opp_table;
> dsp_opps = dsp_opp_table;
> + l3_opps = l3_opp_table;
> resource_init(resources_omap);
> return 0;
> }
> Index: linux-omap-2.6/arch/arm/mach-omap2/io.c
> ===================================================================
> --- linux-omap-2.6.orig/arch/arm/mach-omap2/io.c 2008-11-10 12:09:03.000000000 +0530
> +++ linux-omap-2.6/arch/arm/mach-omap2/io.c 2008-11-10 12:09:12.000000000 +0530
> @@ -206,7 +206,7 @@ void __init omap2_init_common_hw(struct
> clkdm_init(clockdomains_omap, clkdm_pwrdm_autodeps);
> omapdev_init(omapdevs);
> omap2_clk_init();
> - omap_pm_if_init(NULL, NULL);
> + omap_pm_if_init(NULL, NULL, NULL);
> omap2_sdrc_init(sp);
> gpmc_init();
> }
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2008-11-12 1:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-10 11:27 [PATCH 01/08] OMAP3 SRF: Add CORE rate table param in OMAP-PM Rajendra Nayak
2008-11-12 1:08 ` Kevin Hilman [this message]
2008-11-12 4:59 ` Rajendra Nayak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fxlxn43t.fsf@deeprootsystems.com \
--to=khilman@deeprootsystems.com \
--cc=linux-omap@vger.kernel.org \
--cc=rnayak@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox