From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: lenb@kernel.org, linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: Re: [PATCH 2/5] acpi : remove index from acpi_processor_cx structure
Date: Tue, 17 Jul 2012 22:32:41 +0200 [thread overview]
Message-ID: <201207172232.41412.rjw@sisk.pl> (raw)
In-Reply-To: <1342127026-1526-2-git-send-email-daniel.lezcano@linaro.org>
On Thursday, July 12, 2012, Daniel Lezcano wrote:
> Remove the index field. It could be given without adding extra
> information in the cx structure.
>
> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Applied to the 'pm-cpuidle' branch of the linux-pm.git tree.
Thanks,
Rafael
> ---
> arch/x86/kernel/acpi/cstate.c | 18 +++++++++---------
> drivers/acpi/processor_idle.c | 15 +++++++--------
> include/acpi/processor.h | 11 +++++------
> 3 files changed, 21 insertions(+), 23 deletions(-)
>
> diff --git a/arch/x86/kernel/acpi/cstate.c b/arch/x86/kernel/acpi/cstate.c
> index d2b7f27..faa7f50 100644
> --- a/arch/x86/kernel/acpi/cstate.c
> +++ b/arch/x86/kernel/acpi/cstate.c
> @@ -112,8 +112,8 @@ out:
> return retval;
> }
>
> -int acpi_processor_ffh_cstate_probe(unsigned int cpu,
> - struct acpi_processor_cx *cx, struct acpi_power_register *reg)
> +int acpi_processor_ffh_cstate_probe(unsigned int cpu, struct acpi_processor_cx *cx,
> + int index, struct acpi_power_register *reg)
> {
> struct cstate_entry *percpu_entry;
> struct cpuinfo_x86 *c = &cpu_data(cpu);
> @@ -126,16 +126,16 @@ int acpi_processor_ffh_cstate_probe(unsigned int cpu,
> return -1;
>
> percpu_entry = per_cpu_ptr(cpu_cstate_entry, cpu);
> - percpu_entry->states[cx->index].eax = 0;
> - percpu_entry->states[cx->index].ecx = 0;
> + percpu_entry->states[index].eax = 0;
> + percpu_entry->states[index].ecx = 0;
>
> /* Make sure we are running on right CPU */
>
> retval = work_on_cpu(cpu, acpi_processor_ffh_cstate_probe_cpu, cx);
> if (retval == 0) {
> /* Use the hint in CST */
> - percpu_entry->states[cx->index].eax = cx->address;
> - percpu_entry->states[cx->index].ecx = MWAIT_ECX_INTERRUPT_BREAK;
> + percpu_entry->states[index].eax = cx->address;
> + percpu_entry->states[index].ecx = MWAIT_ECX_INTERRUPT_BREAK;
> }
>
> /*
> @@ -173,14 +173,14 @@ void mwait_idle_with_hints(unsigned long ax, unsigned long cx)
> }
> }
>
> -void acpi_processor_ffh_cstate_enter(struct acpi_processor_cx *cx)
> +void acpi_processor_ffh_cstate_enter(int index)
> {
> unsigned int cpu = smp_processor_id();
> struct cstate_entry *percpu_entry;
>
> percpu_entry = per_cpu_ptr(cpu_cstate_entry, cpu);
> - mwait_idle_with_hints(percpu_entry->states[cx->index].eax,
> - percpu_entry->states[cx->index].ecx);
> + mwait_idle_with_hints(percpu_entry->states[index].eax,
> + percpu_entry->states[index].ecx);
> }
> EXPORT_SYMBOL_GPL(acpi_processor_ffh_cstate_enter);
>
> diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
> index da92c65..9808e60 100644
> --- a/drivers/acpi/processor_idle.c
> +++ b/drivers/acpi/processor_idle.c
> @@ -433,12 +433,11 @@ static int acpi_processor_get_power_info_cst(struct acpi_processor *pr)
> current_count++;
>
> cx.address = reg->address;
> - cx.index = current_count + 1;
>
> cx.entry_method = ACPI_CSTATE_SYSTEMIO;
> if (reg->space_id == ACPI_ADR_SPACE_FIXED_HARDWARE) {
> - if (acpi_processor_ffh_cstate_probe
> - (pr->id, &cx, reg) == 0) {
> + if (acpi_processor_ffh_cstate_probe(
> + pr->id, &cx, current_count + 1, reg) == 0) {
> cx.entry_method = ACPI_CSTATE_FFH;
> } else if (cx.type == ACPI_STATE_C1) {
> /*
> @@ -707,13 +706,13 @@ static int acpi_idle_bm_check(void)
> *
> * Caller disables interrupt before call and enables interrupt after return.
> */
> -static inline void acpi_idle_do_entry(struct acpi_processor_cx *cx)
> +static inline void acpi_idle_do_entry(struct acpi_processor_cx *cx, int index)
> {
> /* Don't trace irqs off for idle */
> stop_critical_timings();
> if (cx->entry_method == ACPI_CSTATE_FFH) {
> /* Call into architectural FFH based C-state */
> - acpi_processor_ffh_cstate_enter(cx);
> + acpi_processor_ffh_cstate_enter(index);
> } else if (cx->entry_method == ACPI_CSTATE_HALT) {
> acpi_safe_halt();
> } else {
> @@ -754,7 +753,7 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev,
>
> lapic_timer_state_broadcast(pr, cx, 1);
> kt1 = ktime_get_real();
> - acpi_idle_do_entry(cx);
> + acpi_idle_do_entry(cx, index);
> kt2 = ktime_get_real();
> idle_time = ktime_to_us(ktime_sub(kt2, kt1));
>
> @@ -848,7 +847,7 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
> kt1 = ktime_get_real();
> /* Tell the scheduler that we are going deep-idle: */
> sched_clock_idle_sleep_event();
> - acpi_idle_do_entry(cx);
> + acpi_idle_do_entry(cx, index);
> kt2 = ktime_get_real();
> idle_time_ns = ktime_to_ns(ktime_sub(kt2, kt1));
> idle_time = idle_time_ns;
> @@ -960,7 +959,7 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
> ACPI_FLUSH_CPU_CACHE();
> }
>
> - acpi_idle_do_entry(cx);
> + acpi_idle_do_entry(cx, index);
>
> /* Re-enable bus master arbitration */
> if (pr->flags.bm_check && pr->flags.bm_control) {
> diff --git a/include/acpi/processor.h b/include/acpi/processor.h
> index a70cbcc..d09c94f 100644
> --- a/include/acpi/processor.h
> +++ b/include/acpi/processor.h
> @@ -57,7 +57,6 @@ struct acpi_processor_cx {
> u8 type;
> u32 address;
> u8 entry_method;
> - u8 index;
> u32 latency;
> u32 power;
> u32 usage;
> @@ -249,8 +248,9 @@ void acpi_processor_power_init_bm_check(struct acpi_processor_flags *flags,
> unsigned int cpu);
> int acpi_processor_ffh_cstate_probe(unsigned int cpu,
> struct acpi_processor_cx *cx,
> + int index,
> struct acpi_power_register *reg);
> -void acpi_processor_ffh_cstate_enter(struct acpi_processor_cx *cstate);
> +void acpi_processor_ffh_cstate_enter(int index);
> #else
> static inline void acpi_processor_power_init_bm_check(struct
> acpi_processor_flags
> @@ -261,13 +261,12 @@ static inline void acpi_processor_power_init_bm_check(struct
> }
> static inline int acpi_processor_ffh_cstate_probe(unsigned int cpu,
> struct acpi_processor_cx *cx,
> - struct acpi_power_register
> - *reg)
> + int index,
> + struct acpi_power_register *reg)
> {
> return -1;
> }
> -static inline void acpi_processor_ffh_cstate_enter(struct acpi_processor_cx
> - *cstate)
> +static inline void acpi_processor_ffh_cstate_enter(int index)
> {
> return;
> }
>
next prev parent reply other threads:[~2012-07-17 20:27 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-12 21:03 [PATCH 1/5] acpi : remove latency_ticks from acpi_processor_cx structure Daniel Lezcano
2012-07-12 21:03 ` [PATCH 2/5] acpi : remove index " Daniel Lezcano
2012-07-12 21:44 ` Rafael J. Wysocki
2012-07-12 21:57 ` Daniel Lezcano
2012-07-13 18:13 ` Rafael J. Wysocki
2012-07-17 20:32 ` Rafael J. Wysocki [this message]
2012-07-17 20:34 ` Rafael J. Wysocki
2012-07-12 21:03 ` [PATCH 3/5] acpi : remove usage " Daniel Lezcano
2012-07-12 21:45 ` Rafael J. Wysocki
2012-07-17 20:35 ` Rafael J. Wysocki
2012-07-12 21:03 ` [PATCH 4/5] acpi : remove power " Daniel Lezcano
2012-07-12 21:45 ` Rafael J. Wysocki
2012-07-13 0:17 ` Konrad Rzeszutek Wilk
2012-07-13 7:36 ` Daniel Lezcano
2012-07-13 12:23 ` Daniel Lezcano
2012-07-13 18:14 ` Rafael J. Wysocki
2012-07-16 15:23 ` Konrad Rzeszutek Wilk
2012-07-12 21:03 ` [PATCH 5/5] acpi : remove time " Daniel Lezcano
2012-07-12 21:46 ` Rafael J. Wysocki
2012-07-17 20:35 ` Rafael J. Wysocki
2012-07-12 21:40 ` [PATCH 1/5] acpi : remove latency_ticks " Rafael J. Wysocki
2012-07-17 20:32 ` Rafael J. Wysocki
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=201207172232.41412.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=daniel.lezcano@linaro.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
/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 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).