[RESEND PATCH v4 5/5] clocksource: add memory-mapped timer support in arm_arch_timer.c
From: Thomas Gleixner <hidden>
Date: 2016-03-18 09:34:27
Also in:
linux-acpi, lkml
From: Thomas Gleixner <hidden>
Date: 2016-03-18 09:34:27
Also in:
linux-acpi, lkml
On Fri, 18 Mar 2016, fu.wei at linaro.org wrote:
+static u32 __init arch_timer_mem_cnttidr(struct acpi_gtdt_timer_block *gt_block)
+{
+ phys_addr_t cntctlbase_phy;
+ void __iomem *cntctlbase;
+ u32 cnttidr;
+
+ cntctlbase_phy = (phys_addr_t)gtdt_gt_cntctlbase(gt_block);
+ if (!cntctlbase_phy) {
+ pr_err("Can't find CNTCTLBase.\n");
+ return 0;
+ }
+
+ /*
+ * According to ARMv8 Architecture Reference Manual(ARM),
+ * the size of CNTCTLBase frame of memory-mapped timer
+ * is SZ_4K(Offset 0x000 ? 0xFFF).
+ */
+ cntctlbase = ioremap(cntctlbase_phy, SZ_4K);
+ if (!cntctlbase) {
+ pr_err("Can't map CNTCTLBase\n");
+ return 0;
+ }Why are you continuing when you can't find a base address or the remap fails?
+ /* + * Get Generic Timer Counter-timer Timer ID Register + * for Virtual Timer Capability info + */ + cnttidr = arch_timer_mem_cnttidr(gt_block);
Thanks, tglx