diff options
author | Ian Abbott <abbotti@mev.co.uk> | 2013-10-08 18:06:36 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-10-11 22:34:21 (GMT) |
commit | bb49cddc02697b2e9d9c849488833055998ec863 (patch) | |
tree | cf796e70580c568974b0e5b288ba05c3be8c51e9 | |
parent | c3e3a56d40c451271b1be4d6d3ec3b62af879228 (diff) | |
download | linux-fsl-qoriq-bb49cddc02697b2e9d9c849488833055998ec863.tar.xz |
staging: comedi: s626: add mmiowb() calls
`s626_mc_enable()` is often called to enable some function in a control
register after setting up some other registers. Precede the write to
the control register with a call to `mmiowb()` to preserve mmio write
ordering.
`s626_mc_disable()` is called to disable some function in a control
register and is often followed up by writes to other registers. Follow
the write to the control register with a call to `mmiowb()` to preserve
mmio write ordering.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/staging/comedi/drivers/s626.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/staging/comedi/drivers/s626.c b/drivers/staging/comedi/drivers/s626.c index 733e62b..7c51754 100644 --- a/drivers/staging/comedi/drivers/s626.c +++ b/drivers/staging/comedi/drivers/s626.c @@ -161,6 +161,7 @@ static void s626_mc_enable(struct comedi_device *dev, struct s626_private *devpriv = dev->private; unsigned int val = (cmd << 16) | cmd; + mmiowb(); writel(val, devpriv->mmio + reg); } @@ -170,6 +171,7 @@ static void s626_mc_disable(struct comedi_device *dev, struct s626_private *devpriv = dev->private; writel(cmd << 16 , devpriv->mmio + reg); + mmiowb(); } static bool s626_mc_test(struct comedi_device *dev, |