linux-stable/drivers/i2c
Asmaa Mnebhi 9df7af7f10 i2c: mlxbf: support lock mechanism
[ Upstream commit 86067ccfa1 ]

Linux is not the only entity using the BlueField I2C busses so
support a lock mechanism provided by hardware to avoid issues
when multiple entities are trying to access the same bus.

The lock is acquired whenever written explicitely or the lock
register is read. So make sure it is always released at the end
of a successful or failed transaction.

Fixes: b5b5b32081 (i2c: mlxbf: I2C SMBus driver for Mellanox BlueField SoC)
Reviewed-by: Khalil Blaiech <kblaiech@nvidia.com>
Signed-off-by: Asmaa Mnebhi <asmaa@nvidia.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-21 12:38:17 +02:00
..
algos i2c: algo: bit: use new macro to specifiy capabilities 2021-01-22 09:59:21 +01:00
busses i2c: mlxbf: support lock mechanism 2022-10-21 12:38:17 +02:00
muxes i2c: mux-gpmux: Add of_node_put() when breaking out of loop 2022-07-26 23:10:59 +02:00
i2c-boardinfo.c i2c: Remove support for dangling device properties 2021-04-10 21:43:02 +02:00
i2c-core-acpi.c i2c: ACPI: Replace acpi_bus_get_device() 2022-02-07 17:00:08 +01:00
i2c-core-base.c i2c: move core from strlcpy to strscpy 2022-08-11 23:02:52 +02:00
i2c-core-of.c i2c: use my kernel.org address from now on 2020-05-05 16:29:09 +02:00
i2c-core-slave.c i2c: add tracepoints for I2C slave events 2022-03-20 00:11:05 +01:00
i2c-core-smbus.c i2c: smbus: Check for parent device before dereference 2022-02-19 12:37:20 +01:00
i2c-core.h i2c: don't expose function which is only used internally 2022-02-15 09:58:57 +01:00
i2c-dev.c i2c: dev: Force case user pointers in compat_i2cdev_ioctl() 2022-04-15 23:30:59 +02:00
i2c-mux.c i2c: mux: harden i2c_mux_alloc() against integer overflows 2022-09-21 22:12:06 +02:00
i2c-slave-eeprom.c i2c: busses: Use fallthrough pseudo-keyword 2020-07-23 22:04:08 +02:00
i2c-slave-testunit.c i2c: testunit: add support for block process calls 2021-02-12 11:11:04 +01:00
i2c-smbus.c i2c: move core from strlcpy to strscpy 2022-08-11 23:02:52 +02:00
i2c-stub.c i2c: stub: remove definition of DEBUG 2021-01-17 13:00:10 +01:00
Kconfig i2c: add slave testunit driver 2020-09-21 11:02:17 +02:00
Makefile i2c: add slave testunit driver 2020-09-21 11:02:17 +02:00