x86/platform/UV: Update MMIOH setup function to work for both UV3 and UV4
Since UV3 and UV4 MMIOH regions are setup the same, we can use a common function to setup both. Tested-by: John Estabrook <estabrook@sgi.com> Tested-by: Gary Kroening <gfk@sgi.com> Tested-by: Nathan Zimmer <nzimmer@sgi.com> Signed-off-by: Mike Travis <travis@sgi.com> Reviewed-by: Dimitri Sivanich <sivanich@sgi.com> Cc: Andrew Banman <abanman@sgi.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Borislav Petkov <bp@alien8.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Len Brown <len.brown@intel.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Russ Anderson <rja@sgi.com> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20160429215404.100504077@asylum.americas.sgi.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
@@ -608,6 +608,7 @@ static __initdata struct mmioh_config mmiohs[] = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* UV3 & UV4 have identical MMIOH overlay configs */
|
||||||
static __init void map_mmioh_high_uv3(int index, int min_pnode, int max_pnode)
|
static __init void map_mmioh_high_uv3(int index, int min_pnode, int max_pnode)
|
||||||
{
|
{
|
||||||
union uv3h_rh_gam_mmioh_overlay_config0_mmr_u overlay;
|
union uv3h_rh_gam_mmioh_overlay_config0_mmr_u overlay;
|
||||||
@@ -687,7 +688,7 @@ static __init void map_mmioh_high(int min_pnode, int max_pnode)
|
|||||||
unsigned long mmr, base;
|
unsigned long mmr, base;
|
||||||
int shift, enable, m_io, n_io;
|
int shift, enable, m_io, n_io;
|
||||||
|
|
||||||
if (is_uv3_hub()) {
|
if (is_uv3_hub() || is_uv4_hub()) {
|
||||||
/* Map both MMIOH Regions */
|
/* Map both MMIOH Regions */
|
||||||
map_mmioh_high_uv3(0, min_pnode, max_pnode);
|
map_mmioh_high_uv3(0, min_pnode, max_pnode);
|
||||||
map_mmioh_high_uv3(1, min_pnode, max_pnode);
|
map_mmioh_high_uv3(1, min_pnode, max_pnode);
|
||||||
|
Reference in New Issue
Block a user