android_kernel_xiaomi_sm8350/drivers
Michael Albaugh 17b2eb9fe6 IB/ipath: Lock and always use shadow copies of GPIO register
The new LED blinking interface adds more contention for the
unprotected GPIO pins that were already shared, though not commonly at
the same time.  We add locks to the accesses to these pins so that
Read-Modify-Write is now safe.  Some of these locks are added at
interrupt context, so we shadow the registers which drive and inspect
these pins to avoid the mmio read/writes.  This mitigates the effects
of the locks and hastens us through the interrupt.

Add locking and always use shadows for registers controlling GPIO pins
(ExtCtrl and GPIOout). The use of shadows implies doing less I/O,
which can make I2C operation too fast on some platforms. An explicit
udelay(1) in SCL manipulation fixes that.

Signed-off-by: Michael Albaugh <michael.albaugh@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-07-09 20:12:25 -07:00
..
acorn
acpi ACPI: fix acpi_osi=!Linux 2007-07-02 21:06:48 -07:00
amba
ata pata_pcmcia: Switch to ata_sff_port_start 2007-07-03 11:31:06 -04:00
atm potential compiler error, irqfunc caller sites update 2007-07-06 10:23:43 -07:00
auxdisplay
base
block
bluetooth
cdrom
char
clocksource
connector
cpufreq
crypto
dio
dma IOATDMA: fix section mismatches 2007-06-28 11:34:53 -07:00
edac
eisa
fc4
firewire firewire: fw-sbp2: fix DMA mapping of management ORBs 2007-07-10 00:07:49 +02:00
firmware
hid Merge branches 'debug-module-param' and 'upstream' into for-linus 2007-07-09 14:23:37 +02:00
hwmon
i2c
ide drivers/ide/ide-dma.c: unexport ide_set_dma 2007-07-09 23:17:59 +02:00
ieee1394 ieee1394: remove old isochronous ABI 2007-07-10 00:07:41 +02:00
infiniband IB/ipath: Lock and always use shadow copies of GPIO register 2007-07-09 20:12:25 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-07-05 15:55:37 -07:00
isdn
kvm
leds
macintosh
mca
md
media V4L/DVB (5822): Fix the return value in ttpci_budget_init() 2007-07-03 15:11:21 -03:00
message
mfd
misc [PATCH] eeprom_93cx6: shorten pulse timing to match spec 2007-07-08 22:16:36 -04:00
mmc
mtd
net mlx4_core: Include linux/mutex.h from mlx4.h 2007-07-09 20:12:20 -07:00
nubus
oprofile
parisc
parport
pci
pcmcia
pnp PNP SMCf010 quirk: work around Toshiba Portege 4000 ACPI issues 2007-07-06 10:23:43 -07:00
ps3
rapidio
rtc
s390
sbus
scsi scsi disk help file is not complete 2007-07-02 10:12:34 -04:00
serial PCMCIA-NETDEV : add new ID of lan&modem multifunction card 2007-07-08 22:16:39 -04:00
sh
sn
spi
tc
telephony
usb potential compiler error, irqfunc caller sites update 2007-07-06 10:23:43 -07:00
video fix section mismatch in chipsfb 2007-06-28 11:34:54 -07:00
w1 w1_therm_read_bin: don't call flush_signals() 2007-06-28 11:38:19 -07:00
zorro
Kconfig
Makefile