From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Mark A. Greer" Subject: Re: [PATCH] net: davinci_emac: Add pre_open, post_stop platform callbacks Date: Fri, 4 May 2012 11:29:38 -0700 Message-ID: <20120504182938.GB28910@animalcreek.com> References: <20120502234718.GA5432@animalcreek.com> <20120503160917.GA11310@animalcreek.com> <20120503184632.GA28089@animalcreek.com> <1336076542.2998.23.camel@bwh-desktop.uk.solarflarecom.com> <87ehr1gdcv.fsf@ti.com> <87fwbgdnlp.fsf@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "Bedia, Vaibhav" , nsekhar@ti.com, Ben Hutchings , "netdev@vger.kernel.org" , "linux-omap@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" To: Kevin Hilman Return-path: Content-Disposition: inline In-Reply-To: <87fwbgdnlp.fsf@ti.com> Sender: linux-omap-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On Fri, May 04, 2012 at 07:31:30AM -0700, Kevin Hilman wrote: > "Bedia, Vaibhav" writes: Hi Kevin. > > If it does, perhaps there should some other mechanism for letting > > users control the system behavior. > > Come to think of it, the right solution here is probably to use runtime > PM. We could then to add some custom hooks for davinci_emac in the > device code to use enable_hlt/disable_hlt based on activity. That was my first thought, actually, but that only works if its okay for the driver to call enable_hlt/disable_hlt directly (i.e., have runtime_suspend() call enable_hlt() and runtime_resume() call disable_hlt()). However, I assumed it would _not_ be acceptable for the driver to issue those calls directly. Its a platform-specific issue that we shouldn't be polluting the driver with and there are currently no drivers that call them under the drivers directory. If its not okay to call enable_hlt/disable_hlt directly, then we still need callback hooks to the plaform code (i.e., some version of this patch). > In order to do that though, the davinci_emac driver needs to be runtime > PM converted. We probably should pm_runtime-ize the driver either way but we need to resolve the question of whether its okay for the driver to call enable_hlt/disable_hlt directly or not. If it is okay, we call them in runtime_suspend/resume. If it isn't okay, then we still need platform callback hooks. Mark