Commit da6cf512 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Florian Tobias Schandinat

sh_mobile_meram: Reset ICBs at unregistration time

When ICBs are unregistered and later reused they need to be reset to
avoid data corruption. Set the WBF, WF and RF bits to make sure ICBs get
reset properly.
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
parent 3c8a63e2
...@@ -373,8 +373,10 @@ static void meram_deinit(struct sh_mobile_meram_priv *priv, ...@@ -373,8 +373,10 @@ static void meram_deinit(struct sh_mobile_meram_priv *priv,
struct sh_mobile_meram_icb *icb) struct sh_mobile_meram_icb *icb)
{ {
/* disable ICB */ /* disable ICB */
meram_write_icb(priv->base, icb->cache_icb, MExxCTL, 0); meram_write_icb(priv->base, icb->cache_icb, MExxCTL,
meram_write_icb(priv->base, icb->marker_icb, MExxCTL, 0); MExxCTL_WBF | MExxCTL_WF | MExxCTL_RF);
meram_write_icb(priv->base, icb->marker_icb, MExxCTL,
MExxCTL_WBF | MExxCTL_WF | MExxCTL_RF);
icb->cache_unit = 0; icb->cache_unit = 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment