[PATCH 1/3] misc: Add Aspeed BT IPMI host driver
Corey Minyard
minyard at acm.org
Mon Sep 12 15:06:36 PDT 2016
On 09/12/2016 04:23 PM, Cédric Le Goater wrote:
> Hello,
>
> On 09/12/2016 10:33 PM, Corey Minyard wrote:
>> On 09/12/2016 02:15 PM, Arnd Bergmann wrote:
>>> On Monday, September 12, 2016 1:55:40 PM CEST Corey Minyard wrote:
>>>> On 09/02/2016 08:22 AM, Cédric Le Goater wrote:
>>>>> Hello,
>>>>>
>>>>> Adding Corey in cc: . I guess I should have done that in the first place.
>>>> Yes, probably so. I've been travelling and didn't see it on the mailing
>>>> lists until now.
>>>>
>>>> There is already a BT driver in the kernel, in drivers/char/ipmi, why
>>>> won't that work?
>>> The new driver is the host side (running on the BMC), the existing one
>>> is the client (running on the PC).
>>>
>>> Arnd
>> Ok, that's not really clear from the documentation or the Kconfig.
>> In the IPMI spec the "host" side is the computer side, not the BMC
>> side. Like:
>>
>> 11.6.1 BT Host Interface Registers
>> The Host BT interface provides an independent set of registers and
>> interrupts to allow the Host driver to
>> communicate with the baseboard management controller without
>> conflicting with the O/S ACPI driver.
>>
>> In light of that, this should probably be named the bt-bmc driver.
>>
>> I haven't reviewed this in detail, but I'm ok with putting it in
>> drivers/char/ipmi. The state machine part looks reasonably
>> generic. The configuration part isn't, but that could be split
>> out later if necessary.
>>
>> The biggest thing I don't like is the byte at a time interfaces
>> from userspace. That seems fairly inefficient if the system
>> does extra work for each userspace access. IIRC some
>> systems do and some don't.
> What about the ioctl to send an SMS ATN event to the host ? Is
> that ok for you ?
Yeah, that's necessary, there's no way the low-level driver can
know when to do that.
I have a similar piece of code in the qemu IPMI emulator, even
the external IPMI emulator has a message it sends to set ATTN.
I did look at similarities between the two pieces of code, but
the qemu one has to be register-read/write driven, so it's
completely different in design.
-corey
> Thanks,
>
> C.
More information about the linux-arm-kernel
mailing list