linux_dsm_epyc7002/drivers/i2c
Radu Rendec 5cd5f0bb0d i2c: ismt: 16-byte align the DMA buffer address
Use only a portion of the data buffer for DMA transfers, which is always
16-byte aligned. This makes the DMA buffer address 16-byte aligned and
compensates for spurious hardware parity errors that may appear when the
DMA buffer address is not 16-byte aligned.

The data buffer is enlarged in order to accommodate any possible 16-byte
alignment offset and changes the DMA code to only use a portion of the
data buffer, which is 16-byte aligned.

The symptom of the hardware issue is the same as the one addressed in
v3.12-rc2-5-gbf41691 and manifests by transfers failing with EIO, with
bit 9 being set in the ERRSTS register.

Signed-off-by: Radu Rendec <radu.rendec@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2018-01-15 21:02:43 +01:00
..
algos i2c: algo-bit: init the bus to a known state 2017-12-31 00:16:37 +01:00
busses i2c: ismt: 16-byte align the DMA buffer address 2018-01-15 21:02:43 +01:00
muxes i2c: mux: reg: don't log an error for probe deferral 2017-12-30 23:12:34 +01:00
i2c-boardinfo.c i2c: i2c-boardinfo: fix memory leaks on devinfo 2017-11-27 19:14:29 +01:00
i2c-core-acpi.c i2c: core: Allow empty id_table in ACPI case as well 2017-07-31 15:50:33 +02:00
i2c-core-base.c i2c: refactor i2c_master_{send_recv} 2017-12-03 21:22:29 +01:00
i2c-core-of.c i2c: Convert to using %pOF instead of full_name 2017-07-31 17:19:35 +02:00
i2c-core-slave.c i2c: break out slave support into separate file 2017-05-31 21:01:03 +02:00
i2c-core-smbus.c i2c: smbus: use DMA safe buffers for emulated SMBus transactions 2017-12-03 21:24:52 +01:00
i2c-core.h i2c: core: Allow empty id_table in ACPI case as well 2017-07-31 15:50:33 +02:00
i2c-dev.c i2c: dev: mark RDWR buffers as DMA_SAFE 2017-12-03 21:19:32 +01:00
i2c-mux.c i2c: mux: only print failure message on error 2017-05-15 18:49:11 +02:00
i2c-slave-eeprom.c i2c: Drop owner assignment from i2c_driver 2015-08-10 08:37:35 +02:00
i2c-smbus.c i2c: i2c-smbus: add of_i2c_setup_smbus_alert 2017-10-28 23:42:47 +02:00
i2c-stub.c i2c: stub: fix build warning regression 2017-06-15 23:22:11 +02:00
Kconfig Merge branch 'i2c/for-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-12-15 12:56:35 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00