2023-02-02 03:49:03

by Ruidong Tian

[permalink] [raw]
Subject: [PATCH] ACPICA: PCI: Undefined ACPI_ADR_SPACE_PCI_CONFIG when CONFIG_PCI is unset

ACPI core subsystem initialization will fail when Kernel disabled PCI but
ACPI tables still have PCI config address spaces.

Enable ACPI_ADR_SPACE_PCI_CONFIG in acpi_gbl_default_address_spaces
only when ACPI_PCI_CONFIGURED is defined.

Signed-off-by: Ruidong Tian <[email protected]>
---
drivers/acpi/acpica/evhandler.c | 2 ++
include/acpi/acconfig.h | 4 ++++
2 files changed, 6 insertions(+)

diff --git a/drivers/acpi/acpica/evhandler.c b/drivers/acpi/acpica/evhandler.c
index be9a05498adc..86057e39df8c 100644
--- a/drivers/acpi/acpica/evhandler.c
+++ b/drivers/acpi/acpica/evhandler.c
@@ -26,7 +26,9 @@ acpi_ev_install_handler(acpi_handle obj_handle,
u8 acpi_gbl_default_address_spaces[ACPI_NUM_DEFAULT_SPACES] = {
ACPI_ADR_SPACE_SYSTEM_MEMORY,
ACPI_ADR_SPACE_SYSTEM_IO,
+#ifdef ACPI_PCI_CONFIGURED
ACPI_ADR_SPACE_PCI_CONFIG,
+#endif
ACPI_ADR_SPACE_DATA_TABLE
};

diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h
index 151e40385673..28456120529f 100644
--- a/include/acpi/acconfig.h
+++ b/include/acpi/acconfig.h
@@ -162,7 +162,11 @@
/* Maximum space_ids for Operation Regions */

#define ACPI_MAX_ADDRESS_SPACE 255
+#ifdef ACPI_PCI_CONFIGURED
#define ACPI_NUM_DEFAULT_SPACES 4
+#else
+#define ACPI_NUM_DEFAULT_SPACES 3
+#endif

/* Array sizes. Used for range checking also */

--
2.33.1



2023-02-02 09:31:55

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] ACPICA: PCI: Undefined ACPI_ADR_SPACE_PCI_CONFIG when CONFIG_PCI is unset

On Thu, Feb 2, 2023 at 4:48 AM Ruidong Tian
<[email protected]> wrote:
>
> ACPI core subsystem initialization will fail when Kernel disabled PCI but
> ACPI tables still have PCI config address spaces.
>
> Enable ACPI_ADR_SPACE_PCI_CONFIG in acpi_gbl_default_address_spaces
> only when ACPI_PCI_CONFIGURED is defined.
>
> Signed-off-by: Ruidong Tian <[email protected]>

As an ACPICA change, this should first be submitted (as a pull
request) to the upstream ACPICA project on GitHub.

Having done that, please resubmit the patch with a Link tag pointing
to the corresponding upstream pull request.

Thanks!

> ---
> drivers/acpi/acpica/evhandler.c | 2 ++
> include/acpi/acconfig.h | 4 ++++
> 2 files changed, 6 insertions(+)
>
> diff --git a/drivers/acpi/acpica/evhandler.c b/drivers/acpi/acpica/evhandler.c
> index be9a05498adc..86057e39df8c 100644
> --- a/drivers/acpi/acpica/evhandler.c
> +++ b/drivers/acpi/acpica/evhandler.c
> @@ -26,7 +26,9 @@ acpi_ev_install_handler(acpi_handle obj_handle,
> u8 acpi_gbl_default_address_spaces[ACPI_NUM_DEFAULT_SPACES] = {
> ACPI_ADR_SPACE_SYSTEM_MEMORY,
> ACPI_ADR_SPACE_SYSTEM_IO,
> +#ifdef ACPI_PCI_CONFIGURED
> ACPI_ADR_SPACE_PCI_CONFIG,
> +#endif
> ACPI_ADR_SPACE_DATA_TABLE
> };
>
> diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h
> index 151e40385673..28456120529f 100644
> --- a/include/acpi/acconfig.h
> +++ b/include/acpi/acconfig.h
> @@ -162,7 +162,11 @@
> /* Maximum space_ids for Operation Regions */
>
> #define ACPI_MAX_ADDRESS_SPACE 255
> +#ifdef ACPI_PCI_CONFIGURED
> #define ACPI_NUM_DEFAULT_SPACES 4
> +#else
> +#define ACPI_NUM_DEFAULT_SPACES 3
> +#endif
>
> /* Array sizes. Used for range checking also */
>
> --
> 2.33.1
>

2023-02-06 06:52:51

by Ruidong Tian

[permalink] [raw]
Subject: Re: [PATCH] ACPICA: PCI: Undefined ACPI_ADR_SPACE_PCI_CONFIG when CONFIG_PCI is unset

This patch depends on kernel-specific ACPICA configuration, can I submit
it to ACPICA

projects?

On 2023/2/2 17:31, Rafael J. Wysocki wrote:
> On Thu, Feb 2, 2023 at 4:48 AM Ruidong Tian
> <[email protected]> wrote:
>> ACPI core subsystem initialization will fail when Kernel disabled PCI but
>> ACPI tables still have PCI config address spaces.
>>
>> Enable ACPI_ADR_SPACE_PCI_CONFIG in acpi_gbl_default_address_spaces
>> only when ACPI_PCI_CONFIGURED is defined.
>>
>> Signed-off-by: Ruidong Tian <[email protected]>
> As an ACPICA change, this should first be submitted (as a pull
> request) to the upstream ACPICA project on GitHub.
>
> Having done that, please resubmit the patch with a Link tag pointing
> to the corresponding upstream pull request.
>
> Thanks!
>
>> ---
>> drivers/acpi/acpica/evhandler.c | 2 ++
>> include/acpi/acconfig.h | 4 ++++
>> 2 files changed, 6 insertions(+)
>>
>> diff --git a/drivers/acpi/acpica/evhandler.c b/drivers/acpi/acpica/evhandler.c
>> index be9a05498adc..86057e39df8c 100644
>> --- a/drivers/acpi/acpica/evhandler.c
>> +++ b/drivers/acpi/acpica/evhandler.c
>> @@ -26,7 +26,9 @@ acpi_ev_install_handler(acpi_handle obj_handle,
>> u8 acpi_gbl_default_address_spaces[ACPI_NUM_DEFAULT_SPACES] = {
>> ACPI_ADR_SPACE_SYSTEM_MEMORY,
>> ACPI_ADR_SPACE_SYSTEM_IO,
>> +#ifdef ACPI_PCI_CONFIGURED
>> ACPI_ADR_SPACE_PCI_CONFIG,
>> +#endif
>> ACPI_ADR_SPACE_DATA_TABLE
>> };
>>
>> diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h
>> index 151e40385673..28456120529f 100644
>> --- a/include/acpi/acconfig.h
>> +++ b/include/acpi/acconfig.h
>> @@ -162,7 +162,11 @@
>> /* Maximum space_ids for Operation Regions */
>>
>> #define ACPI_MAX_ADDRESS_SPACE 255
>> +#ifdef ACPI_PCI_CONFIGURED
>> #define ACPI_NUM_DEFAULT_SPACES 4
>> +#else
>> +#define ACPI_NUM_DEFAULT_SPACES 3
>> +#endif
>>
>> /* Array sizes. Used for range checking also */
>>
>> --
>> 2.33.1
>>