Re: [PATCH v2 0/3] LoongArch: Add Loongson-2K0500 BMC support

From: Huacai Chen
Date: Sun Jun 08 2025 - 03:35:37 EST


Hi, Binbin,

I have some small comments, you can add "Reviewed-by: Huacai Chen
<chenhuacai@xxxxxxxxxxx>" after you make changes.

Huacai

On Thu, May 15, 2025 at 10:32 AM Binbin Zhou <zhoubinbin@xxxxxxxxxxx> wrote:
>
> Hi all:
>
> This patch set introduces the Loongson-2K0500 BMC.
>
> It is a PCIe device present on servers similar to the Loongson-3C6000.
> And it is a multifunctional device (MFD), such as display as a sub-function
> of it.
>
> For IPMI, according to the existing design, we use software simulation to
> implement the KCS interface registers: Stauts/Command/Data_Out/Data_In.
>
> Also since both host side and BMC side read and write kcs status, we use
> fifo pointer to ensure data consistency.
>
> For the display, based on simpledrm, the resolution is read from a fixed
> position in the BMC since the hardware does not support auto-detection
> of the resolution. Of course, we will try to support multiple
> resolutions later, through a vbios-like approach.
>
> Especially, for the BMC reset function, since the display will be
> disconnected when BMC reset, we made a special treatment of re-push.
>
> Based on this, I will present it in four patches:
> patch-1: BMC device PCI resource allocation.
> patch-2: IPMI implementation
> patch-3: display, based on simpledrm
> patch-4: BMC reboot support
>
> Thanks.
>
> -------
> V2:
> - Drop ls2kdrm, use simpledrm instead.
> Patch (1/3):
> - Use DEFINE_RES_MEM_NAMED/MFD_CELL_RES simplified code;
> - Add resolution fetching due to replacing the original display
> solution with simpledrm;
> - Add aperture_remove_conflicting_devices() to avoid efifb
> conflict with simpledrm.
> Patch (3/3):
> - This part of the function, moved from the original ls2kdrm to mfd;
> - Use set_console to implement the Re-push display function.
>
> Link to V1:
> https://lore.kernel.org/all/cover.1735550269.git.zhoubinbin@xxxxxxxxxxx/
>
> Binbin Zhou (3):
> mfd: ls2kbmc: Introduce Loongson-2K BMC MFD Core driver
> ipmi: Add Loongson-2K BMC support
> mfd: ls2kbmc: Add Loongson-2K BMC reset function support
>
> drivers/char/ipmi/Makefile | 1 +
> drivers/char/ipmi/ipmi_si.h | 7 +
> drivers/char/ipmi/ipmi_si_intf.c | 3 +
> drivers/char/ipmi/ipmi_si_ls2k.c | 250 +++++++++++++++++++
> drivers/mfd/Kconfig | 13 +
> drivers/mfd/Makefile | 2 +
> drivers/mfd/ls2kbmc-mfd.c | 398 +++++++++++++++++++++++++++++++
> 7 files changed, 674 insertions(+)
> create mode 100644 drivers/char/ipmi/ipmi_si_ls2k.c
> create mode 100644 drivers/mfd/ls2kbmc-mfd.c
>
>
> base-commit: 9f2b0c15b752bb940e2eb6737bee30fff96d96b6
> --
> 2.47.1
>
>