[PATCH v7] OMAP2+: PM: omap device: API's for handling mstandby mode
G, Manjunath Kondaiah
manjugk at ti.com
Fri Dec 3 04:47:47 EST 2010
* Cousson, Benoit <b-cousson at ti.com> [2010-12-03 09:38:35 +0100]:
> On 12/2/2010 2:59 PM, G, Manjunath Kondaiah wrote:
> >Certain errata in OMAP2+ processors will require forcing
> >master standby to "no standby" mode before completing on going
> >operation. Without this, the results will be unpredictable.
> >
> >Since current implementation of PM run time framework does not support
> >changing sysconfig settings during middle of the on going operation,
> >these API's will support the same. One API will force the device's
> >sysconfig mstandby mode settings to "no standby" and other API will
> >release "no standby" mode and sets it to "smart standby" or "no
> >standby? depending on HWMOD_SWSUP_MSTANDBY value.
> >
> >The hwmod API "omap_hwmod_set_master_standbymode" will use
> >no_stdby_cnt(introduced in omap_hwmod structure) for controlling
> >access to sysconfig register settings in case of overlapping
> >request/release API's are called. It also disables interrupts during
> >syconfig register access.
> >
> >These API's should be used by device drivers only incase of
> >erratum applicable to their modules if there is no other methods
> >to resolve.
> >
> >These API's are required for multiple DMA errata which require
> >putting DMA controller in no mstandby mode before stopping dma.
> >
> >The applicable errata:
> >1. Erratum ID: i557(Applicable for omap36xx all ES versions)
> >The channel hangs when the Pause bit (DMA4_CDPi [7] ) is cleared
> >through config port while in Standby.
> >
> >2. Erratum ID: i541
> >sDMA FIFO draining does not finish. Applicable to all omap2+ except
> >omap4.
> >
> >3. Erratum ID:i88
> >The sDMA to be put in no mstandby mode before disabling the channel
> >after completing the data transfer operation.
> >Applicable only for OMAP3430 ES1.0
> >
> >Also fixes typo HWMOD_SWSUP_MSTDBY to HWMOD_SWSUP_MSTANDBY in
> >omap_hwmod.h
> >
> >Signed-off-by: G, Manjunath Kondaiah<manjugk at ti.com>
> >Cc: Kevin Hilman<khilman at deeprootsystems.com>
> >Cc: Paul Walmsley<paul at pwsan.com>
> >Cc: linux-arm-kernel at lists.infradead.org
>
> You have to CC lakml during send-email, but it should not be in the
> changelog.
>
> On the other hand, it is a good practice to add all the authors of
> the file you change in CC.
>
> >---
> >v3: Review comments incorporated for:
> >https://patchwork.kernel.org/patch/282212/
> >
> >v4: added mutex changes
> >https://patchwork.kernel.org/patch/338611/
> >
> >v5: typo fixes for errata and erratum
> >https://patchwork.kernel.org/patch/352481/
> >
> >v6: fixed oh increment bug and also mutex(missing in v5)
> >https://patchwork.kernel.org/patch/372231/
> >
> >v7: replaced mutex lock with spin lock. Added use count for controlling
> >access to sysconfig registers in case if overlapping request/release API's
> >are used.
>
> I'm not sure it should be done here. I'd rather keep that code in
> the DMA, since this is the only user of that feature.
Are you referring to spin lock or usage count?
-Manjunath
More information about the linux-arm-kernel
mailing list