[PATCH] powerpc/85xx: don't init the mpic ipi for the SoC which has doorbell support

Scott Wood scottwood at freescale.com
Tue Nov 12 10:47:52 EST 2013


On Sat, 2013-11-09 at 14:43 +0800, Kevin Hao wrote:
> On Fri, Nov 08, 2013 at 03:16:12PM -0600, Scott Wood wrote:
> > OK...  Why are you splitting out smp_85xx_basic_setup()?
> 
> In the current implementation of smp_85xx_setup_cpu(), we only invoke
> the function mpic_setup_this_cpu() when the smp_85xx_ops.probe is set 
> to smp_mpic_probe(). So if we set smp_85xx_ops.probe to NULL when doorbell
> is available, we must make sure that the mpic_setup_this_cpu() is also invoked
> when there does have a mpic. The smp_85xx_basic_setup() is for the board which
> has no mpic.
> 
>   static void smp_85xx_setup_cpu(int cpu_nr)
>   {
>   	if (smp_85xx_ops.probe == smp_mpic_probe)
>   		mpic_setup_this_cpu();
>   
>   	if (cpu_has_feature(CPU_FTR_DBELL))
>   		doorbell_setup_this_cpu();
>   }
> 
> >  Where do you
> > call it other than from smp_85xx_setup_cpu()?
> 
> We would set the .setup_cpu() to smp_85xx_basic_setup() if it is a
> non-mpic board. The following is quoted form the patch:
>    	np = of_find_node_by_type(NULL, "open-pic");
>    	if (np) {
>    		smp_85xx_ops.probe = smp_mpic_probe;
>   +		smp_85xx_ops.setup_cpu = smp_85xx_setup_cpu;
>    		smp_85xx_ops.message_pass = smp_mpic_message_pass;
>   -	}
>   +	} else
>   +		smp_85xx_ops.setup_cpu = smp_85xx_basic_setup;

OK, somehow I missed the change to .setup_cpu before. :-P

-Scott





More information about the Linuxppc-dev mailing list