All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@deeprootsystems.com>
To: Thara Gopinath <thara@ti.com>
Cc: linux-omap@vger.kernel.org, paul@pwsan.com, b-cousson@ti.com,
	vishwanath.bs@ti.com, sawant@ti.com
Subject: Re: [PATCH v3 06/11] OMAP3: PM: Adding smartreflex class3 driver
Date: Thu, 14 Oct 2010 16:09:03 -0700	[thread overview]
Message-ID: <87iq14qsmo.fsf@deeprootsystems.com> (raw)
In-Reply-To: <1285166719-19352-7-git-send-email-thara@ti.com> (Thara Gopinath's message of "Wed, 22 Sep 2010 20:15:14 +0530")

Thara Gopinath <thara@ti.com> writes:

> Smartreflex Class3 implementation continuously monitors
> silicon performance  and instructs the Voltage Processors
> to increase or decrease the voltage.
> This patch adds smartreflex class 3 driver. This driver hooks
> up with the generic smartreflex driver smartreflex.c to abstract
> out class specific implementations out of the generic driver.
>
> Signed-off-by: Thara Gopinath <thara@ti.com>

Some minor comments below...

> ---
>  arch/arm/mach-omap2/Makefile             |    1 +
>  arch/arm/mach-omap2/smartreflex-class3.c |   61 ++++++++++++++++++++++++++++++
>  arch/arm/mach-omap2/smartreflex-class3.h |   23 +++++++++++
>  arch/arm/plat-omap/Kconfig               |    9 ++++
>  4 files changed, 94 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/mach-omap2/smartreflex-class3.c
>  create mode 100644 arch/arm/mach-omap2/smartreflex-class3.h
>
> diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
> index abc377a..4f6139c 100644
> --- a/arch/arm/mach-omap2/Makefile
> +++ b/arch/arm/mach-omap2/Makefile
> @@ -57,6 +57,7 @@ obj-$(CONFIG_ARCH_OMAP3)		+= pm34xx.o sleep34xx.o voltage.o \
>  obj-$(CONFIG_ARCH_OMAP4)		+= pm44xx.o pm_bus.o
>  obj-$(CONFIG_PM_DEBUG)			+= pm-debug.o
>  obj-$(CONFIG_OMAP_SMARTREFLEX)          += sr_device.o smartreflex.o
> +obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3)	+= smartreflex-class3.o
>  
>  AFLAGS_sleep24xx.o			:=-Wa,-march=armv6
>  AFLAGS_sleep34xx.o			:=-Wa,-march=armv7-a
> diff --git a/arch/arm/mach-omap2/smartreflex-class3.c b/arch/arm/mach-omap2/smartreflex-class3.c
> new file mode 100644
> index 0000000..f1ade08
> --- /dev/null
> +++ b/arch/arm/mach-omap2/smartreflex-class3.c
> @@ -0,0 +1,61 @@
> +/*
> + * Smart reflex Class 3 specific implementations
> + *
> + * Author: Thara Gopinath       <thara@ti.com>
> + *
> + * Copyright (C) 2010 Texas Instruments, Inc.
> + * Thara Gopinath <thara@ti.com>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +
> +#include <plat/smartreflex.h>
> +
> +#include "smartreflex-class3.h"
> +
> +static int sr_class3_enable(struct voltagedomain *voltdm)
> +{
> +	unsigned long volt = 0;

minor: '= 0' assignment not needed as it's immediately assigned in the
next line.

> +	volt = omap_voltage_get_nom_volt(voltdm);
> +	if (!volt) {
> +		pr_warning("%s: Curr voltage unknown. Cannot enable sr_%s\n",
> +				__func__, voltdm->name);
> +		return -ENODATA;
> +	}
> +
> +	omap_vp_enable(voltdm);
> +	return sr_enable(voltdm, volt);
> +}
> +
> +static int sr_class3_disable(struct voltagedomain *voltdm, int is_volt_reset)
> +{
> +	omap_vp_disable(voltdm);
> +	sr_disable(voltdm);
> +	if (is_volt_reset)
> +		omap_voltage_reset(voltdm);
> +
> +	return 0;
> +}
> +
> +static int sr_class3_configure(struct voltagedomain *voltdm)
> +{
> +	return sr_configure_errgen(voltdm);
> +}
> +
> +/* SR class3 structure */
> +static struct omap_smartreflex_class_data class3_data = {
> +	.enable = sr_class3_enable,
> +	.disable = sr_class3_disable,
> +	.configure = sr_class3_configure,
> +	.class_type = SR_CLASS3,
> +};
> +
> +/* Smartreflex CLASS3 init API to be called from board file */

s/CLASS3/Class 3/

> +int __init sr_class3_init(void)
> +{
> +	pr_info("SmartReflex CLASS3 initialized\n");

ditto

> +	return sr_register_class(&class3_data);
> +}
> diff --git a/arch/arm/mach-omap2/smartreflex-class3.h b/arch/arm/mach-omap2/smartreflex-class3.h
> new file mode 100644
> index 0000000..4d86037
> --- /dev/null
> +++ b/arch/arm/mach-omap2/smartreflex-class3.h
> @@ -0,0 +1,23 @@
> +/*
> + * Smartreflex Class 3 Routines
> + *
> + * Author: Thara Gopinath      <thara@ti.com>
> + *
> + * Copyright (C) 2010 Texas Instruments, Inc.
> + * Thara Gopinath <thara@ti.com>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +
> +#ifndef __ARCH_ARM_MACH_OMAP2_SMARTREFLEXCLASS3_H
> +#define __ARCH_ARM_MACH_OMAP2_SMARTREFLEXCLASS3_H
> +
> +#ifdef CONFIG_OMAP_SMARTREFLEX_CLASS3
> +int sr_class3_init(void);
> +#else
> +static int sr_class3_init(void) { return 0; }
> +#endif
> +
> +#endif
> diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
> index 8056349..af7acc9 100644
> --- a/arch/arm/plat-omap/Kconfig
> +++ b/arch/arm/plat-omap/Kconfig
> @@ -67,6 +67,15 @@ config OMAP_SMARTREFLEX_TESTING
>  
>  	  WARNING: Enabling this option may cause your device to hang!
>  
> +config OMAP_SMARTREFLEX_CLASS3
> +	bool "Class 3 mode of Smartreflex Implementation"
> +	depends on OMAP_SMARTREFLEX && TWL4030_CORE
> +	help
> +	  Say Y to enable Class 3 implementation of Smartreflex
> +
> +	  Class 3 implementation of Smartreflex employs continuous hardware
> +	  voltage caliberation.

calibration

> +
>  config OMAP_RESET_CLOCKS
>  	bool "Reset unused clocks during boot"
>  	depends on ARCH_OMAP

Kevin

  reply	other threads:[~2010-10-14 23:09 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-22 14:45 [PATCH v3 00/11] OMAP3: Adding Smartreflex and Voltage driver support Thara Gopinath
2010-09-22 14:45 ` [PATCH v3 01/11] OMAP: PM: Export the main pm debugfs directory Thara Gopinath
2010-10-25  9:29   ` Cousson, Benoit
2010-10-25  9:30     ` Gopinath, Thara
2010-09-22 14:45 ` [PATCH v3 02/11] OMAP3: PM: Adding voltage driver support for OMAP3 Thara Gopinath
2010-09-29 21:21   ` Kevin Hilman
2010-09-30  0:27   ` Kevin Hilman
     [not found]   ` <87bp7gm3dq.fsf@deeprootsystems.com>
2010-09-30 17:39     ` Paul Walmsley
2010-10-15 13:47       ` Cousson, Benoit
2010-10-14 18:05   ` Kevin Hilman
2010-10-22 14:23     ` Gopinath, Thara
2010-10-22 16:18       ` Kevin Hilman
2010-09-22 14:45 ` [PATCH v3 03/11] OMAP3: PM: Adding smartreflex driver support Thara Gopinath
2010-09-28 23:30   ` Kevin Hilman
2010-09-29 14:41     ` Gopinath, Thara
2010-10-14  0:04   ` Kevin Hilman
2010-10-22 14:21     ` Gopinath, Thara
2010-10-22 16:17       ` Kevin Hilman
2010-10-25 11:12       ` Grazvydas Ignotas
2010-09-22 14:45 ` [PATCH v3 04/11] OMAP3: PM: Adding smartreflex device file Thara Gopinath
2010-10-14 19:29   ` Kevin Hilman
2010-10-22 14:36     ` Gopinath, Thara
2010-10-22 16:32       ` Kevin Hilman
2010-10-23 10:55         ` Gopinath, Thara
2010-11-10 18:55           ` Kevin Hilman
2010-09-22 14:45 ` [PATCH v3 05/11] OMAP3: PM: Adding smartreflex hwmod data Thara Gopinath
2010-09-22 14:45 ` [PATCH v3 06/11] OMAP3: PM: Adding smartreflex class3 driver Thara Gopinath
2010-10-14 23:09   ` Kevin Hilman [this message]
2010-10-22 14:37     ` Gopinath, Thara
2010-09-22 14:45 ` [PATCH v3 07/11] OMAP3: PM: Adding T2 enabling of smartreflex support Thara Gopinath
2010-09-29  0:08   ` Kevin Hilman
2010-09-29 14:41     ` Gopinath, Thara
2010-09-29 23:16       ` Kevin Hilman
2010-09-22 14:45 ` [PATCH v3 08/11] OMAP3: PM: Adding debug support to Voltage and Smartreflex drivers Thara Gopinath
2010-09-29 23:20   ` Kevin Hilman
2010-09-30  5:58     ` Gopinath, Thara
2010-10-14 19:20   ` Kevin Hilman
2010-10-22 14:47     ` Gopinath, Thara
2010-10-14 23:46   ` Kevin Hilman
2010-10-22 14:41     ` Gopinath, Thara
2010-10-22 16:52       ` Kevin Hilman
2010-10-25  9:00         ` Gopinath, Thara
2010-10-25 16:19           ` Kevin Hilman
2010-10-25  9:28   ` Cousson, Benoit
2010-09-22 14:45 ` [PATCH v3 09/11] OMAP3: PM: Smartreflex Class3 initialization from board files Thara Gopinath
2010-10-14 23:50   ` Kevin Hilman
2010-10-22 14:43     ` Gopinath, Thara
2010-10-22 16:37       ` Kevin Hilman
2010-10-25  9:16         ` Gopinath, Thara
2010-09-22 14:45 ` [PATCH v3 10/11] OMAP3: PM: Program correct init voltages for VDD1 and VDD2 Thara Gopinath
2010-10-14 23:53   ` Kevin Hilman
2010-10-22 14:44     ` Gopinath, Thara
2010-10-22 16:44       ` Kevin Hilman
2010-09-22 14:45 ` [PATCH v3 11/11] OMAP3: PM: Register TWL4030 pmic info with the voltage driver Thara Gopinath
2010-09-29  0:31 ` [PATCH v3 00/11] OMAP3: Adding Smartreflex and Voltage driver support Kevin Hilman
2010-09-29  1:02   ` Kevin Hilman

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=87iq14qsmo.fsf@deeprootsystems.com \
    --to=khilman@deeprootsystems.com \
    --cc=b-cousson@ti.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=paul@pwsan.com \
    --cc=sawant@ti.com \
    --cc=thara@ti.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.