linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Menon, Nishanth" <nm@ti.com>
To: Vishwanath BS <vishwanath.bs@ti.com>
Cc: linux-omap@vger.kernel.org
Subject: Re: [RFC][PATCH 2/3] OMAP PM: Add support for bypassing VP/VC in Voltage layer
Date: Tue, 15 Mar 2011 20:46:01 +0530	[thread overview]
Message-ID: <AANLkTinzfcmXuNhUYqXRNhKk9naCahW2DKWrEmegJ56w@mail.gmail.com> (raw)
In-Reply-To: <1300199622-32500-3-git-send-email-vishwanath.bs@ti.com>

On Tue, Mar 15, 2011 at 20:03, Vishwanath BS <vishwanath.bs@ti.com> wrote:
> Currently Voltage layer assumes that all PMICs use VP/VC for Voltage scaling.
> There can be some instances where PMIC would want to bypass VP/VC for voltage
> scaling. So make VOltage layer flexible enough to handle this.
please fix VOltage.

The commit message does'nt actually explain enough. it is too vague.

>
> Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
> ---
>  arch/arm/mach-omap2/omap_twl.c |    5 +++++
>  arch/arm/mach-omap2/voltage.c  |   12 +++++++-----
>  arch/arm/mach-omap2/voltage.h  |    6 ++++++
>  3 files changed, 18 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
> index f96d4b2..42f66c6 100644
> --- a/arch/arm/mach-omap2/omap_twl.c
> +++ b/arch/arm/mach-omap2/omap_twl.c
> @@ -157,6 +157,7 @@ static struct omap_volt_pmic_info omap3_mpu_volt_info = {
>        .onlp_cmd               = twl4030_uv_to_vsel,
>        .ret_cmd                = twl4030_uv_to_vsel,
>        .off_cmd                = twl4030_uv_to_vsel,
> +       .voltage_class  = VP_VC_CLASS,

Do you need this all unassigned params in a static struct is 0 which
is basically VP_VC_CLASS.

>  };
>
>  static struct omap_volt_pmic_info omap3_core_volt_info = {
> @@ -176,6 +177,7 @@ static struct omap_volt_pmic_info omap3_core_volt_info = {
>        .onlp_cmd               = twl4030_uv_to_vsel,
>        .ret_cmd                = twl4030_uv_to_vsel,
>        .off_cmd                = twl4030_uv_to_vsel,
> +       .voltage_class  = VP_VC_CLASS,
here as well

>  };
>
>  static struct omap_volt_pmic_info omap4_mpu_volt_info = {
> @@ -195,6 +197,7 @@ static struct omap_volt_pmic_info omap4_mpu_volt_info = {
>        .onlp_cmd               = twl4030_uv_to_vsel,
>        .ret_cmd                = twl4030_uv_to_vsel,
>        .off_cmd                = twl4030_uv_to_vsel,
> +       .voltage_class  = VP_VC_CLASS,
again

>  };
>
>  static struct omap_volt_pmic_info omap4_iva_volt_info = {
> @@ -214,6 +217,7 @@ static struct omap_volt_pmic_info omap4_iva_volt_info = {
>        .onlp_cmd               = twl4030_uv_to_vsel,
>        .ret_cmd                = twl4030_uv_to_vsel,
>        .off_cmd                = twl4030_uv_to_vsel,
> +       .voltage_class  = VP_VC_CLASS,
and again

>  };
>
>  static struct omap_volt_pmic_info omap4_core_volt_info = {
> @@ -233,6 +237,7 @@ static struct omap_volt_pmic_info omap4_core_volt_info = {
>        .onlp_cmd               = twl4030_uv_to_vsel,
>        .ret_cmd                = twl4030_uv_to_vsel,
>        .off_cmd                = twl4030_uv_to_vsel,
> +       .voltage_class  = VP_VC_CLASS,
and here
>  };
>
>  int __init omap4_twl_init(void)
> diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
> index 2ac990f..73fa3ee 100644
> --- a/arch/arm/mach-omap2/voltage.c
> +++ b/arch/arm/mach-omap2/voltage.c
> @@ -1194,11 +1194,13 @@ int __init omap_voltage_late_init(void)
>                pr_err("%s: Unable to create voltage debugfs main dir\n",
>                        __func__);
>        for (i = 0; i < nr_scalable_vdd; i++) {
> -               if (omap_vdd_data_configure(vdd_info[i]))
> -                       continue;
> -               omap_vc_init(vdd_info[i]);
> -               vp_init(vdd_info[i]);
> -               vdd_debugfs_init(vdd_info[i]);
> +               if (vdd_info[i]->pmic_info->voltage_class == VP_VC_CLASS) {
> +                       if (omap_vdd_data_configure(vdd_info[i]))
> +                               continue;
> +                       omap_vc_init(vdd_info[i]);
> +                       vp_init(vdd_info[i]);
> +                       vdd_debugfs_init(vdd_info[i]);
> +               }

>        }
>
>        return 0;
> diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
> index de4e09b..17b1e10
> --- a/arch/arm/mach-omap2/voltage.h
> +++ b/arch/arm/mach-omap2/voltage.h
> @@ -23,6 +23,9 @@
>  #define VOLTSCALE_VPFORCEUPDATE                1
>  #define VOLTSCALE_VCBYPASS             2
>
> +#define VP_VC_CLASS 0
> +#define REGULATOR_CLASS 1
please - could you ensure namespace is proper in macro usage?
I dont understand usage difference between VP_VC_CLASS and REGULATOR_CLASS

> +
>  /**
>  * struct omap_vfsm_instance_data - per-voltage manager FSM register/bitfield
>  * data
> @@ -87,6 +90,8 @@ struct omap_volt_data {
>  * @onlp_cmd:  PMIC API to send onlp command instruction
>  * @ret_cmd:   PMIC API to send ret command instruction
>  * @off_cmd:   PMIC API to send off command instruction
> + * @voltage_class: Voltage class used for voltage scaling (can be VP/VC method
> + *                             or regulator based method for now).
>  */
>  struct omap_volt_pmic_info {
>        int slew_rate;
> @@ -105,6 +110,7 @@ struct omap_volt_pmic_info {
>        unsigned char (*onlp_cmd)(unsigned long uV);
>        unsigned char (*ret_cmd)(unsigned long uV);
>        unsigned char (*off_cmd)(unsigned long uV);
> +       u8 voltage_class;
>  };
>
>  /**
> --
> 1.7.0.4
overall, other than deciding to initialize or not initialize VP/VC
based on class, I dont see how you have achieved $subject or $commit
message in terms of bring in bypass ability to VP/VC by introducing
class.

A) the $subject is wrong. you have just introduced voltage_class - I
suggest you state that instead.
B) how your patch achieves support for bypassing vp/vc is not clear
unfortunately.

Regards,
Nishanth Menon
--
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

  reply	other threads:[~2011-03-15 15:21 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-15 14:33 [RFC][PATCH 0/3] OMAP PM: Voltage layer clean up Vishwanath BS
2011-03-15 14:33 ` [RFC][PATCH 1/3] OMAP PM: Seggregate Voltage layer parameters Vishwanath BS
2011-03-17 23:20   ` Kevin Hilman
2011-03-18 12:00     ` Vishwanath Sripathy
2011-04-02  0:03   ` Kevin Hilman
2011-04-05  7:08     ` Vishwanath Sripathy
2011-04-05 18:16       ` Kevin Hilman
2011-03-15 14:33 ` [RFC][PATCH 2/3] OMAP PM: Add support for bypassing VP/VC in Voltage layer Vishwanath BS
2011-03-15 15:16   ` Menon, Nishanth [this message]
2011-03-15 16:14     ` Vishwanath Sripathy
2011-03-16  6:58   ` Premi, Sanjeev
2011-03-15 14:33 ` [RFC][PATCH 3/3] OMAP PM: Add Board specific parameters for OMAP Volatge layer Vishwanath BS
2011-03-15 15:38   ` Menon, Nishanth
2011-03-16  5:53     ` Vishwanath Sripathy
2011-03-17 23:25     ` Kevin Hilman
2011-03-15 15:07 ` [RFC][PATCH 0/3] OMAP PM: Voltage layer clean up Menon, Nishanth
2011-03-15 16:06   ` Vishwanath Sripathy
2011-03-16  1:18     ` Nishanth Menon

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=AANLkTinzfcmXuNhUYqXRNhKk9naCahW2DKWrEmegJ56w@mail.gmail.com \
    --to=nm@ti.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=vishwanath.bs@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;
as well as URLs for NNTP newsgroup(s).