diff mbox

arm64: Enable SPRD_TIMER

Message ID 6fff71482ed7bb63afa46c024638c0a72810ce29.1517913264.git.baolin.wang@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

(Exiting) Baolin Wang Feb. 6, 2018, 10:36 a.m. UTC
Enable Spreadtrum timer driver for Spreadtrum plaform, which will be used
as tick broadcast device.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
---
 arch/arm64/Kconfig.platforms |    1 +
 1 file changed, 1 insertion(+)

Comments

Chunyan Zhang Feb. 7, 2018, 2:31 a.m. UTC | #1
Hi Baolin,

On 6 February 2018 at 18:36, Baolin Wang <baolin.wang@linaro.org> wrote:
> Enable Spreadtrum timer driver for Spreadtrum plaform, which will be used
> as tick broadcast device.
>
> Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
> ---
>  arch/arm64/Kconfig.platforms |    1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index fbedbd8..3e0bbb0 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -224,6 +224,7 @@ config ARCH_TEGRA
>
>  config ARCH_SPRD
>         bool "Spreadtrum SoC platform"
> +       select SPRD_TIMER

Do we have to select SPRD_TIMER here? SC9836, SC9860 have been working
with a minimum system without SPRD TIMER.

Thanks,
Chunyan

>         help
>           Support for Spreadtrum ARM based SoCs
>
> --
> 1.7.9.5
>
(Exiting) Baolin Wang Feb. 7, 2018, 3:12 a.m. UTC | #2
On 7 February 2018 at 10:31, Chunyan Zhang <zhang.lyra@gmail.com> wrote:
> Hi Baolin,
>
> On 6 February 2018 at 18:36, Baolin Wang <baolin.wang@linaro.org> wrote:
>> Enable Spreadtrum timer driver for Spreadtrum plaform, which will be used
>> as tick broadcast device.
>>
>> Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
>> ---
>>  arch/arm64/Kconfig.platforms |    1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>> index fbedbd8..3e0bbb0 100644
>> --- a/arch/arm64/Kconfig.platforms
>> +++ b/arch/arm64/Kconfig.platforms
>> @@ -224,6 +224,7 @@ config ARCH_TEGRA
>>
>>  config ARCH_SPRD
>>         bool "Spreadtrum SoC platform"
>> +       select SPRD_TIMER
>
> Do we have to select SPRD_TIMER here? SC9836, SC9860 have been working
> with a minimum system without SPRD TIMER.

Yes, we need register this timer as the tick broadcast device,
otherwise we will use one hrtimer to be registered the broadcast
device, which will affect the No-Hz of CPU attaching the
broadcast-hrtimer.
Chunyan Zhang Feb. 11, 2018, 11:41 a.m. UTC | #3
Hi Baolin,

On 7 February 2018 at 11:12, Baolin Wang <baolin.wang@linaro.org> wrote:
> On 7 February 2018 at 10:31, Chunyan Zhang <zhang.lyra@gmail.com> wrote:
>> Hi Baolin,
>>
>> On 6 February 2018 at 18:36, Baolin Wang <baolin.wang@linaro.org> wrote:
>>> Enable Spreadtrum timer driver for Spreadtrum plaform, which will be used
>>> as tick broadcast device.
>>>
>>> Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
>>> ---
>>>  arch/arm64/Kconfig.platforms |    1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>>> index fbedbd8..3e0bbb0 100644
>>> --- a/arch/arm64/Kconfig.platforms
>>> +++ b/arch/arm64/Kconfig.platforms
>>> @@ -224,6 +224,7 @@ config ARCH_TEGRA
>>>
>>>  config ARCH_SPRD
>>>         bool "Spreadtrum SoC platform"
>>> +       select SPRD_TIMER
>>
>> Do we have to select SPRD_TIMER here? SC9836, SC9860 have been working
>> with a minimum system without SPRD TIMER.
>
> Yes, we need register this timer as the tick broadcast device,
> otherwise we will use one hrtimer to be registered the broadcast
> device, which will affect the No-Hz of CPU attaching the
> broadcast-hrtimer.

Again, Spreadtrum's two boards - SC9836/SC9860 - can run into console
without SPRD_TIMER, we can also debug some kernel origianl feature or
some basic drivers on these two boards, such as CoreSight, clock
driver, etc.

In my opinion we should keep the kernel as simple as possible, the
above information can go to the 'help' graph of SPRD_TIMER in its
Kconfig.

Thanks,
Chunyan

>
> --
> Baolin.wang
> Best Regards
(Exiting) Baolin Wang Feb. 14, 2018, 3:49 a.m. UTC | #4
Hi Chunyan,

On 11 February 2018 at 19:41, Chunyan Zhang <zhang.lyra@gmail.com> wrote:
> Hi Baolin,
>
> On 7 February 2018 at 11:12, Baolin Wang <baolin.wang@linaro.org> wrote:
>> On 7 February 2018 at 10:31, Chunyan Zhang <zhang.lyra@gmail.com> wrote:
>>> Hi Baolin,
>>>
>>> On 6 February 2018 at 18:36, Baolin Wang <baolin.wang@linaro.org> wrote:
>>>> Enable Spreadtrum timer driver for Spreadtrum plaform, which will be used
>>>> as tick broadcast device.
>>>>
>>>> Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
>>>> ---
>>>>  arch/arm64/Kconfig.platforms |    1 +
>>>>  1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>>>> index fbedbd8..3e0bbb0 100644
>>>> --- a/arch/arm64/Kconfig.platforms
>>>> +++ b/arch/arm64/Kconfig.platforms
>>>> @@ -224,6 +224,7 @@ config ARCH_TEGRA
>>>>
>>>>  config ARCH_SPRD
>>>>         bool "Spreadtrum SoC platform"
>>>> +       select SPRD_TIMER
>>>
>>> Do we have to select SPRD_TIMER here? SC9836, SC9860 have been working
>>> with a minimum system without SPRD TIMER.
>>
>> Yes, we need register this timer as the tick broadcast device,
>> otherwise we will use one hrtimer to be registered the broadcast
>> device, which will affect the No-Hz of CPU attaching the
>> broadcast-hrtimer.
>
> Again, Spreadtrum's two boards - SC9836/SC9860 - can run into console
> without SPRD_TIMER, we can also debug some kernel origianl feature or
> some basic drivers on these two boards, such as CoreSight, clock
> driver, etc.

Ii think you misunderstood my meaning, I did not say it can not work
without the SPRD TIMER. Let me try to explain it again, it we did not
select the Spreadtrum timer, we will use one hrtimer to be the tick
broadcast device, so in this situation, the cpu attaching the
broadcast-hrtimer can not be entered into No-Hz to save power to avoid
dead-lock issue. But if we register one timer as the tick broadcast
device, then all cpus can be entered No-Hz to save power. So that's
why we need select the SPRD_TIMER.

>
> In my opinion we should keep the kernel as simple as possible, the
> above information can go to the 'help' graph of SPRD_TIMER in its
> Kconfig.

That's one optimization, not the issue of making the kernel more
complicated. OK, I will add some kerneldoc to explain that.
diff mbox

Patch

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index fbedbd8..3e0bbb0 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -224,6 +224,7 @@  config ARCH_TEGRA
 
 config ARCH_SPRD
 	bool "Spreadtrum SoC platform"
+	select SPRD_TIMER
 	help
 	  Support for Spreadtrum ARM based SoCs