All of lore.kernel.org
 help / color / mirror / Atom feed
From: Agustin Vega-Frias <agustinv@codeaurora.org>
To: Hanjun Guo <guohanjun@huawei.com>
Cc: harba@codeaurora.org, lorenzo.pieralisi@arm.com,
	jason@lakedaemon.net, graeme.gregory@linaro.org,
	marc.zyngier@arm.com, jcm@redhat.com, timur@codeaurora.org,
	msalter@redhat.com, rjw@rjwysocki.net,
	linux-kernel@vger.kernel.org, astone@redhat.com,
	linux-acpi@vger.kernel.org, mlangsdo@redhat.com,
	cov@codeaurora.org, agross@codeaurora.org, tglx@linutronix.de,
	charles.garcia-tobin@arm.com, ahs3@redhat.com,
	linux-arm-kernel@lists.infradead.org, lenb@kernel.org
Subject: Re: [PATCH V9 1/3] ACPI: Generic GSI: Do not attempt to map non-GSI IRQs during bus scan
Date: Tue, 17 Jan 2017 10:04:57 -0500	[thread overview]
Message-ID: <b77d4a60613e7d380623ac81b9ebd131@codeaurora.org> (raw)
In-Reply-To: <587E0AD7.40303@huawei.com>

Hi Hanjun,

On 2017-01-17 07:15, Hanjun Guo wrote:
> On 2016/12/15 6:10, Agustin Vega-Frias wrote:
>> ACPI extended IRQ resources may contain a Resource Source field to 
>> specify
>> an alternate interrupt controller, attempting to map them as GSIs is
>> incorrect, so just disable the platform resource.
>> 
>> Since this field is currently ignored, we make this change conditional
>> on CONFIG_ACPI_GENERIC_GSI to keep the current behavior on x86 
>> platforms,
>> in case some existing ACPI tables are using this incorrectly.
>> 
>> Signed-off-by: Agustin Vega-Frias <agustinv@codeaurora.org>
>> ---
>>  drivers/acpi/resource.c | 17 ++++++++++++++++-
>>  1 file changed, 16 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
>> index 56241eb..76ca4e9 100644
>> --- a/drivers/acpi/resource.c
>> +++ b/drivers/acpi/resource.c
>> @@ -43,6 +43,18 @@ static inline bool 
>> acpi_iospace_resource_valid(struct resource *res)
>>  acpi_iospace_resource_valid(struct resource *res) { return true; }
>>  #endif
>> 
>> +#ifdef CONFIG_ACPI_GENERIC_GSI
>> +static inline bool is_gsi(struct acpi_resource_extended_irq *ext_irq)
>> +{
>> +	return ext_irq->resource_source.string_length == 0;
> 
> As pointed out by Lorenzo, if the interrupt resource is a Resource 
> Producer,
> it's not GSI, so maybe the code needs to be updated as
> 
> -   return ext_irq->resource_source.string_length == 0;
> + return ext_irq->resource_source.string_length == 0 &&
> +        ext_irq->producer_consumer != ACPI_PRODUCER;

Agreed. I'll add the check.

Thanks,
Agustin

-- 
Qualcomm Datacenter Technologies, Inc. on behalf of the Qualcomm 
Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a 
Linux Foundation Collaborative Project.

WARNING: multiple messages have this Message-ID (diff)
From: agustinv@codeaurora.org (Agustin Vega-Frias)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V9 1/3] ACPI: Generic GSI: Do not attempt to map non-GSI IRQs during bus scan
Date: Tue, 17 Jan 2017 10:04:57 -0500	[thread overview]
Message-ID: <b77d4a60613e7d380623ac81b9ebd131@codeaurora.org> (raw)
In-Reply-To: <587E0AD7.40303@huawei.com>

Hi Hanjun,

On 2017-01-17 07:15, Hanjun Guo wrote:
> On 2016/12/15 6:10, Agustin Vega-Frias wrote:
>> ACPI extended IRQ resources may contain a Resource Source field to 
>> specify
>> an alternate interrupt controller, attempting to map them as GSIs is
>> incorrect, so just disable the platform resource.
>> 
>> Since this field is currently ignored, we make this change conditional
>> on CONFIG_ACPI_GENERIC_GSI to keep the current behavior on x86 
>> platforms,
>> in case some existing ACPI tables are using this incorrectly.
>> 
>> Signed-off-by: Agustin Vega-Frias <agustinv@codeaurora.org>
>> ---
>>  drivers/acpi/resource.c | 17 ++++++++++++++++-
>>  1 file changed, 16 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
>> index 56241eb..76ca4e9 100644
>> --- a/drivers/acpi/resource.c
>> +++ b/drivers/acpi/resource.c
>> @@ -43,6 +43,18 @@ static inline bool 
>> acpi_iospace_resource_valid(struct resource *res)
>>  acpi_iospace_resource_valid(struct resource *res) { return true; }
>>  #endif
>> 
>> +#ifdef CONFIG_ACPI_GENERIC_GSI
>> +static inline bool is_gsi(struct acpi_resource_extended_irq *ext_irq)
>> +{
>> +	return ext_irq->resource_source.string_length == 0;
> 
> As pointed out by Lorenzo, if the interrupt resource is a Resource 
> Producer,
> it's not GSI, so maybe the code needs to be updated as
> 
> -   return ext_irq->resource_source.string_length == 0;
> + return ext_irq->resource_source.string_length == 0 &&
> +        ext_irq->producer_consumer != ACPI_PRODUCER;

Agreed. I'll add the check.

Thanks,
Agustin

-- 
Qualcomm Datacenter Technologies, Inc. on behalf of the Qualcomm 
Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a 
Linux Foundation Collaborative Project.

WARNING: multiple messages have this Message-ID (diff)
From: Agustin Vega-Frias <agustinv@codeaurora.org>
To: Hanjun Guo <guohanjun@huawei.com>
Cc: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, rjw@rjwysocki.net,
	lenb@kernel.org, tglx@linutronix.de, jason@lakedaemon.net,
	marc.zyngier@arm.com, lorenzo.pieralisi@arm.com,
	timur@codeaurora.org, cov@codeaurora.org, agross@codeaurora.org,
	harba@codeaurora.org, jcm@redhat.com, msalter@redhat.com,
	mlangsdo@redhat.com, ahs3@redhat.com, astone@redhat.com,
	graeme.gregory@linaro.org, charles.garcia-tobin@arm.com
Subject: Re: [PATCH V9 1/3] ACPI: Generic GSI: Do not attempt to map non-GSI IRQs during bus scan
Date: Tue, 17 Jan 2017 10:04:57 -0500	[thread overview]
Message-ID: <b77d4a60613e7d380623ac81b9ebd131@codeaurora.org> (raw)
In-Reply-To: <587E0AD7.40303@huawei.com>

Hi Hanjun,

On 2017-01-17 07:15, Hanjun Guo wrote:
> On 2016/12/15 6:10, Agustin Vega-Frias wrote:
>> ACPI extended IRQ resources may contain a Resource Source field to 
>> specify
>> an alternate interrupt controller, attempting to map them as GSIs is
>> incorrect, so just disable the platform resource.
>> 
>> Since this field is currently ignored, we make this change conditional
>> on CONFIG_ACPI_GENERIC_GSI to keep the current behavior on x86 
>> platforms,
>> in case some existing ACPI tables are using this incorrectly.
>> 
>> Signed-off-by: Agustin Vega-Frias <agustinv@codeaurora.org>
>> ---
>>  drivers/acpi/resource.c | 17 ++++++++++++++++-
>>  1 file changed, 16 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
>> index 56241eb..76ca4e9 100644
>> --- a/drivers/acpi/resource.c
>> +++ b/drivers/acpi/resource.c
>> @@ -43,6 +43,18 @@ static inline bool 
>> acpi_iospace_resource_valid(struct resource *res)
>>  acpi_iospace_resource_valid(struct resource *res) { return true; }
>>  #endif
>> 
>> +#ifdef CONFIG_ACPI_GENERIC_GSI
>> +static inline bool is_gsi(struct acpi_resource_extended_irq *ext_irq)
>> +{
>> +	return ext_irq->resource_source.string_length == 0;
> 
> As pointed out by Lorenzo, if the interrupt resource is a Resource 
> Producer,
> it's not GSI, so maybe the code needs to be updated as
> 
> -   return ext_irq->resource_source.string_length == 0;
> + return ext_irq->resource_source.string_length == 0 &&
> +        ext_irq->producer_consumer != ACPI_PRODUCER;

Agreed. I'll add the check.

Thanks,
Agustin

-- 
Qualcomm Datacenter Technologies, Inc. on behalf of the Qualcomm 
Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a 
Linux Foundation Collaborative Project.

  reply	other threads:[~2017-01-17 15:04 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-14 22:10 [PATCH V9 0/3] irqchip: qcom: Add IRQ combiner driver Agustin Vega-Frias
2016-12-14 22:10 ` Agustin Vega-Frias
2016-12-14 22:10 ` [PATCH V9 1/3] ACPI: Generic GSI: Do not attempt to map non-GSI IRQs during bus scan Agustin Vega-Frias
2016-12-14 22:10   ` Agustin Vega-Frias
2016-12-16 16:24   ` Lorenzo Pieralisi
2016-12-16 16:24     ` Lorenzo Pieralisi
2016-12-16 16:30     ` Agustin Vega-Frias
2016-12-16 16:30       ` Agustin Vega-Frias
2017-01-17 12:15   ` Hanjun Guo
2017-01-17 12:15     ` Hanjun Guo
2017-01-17 12:15     ` Hanjun Guo
2017-01-17 15:04     ` Agustin Vega-Frias [this message]
2017-01-17 15:04       ` Agustin Vega-Frias
2017-01-17 15:04       ` Agustin Vega-Frias
2016-12-14 22:10 ` [PATCH V9 2/3] ACPI: Add support for ResourceSource/IRQ domain mapping Agustin Vega-Frias
2016-12-14 22:10   ` Agustin Vega-Frias
2017-01-17 12:47   ` Hanjun Guo
2017-01-17 12:47     ` Hanjun Guo
2017-01-17 12:47     ` Hanjun Guo
2017-01-17 15:07     ` Agustin Vega-Frias
2017-01-17 15:07       ` Agustin Vega-Frias
2017-01-17 15:07       ` Agustin Vega-Frias
2017-01-18  1:40       ` Hanjun Guo
2017-01-18  1:40         ` Hanjun Guo
2017-01-18  1:40         ` Hanjun Guo
2016-12-14 22:10 ` [PATCH V9 3/3] irqchip: qcom: Add IRQ combiner driver Agustin Vega-Frias
2016-12-14 22:10   ` Agustin Vega-Frias
2017-01-05 16:48   ` Marc Zyngier
2017-01-05 16:48     ` Marc Zyngier
2017-01-06 13:17     ` Agustin Vega-Frias
2017-01-06 13:17       ` Agustin Vega-Frias
2017-01-06 13:17       ` Agustin Vega-Frias
2017-01-09 15:25       ` Marc Zyngier
2017-01-09 15:25         ` Marc Zyngier
2017-01-03 15:19 ` [PATCH V9 0/3] " Agustin Vega-Frias
2017-01-03 15:19   ` Agustin Vega-Frias
2017-01-03 15:19   ` Agustin Vega-Frias
2017-01-03 21:56   ` Rafael J. Wysocki
2017-01-03 21:56     ` Rafael J. Wysocki
2017-01-03 21:56     ` Rafael J. Wysocki
2017-01-04 12:37     ` Agustin Vega-Frias
2017-01-04 12:37       ` Agustin Vega-Frias
2017-01-04 12:37       ` Agustin Vega-Frias
2017-01-16 14:07     ` Agustin Vega-Frias
2017-01-16 14:07       ` Agustin Vega-Frias
2017-01-16 14:07       ` Agustin Vega-Frias
2017-01-16 14:14       ` Marc Zyngier
2017-01-16 14:14         ` Marc Zyngier
2017-01-16 14:14         ` Marc Zyngier
2017-01-16 14:41         ` Hanjun Guo
2017-01-16 14:41           ` Hanjun Guo
2017-01-16 14:41           ` Hanjun Guo
2017-01-16 14:53           ` Lorenzo Pieralisi
2017-01-16 14:53             ` Lorenzo Pieralisi
2017-01-16 14:53             ` Lorenzo Pieralisi
2017-01-17 12:10             ` Hanjun Guo
2017-01-17 12:10               ` Hanjun Guo

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=b77d4a60613e7d380623ac81b9ebd131@codeaurora.org \
    --to=agustinv@codeaurora.org \
    --cc=agross@codeaurora.org \
    --cc=ahs3@redhat.com \
    --cc=astone@redhat.com \
    --cc=charles.garcia-tobin@arm.com \
    --cc=cov@codeaurora.org \
    --cc=graeme.gregory@linaro.org \
    --cc=guohanjun@huawei.com \
    --cc=harba@codeaurora.org \
    --cc=jason@lakedaemon.net \
    --cc=jcm@redhat.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=marc.zyngier@arm.com \
    --cc=mlangsdo@redhat.com \
    --cc=msalter@redhat.com \
    --cc=rjw@rjwysocki.net \
    --cc=tglx@linutronix.de \
    --cc=timur@codeaurora.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 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.