Thread (15 messages) 15 messages, 4 authors, 2012-06-19

Re: [PATCH] mmc: tmio: Don't access hardware registers after stopping clocks

From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: 2012-06-12 21:28:17
Also in: linux-mmc

Hi Guennadi,

On Tuesday 12 June 2012 15:31:49 Guennadi Liakhovetski wrote:
On Tue, 12 Jun 2012, Laurent Pinchart wrote:
quoted
The tmio_mmc_set_ios() function configures the MMC power, clock and bus
width. When the MMC controller gets powered off, runtime PM switches the
MSTP clock off. Writing to to CTL_SD_MEM_CARD_OPT register afterwards
fails and prints an error message to the kernel log.

As configuring the bus width is pointless when the interface gets
powered down, skip the operation when power is off.
The patch looks good - thanks! But maybe we can make the commit message a
bit more precise. I think, ios->power_mode refers to powering the card
down and up, not the controller. We use this information to also try to
put the controller in a power-saving mode. Depending on the kernel and
board configuration this can be a NOP, it can switch the MSTP clock off,
as you correctly notice, or it can power the whole PM domain, to which the
controller belongs, down. So, maybe something like this would be better:

The tmio_mmc_set_ios() function configures the MMC power, clock and bus
width. When the mmc core requests the driver to power off the card, we
inform runtime PM, that the controller can be suspended. This can lead to
the MSTP clock being turned off. Writing to to CTL_SD_MEM_CARD_OPT
register afterwards fails and prints an error message to the kernel log.

As conf... (continue as above)

Feel free to further improve the above :)
Thank you for the feedback. I'll send a v2 that incorporates a second related 
fix.

-- 
Regards,

Laurent Pinchart
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help