From: Sinan Kaya <okaya@codeaurora.org>
To: Duc Dang <dhdang@apm.com>, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>,
Bjorn Helgaas <helgaas@kernel.org>,
Rafael Wysocki <rafael@kernel.org>,
linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org,
patches <patches@apm.com>, Bjorn Helgaas <bhelgaas@google.com>,
Punit Agrawal <punit.agrawal@arm.com>
Subject: Re: Defining polarity and trigger mode for static interrupts in _PRT
Date: Tue, 30 Aug 2016 13:54:24 -0400 [thread overview]
Message-ID: <16855e90-43e8-b36b-788a-cf0871261432@codeaurora.org> (raw)
In-Reply-To: <CADaLND=DCFZB5KGN+yqdF0pzHhvmDhKHf9fMgZ57c+2GE0n9jQ@mail.gmail.com>
On 8/30/2016 11:51 AM, Duc Dang wrote:
> On Tue, Aug 30, 2016 at 3:08 AM, Lorenzo Pieralisi
> <lorenzo.pieralisi@arm.com> wrote:
>> On Fri, Aug 26, 2016 at 06:53:29PM -0400, Sinan Kaya wrote:
>>>
>>>>> Let me throw option d here.
>>>>>
>>>>> I know Bjorn wants to keep ACTIVE_LOW in the code for common code but
>>>>> can't we override this in an arch specific way (arm64's pci.c) while
>>>>> creating the root bridge?
>>>>
>>>> On what basis ? You were not copied in from the beginning, but that
>>>> is not different from Duc's initial proposal, which Marc discarded
>>>> because it should not be done at arch level, it depends on the interrupt
>>>> controller.
>>>
>>> I happen to watch the linux-pci and linux-acpi mail-lists. I also saw
>>> Duc's initial proposal.
>>>
>>> I can't imagine someone building an ACPI compliant ARM64 platform
>>> without a GIC interrupt controller.
>>>
>>> The SBSA spec already mentions what kind of compatibility should be
>>> maintained with respect to GIC. You can't have an ACPI system that's
>>> SBSA compliant and not using GIC.
>>>
>>> Can't we just hard code this to ACTIVE_HIGH in arch directory if ACPI
>>> is defined. Why do we have to reach out to the interrupt controller?
>>
>> Patch below (horrible but no solution will be shiny either).
>>
>>> https://lists.linaro.org/pipermail/linaro-acpi/2015-November/005973.html
>>
>> [...]
>>
>>> If you look at my email above, I tried getting rid of PCI Link object
>>> and I couldn't. I sticked to only thing that works.
>>
>> That's what I object to. If the ACPI bindings do not work for ARM
>> we do not work around issues, we upgrade the specs because what may work
>> for you has to work on all ARM platforms (and all FW developers have
>> to be aware of that). Granted, this is a tiny snag, but the point is
>> that no one knows what's the correct way of describing PCI legacy IRQs
>> on ARM and we need that rectified.
>>
>> This does the trick for me (I can turn it into a function/look-up
>> that returns the polarity), I am sure it will ruffle feathers but
>> we have to find a solution so here it is (that acpi_irq_model gem
>> is already used in generic code drivers/acpi/pci_link.c ;-))
>>
>
> Good catch! This acpi_irq_model gem does help X-Gene :)
>
+1 to this too.
We don't need to invent some fake API or push stuff to the arch directory.
>> -- >8 --
>> diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
>> index 2c45dd3..c9b8c85 100644
>> --- a/drivers/acpi/pci_irq.c
>> +++ b/drivers/acpi/pci_irq.c
>> @@ -411,7 +411,8 @@ int acpi_pci_irq_enable(struct pci_dev *dev)
>> int gsi;
>> u8 pin;
>> int triggering = ACPI_LEVEL_SENSITIVE;
>> - int polarity = ACPI_ACTIVE_LOW;
>> + int polarity = acpi_irq_model == ACPI_IRQ_MODEL_GIC ?
>> + ACPI_ACTIVE_HIGH : ACPI_ACTIVE_LOW;
>> char *link = NULL;
>> char link_desc[16];
>> int rc;
> Regards,
> Duc Dang.
>
--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
next prev parent reply other threads:[~2016-08-30 17:54 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CADaLNDm-HmnOsrntDC8zz28bwiQZVv36LG-iMDATqzavY7cXVg@mail.gmail.com>
2016-08-24 14:27 ` Defining polarity and trigger mode for static interrupts in _PRT Lorenzo Pieralisi
2016-08-24 19:30 ` Bjorn Helgaas
2016-08-24 20:30 ` Marc Zyngier
2016-08-24 22:19 ` Duc Dang
2016-08-24 22:56 ` Bjorn Helgaas
2016-08-25 11:18 ` Marc Zyngier
2016-08-25 16:52 ` Duc Dang
2016-08-25 18:59 ` Marc Zyngier
2016-08-26 9:08 ` Lorenzo Pieralisi
2016-08-26 11:04 ` okaya
2016-08-26 12:08 ` Marc Zyngier
2016-08-26 14:07 ` Sinan Kaya
2016-08-26 17:06 ` Lorenzo Pieralisi
2016-08-26 22:53 ` Sinan Kaya
2016-08-30 10:08 ` Lorenzo Pieralisi
2016-08-30 15:51 ` Duc Dang
2016-08-30 17:54 ` Sinan Kaya [this message]
2016-08-31 10:07 ` Lorenzo Pieralisi
2016-08-31 13:05 ` Bjorn Helgaas
2016-08-31 13:34 ` Lorenzo Pieralisi
2016-08-31 16:05 ` Bjorn Helgaas
2016-08-31 16:37 ` Lorenzo Pieralisi
2016-08-31 23:08 ` Rafael J. Wysocki
2016-09-02 11:09 ` Lorenzo Pieralisi
2016-09-02 21:28 ` Rafael J. Wysocki
2016-08-25 10:04 ` Punit Agrawal
2016-08-25 11:14 ` Lorenzo Pieralisi
2016-08-25 16:46 ` Duc Dang
2016-08-25 17:20 ` Bjorn Helgaas
2016-08-24 15:26 ` Marc Zyngier
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=16855e90-43e8-b36b-788a-cf0871261432@codeaurora.org \
--to=okaya@codeaurora.org \
--cc=bhelgaas@google.com \
--cc=dhdang@apm.com \
--cc=helgaas@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=marc.zyngier@arm.com \
--cc=patches@apm.com \
--cc=punit.agrawal@arm.com \
--cc=rafael@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).