From: Kevin Hilman <khilman@ti.com>
To: Nishanth Menon <nm@ti.com>
Cc: linux-omap <linux-omap@vger.kernel.org>
Subject: Re: [pm-wip/voltdm_nm][PATCH 04/10] OMAP4: PM: VC: allow channels use of default channel volt_reg_addr
Date: Thu, 09 Jun 2011 11:32:56 -0700 [thread overview]
Message-ID: <87sjriyhwn.fsf@ti.com> (raw)
In-Reply-To: <1307412972-25854-5-git-send-email-nm@ti.com> (Nishanth Menon's message of "Mon, 6 Jun 2011 21:16:07 -0500")
Nishanth Menon <nm@ti.com> writes:
> OMAP4's PRM_VC_CFG_CHANNEL register allows for flexibility of configuring
> for various PMIC configurations. In combinations where we'd like to
> use the default VC channel's voltage_reg address in a particular non-default
> VC channel, we allow the use of USE_DEFAULT_CHANNEL_I2C_PARAM.
>
> Since 0 is a valid register address, we need to increase the size of
> reg storage for the flag. Depending on the PMIC and platform used,
> this can be populated on the PMIC's datastructure and percolates to
> VC's configuration.
>
> Signed-off-by: Nishanth Menon <nm@ti.com>
Approach is fine. After rebase, you won't have to do the u16 changes
anymore since I squashed them into earlier patches already.
Minor nit below...
> ---
> arch/arm/mach-omap2/vc.c | 17 ++++++++++-------
> arch/arm/mach-omap2/vc.h | 2 +-
> arch/arm/mach-omap2/voltage.h | 4 ++--
> 3 files changed, 13 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
> index 6017c70..53a16cc 100644
> --- a/arch/arm/mach-omap2/vc.c
> +++ b/arch/arm/mach-omap2/vc.c
> @@ -310,10 +310,11 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
> vc->setup_time = voltdm->pmic->volt_setup_time;
>
> if ((vc->flags & OMAP_VC_CHANNEL_DEFAULT) &&
> - (vc->i2c_slave_addr == USE_DEFAULT_CHANNEL_I2C_PARAM)) {
> + ((vc->i2c_slave_addr == USE_DEFAULT_CHANNEL_I2C_PARAM) ||
> + (vc->volt_reg_addr == USE_DEFAULT_CHANNEL_I2C_PARAM))) {
Please fixup the indentation here. (and in original patch that added
this.) Run it through scripts/Lindent and see what the result should
look like. I usually ends up to be leading tabs plus any extra spaces
required to make it line up right.
Kevin
> pr_err("%s: voltdm %s: default channel "
> - "bad config-sa=%2x ?\n", __func__, voltdm->name,
> - vc->i2c_slave_addr);
> + "bad config-sa=%2x vol=%2x?\n", __func__, voltdm->name,
> + vc->i2c_slave_addr, vc->volt_reg_addr);
> return;
> }
>
> @@ -328,10 +329,12 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
> /*
> * Configure the PMIC register addresses.
> */
> - voltdm->rmw(vc->smps_volra_mask,
> - vc->volt_reg_addr << __ffs(vc->smps_volra_mask),
> - vc->common->smps_volra_reg);
> - vc->cfg_channel |= vc_cfg_bits->rav;
> + if (vc->volt_reg_addr != USE_DEFAULT_CHANNEL_I2C_PARAM) {
> + voltdm->rmw(vc->smps_volra_mask,
> + vc->volt_reg_addr << __ffs(vc->smps_volra_mask),
> + vc->common->smps_volra_reg);
> + vc->cfg_channel |= vc_cfg_bits->rav;
> + }
>
> if (vc->cmd_reg_addr) {
> voltdm->rmw(vc->smps_cmdra_mask,
> diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h
> index 22c0060..310368f 100644
> --- a/arch/arm/mach-omap2/vc.h
> +++ b/arch/arm/mach-omap2/vc.h
> @@ -78,7 +78,7 @@ struct omap_vc_channel {
>
> /* channel state */
> u16 i2c_slave_addr;
> - u8 volt_reg_addr;
> + u16 volt_reg_addr;
> u8 cmd_reg_addr;
> u8 cfg_channel;
> u16 setup_time;
> diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
> index 1732258..75f3557 100644
> --- a/arch/arm/mach-omap2/voltage.h
> +++ b/arch/arm/mach-omap2/voltage.h
> @@ -114,7 +114,7 @@ struct omap_volt_data {
> * channel is MPU, all other domains such as IVA/CORE, could optionally
> * link their i2c reg configuration to use MPU channel's configuration if
> * required. To do this, mark in the PMIC structure's
> - * i2c_slave_addr with this macro.
> + * i2c_slave_addr, volt_reg_addr with this macro.
> */
> #define USE_DEFAULT_CHANNEL_I2C_PARAM 0x8000
>
> @@ -142,7 +142,7 @@ struct omap_voltdm_pmic {
> u8 vp_vddmax;
> u8 vp_timeout_us;
> u16 i2c_slave_addr;
> - u8 volt_reg_addr;
> + u16 volt_reg_addr;
> u8 cmd_reg_addr;
> bool i2c_high_speed;
> u8 i2c_mcode;
next prev parent reply other threads:[~2011-06-09 18:33 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-07 2:16 [pm-wip/voltdm_nm][PATCH 00/10] OMAP2+: voltage: fixes Nishanth Menon
2011-06-07 2:16 ` [pm-wip/voltdm_nm][PATCH 01/10] OMAP3+: VC: fix mutant channel handling Nishanth Menon
2011-06-09 17:21 ` Kevin Hilman
2011-06-07 2:16 ` [pm-wip/voltdm_nm][PATCH 02/10] OMAP4: PM: VC: allow channels use of default channel i2c_slaveaddr Nishanth Menon
2011-06-09 18:07 ` Kevin Hilman
2011-06-09 18:17 ` Kevin Hilman
2011-06-07 2:16 ` [pm-wip/voltdm_nm][PATCH 03/10] OMAP4: PM: VC: allow channels to use cmdra reg Nishanth Menon
2011-06-09 17:48 ` Kevin Hilman
2011-06-07 2:16 ` [pm-wip/voltdm_nm][PATCH 04/10] OMAP4: PM: VC: allow channels use of default channel volt_reg_addr Nishanth Menon
2011-06-09 18:32 ` Kevin Hilman [this message]
2011-06-07 2:16 ` [pm-wip/voltdm_nm][PATCH 05/10] OMAP4: PM: VC: allow channels use of default channel cmd_reg_addr Nishanth Menon
2011-06-07 2:16 ` [pm-wip/voltdm_nm][PATCH 06/10] OMAP3+: PM: VC: support configuring PMIC over I2C_SR Nishanth Menon
2011-06-07 2:16 ` [pm-wip/voltdm_nm][PATCH 07/10] OMAP3+: PM: VP: use uV for max and min voltage limits Nishanth Menon
2011-06-16 20:45 ` Kevin Hilman
2011-06-17 0:28 ` Menon, Nishanth
2011-06-17 15:48 ` Kevin Hilman
2011-06-07 2:16 ` [pm-wip/voltdm_nm][PATCH 08/10] OMAP3+: PM: introduce a central pmic control Nishanth Menon
2011-06-07 2:16 ` [pm-wip/voltdm_nm][PATCH 09/10] OMAP2+: PM: secure OPP access using rcu locks Nishanth Menon
2011-06-16 20:47 ` Kevin Hilman
2011-06-17 0:39 ` Menon, Nishanth
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=87sjriyhwn.fsf@ti.com \
--to=khilman@ti.com \
--cc=linux-omap@vger.kernel.org \
--cc=nm@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