i2c: nomadik: simplify IRQ masking logic
authorThéo Lebrun <theo.lebrun@bootlin.com>
Wed, 6 Mar 2024 17:59:23 +0000 (18:59 +0100)
committerAndi Shyti <andi.shyti@kernel.org>
Tue, 12 Mar 2024 10:50:34 +0000 (11:50 +0100)
commitd4f4a361c4eadbc992dfb9667c9a73bb879f4458
treee7fd69199ac390980bf949f6bbac4f411a3b485d
parentae9977eefc4a1e6e8fda619f5b8734efb6f11b58
i2c: nomadik: simplify IRQ masking logic

IRQ_MASK and I2C_CLEAR_ALL_INTS both mask available interrupts. IRQ_MASK
removes top options (bits 29-31). I2C_CLEAR_ALL_INTS removes reserved
options including top bits. Keep the latter.

31  29  27  25  23  21  19  17  15  13  11  09  07  05  03  01
  30  28  26  24  22  20  18  16  14  12  10  08  06  04  02  00
-- IRQ_MASK: ---------------------------------------------------
      1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0
-- I2C_CLEAR_ALL_INTS: -----------------------------------------
      1     1 1       1 1 1 1 1                   1 1 1 1 1 1 1
0 0 0   0 0     0 0 0           0 0 0 0 0 0 0 0 0

Notice I2C_CLEAR_ALL_INTS is more restrictive than IRQ_MASK.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
drivers/i2c/busses/i2c-nomadik.c