linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq@ti.com>
To: balbi@ti.com
Cc: keshava_mgowda@ti.com, linux-usb@vger.kernel.org,
	linux-omap@vger.kernel.org
Subject: Re: [PATCH 06/16] mfd: omap-usb-host: cleanup clock management code
Date: Tue, 27 Nov 2012 11:41:38 +0200	[thread overview]
Message-ID: <50B48AD2.7070008@ti.com> (raw)
In-Reply-To: <20121126200242.GA15259@arwen.pp.htv.fi>

On 11/26/2012 10:02 PM, Felipe Balbi wrote:
> Hi,
> 
> On Mon, Nov 26, 2012 at 05:14:45PM +0200, Roger Quadros wrote:
>> Felipe,
>>
>> On 11/21/2012 03:39 PM, Felipe Balbi wrote:
>>> Hi,
>>>
>>> On Thu, Nov 15, 2012 at 04:34:04PM +0200, Roger Quadros wrote:
>>>> All ports have similarly named port clocks so we can
>>>> bunch them into a port data structure and use for loop
>>>> to enable/disable the clocks.
>>>>
>>>> Signed-off-by: Roger Quadros <rogerq@ti.com>
>>>> ---
>>>>  drivers/mfd/omap-usb-host.c |  208 +++++++++++++++++++++----------------------
>>>>  1 files changed, 101 insertions(+), 107 deletions(-)
>>>>
>>>> diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
>>>> index 23cec57..7303c41 100644
>>>> --- a/drivers/mfd/omap-usb-host.c
>>>> +++ b/drivers/mfd/omap-usb-host.c
>>>> @@ -76,6 +76,8 @@
>>>>  
>>>>  #define	OMAP_UHH_DEBUG_CSR				(0x44)
>>>>  
>>>> +#define MAX_HS_USB_PORTS	3	/* Increase this if any chip has more */
>>>> +
>>>>  /* Values of UHH_REVISION - Note: these are not given in the TRM */
>>>>  #define OMAP_USBHS_REV1		0x00000010	/* OMAP3 */
>>>>  #define OMAP_USBHS_REV2		0x50700100	/* OMAP4 */
>>>> @@ -87,14 +89,15 @@
>>>>  #define is_ehci_tll_mode(x)	(x == OMAP_EHCI_PORT_MODE_TLL)
>>>>  #define is_ehci_hsic_mode(x)	(x == OMAP_EHCI_PORT_MODE_HSIC)
>>>>  
>>>> +struct usbhs_port {
>>>> +	struct clk	*utmi_clk;
>>>> +};
>>>
>>> I rather not since this will make it a lot more difficult to use
>>> pm_clk_add() :-s Also, this sort of thing should be dynamically
>>> allocated anyway ;-)
>>>
>>
>> Why do you say so? The whole point of this patch is to group similarly
>> named clocks so that we can use a for loop and set number of ports (or
>> clocks) dynamically. I suppose it would be just a matter of replacing
>> clk_enable/disable() with pm_clk_add() later, right?
>>
>> If you see patch 11, we are adding 2 HSIC related clocks to this
>> structure. This means 9 clocks (i.e. 3 clocks for 3 ports) can be
>> managed using a simple for loop instead of coding each clock name by hand.
> 
> that's usually not what you want, actually. You want clock management to
> be explicit so you can have micro-power optimizations. I fear that the
> time omap-usb-host.c gets *truly* stabilized and we move to more
> aggressive PM, we will undo these changes just to have a more granular
> control of the clocks, at which point your patch would be rendered
> useless.
> 

The granularity is still there, just that port clocks are grouped
together. Do you think it is better if I get rid of 'struct usbhs_port'
and keep the clocks in the main structure instead?

e.g.

struct usbhs_hcd_omap {
	struct clk	**utmi_clk;
	struct clk	**hsic1_clk;
	struct clk	**hsic2_clk;
...
}

The clocks can then be accessed as follows

	omap->utmi_clk[i];	/* i is port number */

Does this sound OK to you?

cheers,
-roger

  reply	other threads:[~2012-11-27  9:41 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-15 14:33 [PATCH 00/16] OMAP USB Host cleanup Roger Quadros
2012-11-15 14:33 ` [PATCH 01/16] mfd: omap-usb-tll: Avoid creating copy of platform data Roger Quadros
2012-11-21 11:42   ` Felipe Balbi
2012-11-15 14:34 ` [PATCH 02/16] mfd: omap-usb-tll: Clean up clock handling Roger Quadros
2012-11-21 11:55   ` Felipe Balbi
2012-11-21 12:36     ` Roger Quadros
2012-11-21 14:03       ` Felipe Balbi
     [not found]         ` <20121121140354.GR10216-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-21 15:39           ` Roger Quadros
     [not found]             ` <50ACF5CD.9010209-l0cyMroinI0@public.gmane.org>
2012-11-21 19:39               ` Felipe Balbi
2012-11-22  8:19                 ` Roger Quadros
2012-11-15 14:34 ` [PATCH 03/16] mfd: omap-usb-tll: introduce and use mode_needs_tll() Roger Quadros
2012-11-21 11:57   ` Felipe Balbi
     [not found]     ` <20121121115705.GE10216-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-21 12:37       ` Roger Quadros
2012-11-15 14:34 ` [PATCH 07/16] mfd: omap_usb_host: Avoid creating copy of platform_data Roger Quadros
2012-11-21 13:40   ` Felipe Balbi
2012-11-15 14:34 ` [PATCH 08/16] mfd: omap-usb-host: know about number of ports from revision register Roger Quadros
2012-11-21 13:43   ` Felipe Balbi
     [not found]     ` <20121121134300.GJ10216-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-21 14:45       ` Roger Quadros
2012-11-21 19:44         ` Felipe Balbi
2012-11-15 14:34 ` [PATCH 09/16] mfd: omap-usb-host: override number of ports from platform data Roger Quadros
     [not found]   ` <1352990054-14680-10-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2012-11-21 13:45     ` Felipe Balbi
2012-11-21 14:50       ` Roger Quadros
2012-11-21 19:47         ` Felipe Balbi
2012-11-15 14:34 ` [PATCH 10/16] mfd: omap-usb-host: Intialize all available ports Roger Quadros
2012-11-21 13:52   ` Felipe Balbi
2012-11-21 15:47     ` Roger Quadros
2012-11-21 19:48       ` Felipe Balbi
2012-11-27 12:10     ` Roger Quadros
2012-11-27 13:28       ` Felipe Balbi
     [not found]         ` <20121127132827.GC22556-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-27 13:39           ` Roger Quadros
2012-11-15 14:34 ` [PATCH 12/16] ARM: OMAP2+: clock data: Merge utmi_px_gfclk into usb_host_hs_utmi_px_clk Roger Quadros
2012-11-15 14:34 ` [PATCH 13/16] mfd: omap-usb-host: Get rid of unnecessary spinlock Roger Quadros
     [not found]   ` <1352990054-14680-14-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2012-11-21 13:57     ` Felipe Balbi
     [not found]       ` <20121121135732.GN10216-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-21 15:55         ` Roger Quadros
2012-11-21 19:50           ` Felipe Balbi
2012-11-15 14:34 ` [PATCH 14/16] mfd: omap-usb-host: Support an auxiliary clock per port Roger Quadros
     [not found]   ` <1352990054-14680-15-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2012-11-21 13:58     ` Felipe Balbi
     [not found]       ` <20121121135841.GO10216-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-21 16:00         ` Roger Quadros
2012-11-15 14:34 ` [PATCH 16/16] ARM: OMAP: omap4panda: Power down the USB PHY and ETH when not in use Roger Quadros
2012-11-21 14:00   ` Felipe Balbi
     [not found]     ` <20121121140044.GQ10216-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-21 14:52       ` Alan Stern
2012-11-21 15:13         ` Roger Quadros
     [not found]           ` <50ACEFA5.4080104-l0cyMroinI0@public.gmane.org>
2012-11-21 15:32             ` Alan Stern
     [not found]               ` <Pine.LNX.4.44L0.1211211028200.1731-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2012-11-21 16:07                 ` Roger Quadros
2012-11-21 19:54                   ` Felipe Balbi
     [not found]                     ` <20121121195436.GF14290-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-22  1:13                       ` Andy Green
2012-11-22 12:21                         ` Felipe Balbi
     [not found]                           ` <20121122121845.GB18022-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-22 13:49                             ` Andy Green
2012-11-22 13:56                               ` Felipe Balbi
     [not found]                                 ` <20121122135603.GA20066-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-22 15:00                                   ` Roger Quadros
     [not found]                                     ` <50AE3E1D.9000607-l0cyMroinI0@public.gmane.org>
2012-11-22 16:12                                       ` Felipe Balbi
     [not found]                                         ` <20121122161228.GB20665-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-23 10:23                                           ` Roger Quadros
     [not found]                                             ` <50AF4EB8.9010800-l0cyMroinI0@public.gmane.org>
2012-11-23 10:44                                               ` Felipe Balbi
     [not found]                                                 ` <20121123104416.GD29585-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-23 16:25                                                   ` Alan Stern
2012-11-23 20:37                                                     ` Andy Green
2012-11-24 15:38                                                       ` Alan Stern
     [not found]                                                         ` <Pine.LNX.4.44L0.1211241032490.4291-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org>
2012-11-24 22:00                                                           ` Andy Green
     [not found]                                                             ` <50B14395.4010404-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-11-25  0:41                                                               ` Alan Stern
2012-11-22 17:36                                 ` Alan Stern
2012-11-22 17:53                                   ` Felipe Balbi
     [not found]                                     ` <20121122175340.GA22614-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-22 18:32                                       ` Alan Stern
2012-11-22 20:15                                         ` Felipe Balbi
2012-11-23  2:35                                           ` Alan Stern
2012-11-23 10:38                                             ` Felipe Balbi
     [not found]                                               ` <20121123103817.GC29585-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-23 16:27                                                 ` Alan Stern
2012-11-26  8:52                                                   ` Felipe Balbi
     [not found]                                   ` <Pine.LNX.4.44L0.1211221226360.2255-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org>
2012-11-23  0:19                                     ` Andy Green
     [not found] ` <1352990054-14680-1-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2012-11-15 14:34   ` [PATCH 04/16] mfd: omap-usb-tll: Move port clock handling out of runtime ops Roger Quadros
     [not found]     ` <1352990054-14680-5-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2012-11-21 12:06       ` Felipe Balbi
2012-11-21 12:45         ` Roger Quadros
     [not found]           ` <50ACCCFA.6060605-l0cyMroinI0@public.gmane.org>
2012-11-21 14:07             ` Felipe Balbi
2012-11-15 14:34   ` [PATCH 05/16] mfd: omap-usb-tll: Add OMAP5 revision and HSIC support Roger Quadros
     [not found]     ` <1352990054-14680-6-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2012-11-21 12:12       ` Felipe Balbi
     [not found]         ` <20121121121238.GG10216-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-21 12:49           ` Roger Quadros
2012-11-21 14:08             ` Felipe Balbi
2012-11-15 14:34   ` [PATCH 06/16] mfd: omap-usb-host: cleanup clock management code Roger Quadros
     [not found]     ` <1352990054-14680-7-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2012-11-21 13:39       ` Felipe Balbi
2012-11-26 15:14         ` Roger Quadros
     [not found]           ` <50B38765.5070901-l0cyMroinI0@public.gmane.org>
2012-11-26 20:02             ` Felipe Balbi
2012-11-27  9:41               ` Roger Quadros [this message]
2012-11-15 14:34   ` [PATCH 11/16] mfd: omap-usb-host: Manage HSIC clocks for HSIC mode Roger Quadros
     [not found]     ` <1352990054-14680-12-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2012-11-21 13:54       ` Felipe Balbi
     [not found]         ` <20121121135451.GM10216-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-21 15:49           ` Roger Quadros
2012-11-15 14:34   ` [PATCH 15/16] ARM: OMAP4: omap4panda: Don't enable USB PHY clock from board Roger Quadros
2012-11-21 13:59     ` Felipe Balbi
2012-11-16 20:08   ` [PATCH 00/16] OMAP USB Host cleanup Kevin Hilman
     [not found]     ` <87fw49cnvh.fsf-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>
2012-11-19 10:11       ` Roger Quadros
     [not found]         ` <50AA05C3.7010003-l0cyMroinI0@public.gmane.org>
2012-11-19 23:22           ` Kevin Hilman
2012-11-20 23:13             ` Tony Lindgren
2012-11-21 10:05               ` Roger Quadros
2012-11-21 11:41                 ` Felipe Balbi
2012-11-27 14:42             ` Roger Quadros
2012-11-27 16:30               ` Felipe Balbi
     [not found]                 ` <20121127163022.GB24240-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-12-04 14:46                   ` Grazvydas Ignotas

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=50B48AD2.7070008@ti.com \
    --to=rogerq@ti.com \
    --cc=balbi@ti.com \
    --cc=keshava_mgowda@ti.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /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).