All of lore.kernel.org
 help / color / mirror / Atom feed
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 v21 11/13] acpi/arm64: Add memory-mapped timer support in GTDT driver
Date: Fri, 17 Mar 2017 19:40:55 +0000	[thread overview]
Message-ID: <20170317194055.GE15909@leverpostej> (raw)
In-Reply-To: <20170206185015.12296-12-fu.wei@linaro.org>

Hi,

On Tue, Feb 07, 2017 at 02:50:13AM +0800, fu.wei@linaro.org wrote:
> +static int __init gtdt_parse_timer_block(struct acpi_gtdt_timer_block *block,
> +					 struct arch_timer_mem *data)

Please s/data/timer_mem/ here, to match the rest of the timer code.

> +{
> +	int i, j;
> +	struct acpi_gtdt_timer_entry *frame;

So as to make it clear what this is, and to make things a litlte simpler
below, please s/frame/gtdt_frame/ here.

> +
> +	if (!block->timer_count) {
> +		pr_err(FW_BUG "GT block present, but frame count is zero.");
> +		return -ENODEV;
> +	}
> +
> +	if (block->timer_count > ARCH_TIMER_MEM_MAX_FRAMES) {
> +		pr_err(FW_BUG "GT block lists %d frames, ACPI spec only allows 8\n",
> +		       block->timer_count);
> +		return -EINVAL;
> +	}
> +
> +	data->cntctlbase = (phys_addr_t)block->block_address;
> +	/*
> +	 * According to "Table * CNTCTLBase memory map" of
> +	 * <ARM Architecture Reference Manual> for ARMv8,
> +	 * The size of the CNTCTLBase frame is 4KB(Offset 0x000 – 0xFFC).
> +	 */

As a general thing, please cite the version of the ARM ARM you're
referring to, as over time the internal numbering (and the headings)
change.

e.g.
	/*
	 * The CNTCTLBase frame is 4KB (register offsets 0x000 - 0xFFC).
	 * See ARM DDI 0487A.k_iss10775, page I1-5129, Table I1-3
	 * "CNTCTLBase memory map".
	 */

> +	data->size = SZ_4K;
> +
> +	frame = (void *)block + block->timer_offset;
> +	if (frame + block->timer_count != (void *)block + block->header.length)
> +		return -EINVAL;
> +
> +	/*
> +	 * Get the GT timer Frame data for every GT Block Timer
> +	 */
> +	for (i = 0, j = 0; i < block->timer_count; i++, frame++) {

With the gtdt_frame rename as above, here we can do:

	struct arch_timer_mem_frame *frame = &timer_mem->frame[j];

> +		if (frame->common_flags & ACPI_GTDT_GT_IS_SECURE_TIMER)
> +			continue;
> +
> +		if (!frame->base_address || !frame->timer_interrupt)
> +			return -EINVAL;
> +
> +		data->frame[j].phys_irq = map_gt_gsi(frame->timer_interrupt,
> +						     frame->timer_flags);

... allowing us to simplify lines like this.

Thanks,
Mark.

WARNING: multiple messages have this Message-ID (diff)
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 v21 11/13] acpi/arm64: Add memory-mapped timer support in GTDT driver
Date: Fri, 17 Mar 2017 19:40:55 +0000	[thread overview]
Message-ID: <20170317194055.GE15909@leverpostej> (raw)
In-Reply-To: <20170206185015.12296-12-fu.wei@linaro.org>

Hi,

On Tue, Feb 07, 2017 at 02:50:13AM +0800, fu.wei@linaro.org wrote:
> +static int __init gtdt_parse_timer_block(struct acpi_gtdt_timer_block *block,
> +					 struct arch_timer_mem *data)

Please s/data/timer_mem/ here, to match the rest of the timer code.

> +{
> +	int i, j;
> +	struct acpi_gtdt_timer_entry *frame;

So as to make it clear what this is, and to make things a litlte simpler
below, please s/frame/gtdt_frame/ here.

> +
> +	if (!block->timer_count) {
> +		pr_err(FW_BUG "GT block present, but frame count is zero.");
> +		return -ENODEV;
> +	}
> +
> +	if (block->timer_count > ARCH_TIMER_MEM_MAX_FRAMES) {
> +		pr_err(FW_BUG "GT block lists %d frames, ACPI spec only allows 8\n",
> +		       block->timer_count);
> +		return -EINVAL;
> +	}
> +
> +	data->cntctlbase = (phys_addr_t)block->block_address;
> +	/*
> +	 * According to "Table * CNTCTLBase memory map" of
> +	 * <ARM Architecture Reference Manual> for ARMv8,
> +	 * The size of the CNTCTLBase frame is 4KB(Offset 0x000 – 0xFFC).
> +	 */

As a general thing, please cite the version of the ARM ARM you're
referring to, as over time the internal numbering (and the headings)
change.

e.g.
	/*
	 * The CNTCTLBase frame is 4KB (register offsets 0x000 - 0xFFC).
	 * See ARM DDI 0487A.k_iss10775, page I1-5129, Table I1-3
	 * "CNTCTLBase memory map".
	 */

> +	data->size = SZ_4K;
> +
> +	frame = (void *)block + block->timer_offset;
> +	if (frame + block->timer_count != (void *)block + block->header.length)
> +		return -EINVAL;
> +
> +	/*
> +	 * Get the GT timer Frame data for every GT Block Timer
> +	 */
> +	for (i = 0, j = 0; i < block->timer_count; i++, frame++) {

With the gtdt_frame rename as above, here we can do:

	struct arch_timer_mem_frame *frame = &timer_mem->frame[j];

> +		if (frame->common_flags & ACPI_GTDT_GT_IS_SECURE_TIMER)
> +			continue;
> +
> +		if (!frame->base_address || !frame->timer_interrupt)
> +			return -EINVAL;
> +
> +		data->frame[j].phys_irq = map_gt_gsi(frame->timer_interrupt,
> +						     frame->timer_flags);

... allowing us to simplify lines like this.

Thanks,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v21 11/13] acpi/arm64: Add memory-mapped timer support in GTDT driver
Date: Fri, 17 Mar 2017 19:40:55 +0000	[thread overview]
Message-ID: <20170317194055.GE15909@leverpostej> (raw)
In-Reply-To: <20170206185015.12296-12-fu.wei@linaro.org>

Hi,

On Tue, Feb 07, 2017 at 02:50:13AM +0800, fu.wei at linaro.org wrote:
> +static int __init gtdt_parse_timer_block(struct acpi_gtdt_timer_block *block,
> +					 struct arch_timer_mem *data)

Please s/data/timer_mem/ here, to match the rest of the timer code.

> +{
> +	int i, j;
> +	struct acpi_gtdt_timer_entry *frame;

So as to make it clear what this is, and to make things a litlte simpler
below, please s/frame/gtdt_frame/ here.

> +
> +	if (!block->timer_count) {
> +		pr_err(FW_BUG "GT block present, but frame count is zero.");
> +		return -ENODEV;
> +	}
> +
> +	if (block->timer_count > ARCH_TIMER_MEM_MAX_FRAMES) {
> +		pr_err(FW_BUG "GT block lists %d frames, ACPI spec only allows 8\n",
> +		       block->timer_count);
> +		return -EINVAL;
> +	}
> +
> +	data->cntctlbase = (phys_addr_t)block->block_address;
> +	/*
> +	 * According to "Table * CNTCTLBase memory map" of
> +	 * <ARM Architecture Reference Manual> for ARMv8,
> +	 * The size of the CNTCTLBase frame is 4KB(Offset 0x000 ? 0xFFC).
> +	 */

As a general thing, please cite the version of the ARM ARM you're
referring to, as over time the internal numbering (and the headings)
change.

e.g.
	/*
	 * The CNTCTLBase frame is 4KB (register offsets 0x000 - 0xFFC).
	 * See ARM DDI 0487A.k_iss10775, page I1-5129, Table I1-3
	 * "CNTCTLBase memory map".
	 */

> +	data->size = SZ_4K;
> +
> +	frame = (void *)block + block->timer_offset;
> +	if (frame + block->timer_count != (void *)block + block->header.length)
> +		return -EINVAL;
> +
> +	/*
> +	 * Get the GT timer Frame data for every GT Block Timer
> +	 */
> +	for (i = 0, j = 0; i < block->timer_count; i++, frame++) {

With the gtdt_frame rename as above, here we can do:

	struct arch_timer_mem_frame *frame = &timer_mem->frame[j];

> +		if (frame->common_flags & ACPI_GTDT_GT_IS_SECURE_TIMER)
> +			continue;
> +
> +		if (!frame->base_address || !frame->timer_interrupt)
> +			return -EINVAL;
> +
> +		data->frame[j].phys_irq = map_gt_gsi(frame->timer_interrupt,
> +						     frame->timer_flags);

... allowing us to simplify lines like this.

Thanks,
Mark.

  reply	other threads:[~2017-03-17 19:41 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-06 18:50 [PATCH v21 00/13] acpi, clocksource: add GTDT driver and GTDT support in arm_arch_timer fu.wei
2017-02-06 18:50 ` fu.wei at linaro.org
2017-02-06 18:50 ` [PATCH v21 01/13] clocksource: arm_arch_timer: introduce two functions to get the frequency from mmio and sysreg fu.wei
2017-02-06 18:50   ` fu.wei at linaro.org
2017-03-17 18:05   ` Mark Rutland
2017-03-17 18:05     ` Mark Rutland
2017-03-17 18:05     ` Mark Rutland
2017-03-20  7:36     ` Fu Wei
2017-03-20  7:36       ` Fu Wei
2017-03-20  7:36       ` Fu Wei
2017-03-20  9:43       ` Fu Wei
2017-03-20  9:43         ` Fu Wei
2017-03-20  9:43         ` Fu Wei
2017-03-20 10:41         ` Mark Rutland
2017-03-20 10:41           ` Mark Rutland
2017-03-20 10:41           ` Mark Rutland
2017-03-20 11:09           ` Fu Wei
2017-03-20 11:09             ` Fu Wei
2017-03-20 11:09             ` Fu Wei
2017-02-06 18:50 ` [PATCH v21 03/13] clocksource: arm_arch_timer: remove arch_timer_detect_rate fu.wei
2017-02-06 18:50   ` fu.wei at linaro.org
2017-03-17 18:07   ` Mark Rutland
2017-03-17 18:07     ` Mark Rutland
2017-03-17 18:07     ` Mark Rutland
2017-03-20  6:59     ` Fu Wei
2017-03-20  6:59       ` Fu Wei
2017-03-20  6:59       ` Fu Wei
2017-02-06 18:50 ` [PATCH v21 04/13] clocksource: arm_arch_timer: split arch_timer_rate for different types of timer fu.wei
2017-02-06 18:50   ` fu.wei at linaro.org
2017-03-17 19:05   ` Mark Rutland
2017-03-17 19:05     ` Mark Rutland
2017-03-17 19:05     ` Mark Rutland
2017-03-20 13:35     ` Fu Wei
2017-03-20 13:35       ` Fu Wei
2017-03-20 13:35       ` Fu Wei
2017-02-06 18:50 ` [PATCH v21 05/13] clocksource: arm_arch_timer: refactor arch_timer_needs_probing fu.wei
2017-02-06 18:50   ` fu.wei at linaro.org
2017-02-06 18:50 ` [PATCH v21 06/13] clocksource: arm_arch_timer: move arch_timer_needs_of_probing into DT init call fu.wei
2017-02-06 18:50   ` fu.wei at linaro.org
2017-02-06 18:50 ` [PATCH v21 07/13] clocksource: arm_arch_timer: introduce some new structs to prepare for GTDT fu.wei
2017-02-06 18:50   ` fu.wei at linaro.org
2017-02-06 18:50 ` [PATCH v21 08/13] clocksource: arm_arch_timer: refactor MMIO timer probing fu.wei
2017-02-06 18:50   ` fu.wei at linaro.org
2017-02-06 18:50 ` [PATCH v21 09/13] acpi/arm64: Add GTDT table parse driver fu.wei
2017-02-06 18:50   ` fu.wei at linaro.org
2017-02-06 18:50 ` [PATCH v21 10/13] clocksource: arm_arch_timer: simplify ACPI support code fu.wei
2017-02-06 18:50   ` fu.wei at linaro.org
2017-02-06 18:50 ` [PATCH v21 11/13] acpi/arm64: Add memory-mapped timer support in GTDT driver fu.wei
2017-02-06 18:50   ` fu.wei at linaro.org
2017-02-06 18:50   ` fu.wei
2017-03-17 19:40   ` Mark Rutland [this message]
2017-03-17 19:40     ` Mark Rutland
2017-03-17 19:40     ` Mark Rutland
2017-03-20 13:38     ` Fu Wei
2017-03-20 13:38       ` Fu Wei
2017-03-20 13:38       ` Fu Wei
2017-02-06 18:50 ` [PATCH v21 12/13] clocksource: arm_arch_timer: add GTDT support for memory-mapped timer fu.wei
2017-02-06 18:50   ` fu.wei at linaro.org
2017-02-06 18:50 ` [PATCH v21 13/13] acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver fu.wei
2017-02-06 18:50   ` fu.wei at linaro.org
2017-02-06 18:50   ` fu.wei
2017-03-17 20:01   ` Mark Rutland
2017-03-17 20:01     ` Mark Rutland
2017-03-17 20:01     ` Mark Rutland
2017-03-17 20:01     ` Mark Rutland
2017-03-20 17:57     ` Fu Wei
2017-03-20 17:57       ` Fu Wei
2017-03-20 17:57       ` Fu Wei
2017-03-20 18:09       ` Mark Rutland
2017-03-20 18:09         ` Mark Rutland
2017-03-20 18:09         ` Mark Rutland
2017-03-20 18:50         ` [Linaro-acpi] " Lurndal, Scott
2017-03-20 18:50           ` Lurndal, Scott
2017-03-20 18:50           ` Lurndal, Scott
2017-03-21  3:48           ` Fu Wei
2017-03-21  3:48             ` Fu Wei
2017-03-21  3:48             ` Fu Wei
2017-03-21 12:48             ` Lurndal, Scott
2017-03-21 12:48               ` Lurndal, Scott
2017-03-21 12:48               ` Lurndal, Scott
2017-03-21  5:12         ` Fu Wei
2017-03-21  5:12           ` Fu Wei
2017-03-21  5:12           ` Fu Wei
     [not found] ` <20170206185015.12296-1-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-02-06 18:50   ` [PATCH v21 02/13] clocksource: arm_arch_timer: separate out device-tree code from arch_timer_detect_rate fu.wei-QSEj5FYQhm4dnm+yROfE0A
2017-02-06 18:50     ` fu.wei at linaro.org
2017-02-06 18:50     ` fu.wei
2017-02-20 16:20   ` [PATCH v21 00/13] acpi, clocksource: add GTDT driver and GTDT support in arm_arch_timer Fu Wei
2017-02-20 16:20     ` Fu Wei
2017-02-20 16:20     ` Fu Wei
     [not found]     ` <CADyBb7t_zrLetPQQ8=k8oN6iMHhuMHO8O3XTZqGYvTT9p0evKw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-03-09 22:47       ` Fu Wei
2017-03-09 22:47         ` Fu Wei
2017-03-09 22:47         ` Fu Wei
2017-03-17 20:03         ` Mark Rutland
2017-03-17 20:03           ` Mark Rutland
2017-03-17 20:03           ` Mark Rutland
2017-03-20  5:09           ` Fu Wei
2017-03-20  5:09             ` Fu Wei
2017-03-20  5:09             ` 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=20170317194055.GE15909@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 \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.