Skip to content
  • Thomas Petazzoni's avatar
    hwrng: omap - Do not access INTMASK_REG on EIP76 · b985735b
    Thomas Petazzoni authored
    The INTMASK_REG register does not exist on EIP76. Due to this, the call:
    
       omap_rng_write(priv, RNG_INTMASK_REG, RNG_SHUTDOWN_OFLO_MASK);
    
    ends up, through the reg_map_eip76[] array, in accessing the register at
    offset 0, which is the RNG_OUTPUT_0_REG. This by itself doesn't cause
    any problem, but clearly doesn't enable the interrupt as it was
    expected.
    
    On EIP76, the register that allows to enable the interrupt is
    RNG_CONTROL_REG. And just like RNG_INTMASK_REG, it's bit 1 of this
    register that allows to enable the shutdown_oflo interrupt.
    
    Fixes: 38321242
    
     ("hwrng: omap - Add device variant for SafeXcel IP-76 found in Armada 8K")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    b985735b