pinctrl: baytrail: Serialize all register access
authorMika Westerberg <mika.westerberg@linux.intel.com>
Tue, 4 Aug 2015 12:03:14 +0000 (15:03 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Nov 2015 22:37:40 +0000 (14:37 -0800)
commitfd35a6831470f2a238b51f8c940a17c9f9b25fc4
tree69f47da1c202f939376ef24b5cb6bdd36ebff765
parenteda9ff7378eafa57603efc19a0312ef5b2142124
pinctrl: baytrail: Serialize all register access

commit 39ce8150a079e3ae6ed9abf26d7918a558ef7c19 upstream.

There is a hardware issue in Intel Baytrail where concurrent GPIO register
access might result reads of 0xffffffff and writes might get dropped
completely.

Prevent this from happening by taking the serializing lock in all places
where it is possible that more than one thread might be accessing the
hardware concurrently.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Lucas De Marchi <lucas.de.marchi@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pinctrl/intel/pinctrl-baytrail.c