|
@@ -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;
|