lkml.org 
[lkml]   [2019]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 06/14] crypto: caam - use ioread64*_hi_lo in rd_reg64
    Date
    Following the same transformation logic as outlined in previous commit
    converting wr_reg64, convert rd_reg64 to use helpers from
    <linux/io-64-nonatomic-hi-lo.h> first. No functional change intended.

    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    ---
    drivers/crypto/caam/regs.h | 18 +++++++++++++-----
    1 file changed, 13 insertions(+), 5 deletions(-)

    diff --git a/drivers/crypto/caam/regs.h b/drivers/crypto/caam/regs.h
    index 6e8352ac0d92..afdc0d1aa338 100644
    --- a/drivers/crypto/caam/regs.h
    +++ b/drivers/crypto/caam/regs.h
    @@ -172,12 +172,20 @@ static inline void wr_reg64(void __iomem *reg, u64 data)

    static inline u64 rd_reg64(void __iomem *reg)
    {
    - if (!caam_imx && caam_little_end)
    - return ((u64)rd_reg32((u32 __iomem *)(reg) + 1) << 32 |
    - (u64)rd_reg32((u32 __iomem *)(reg)));
    + if (caam_little_end) {
    + if (caam_imx) {
    + u32 low, high;

    - return ((u64)rd_reg32((u32 __iomem *)(reg)) << 32 |
    - (u64)rd_reg32((u32 __iomem *)(reg) + 1));
    + high = ioread32(reg);
    + low = ioread32(reg + sizeof(u32));
    +
    + return low + ((u64)high << 32);
    + } else {
    + return ioread64(reg);
    + }
    + } else {
    + return ioread64be(reg);
    + }
    }
    #endif /* CONFIG_64BIT */

    --
    2.21.0
    \
     
     \ /
      Last update: 2019-07-15 22:21    [W:3.669 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site