diff mbox

[v6,1/1] acpi: apei: Enable APEI multiple GHES source to share a single external IRQ

Message ID 1500661477-6536-2-git-send-email-lho@apm.com (mailing list archive)
State Accepted, archived
Delegated to: Rafael Wysocki
Headers show

Commit Message

Loc Ho July 21, 2017, 6:24 p.m. UTC
X-Gene platforms describe multiple GHES error sources with the same hardware
error notification type (external interrupt) and interrupt number.
Change the GHES interrupt request to support sharing the same IRQ.

Co-authored-by: Tuan Phan <tphan@apm.com>
Signed-off-by: Loc Ho <lho@apm.com>
---
 drivers/acpi/apei/ghes.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Borislav Petkov July 22, 2017, 5:59 a.m. UTC | #1
On Fri, Jul 21, 2017 at 11:24:37AM -0700, Loc Ho wrote:
> X-Gene platforms describe multiple GHES error sources with the same hardware
> error notification type (external interrupt) and interrupt number.
> Change the GHES interrupt request to support sharing the same IRQ.
> 
> Co-authored-by: Tuan Phan <tphan@apm.com>
> Signed-off-by: Loc Ho <lho@apm.com>
> ---
>  drivers/acpi/apei/ghes.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> index d661d45..eed09fc 100644
> --- a/drivers/acpi/apei/ghes.c
> +++ b/drivers/acpi/apei/ghes.c
> @@ -1157,7 +1157,8 @@ static int ghes_probe(struct platform_device *ghes_dev)
>  			       generic->header.source_id);
>  			goto err_edac_unreg;
>  		}
> -		rc = request_irq(ghes->irq, ghes_irq_func, 0, "GHES IRQ", ghes);
> +		rc = request_irq(ghes->irq, ghes_irq_func, IRQF_SHARED,
> +				 "GHES IRQ", ghes);
>  		if (rc) {
>  			pr_err(GHES_PFX "Failed to register IRQ for generic hardware error source: %d\n",
>  			       generic->header.source_id);
> -- 

Acked-by: Borislav Petkov <bp@suse.de>
Rafael J. Wysocki July 22, 2017, 10:01 p.m. UTC | #2
On Saturday, July 22, 2017 07:59:54 AM Borislav Petkov wrote:
> On Fri, Jul 21, 2017 at 11:24:37AM -0700, Loc Ho wrote:
> > X-Gene platforms describe multiple GHES error sources with the same hardware
> > error notification type (external interrupt) and interrupt number.
> > Change the GHES interrupt request to support sharing the same IRQ.
> > 
> > Co-authored-by: Tuan Phan <tphan@apm.com>
> > Signed-off-by: Loc Ho <lho@apm.com>
> > ---
> >  drivers/acpi/apei/ghes.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> > index d661d45..eed09fc 100644
> > --- a/drivers/acpi/apei/ghes.c
> > +++ b/drivers/acpi/apei/ghes.c
> > @@ -1157,7 +1157,8 @@ static int ghes_probe(struct platform_device *ghes_dev)
> >  			       generic->header.source_id);
> >  			goto err_edac_unreg;
> >  		}
> > -		rc = request_irq(ghes->irq, ghes_irq_func, 0, "GHES IRQ", ghes);
> > +		rc = request_irq(ghes->irq, ghes_irq_func, IRQF_SHARED,
> > +				 "GHES IRQ", ghes);
> >  		if (rc) {
> >  			pr_err(GHES_PFX "Failed to register IRQ for generic hardware error source: %d\n",
> >  			       generic->header.source_id);
> 
> Acked-by: Borislav Petkov <bp@suse.de>

OK

Should I apply this or will Tony do that?

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rafael J. Wysocki July 26, 2017, 6:57 p.m. UTC | #3
On Sunday, July 23, 2017 12:01:10 AM Rafael J. Wysocki wrote:
> On Saturday, July 22, 2017 07:59:54 AM Borislav Petkov wrote:
> > On Fri, Jul 21, 2017 at 11:24:37AM -0700, Loc Ho wrote:
> > > X-Gene platforms describe multiple GHES error sources with the same hardware
> > > error notification type (external interrupt) and interrupt number.
> > > Change the GHES interrupt request to support sharing the same IRQ.
> > > 
> > > Co-authored-by: Tuan Phan <tphan@apm.com>
> > > Signed-off-by: Loc Ho <lho@apm.com>
> > > ---
> > >  drivers/acpi/apei/ghes.c | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> > > index d661d45..eed09fc 100644
> > > --- a/drivers/acpi/apei/ghes.c
> > > +++ b/drivers/acpi/apei/ghes.c
> > > @@ -1157,7 +1157,8 @@ static int ghes_probe(struct platform_device *ghes_dev)
> > >  			       generic->header.source_id);
> > >  			goto err_edac_unreg;
> > >  		}
> > > -		rc = request_irq(ghes->irq, ghes_irq_func, 0, "GHES IRQ", ghes);
> > > +		rc = request_irq(ghes->irq, ghes_irq_func, IRQF_SHARED,
> > > +				 "GHES IRQ", ghes);
> > >  		if (rc) {
> > >  			pr_err(GHES_PFX "Failed to register IRQ for generic hardware error source: %d\n",
> > >  			       generic->header.source_id);
> > 
> > Acked-by: Borislav Petkov <bp@suse.de>
> 
> OK
> 
> Should I apply this or will Tony do that?

So am I suppsed to drop this?

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Borislav Petkov July 27, 2017, 5:58 a.m. UTC | #4
On Wed, Jul 26, 2017 at 08:57:03PM +0200, Rafael J. Wysocki wrote:
> > Should I apply this or will Tony do that?
> 
> So am I suppsed to drop this?

Well, as suggested in another mail, I think it'll be best if Tony and I
put ourselves as reviewers for the APEI crap and you still collect it.

Unless you want to give it to us and we can arrange some pull order to
send it to you.

What do you prefer?
Rafael J. Wysocki July 27, 2017, 2:34 p.m. UTC | #5
On Thu, Jul 27, 2017 at 7:58 AM, Borislav Petkov <bp@suse.de> wrote:
> On Wed, Jul 26, 2017 at 08:57:03PM +0200, Rafael J. Wysocki wrote:
>> > Should I apply this or will Tony do that?
>>
>> So am I suppsed to drop this?
>
> Well, as suggested in another mail, I think it'll be best if Tony and I
> put ourselves as reviewers for the APEI crap and you still collect it.
>
> Unless you want to give it to us and we can arrange some pull order to
> send it to you.
>
> What do you prefer?

I can collect it, no problem.

So from now on I will pick up APEI things with ACKs from you or Tony.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rafael J. Wysocki Aug. 1, 2017, 11:13 p.m. UTC | #6
On Saturday, July 22, 2017 07:59:54 AM Borislav Petkov wrote:
> On Fri, Jul 21, 2017 at 11:24:37AM -0700, Loc Ho wrote:
> > X-Gene platforms describe multiple GHES error sources with the same hardware
> > error notification type (external interrupt) and interrupt number.
> > Change the GHES interrupt request to support sharing the same IRQ.
> > 
> > Co-authored-by: Tuan Phan <tphan@apm.com>
> > Signed-off-by: Loc Ho <lho@apm.com>
> > ---
> >  drivers/acpi/apei/ghes.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> > index d661d45..eed09fc 100644
> > --- a/drivers/acpi/apei/ghes.c
> > +++ b/drivers/acpi/apei/ghes.c
> > @@ -1157,7 +1157,8 @@ static int ghes_probe(struct platform_device *ghes_dev)
> >  			       generic->header.source_id);
> >  			goto err_edac_unreg;
> >  		}
> > -		rc = request_irq(ghes->irq, ghes_irq_func, 0, "GHES IRQ", ghes);
> > +		rc = request_irq(ghes->irq, ghes_irq_func, IRQF_SHARED,
> > +				 "GHES IRQ", ghes);
> >  		if (rc) {
> >  			pr_err(GHES_PFX "Failed to register IRQ for generic hardware error source: %d\n",
> >  			       generic->header.source_id);
> 
> Acked-by: Borislav Petkov <bp@suse.de>

Applied, thanks!

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index d661d45..eed09fc 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -1157,7 +1157,8 @@  static int ghes_probe(struct platform_device *ghes_dev)
 			       generic->header.source_id);
 			goto err_edac_unreg;
 		}
-		rc = request_irq(ghes->irq, ghes_irq_func, 0, "GHES IRQ", ghes);
+		rc = request_irq(ghes->irq, ghes_irq_func, IRQF_SHARED,
+				 "GHES IRQ", ghes);
 		if (rc) {
 			pr_err(GHES_PFX "Failed to register IRQ for generic hardware error source: %d\n",
 			       generic->header.source_id);