Re: [PATCH 02/12] ACPI: bus master reload not supported in reduced HW mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/17/2013 02:56 PM, Rafael J. Wysocki wrote:
On Saturday, November 09, 2013 06:36:12 PM al.stone@xxxxxxxxxx wrote:
From: Al Stone <ahs3@xxxxxxxxxx>

Remove the saving and restoring of bus master reload registers in
suspend/resume when in reduces HW mode; according to the spec, no
such registers should exist

Signed-off-by: Al Stone <al.stone@xxxxxxxxxx>
---
  drivers/acpi/processor_idle.c | 8 +++++++-
  include/acpi/acpixf.h         | 6 ++++++
  2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 35c8f2b..28079a6 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -210,6 +210,7 @@ static void lapic_timer_state_broadcast(struct acpi_processor *pr,
  #endif

  #ifdef CONFIG_PM_SLEEP
+#if (!ACPI_REDUCED_HARDWARE)

Why don't you use #ifndef CONFIG_ACPI_REDUCED_HARDWARE here?

And I believe we don't need acpi_processor_syscore_ops in that case at all?

So why don't you put the whole section under

#if (IS_ENABLED(CONFIG_PM_SLEEP) && !IS_ENABLED(CONFIG_ACPI_REDUCED_HARDWARE)) ?

My original thinking was that ACPI_REDUCED_HARDWARE is the flag
being used in the ACPICA code.  On re-thinking it (and I'll use
your suggestion, if you don't mind), is it fair to say that there
is essentially a policy of keeping the Linux acpi driver and the
ACPICA code as separate as possible?  If so -- and I would think
it makes sense -- then the ACPI_REDUCED_HARDWARE flag should not
be used here, as suggested.

Thanks.

  static u32 saved_bm_rld;

  static int acpi_processor_suspend(void)
@@ -228,6 +229,11 @@ static void acpi_processor_resume(void)

  	acpi_write_bit_register(ACPI_BITREG_BUS_MASTER_RLD, saved_bm_rld);
  }
+#else
+/* Bus master reload is not supported in reduced HW mode. */
+static int acpi_processor_suspend(void) { return 0; }
+static void acpi_processor_resume(void) { return; }
+#endif /* (!ACPI_REDUCED_HARDWARE) */

  static struct syscore_ops acpi_processor_syscore_ops = {
  	.suspend = acpi_processor_suspend,

I'm not sure why you think that the changes below belong to this patch?

It doesn't.  My bad.  I'll remove this.

@@ -605,7 +611,7 @@ static int acpi_processor_power_verify(struct acpi_processor *pr)
  		case ACPI_STATE_C2:
  			if (!cx->address)
  				break;
-			cx->valid = 1;
+			cx->valid = 1;
  			break;

  		case ACPI_STATE_C3:
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index d8f9457..27ef69b 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -99,6 +99,9 @@ extern u8 acpi_gbl_disable_ssdt_table_load;
  #define ACPI_HW_DEPENDENT_RETURN_VOID(prototype) \
  	prototype;

+#define ACPI_HW_DEPENDENT_RETURN_INT(prototype) \
+	prototype;
+
  #else
  #define ACPI_HW_DEPENDENT_RETURN_STATUS(prototype) \
  	static ACPI_INLINE prototype {return(AE_NOT_CONFIGURED);}
@@ -109,6 +112,9 @@ extern u8 acpi_gbl_disable_ssdt_table_load;
  #define ACPI_HW_DEPENDENT_RETURN_VOID(prototype) \
  	static ACPI_INLINE prototype {return;}

+#define ACPI_HW_DEPENDENT_RETURN_INT(prototype) \
+	static ACPI_INLINE prototype {return 0;}
+
  #endif				/* !ACPI_REDUCED_HARDWARE */

  /*



--
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Linaro Enterprise Group
al.stone@xxxxxxxxxx
-----------------------------------
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux