gru: send cross partition interrupts using the gru
authorJack Steiner <steiner@sgi.com>
Wed, 16 Dec 2009 00:48:21 +0000 (16:48 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 16 Dec 2009 15:20:17 +0000 (07:20 -0800)
commit76148df19cbd5437dc5358408a58c7cc6366ecf4
treed592f1c21d072d9cefbf18f27081dca05ea655db
parent56abcf24ff993291b20efd6e3402cd3d12f5cee2
gru: send cross partition interrupts using the gru

GRU Message queue instructions are used to deliver messages to other SSIs
within the numalink domain.  In most cases, a single GRU mesq instruction
will deliver both the message AND an interrupt to notify the other SSI
that a messsage is present.  In some cases, however, the interrupt must be
sent explicitly.

To improve resilency, the GRU driver should send these explicit interrupts
using the GRU to write the remote chipset register.  Current code sends
the interrupt using a cpu instruction to write the chipset register.

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/misc/sgi-gru/gru_instructions.h
drivers/misc/sgi-gru/grukservices.c