From: Mark Rutland <mark.rutland@arm.com> To: fu.wei@linaro.org Cc: rjw@rjwysocki.net, lenb@kernel.org, daniel.lezcano@linaro.org, tglx@linutronix.de, marc.zyngier@arm.com, lorenzo.pieralisi@arm.com, sudeep.holla@arm.com, hanjun.guo@linaro.org, linux-arm-kernel@lists.infradead.org, linaro-acpi@lists.linaro.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, rruigrok@codeaurora.org, harba@codeaurora.org, cov@codeaurora.org, timur@codeaurora.org, graeme.gregory@linaro.org, al.stone@linaro.org, jcm@redhat.com, wei@redhat.com, arnd@arndb.de, catalin.marinas@arm.com, will.deacon@arm.com, Suravee.Suthikulpanit@amd.com, leo.duran@amd.com, wim@iguana.be, linux@roeck-us.net, linux-watchdog@vger.kernel.org, tn@semihalf.com, christoffer.dall@linaro.org, julien.grall@arm.com Subject: Re: [PATCH v19 10/15] clocksource/drivers/arm_arch_timer: Refactor the timer init code to prepare for GTDT Date: Mon, 16 Jan 2017 18:30:32 +0000 [thread overview] Message-ID: <20170116183032.GL5908@leverpostej> (raw) In-Reply-To: <20161221064603.11830-11-fu.wei@linaro.org> On Wed, Dec 21, 2016 at 02:45:58PM +0800, fu.wei@linaro.org wrote: > From: Fu Wei <fu.wei@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. As a general note, please write proper commit messages, describing what the problem is, and why we are making the changes. These bullet points don't add anything to what can be derived from a glance at the code. For this patch, you can use: clocksource: arm_arch_timer: refactor MMIO timer probing 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 of arch_timer_mem_init(), into a new function, arch_timer_mem_of_init(). The former pokes the hardware and determines the suitablility of frames based on a datastructure populated by the latter. This cleanly separates the two and will make it possible to add probing using the ACPI GTDT in subsequent patches. [...] > + for_each_available_child_of_node(np, frame_node) { > + int n; > + struct arch_timer_mem_frame *frame = &timer_mem->frame[i]; > + > + if (of_property_read_u32(frame_node, "frame-number", &n)) { > + pr_err("Missing frame-number\n"); > + of_node_put(frame_node); > + goto out; > + } > + frame->frame_nr = n; > + > + if (of_address_to_resource(frame_node, 0, &res)) { > + of_node_put(frame_node); > + goto out; > + } > + frame->cntbase = res.start; > + frame->size = resource_size(&res); > + > + frame->virt_irq = irq_of_parse_and_map(frame_node, > + ARCH_TIMER_VIRT_SPI); > + frame->phys_irq = irq_of_parse_and_map(frame_node, > + ARCH_TIMER_PHYS_SPI); > > - if (!arch_timer_needs_of_probing()) > + if (++i >= ARCH_TIMER_MEM_MAX_FRAMES) > + break; > + } It would be good if we could warn upon seeing more than ARCH_TIMER_MEM_MAX_FRAMES children, since that's obviously an error. Thanks, Mark.
next prev parent reply other threads:[~2017-01-16 18:31 UTC|newest] Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-12-21 6:45 [PATCH v19 00/15] acpi, clocksource: add GTDT driver and GTDT support in arm_arch_timer fu.wei 2016-12-21 6:45 ` [PATCH v19 01/15] clocksource/drivers/arm_arch_timer: Move enums and defines to header file fu.wei 2016-12-21 6:45 ` [PATCH v19 02/15] clocksource/drivers/arm_arch_timer: Add a new enum for spi type fu.wei 2016-12-21 6:45 ` [PATCH v19 03/15] clocksource/drivers/arm_arch_timer: Improve printk relevant code fu.wei 2016-12-21 6:45 ` [PATCH v19 04/15] clocksource/drivers/arm_arch_timer: rename some enums and defines fu.wei 2016-12-21 6:45 ` [PATCH v19 05/15] clocksource/drivers/arm_arch_timer: rework PPI determination fu.wei 2017-01-16 17:29 ` Mark Rutland 2017-01-17 23:49 ` Fu Wei 2016-12-21 6:45 ` [PATCH v19 06/15] clocksource/drivers/arm_arch_timer: Rework counter frequency detection fu.wei 2017-01-16 17:50 ` Mark Rutland 2017-01-18 4:27 ` Fu Wei 2016-12-21 6:45 ` [PATCH v19 07/15] clocksource/drivers/arm_arch_timer: Refactor arch_timer_needs_probing fu.wei 2016-12-21 6:45 ` [PATCH v19 08/15] clocksource/drivers/arm_arch_timer: move arch_timer_needs_of_probing into DT init call fu.wei 2016-12-21 6:45 ` [PATCH v19 09/15] clocksource/drivers/arm_arch_timer: Introduce some new structs to prepare for GTDT fu.wei 2016-12-21 6:45 ` [PATCH v19 10/15] clocksource/drivers/arm_arch_timer: Refactor the timer init code " fu.wei 2017-01-16 18:30 ` Mark Rutland [this message] 2017-01-17 10:30 ` Fu Wei 2017-01-17 10:39 ` Fu Wei 2017-01-17 12:18 ` Timur Tabi 2017-01-17 12:29 ` Mark Rutland 2017-01-17 13:22 ` Fu Wei 2016-12-21 6:45 ` [PATCH v19 11/15] acpi/arm64: Add GTDT table parse driver fu.wei 2016-12-21 6:46 ` [PATCH v19 12/15] clocksource/drivers/arm_arch_timer: Simplify ACPI support code fu.wei 2016-12-21 6:46 ` [PATCH v19 13/15] acpi/arm64: Add memory-mapped timer support in GTDT driver fu.wei 2016-12-21 6:46 ` [PATCH v19 14/15] clocksource/drivers/arm_arch_timer: Add GTDT support for memory-mapped timer fu.wei 2016-12-21 6:46 ` [PATCH v19 15/15] acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver fu.wei 2017-01-16 6:26 ` [PATCH v19 00/15] acpi, clocksource: add GTDT driver and GTDT support in arm_arch_timer Fu Wei 2017-01-16 12:01 ` Mark Rutland 2017-01-16 12:04 ` Fu Wei 2017-01-16 17:00 ` Mark Rutland 2017-01-17 9:14 ` Fu Wei
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170116183032.GL5908@leverpostej \ --to=mark.rutland@arm.com \ --cc=Suravee.Suthikulpanit@amd.com \ --cc=al.stone@linaro.org \ --cc=arnd@arndb.de \ --cc=catalin.marinas@arm.com \ --cc=christoffer.dall@linaro.org \ --cc=cov@codeaurora.org \ --cc=daniel.lezcano@linaro.org \ --cc=fu.wei@linaro.org \ --cc=graeme.gregory@linaro.org \ --cc=hanjun.guo@linaro.org \ --cc=harba@codeaurora.org \ --cc=jcm@redhat.com \ --cc=julien.grall@arm.com \ --cc=lenb@kernel.org \ --cc=leo.duran@amd.com \ --cc=linaro-acpi@lists.linaro.org \ --cc=linux-acpi@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-watchdog@vger.kernel.org \ --cc=linux@roeck-us.net \ --cc=lorenzo.pieralisi@arm.com \ --cc=marc.zyngier@arm.com \ --cc=rjw@rjwysocki.net \ --cc=rruigrok@codeaurora.org \ --cc=sudeep.holla@arm.com \ --cc=tglx@linutronix.de \ --cc=timur@codeaurora.org \ --cc=tn@semihalf.com \ --cc=wei@redhat.com \ --cc=will.deacon@arm.com \ --cc=wim@iguana.be \ --subject='Re: [PATCH v19 10/15] clocksource/drivers/arm_arch_timer: Refactor the timer init code to prepare for GTDT' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).