linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: al.stone@linaro.org (Al Stone)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 5/6] ACPI: do not map/unmap memory regions for FADT entries in reduced HW mode
Date: Mon, 13 Jan 2014 16:07:19 -0700	[thread overview]
Message-ID: <52D471A7.9090907@linaro.org> (raw)
In-Reply-To: <3512616.qUD2F1beoi@vostro.rjw.lan>

On 01/10/2014 04:32 PM, Rafael J. Wysocki wrote:
> On Friday, January 10, 2014 03:52:19 PM al.stone at linaro.org wrote:
>> From: Al Stone <al.stone@linaro.org>
>>
>> Several of the FADT fields are normally kept in specific memory
>> regions.  Since these fields are to be ignored in hardware reduced
>> ACPI mode, do not map those addresses when in that mode, and of
>> course do not release the mappings that have not been made.
>>
>> The function acpi_os_initialize() could become a stub in the header
>> file but is left here in case it can be of further use.
>
> Why exactly is this change necessary?

Two reasons: (1) why do work we do not have to do?  and (2) it
seemed to make sense to me to have the code reflect the spec
accurately.

> Will things work incorrectly on HW-reduced ACPI systems if we don't make it?

If the ACPI tables have all of these fields properly set to zero
in hardware reduced, this change does not need to be made.  If a
vendor provides broken ACPI tables where these values are valid,
but still sets hardware reduced in the FADT, these fields could
then be used as before -- but allowing them to be used would mean
we can no longer claim we are implementing hardware reduced correctly.
So things would work, but the system would by definition be in some
sort of undefined hybrid ACPI mode.

>> Signed-off-by: Al Stone <al.stone@linaro.org>
>> ---
>>   drivers/acpi/osl.c | 20 ++++++++++++--------
>>   1 file changed, 12 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
>> index c946a3a..7822821 100644
>> --- a/drivers/acpi/osl.c
>> +++ b/drivers/acpi/osl.c
>> @@ -1778,10 +1778,12 @@ __setup("acpi_no_auto_ssdt", acpi_no_auto_ssdt_setup);
>>
>>   acpi_status __init acpi_os_initialize(void)
>>   {
>> -	acpi_os_map_generic_address(&acpi_gbl_FADT.xpm1a_event_block);
>> -	acpi_os_map_generic_address(&acpi_gbl_FADT.xpm1b_event_block);
>> -	acpi_os_map_generic_address(&acpi_gbl_FADT.xgpe0_block);
>> -	acpi_os_map_generic_address(&acpi_gbl_FADT.xgpe1_block);
>> +	if (!acpi_gbl_reduced_hardware) {
>> +		acpi_os_map_generic_address(&acpi_gbl_FADT.xpm1a_event_block);
>> +		acpi_os_map_generic_address(&acpi_gbl_FADT.xpm1b_event_block);
>> +		acpi_os_map_generic_address(&acpi_gbl_FADT.xgpe0_block);
>> +		acpi_os_map_generic_address(&acpi_gbl_FADT.xgpe1_block);
>> +	}
>>
>>   	return AE_OK;
>>   }
>> @@ -1806,10 +1808,12 @@ acpi_status acpi_os_terminate(void)
>>   						 acpi_irq_handler);
>>   	}
>>
>> -	acpi_os_unmap_generic_address(&acpi_gbl_FADT.xgpe1_block);
>> -	acpi_os_unmap_generic_address(&acpi_gbl_FADT.xgpe0_block);
>> -	acpi_os_unmap_generic_address(&acpi_gbl_FADT.xpm1b_event_block);
>> -	acpi_os_unmap_generic_address(&acpi_gbl_FADT.xpm1a_event_block);
>> +	if (!acpi_gbl_reduced_hardware) {
>> +		acpi_os_unmap_generic_address(&acpi_gbl_FADT.xgpe1_block);
>> +		acpi_os_unmap_generic_address(&acpi_gbl_FADT.xgpe0_block);
>> +		acpi_os_unmap_generic_address(&acpi_gbl_FADT.xpm1b_event_block);
>> +		acpi_os_unmap_generic_address(&acpi_gbl_FADT.xpm1a_event_block);
>> +	}
>>
>>   	destroy_workqueue(kacpid_wq);
>>   	destroy_workqueue(kacpi_notify_wq);
>>
>


-- 
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Linaro Enterprise Group
al.stone at linaro.org
-----------------------------------

  reply	other threads:[~2014-01-13 23:07 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-10 22:52 [PATCH v6 0/6] Hardware Reduced Mode Cleanup for ACPI al.stone at linaro.org
2014-01-10 22:52 ` [PATCH v6 1/6] ACPI: introduce CONFIG_ACPI_REDUCED_HARDWARE_ONLY to enforce this ACPI mode al.stone at linaro.org
2014-01-10 23:11   ` Rafael J. Wysocki
2014-01-10 23:13     ` Al Stone
2014-01-10 23:40       ` Rafael J. Wysocki
2014-01-10 22:52 ` [PATCH v6 2/6] ACPI: bus master reload not supported in reduced HW mode al.stone at linaro.org
2014-01-10 22:52 ` [PATCH v6 3/6] ACPI: HW reduced mode does not allow use of the FADT sci_interrupt field al.stone at linaro.org
2014-01-10 23:20   ` Rafael J. Wysocki
2014-01-13 22:28     ` Al Stone
2014-01-14  0:21       ` Rafael J. Wysocki
2014-01-10 22:52 ` [PATCH v6 4/6] ACPI: in HW reduced mode, using FADT PM information is not allowed al.stone at linaro.org
2014-01-10 23:31   ` Rafael J. Wysocki
2014-01-13 22:46     ` Al Stone
2014-01-14  0:06       ` Rafael J. Wysocki
2014-01-10 22:52 ` [PATCH v6 5/6] ACPI: do not map/unmap memory regions for FADT entries in reduced HW mode al.stone at linaro.org
2014-01-10 23:32   ` Rafael J. Wysocki
2014-01-13 23:07     ` Al Stone [this message]
2014-01-14  0:02       ` Rafael J. Wysocki
2014-01-14  0:59         ` Al Stone
2014-01-14 17:18           ` Al Stone
2014-01-10 22:52 ` [PATCH v6 6/6] ACPI: make sure ECs do not use the ACPI global lock al.stone at linaro.org
2014-01-10 23:33   ` Rafael J. Wysocki
2014-01-13 23:46     ` Al Stone
2014-01-10 23:25 ` [PATCH v6 0/6] Hardware Reduced Mode Cleanup for ACPI 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=52D471A7.9090907@linaro.org \
    --to=al.stone@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.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).