summaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-gru/grufault.c
diff options
context:
space:
mode:
authorJack Steiner2009-12-16 01:48:04 +0100
committerLinus Torvalds2009-12-16 16:20:14 +0100
commit518e5cd4aae476042bdee511e0e00c8670c0df42 (patch)
treeca65637bbc1c1e75b08bcb9082d62e28040b54bd /drivers/misc/sgi-gru/grufault.c
parentgru: handle blades without memory (diff)
downloadkernel-qcow2-linux-518e5cd4aae476042bdee511e0e00c8670c0df42.tar.gz
kernel-qcow2-linux-518e5cd4aae476042bdee511e0e00c8670c0df42.tar.xz
kernel-qcow2-linux-518e5cd4aae476042bdee511e0e00c8670c0df42.zip
gru: allow users to specify gru chiplet 1
Add table & user request infrastructure that is needed to allow users to specify the blade and chiplet for allocation of GRU contexts. Use of this information is in a subsequent patch. 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>
Diffstat (limited to 'drivers/misc/sgi-gru/grufault.c')
-rw-r--r--drivers/misc/sgi-gru/grufault.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/misc/sgi-gru/grufault.c b/drivers/misc/sgi-gru/grufault.c
index a9f0cf483005..a69d119921ff 100644
--- a/drivers/misc/sgi-gru/grufault.c
+++ b/drivers/misc/sgi-gru/grufault.c
@@ -763,6 +763,16 @@ int gru_set_context_option(unsigned long arg)
return -EINVAL;
switch (req.op) {
+ case sco_blade_chiplet:
+ /* Select blade/chiplet for GRU context */
+ if (req.val1 < -1 || req.val1 >= GRU_MAX_BLADES || !gru_base[req.val1] ||
+ req.val0 < -1 || req.val0 >= GRU_CHIPLETS_PER_HUB) {
+ ret = -EINVAL;
+ } else {
+ gts->ts_user_blade_id = req.val1;
+ gts->ts_user_chiplet_id = req.val0;
+ }
+ break;
case sco_gseg_owner:
/* Register the current task as the GSEG owner */
gts->ts_tgid_owner = current->tgid;