From: Fu Wei <fu@linaro.org>
Because arch_timer_needs_of_probing is only for booting with device-tree,
but arch_timer_common_init is a generic init call which shouldn't include
the FW-specific code. It's better to put arch_timer_needs_of_probing into
DT init function.
But for per-cpu
From: Fu Wei
Because arch_timer_needs_of_probing is only for booting with device-tree,
but arch_timer_common_init is a generic init call which shouldn't include
the FW-specific code. It's better to put arch_timer_needs_of_probing into
DT init function.
But for per-cpu timer
From: Fu Wei <fu@linaro.org>
On platforms booting with ACPI, architected memory-mapped timers'
configuration data is provided by firmware through the ACPI GTDT
static table.
The clocksource architected timer kernel driver requires a firmware
interface to collect timer configu
From: Fu Wei <fu@linaro.org>
The patch add memory-mapped timer register support by using the
information provided by the new GTDT driver of ACPI.
Signed-off-by: Fu Wei <fu@linaro.org>
---
drivers/clocksource/arm_arch_timer.c | 35 ---
1 file
From: Fu Wei
On platforms booting with ACPI, architected memory-mapped timers'
configuration data is provided by firmware through the ACPI GTDT
static table.
The clocksource architected timer kernel driver requires a firmware
interface to collect timer configuration and configure its driver
From: Fu Wei
The patch add memory-mapped timer register support by using the
information provided by the new GTDT driver of ACPI.
Signed-off-by: Fu Wei
---
drivers/clocksource/arm_arch_timer.c | 35 ---
1 file changed, 32 insertions(+), 3 deletions(-)
diff
From: Fu Wei <fu@linaro.org>
Currently, the counter frequency detection call(arch_timer_detect_rate)
include getting the frequency from the device-tree property.
But reading device-tree property will be needed only when system boot with
device-tree.
This patch separate out device-tre
From: Fu Wei
Currently, the counter frequency detection call(arch_timer_detect_rate)
include getting the frequency from the device-tree property.
But reading device-tree property will be needed only when system boot with
device-tree.
This patch separate out device-tree code, keep them in device
From: Fu Wei <fu@linaro.org>
Currently the code to probe MMIO architected timers mixes DT parsing with
actual poking of hardware. This makes the code harder than necessary to
understand, and makes it difficult to add support for probing via ACPI.
This patch factors all the DT-specific
From: Fu Wei
Currently the code to probe MMIO architected timers mixes DT parsing with
actual poking of hardware. This makes the code harder than necessary to
understand, and makes it difficult to add support for probing via ACPI.
This patch factors all the DT-specific logic out
From: Fu Wei <fu@linaro.org>
The patch update arm_arch_timer driver to use the function
provided by the new GTDT driver of ACPI.
By this way, arm_arch_timer.c can be simplified, and separate
all the ACPI GTDT knowledge from this timer driver.
Signed-off-by: Fu Wei <fu@linaro.or
From: Fu Wei
The patch update arm_arch_timer driver to use the function
provided by the new GTDT driver of ACPI.
By this way, arm_arch_timer.c can be simplified, and separate
all the ACPI GTDT knowledge from this timer driver.
Signed-off-by: Fu Wei
Signed-off-by: Hanjun Guo
Tested
From: Fu Wei <fu@linaro.org>
The patch introduce two new structs: arch_timer_mem, arch_timer_mem_frame.
And also introduce a new define: ARCH_TIMER_MEM_MAX_FRAMES
These will be used for refactoring the memory-mapped timer init code to
prepare for GTDT
Signed-off-by: Fu W
From: Fu Wei
The patch introduce two new structs: arch_timer_mem, arch_timer_mem_frame.
And also introduce a new define: ARCH_TIMER_MEM_MAX_FRAMES
These will be used for refactoring the memory-mapped timer init code to
prepare for GTDT
Signed-off-by: Fu Wei
---
include/clocksource
From: Fu Wei <fu@linaro.org>
The counter frequency detection call(arch_timer_detect_rate) combines two
ways to get counter frequency: system coprocessor register and MMIO timer.
But in a specific timer init code, we only need one way to try:
getting frequency from MMIO timer re
From: Fu Wei
The counter frequency detection call(arch_timer_detect_rate) combines two
ways to get counter frequency: system coprocessor register and MMIO timer.
But in a specific timer init code, we only need one way to try:
getting frequency from MMIO timer register will be needed only when we
From: Fu Wei <fu@linaro.org>
Rename the PPI enum and its values to unify the format of enum in
arm_arch_timer.c, also update all the users of this enum.
No functional change.
Signed-off-by: Fu Wei <fu@linaro.org>
Tested-by: Xiongfeng Wang <wangxiongfe...@huawei.co
From: Fu Wei
Rename the PPI enum and its values to unify the format of enum in
arm_arch_timer.c, also update all the users of this enum.
No functional change.
Signed-off-by: Fu Wei
Tested-by: Xiongfeng Wang
---
drivers/clocksource/arm_arch_timer.c | 84
From: Fu Wei <fu@linaro.org>
To support the arm_arch_timer via ACPI we need to share defines and enums
between the driver and the ACPI parser code.
So we split out the relevant defines and enums into arm_arch_timer.h.
No functional change.
Signed-off-by: Fu Wei <fu@linaro.o
From: Fu Wei
To support the arm_arch_timer via ACPI we need to share defines and enums
between the driver and the ACPI parser code.
So we split out the relevant defines and enums into arm_arch_timer.h.
No functional change.
Signed-off-by: Fu Wei
Acked-by: Mark Rutland
Tested-by: Xiongfeng
From: Fu Wei <fu@linaro.org>
Currently, the arch timer driver uses ARCH_TIMER_PHYS_SECURE_PPI to
mean the driver will use the secure PPI *and* potentialy also use the
non-secure PPI. This is somewhat confusing.
For arm64, where it never makes sense to use the secure PPI, this
means w
From: Fu Wei
Currently, the arch timer driver uses ARCH_TIMER_PHYS_SECURE_PPI to
mean the driver will use the secure PPI *and* potentialy also use the
non-secure PPI. This is somewhat confusing.
For arm64, where it never makes sense to use the secure PPI, this
means we must always request
From: Fu Wei <fu@linaro.org>
Rename the timer type macros to unify the format of macros in
arm_arch_timer.c, also update all the users of these macros.
No functional change.
Signed-off-by: Fu Wei <fu@linaro.org>
Tested-by: Xiongfeng Wang <wangxiongfe...@huawei.co
From: Fu Wei
Rename the timer type macros to unify the format of macros in
arm_arch_timer.c, also update all the users of these macros.
No functional change.
Signed-off-by: Fu Wei
Tested-by: Xiongfeng Wang
---
drivers/clocksource/arm_arch_timer.c | 43 +++-
1
From: Fu Wei <fu@linaro.org>
This patchset:
(1)Preparation for adding GTDT support in arm_arch_timer:
1. Clean up printk() usage
2. Rename the type macros
3. Rename the PPI enum & enum values
4. Move the type macro and PPI enum into the h
From: Fu Wei <fu@linaro.org>
This patch defines pr_fmt(fmt) for all pr_* functions,
then the pr_* doesn't need to add "arch_timer:" everytime.
According to the suggestion from checkpatch.pl:
(1) delete some Blank Spaces in arch_timer_banner;
(2) delete a redundant Tab
From: Fu Wei
This patchset:
(1)Preparation for adding GTDT support in arm_arch_timer:
1. Clean up printk() usage
2. Rename the type macros
3. Rename the PPI enum & enum values
4. Move the type macro and PPI enum into the header file
5. Add new
From: Fu Wei
This patch defines pr_fmt(fmt) for all pr_* functions,
then the pr_* doesn't need to add "arch_timer:" everytime.
According to the suggestion from checkpatch.pl:
(1) delete some Blank Spaces in arch_timer_banner;
(2) delete a redundant Tab in a bland line of arch_timer
Hi Mark,
On 17 January 2017 at 01:50, Mark Rutland <mark.rutl...@arm.com> wrote:
> On Wed, Dec 21, 2016 at 02:45:54PM +0800, fu@linaro.org wrote:
>> From: Fu Wei <fu@linaro.org>
>>
>> Currently, the counter frequency detection call(arch_timer_detect_rate
Hi Mark,
On 17 January 2017 at 01:50, Mark Rutland wrote:
> On Wed, Dec 21, 2016 at 02:45:54PM +0800, fu@linaro.org wrote:
>> From: Fu Wei
>>
>> Currently, the counter frequency detection call(arch_timer_detect_rate)
>> combines all the ways to get counter freq
int __init arch_timer_acpi_init(struct
>> acpi_table_header *table)
>> /* Get the frequency from CNTFRQ */
>> arch_timer_detect_rate(NULL, NULL);
>>
>> + arch_timer_uses_ppi = arch_timer_select_ppi();
>> + if (!arch_timer_ppi[arch_timer_uses_ppi]) {
>> + pr_err("No interrupt available, giving up\n");
>> + return -EINVAL;
>> + }
>
> I see that we have to duplicate this so we can special-case the
> DT-specific behaviour, so that's fine by me.
Yes, that is the reason of the duplication :-)
>
> If you can fix the arch_timer_select_ppi() logic as above, this should
> be fine.
Done, thanks :-)
>
> Thanks,
> Mark.
--
Best regards,
Fu Wei
Software Engineer
Red Hat
i_init(struct
>> acpi_table_header *table)
>> /* Get the frequency from CNTFRQ */
>> arch_timer_detect_rate(NULL, NULL);
>>
>> + arch_timer_uses_ppi = arch_timer_select_ppi();
>> + if (!arch_timer_ppi[arch_timer_uses_ppi]) {
>> + pr_err("No interrupt available, giving up\n");
>> + return -EINVAL;
>> + }
>
> I see that we have to duplicate this so we can special-case the
> DT-specific behaviour, so that's fine by me.
Yes, that is the reason of the duplication :-)
>
> If you can fix the arch_timer_select_ppi() logic as above, this should
> be fine.
Done, thanks :-)
>
> Thanks,
> Mark.
--
Best regards,
Fu Wei
Software Engineer
Red Hat
Hi Mark,
On 17 January 2017 at 20:29, Mark Rutland <mark.rutl...@arm.com> wrote:
> On Tue, Jan 17, 2017 at 06:18:12AM -0600, Timur Tabi wrote:
>> Fu Wei wrote:
>> >if (i >= ARCH_TIMER_MEM_MAX_FRAMES) {
>> >pr_err(FW_BUG "too many frames, ARMv8 spe
Hi Mark,
On 17 January 2017 at 20:29, Mark Rutland wrote:
> On Tue, Jan 17, 2017 at 06:18:12AM -0600, Timur Tabi wrote:
>> Fu Wei wrote:
>> >if (i >= ARCH_TIMER_MEM_MAX_FRAMES) {
>> >pr_err(FW_BUG "too many frames, ARMv8 spec only allows 8.\n"
Hi Mark,
On 17 January 2017 at 18:30, Fu Wei <fu@linaro.org> wrote:
> Hi Mark,
>
> On 17 January 2017 at 02:30, Mark Rutland <mark.rutl...@arm.com> wrote:
>> On Wed, Dec 21, 2016 at 02:45:58PM +0800, fu@linaro.org wrote:
>>> From: Fu Wei <fu
Hi Mark,
On 17 January 2017 at 18:30, Fu Wei wrote:
> Hi Mark,
>
> On 17 January 2017 at 02:30, Mark Rutland wrote:
>> On Wed, Dec 21, 2016 at 02:45:58PM +0800, fu@linaro.org wrote:
>>> From: Fu Wei
>>>
>>> The patch refactor original memory-ma
Hi Mark,
On 17 January 2017 at 02:30, Mark Rutland <mark.rutl...@arm.com> wrote:
> On Wed, Dec 21, 2016 at 02:45:58PM +0800, fu@linaro.org wrote:
>> From: Fu Wei <fu@linaro.org>
>>
>> The patch refactor original memory-mapped timer init code:
>>
Hi Mark,
On 17 January 2017 at 02:30, Mark Rutland wrote:
> On Wed, Dec 21, 2016 at 02:45:58PM +0800, fu@linaro.org wrote:
>> From: Fu Wei
>>
>> The patch refactor original memory-mapped timer init code:
>> (1) Refactor "arch_timer_mem_ini
Hi Mark,
On 17 January 2017 at 01:00, Mark Rutland <mark.rutl...@arm.com> wrote:
> Hi,
>
> On Wed, Dec 21, 2016 at 02:45:48PM +0800, fu@linaro.org wrote:
>> From: Fu Wei <fu@linaro.org>
>>
>> This patchset:
>> (1)Preparation for adding
Hi Mark,
On 17 January 2017 at 01:00, Mark Rutland wrote:
> Hi,
>
> On Wed, Dec 21, 2016 at 02:45:48PM +0800, fu@linaro.org wrote:
>> From: Fu Wei
>>
>> This patchset:
>> (1)Preparation for adding GTDT support in arm_arch_timer:
>> 1. Mo
Hi Mark,
On 16 January 2017 at 20:01, Mark Rutland <mark.rutl...@arm.com> wrote:
> On Mon, Jan 16, 2017 at 02:26:54PM +0800, Fu Wei wrote:
>> Hi Mark,
>>
>> This v19 (I have mentioned it in my previous email) is the latest
>> patchset which can be applied on
Hi Mark,
On 16 January 2017 at 20:01, Mark Rutland wrote:
> On Mon, Jan 16, 2017 at 02:26:54PM +0800, Fu Wei wrote:
>> Hi Mark,
>>
>> This v19 (I have mentioned it in my previous email) is the latest
>> patchset which can be applied on v4.10-rc4 directly.
>&g
Hi Mark,
This v19 (I have mentioned it in my previous email) is the latest
patchset which can be applied on v4.10-rc4 directly.
please review this patchset, thanks! :-)
On 21 December 2016 at 14:45, <fu@linaro.org> wrote:
> From: Fu Wei <fu@linaro.org>
>
> Th
Hi Mark,
This v19 (I have mentioned it in my previous email) is the latest
patchset which can be applied on v4.10-rc4 directly.
please review this patchset, thanks! :-)
On 21 December 2016 at 14:45, wrote:
> From: Fu Wei
>
> This patchset:
> (1)Preparation for adding
Hi Mark,
On 14 January 2017 at 19:34, Fu Wei <fu@linaro.org> wrote:
> Hi Mark,
>
> On 14 January 2017 at 03:29, Mark Rutland <mark.rutl...@arm.com> wrote:
>> Hi,
>>
>> On Fri, Dec 09, 2016 at 01:33:04AM +0800, fu@linaro.org wrote:
>>> From:
Hi Mark,
On 14 January 2017 at 19:34, Fu Wei wrote:
> Hi Mark,
>
> On 14 January 2017 at 03:29, Mark Rutland wrote:
>> Hi,
>>
>> On Fri, Dec 09, 2016 at 01:33:04AM +0800, fu@linaro.org wrote:
>>> From: Fu Wei
>>>
>>> This pa
Hi Mark,
On 14 January 2017 at 03:29, Mark Rutland <mark.rutl...@arm.com> wrote:
> Hi,
>
> On Fri, Dec 09, 2016 at 01:33:04AM +0800, fu@linaro.org wrote:
>> From: Fu Wei <fu@linaro.org>
>>
>> This patchset:
>> (1)Preparation for adding
Hi Mark,
On 14 January 2017 at 03:29, Mark Rutland wrote:
> Hi,
>
> On Fri, Dec 09, 2016 at 01:33:04AM +0800, fu@linaro.org wrote:
>> From: Fu Wei
>>
>> This patchset:
>> (1)Preparation for adding GTDT support in arm_arch_timer:
>> 1. Mo
From: Fu Wei <fu@linaro.org>
The patch add memory-mapped timer register support by using the
information provided by the new GTDT driver of ACPI.
Signed-off-by: Fu Wei <fu@linaro.org>
---
drivers/clocksource/arm_arch_timer.c | 35 ---
1 file
From: Fu Wei <fu@linaro.org>
This driver adds support for parsing SBSA Generic Watchdog timer
in GTDT, parse all info in SBSA Generic Watchdog Structure in GTDT,
and creating a platform device with that information.
This allows the operating system to obtain device data from the
re
From: Fu Wei
The patch add memory-mapped timer register support by using the
information provided by the new GTDT driver of ACPI.
Signed-off-by: Fu Wei
---
drivers/clocksource/arm_arch_timer.c | 35 ---
1 file changed, 32 insertions(+), 3 deletions(-)
diff
From: Fu Wei
This driver adds support for parsing SBSA Generic Watchdog timer
in GTDT, parse all info in SBSA Generic Watchdog Structure in GTDT,
and creating a platform device with that information.
This allows the operating system to obtain device data from the
resource of platform device
From: Fu Wei <fu@linaro.org>
This patch adds support for parsing arch timer info in GTDT,
provides some kernel APIs to parse all the PPIs and
always-on info in GTDT and export them.
By this driver, we can simplify arm_arch_timer drivers, and
separate the ACPI GTDT knowledge from it.
From: Fu Wei <fu@linaro.org>
On platforms booting with ACPI, architected memory-mapped timers'
configuration data is provided by firmware through the ACPI GTDT
static table.
The clocksource architected timer kernel driver requires a firmware
interface to collect timer configu
From: Fu Wei <fu@linaro.org>
The patch update arm_arch_timer driver to use the function
provided by the new GTDT driver of ACPI.
By this way, arm_arch_timer.c can be simplified, and separate
all the ACPI GTDT knowledge from this timer driver.
Signed-off-by: Fu Wei <fu@linaro.or
From: Fu Wei <fu@linaro.org>
The patch introduce two new structs: arch_timer_mem, arch_timer_mem_frame.
And also introduce a new define: ARCH_TIMER_MEM_MAX_FRAMES
These will be used for refactoring the memory-mapped timer init code to
prepare for GTDT
Signed-off-by: Fu W
From: Fu Wei <fu@linaro.org>
When system init with device-tree, we don't know which node will be
initialized first. And the code in arch_timer_common_init should wait
until per-cpu timer and MMIO timer are both initialized. So we need
arch_timer_needs_probing to detect the init
From: Fu Wei
The patch introduce two new structs: arch_timer_mem, arch_timer_mem_frame.
And also introduce a new define: ARCH_TIMER_MEM_MAX_FRAMES
These will be used for refactoring the memory-mapped timer init code to
prepare for GTDT
Signed-off-by: Fu Wei
---
include/clocksource
From: Fu Wei
When system init with device-tree, we don't know which node will be
initialized first. And the code in arch_timer_common_init should wait
until per-cpu timer and MMIO timer are both initialized. So we need
arch_timer_needs_probing to detect the init status of system.
But currently
From: Fu Wei
The patch update arm_arch_timer driver to use the function
provided by the new GTDT driver of ACPI.
By this way, arm_arch_timer.c can be simplified, and separate
all the ACPI GTDT knowledge from this timer driver.
Signed-off-by: Fu Wei
Signed-off-by: Hanjun Guo
Tested
From: Fu Wei
This patch adds support for parsing arch timer info in GTDT,
provides some kernel APIs to parse all the PPIs and
always-on info in GTDT and export them.
By this driver, we can simplify arm_arch_timer drivers, and
separate the ACPI GTDT knowledge from it.
Signed-off-by: Fu Wei
From: Fu Wei
On platforms booting with ACPI, architected memory-mapped timers'
configuration data is provided by firmware through the ACPI GTDT
static table.
The clocksource architected timer kernel driver requires a firmware
interface to collect timer configuration and configure its driver
From: Fu Wei <fu@linaro.org>
Because arch_timer_needs_of_probing is only for booting with device-tree,
but arch_timer_common_init is a generic init call which shouldn't include
the FW-specific code. It's better to put arch_timer_needs_of_probing into
DT init function.
But for per-cpu
From: Fu Wei <fu@linaro.org>
The patch refactor original memory-mapped timer init code:
(1) Refactor "arch_timer_mem_init", make it become a common code for
memory-mapped timer init.
(2) Add a new function "arch_timer_mem_of_init" for DT init.
From: Fu Wei
The patch refactor original memory-mapped timer init code:
(1) Refactor "arch_timer_mem_init", make it become a common code for
memory-mapped timer init.
(2) Add a new function "arch_timer_mem_of_init" for DT init.
Signed-off-by: Fu Wei
---
From: Fu Wei
Because arch_timer_needs_of_probing is only for booting with device-tree,
but arch_timer_common_init is a generic init call which shouldn't include
the FW-specific code. It's better to put arch_timer_needs_of_probing into
DT init function.
But for per-cpu timer
From: Fu Wei <fu@linaro.org>
Rename some enums and defines, to unify the format of enums and defines
in arm_arch_timer.h, also update all the users of these enums and defines:
drivers/clocksource/arm_arch_timer.c
virt/kvm/arm/hyp/timer-sr.c
No functional change.
Signed-off-
From: Fu Wei
Rename some enums and defines, to unify the format of enums and defines
in arm_arch_timer.h, also update all the users of these enums and defines:
drivers/clocksource/arm_arch_timer.c
virt/kvm/arm/hyp/timer-sr.c
No functional change.
Signed-off-by: Fu Wei
Tested
From: Fu Wei <fu@linaro.org>
This patch defines pr_fmt(fmt) for all pr_* functions,
then the pr_* doesn't need to add "arch_timer:" everytime.
According to the suggestion from checkpatch.pl:
(1) delete some Blank Spaces in arch_timer_banner;
(2) delete a redundant Tab
From: Fu Wei <fu@linaro.org>
Currently, the arch timer driver uses ARCH_TIMER_PHYS_SECURE_PPI to
mean the driver will use the secure PPI *and* potentialy also use the
non-secure PPI. This is somewhat confusing.
For arm64, where it never makes sense to use the secure PPI, this
means w
From: Fu Wei <fu@linaro.org>
Currently, the counter frequency detection call(arch_timer_detect_rate)
combines all the ways to get counter frequency: device-tree property,
system coprocessor register, MMIO timer. But in the most of use cases,
we don't need all the ways to try:
For e
From: Fu Wei <fu@linaro.org>
To support the arm_arch_timer via ACPI we need to share defines and enums
between the driver and the ACPI parser code.
Split out the relevant defines and enums into arm_arch_timer.h, and
change "enum ppi_nr" to "enum arch_timer_ppi_nr" t
From: Fu Wei <fu@linaro.org>
This patch add a new enum "arch_timer_spi_nr" and use it in the driver.
Just for code's readability, no functional change.
Signed-off-by: Fu Wei <fu@linaro.org>
Acked-by: Mark Rutland <mark.rutl...@arm.com>
---
drivers/cloc
From: Fu Wei
Currently, the counter frequency detection call(arch_timer_detect_rate)
combines all the ways to get counter frequency: device-tree property,
system coprocessor register, MMIO timer. But in the most of use cases,
we don't need all the ways to try:
For example, reading device-tree
From: Fu Wei
To support the arm_arch_timer via ACPI we need to share defines and enums
between the driver and the ACPI parser code.
Split out the relevant defines and enums into arm_arch_timer.h, and
change "enum ppi_nr" to "enum arch_timer_ppi_nr" to avoid the potentia
From: Fu Wei
This patch add a new enum "arch_timer_spi_nr" and use it in the driver.
Just for code's readability, no functional change.
Signed-off-by: Fu Wei
Acked-by: Mark Rutland
---
drivers/clocksource/arm_arch_timer.c | 4 ++--
include/clocksource/arm_arch_timer.h | 6 +
From: Fu Wei
This patch defines pr_fmt(fmt) for all pr_* functions,
then the pr_* doesn't need to add "arch_timer:" everytime.
According to the suggestion from checkpatch.pl:
(1) delete some Blank Spaces in arch_timer_banner;
(2) delete a redundant Tab in a bland line of arch_timer
From: Fu Wei
Currently, the arch timer driver uses ARCH_TIMER_PHYS_SECURE_PPI to
mean the driver will use the secure PPI *and* potentialy also use the
non-secure PPI. This is somewhat confusing.
For arm64, where it never makes sense to use the secure PPI, this
means we must always request
From: Fu Wei <fu@linaro.org>
This patchset:
(1)Preparation for adding GTDT support in arm_arch_timer:
1. Move some enums and marcos to header file;
2. Add a new enum for spi type;
3. Improve printk relevant code;
4. Rename some enums and defines;
From: Fu Wei
This patchset:
(1)Preparation for adding GTDT support in arm_arch_timer:
1. Move some enums and marcos to header file;
2. Add a new enum for spi type;
3. Improve printk relevant code;
4. Rename some enums and defines;
5. Rework PPI
Hi Joe,
On 9 December 2016 at 05:10, Joe Perches <j...@perches.com> wrote:
> On Fri, 2016-12-09 at 01:33 +0800, fu@linaro.org wrote:
>> From: Fu Wei <fu@linaro.org>
>>
>> This patch defines pr_fmt(fmt) for all pr_* functions,
>> then the pr_* does
Hi Joe,
On 9 December 2016 at 05:10, Joe Perches wrote:
> On Fri, 2016-12-09 at 01:33 +0800, fu@linaro.org wrote:
>> From: Fu Wei
>>
>> This patch defines pr_fmt(fmt) for all pr_* functions,
>> then the pr_* doesn't need to add "arch_timer:" everytime.
From: Fu Wei <fu@linaro.org>
This patch adds support for parsing arch timer info in GTDT,
provides some kernel APIs to parse all the PPIs and
always-on info in GTDT and export them.
By this driver, we can simplify arm_arch_timer drivers, and
separate the ACPI GTDT knowledge from it.
From: Fu Wei <fu@linaro.org>
This driver adds support for parsing SBSA Generic Watchdog timer
in GTDT, parse all info in SBSA Generic Watchdog Structure in GTDT,
and creating a platform device with that information.
This allows the operating system to obtain device data from the
re
From: Fu Wei
This patch adds support for parsing arch timer info in GTDT,
provides some kernel APIs to parse all the PPIs and
always-on info in GTDT and export them.
By this driver, we can simplify arm_arch_timer drivers, and
separate the ACPI GTDT knowledge from it.
Signed-off-by: Fu Wei
From: Fu Wei
This driver adds support for parsing SBSA Generic Watchdog timer
in GTDT, parse all info in SBSA Generic Watchdog Structure in GTDT,
and creating a platform device with that information.
This allows the operating system to obtain device data from the
resource of platform device
From: Fu Wei <fu@linaro.org>
On platforms booting with ACPI, architected memory-mapped timers'
configuration data is provided by firmware through the ACPI GTDT
static table.
The clocksource architected timer kernel driver requires a firmware
interface to collect timer configu
From: Fu Wei <fu@linaro.org>
The patch add memory-mapped timer register support by using the
information provided by the new GTDT driver of ACPI.
Signed-off-by: Fu Wei <fu@linaro.org>
---
drivers/clocksource/arm_arch_timer.c | 35 ---
1 file
From: Fu Wei <fu@linaro.org>
The patch update arm_arch_timer driver to use the function
provided by the new GTDT driver of ACPI.
By this way, arm_arch_timer.c can be simplified, and separate
all the ACPI GTDT knowledge from this timer driver.
Signed-off-by: Fu Wei <fu@linaro.or
From: Fu Wei
The patch update arm_arch_timer driver to use the function
provided by the new GTDT driver of ACPI.
By this way, arm_arch_timer.c can be simplified, and separate
all the ACPI GTDT knowledge from this timer driver.
Signed-off-by: Fu Wei
Signed-off-by: Hanjun Guo
Tested
From: Fu Wei
On platforms booting with ACPI, architected memory-mapped timers'
configuration data is provided by firmware through the ACPI GTDT
static table.
The clocksource architected timer kernel driver requires a firmware
interface to collect timer configuration and configure its driver
From: Fu Wei
The patch add memory-mapped timer register support by using the
information provided by the new GTDT driver of ACPI.
Signed-off-by: Fu Wei
---
drivers/clocksource/arm_arch_timer.c | 35 ---
1 file changed, 32 insertions(+), 3 deletions(-)
diff
From: Fu Wei <fu@linaro.org>
Rename some enums and defines, to unify the format of enums and defines
in arm_arch_timer.h, also update all the users of these enums and defines:
drivers/clocksource/arm_arch_timer.c
virt/kvm/arm/hyp/timer-sr.c
No functional change.
Signed-off-
From: Fu Wei
Rename some enums and defines, to unify the format of enums and defines
in arm_arch_timer.h, also update all the users of these enums and defines:
drivers/clocksource/arm_arch_timer.c
virt/kvm/arm/hyp/timer-sr.c
No functional change.
Signed-off-by: Fu Wei
Tested
From: Fu Wei <fu@linaro.org>
The patch introduce two new structs: arch_timer_mem, arch_timer_mem_frame.
And also introduce a new define: ARCH_TIMER_MEM_MAX_FRAMES
These will be used for refactoring the memory-mapped timer init code to
prepare for GTDT
Signed-off-by: Fu W
From: Fu Wei
The patch introduce two new structs: arch_timer_mem, arch_timer_mem_frame.
And also introduce a new define: ARCH_TIMER_MEM_MAX_FRAMES
These will be used for refactoring the memory-mapped timer init code to
prepare for GTDT
Signed-off-by: Fu Wei
---
include/clocksource
From: Fu Wei <fu@linaro.org>
Currently, the counter frequency detection call(arch_timer_detect_rate)
combines all the ways to get counter frequency: device-tree property,
system coprocessor register, MMIO timer. But in the most of use cases,
we don't need all the ways to try:
For e
From: Fu Wei <fu@linaro.org>
Because arch_timer_needs_of_probing is only for booting with device-tree,
but arch_timer_common_init is a generic init call which shouldn't include
the FW-specific code. It's better to put arch_timer_needs_of_probing into
DT init function.
But for per-cpu
From: Fu Wei <fu@linaro.org>
When system init with device-tree, we don't know which node will be
initialized first. And the code in arch_timer_common_init should wait
until per-cpu timer and MMIO timer are both initialized. So we need
arch_timer_needs_probing to detect the init
From: Fu Wei <fu@linaro.org>
The patch refactor original memory-mapped timer init code:
(1) Refactor "arch_timer_mem_init", make it become a common code for
memory-mapped timer init.
(2) Add a new function "arch_timer_mem_of_init" for DT init.
201 - 300 of 1364 matches
Mail list logo