On 05/16/2013 05:14 AM, Joseph Lo wrote:
> On Thu, 2013-05-16 at 07:11 +0800, Stephen Warren wrote:
>> On 05/15/2013 04:27 AM, Joseph Lo wrote:
>>> The Tegra114 is a quad cores SoC. Each core can be hotplugged including
>>> CPU0. The hotplug sequence can be controlled by setting event trigger in
>>> flow controller. Then the flow controller will take care all the power
>>> sequence that include CPU up and down.

>>>     tst     r0, #TEGRA30_POWER_HOTPLUG_SHUTDOWN
>>> +   beq     flow_ctrl_setting_for_lp2
>>> +
>>> +   /* flow controller set up for hotplug */
>>> +   mov     r3, #FLOW_CTRL_WAITEVENT                @ For hotplug
>>> +   b       flow_ctrl_done
>>> +flow_ctrl_setting_for_lp2:
>>> +   /* flow controller set up for LP2 */
>>> +   cmp     r10, #(TEGRA30 << 8)
>>>     moveq   r3, #FLOW_CTRL_WAIT_FOR_INTERRUPT       @ For LP2
>>
>> Do you need e.g. "movne r3, #0" or similar here? Otherwise, I think r3
>> ends up not being initialized.
> 
> Yes, I will add the code when I add LP2 support for Tegra114 later.
> Currently the LP2 code flow only for Tegra30, so it's OK.

Ah, I see. Can we add the extra move to make sure the register is always
initialized now even though the path won't be used. That way, nobody
will be confused by this.

>>> -   movne   r3, #FLOW_CTRL_WAITEVENT                @ For hotplug
>>> +flow_ctrl_done:
>>> +   cmp     r10, #(TEGRA30 << 8)
>>>     str     r3, [r2]
>>
>> I wonder whether creating a separate tegra114_cpu_shutdown() wouldn't be
>> better, to avoid all the runtime conditional code.
> 
> I personally think the conditional code is OK. And the ARM CPU also had
> hardware for branch detection also.
> 
> I had finished some further features for both Tegra30 and Tegra114. And
> most of the code here can be shared each other at least until now I
> could see. Once I see if there is a significant difference, then I would
> prepare maintain the code separately too.

OK, if the function gets larger with more shared, I guess it's fine.
Right now, the conditional-to-non-conditional code ratio is pretty high.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to