OSDN Git Service

pinctrl: baytrail: Serialize all register access
authorMika Westerberg <mika.westerberg@linux.intel.com>
Tue, 4 Aug 2015 12:03:14 +0000 (15:03 +0300)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Wed, 13 Jan 2016 09:52:34 +0000 (17:52 +0800)
commit6df13a394cfae6372a97b51f8e512b960ec1eda4
tree7f909aef6892c99f675279b6b1f4fc58cfc00d4d
parent5ee655726ec960e88a613136a7c2a049090c527e
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