smp.c (3a37471551cd3b287ce7f02ed25bcf8ec37a191d) | smp.c (b866cc2199d6a6cdcefe4acfe4cfca3ac3c6d38e) |
---|---|
1/* 2 * Author: Andy Fleming <afleming@freescale.com> 3 * Kumar Gala <galak@kernel.crashing.org> 4 * 5 * Copyright 2006-2008, 2011-2012, 2015 Freescale Semiconductor Inc. 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License as published by the --- 447 unchanged lines hidden (view full) --- 456 mpic_reset_core(i); 457 } 458#endif 459 460 default_machine_kexec(image); 461} 462#endif /* CONFIG_KEXEC_CORE */ 463 | 1/* 2 * Author: Andy Fleming <afleming@freescale.com> 3 * Kumar Gala <galak@kernel.crashing.org> 4 * 5 * Copyright 2006-2008, 2011-2012, 2015 Freescale Semiconductor Inc. 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License as published by the --- 447 unchanged lines hidden (view full) --- 456 mpic_reset_core(i); 457 } 458#endif 459 460 default_machine_kexec(image); 461} 462#endif /* CONFIG_KEXEC_CORE */ 463 |
464static void smp_85xx_basic_setup(int cpu_nr) 465{ 466 if (cpu_has_feature(CPU_FTR_DBELL)) 467 doorbell_setup_this_cpu(); 468} 469 | |
470static void smp_85xx_setup_cpu(int cpu_nr) 471{ 472 mpic_setup_this_cpu(); | 464static void smp_85xx_setup_cpu(int cpu_nr) 465{ 466 mpic_setup_this_cpu(); |
473 smp_85xx_basic_setup(cpu_nr); | |
474} 475 476void __init mpc85xx_smp_init(void) 477{ 478 struct device_node *np; 479 480 481 np = of_find_node_by_type(NULL, "open-pic"); 482 if (np) { 483 smp_85xx_ops.probe = smp_mpic_probe; 484 smp_85xx_ops.setup_cpu = smp_85xx_setup_cpu; 485 smp_85xx_ops.message_pass = smp_mpic_message_pass; 486 } else | 467} 468 469void __init mpc85xx_smp_init(void) 470{ 471 struct device_node *np; 472 473 474 np = of_find_node_by_type(NULL, "open-pic"); 475 if (np) { 476 smp_85xx_ops.probe = smp_mpic_probe; 477 smp_85xx_ops.setup_cpu = smp_85xx_setup_cpu; 478 smp_85xx_ops.message_pass = smp_mpic_message_pass; 479 } else |
487 smp_85xx_ops.setup_cpu = smp_85xx_basic_setup; | 480 smp_85xx_ops.setup_cpu = NULL; |
488 489 if (cpu_has_feature(CPU_FTR_DBELL)) { 490 /* 491 * If left NULL, .message_pass defaults to 492 * smp_muxed_ipi_message_pass 493 */ 494 smp_85xx_ops.message_pass = NULL; | 481 482 if (cpu_has_feature(CPU_FTR_DBELL)) { 483 /* 484 * If left NULL, .message_pass defaults to 485 * smp_muxed_ipi_message_pass 486 */ 487 smp_85xx_ops.message_pass = NULL; |
495 smp_85xx_ops.cause_ipi = doorbell_cause_ipi; | 488 smp_85xx_ops.cause_ipi = doorbell_global_ipi; |
496 smp_85xx_ops.probe = NULL; 497 } 498 499#ifdef CONFIG_HOTPLUG_CPU 500#ifdef CONFIG_FSL_CORENET_RCPM 501 fsl_rcpm_init(); 502#endif 503 --- 17 unchanged lines hidden --- | 489 smp_85xx_ops.probe = NULL; 490 } 491 492#ifdef CONFIG_HOTPLUG_CPU 493#ifdef CONFIG_FSL_CORENET_RCPM 494 fsl_rcpm_init(); 495#endif 496 --- 17 unchanged lines hidden --- |