[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Zz1KHCLwpOdsCagr@mail.minyard.net>
Date: Tue, 19 Nov 2024 20:31:56 -0600
From: Corey Minyard <corey@...yard.net>
To: Quan Nguyen <quan@...amperecomputing.com>
Cc: Potin Lai <potin.lai.pt@...il.com>, Corey Minyard <minyard@....org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Patrick Williams <patrick@...cx.xyz>,
openipmi-developer@...ts.sourceforge.net,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Cosmo Chou <cosmo.chou@...ntatw.com>,
Potin Lai <potin.lai@...ntatw.com>,
Cosmo Chou <chou.cosmo@...il.com>
Subject: Re: [PATCH v2 2/2] ipmi: ssif_bmc: add GPIO-based alert mechanism
On Wed, Nov 20, 2024 at 08:58:47AM +0700, Quan Nguyen wrote:
> On 19/11/2024 18:30, Corey Minyard wrote:
> > I just saw this. What makes you think alerts are not supported in ipmi_ssif?
>
> Yes, Corey, I see alerts are supported in ipmi_ssif.
>
> My apology about the unclear question, I was just curious about whether this
> gpio-based alerts mechanism is confirmed through test with current ipmi_ssif
> without any extra patches.
Ah. The way this would work would be that the GPIO is run to an
interrupt on the host processor. Generally all the alerting devices on
the SMBus will "or" into that interrupt somehow.
When the interrupt comes in, the host will issue a request to the SMBus
alert address and each device that has an alert pending will respond
with their address. Because of the wire or of the SMBus, the lowest
address will win.
On Linux, the driver for that particular device will be told that an
alert came in if it has registered for that alert.
The GPIO is just an interrupt, so that should just work. That's not the
hard part. There has to be some device tree work on the host side to
map the interrupt to an SMBus alert for a specific bus. (I think you
can do this with ACPI, too, but I'm not sure.) And the device, of
course, must respond properly to the alert request.
So the GPIO is not something that's unusual. If it generates an
interrupt (and all the other stuff is in place on the host side) it will
work.
-corey
Powered by blists - more mailing lists