diff options
author | Jack Steiner <steiner@sgi.com> | 2009-12-16 03:48:11 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-16 18:20:16 +0300 |
commit | 4107e1d38a23028c2a3bc23dd948265dbe6becba (patch) | |
tree | 3c64087639dc327e42447f015f3c4b01c4a1de39 /drivers/misc/sgi-gru/grumain.c | |
parent | 67bf04a5c2574e9495f660f418f6df776821d578 (diff) | |
download | linux-4107e1d38a23028c2a3bc23dd948265dbe6becba.tar.xz |
gru: update irq infrastructure
Update the GRU irq allocate/free functions to use the latest upstream
infrastructure.
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/grumain.c')
-rw-r--r-- | drivers/misc/sgi-gru/grumain.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/misc/sgi-gru/grumain.c b/drivers/misc/sgi-gru/grumain.c index a383271d3912..120c70c5a28a 100644 --- a/drivers/misc/sgi-gru/grumain.c +++ b/drivers/misc/sgi-gru/grumain.c @@ -49,12 +49,16 @@ struct device *grudev = &gru_device; /* * Select a gru fault map to be used by the current cpu. Note that * multiple cpus may be using the same map. - * ZZZ should "shift" be used?? Depends on HT cpu numbering * ZZZ should be inline but did not work on emulator */ int gru_cpu_fault_map_id(void) { - return uv_blade_processor_id() % GRU_NUM_TFM; + int cpu = smp_processor_id(); + int id, core; + + core = uv_cpu_core_number(cpu); + id = core + UV_MAX_INT_CORES * uv_cpu_socket_number(cpu); + return id; } /*--------- ASID Management ------------------------------------------- @@ -605,6 +609,7 @@ void gru_load_context(struct gru_thread_state *gts) cch->unmap_enable = 1; cch->tfm_done_bit_enable = 1; cch->cb_int_enable = 1; + cch->tlb_int_select = 0; /* For now, ints go to cpu 0 */ } else { cch->unmap_enable = 0; cch->tfm_done_bit_enable = 0; |