From patchwork Tue Oct 22 12:41:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongbang Shi X-Patchwork-Id: 13845668 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D04A5D2C549 for ; Tue, 22 Oct 2024 12:47:03 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 25C8610E145; Tue, 22 Oct 2024 12:47:03 +0000 (UTC) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9194A10E145 for ; Tue, 22 Oct 2024 12:47:01 +0000 (UTC) Received: from mail.maildlp.com (unknown [172.19.88.194]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4XXsN73LczzyT6w; Tue, 22 Oct 2024 20:45:27 +0800 (CST) Received: from kwepemd500013.china.huawei.com (unknown [7.221.188.12]) by mail.maildlp.com (Postfix) with ESMTPS id F2172140159; Tue, 22 Oct 2024 20:46:57 +0800 (CST) Received: from localhost.huawei.com (10.169.71.169) by kwepemd500013.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.34; Tue, 22 Oct 2024 20:46:56 +0800 From: Yongbang Shi To: , , , , , , , CC: , , , , , , , , Subject: [PATCH V2 drm-dp 0/4] Add dp module in hibmc driver Date: Tue, 22 Oct 2024 20:41:44 +0800 Message-ID: <20241022124148.1952761-1-shiyongbang@huawei.com> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 X-Originating-IP: [10.169.71.169] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To kwepemd500013.china.huawei.com (7.221.188.12) X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" From: baihan li Realizing the basic display function of DP cable for DP connector displaying. Add DP module in hibmc drm driver, which is for Hisilicon Hibmc SoC which used for Out-of-band management. Blow is the general hardware connection, both the Hibmc and the host CPU are on the same mother board. +----------+ +----------+ +----- ----+ +----------------+ | | PCIe | Hibmc | | | | | |host CPU( |<----->| display |<---->| dp kapi |<---->| dp aux moduel | |arm64,x86)| |subsystem | | moduel |<---->| dp link moduel | +----------+ +----------+ +----------+ +----------------+ --- ChangeLog: v1 -> v2: - using drm_dp_aux frame implement dp aux read and write functions, suggested by Jani Nikula. - using drm dp header files' dp macros instead, suggested by Andy Yan. - using drm_dp_* functions implement dp link training process, suggested by Jani Nikula. - changed some defines and functions to former patch, suggested by Dmitry Baryshkov. - sorting the headers including in dp_hw.h and hibmc_drm_drv.c files, suggested by Dmitry Baryshkov. - deleting struct dp_mode and dp_mode_cfg function, suggested by Dmitry Baryshkov. - modifying drm_simple_encoder_init function, suggested by Dmitry Baryshkov. - refactoring struct hibmc_connector, suggested by Dmitry Baryshkov. - withdrawing the modification in hibmc_kms_init, suggested by Dmitry Baryshkov. - fix build errors reported by kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202410031735.8iRZZR6T-lkp@intel.com/ Closes: https://lore.kernel.org/oe-kbuild-all/202410040328.VeVxM9yB-lkp@intel.com/ v1:https://lore.kernel.org/all/20240930100610.782363-1-shiyongbang@huawei.com/ --- baihan li (4): drm/hisilicon/hibmc: add dp aux in hibmc drivers drm/hisilicon/hibmc: add dp link moduel in hibmc drivers drm/hisilicon/hibmc: add dp hw moduel in hibmc driver drm/hisilicon/hibmc: add dp module in hibmc drivers/gpu/drm/hisilicon/hibmc/Makefile | 3 +- drivers/gpu/drm/hisilicon/hibmc/dp/dp_aux.c | 162 +++++++++ drivers/gpu/drm/hisilicon/hibmc/dp/dp_aux.h | 31 ++ drivers/gpu/drm/hisilicon/hibmc/dp/dp_comm.h | 74 ++++ .../gpu/drm/hisilicon/hibmc/dp/dp_config.h | 19 + drivers/gpu/drm/hisilicon/hibmc/dp/dp_hw.c | 237 ++++++++++++ drivers/gpu/drm/hisilicon/hibmc/dp/dp_hw.h | 31 ++ drivers/gpu/drm/hisilicon/hibmc/dp/dp_link.c | 344 ++++++++++++++++++ drivers/gpu/drm/hisilicon/hibmc/dp/dp_link.h | 25 ++ drivers/gpu/drm/hisilicon/hibmc/dp/dp_reg.h | 76 ++++ .../gpu/drm/hisilicon/hibmc/hibmc_drm_dp.c | 148 ++++++++ .../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 16 + .../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h | 21 +- .../gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c | 41 +-- .../gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 20 +- 15 files changed, 1208 insertions(+), 40 deletions(-) create mode 100644 drivers/gpu/drm/hisilicon/hibmc/dp/dp_aux.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/dp/dp_aux.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/dp/dp_comm.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/dp/dp_config.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/dp/dp_hw.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/dp/dp_hw.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/dp/dp_link.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/dp/dp_link.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/dp/dp_reg.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_dp.c