[PATCH v7] OMAP2+: PM: omap device: API's for handling mstandby mode
Cousson, Benoit
b-cousson at ti.com
Fri Dec 3 03:38:35 EST 2010
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.
These hwmod APIs are rather low level and should never be used except
for workaround. So I'd prefer keeping this API simple and not sexy at
all in order to prevent people to abuse it.
Regards,
Benoit
More information about the linux-arm-kernel
mailing list