Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp186652rdb; Tue, 5 Dec 2023 02:33:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IEFKUrYLiMoqpBNmE+iyz2dbc0OvkBcYTpW4Zx1Ugyh3xU4mbhD0+Yi6ROn3C+dJqw5/g6B X-Received: by 2002:a17:90b:1e05:b0:286:f3ab:72c with SMTP id pg5-20020a17090b1e0500b00286f3ab072cmr35654pjb.13.1701772398576; Tue, 05 Dec 2023 02:33:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701772398; cv=none; d=google.com; s=arc-20160816; b=guZZgI4mr8VsdVtiGhkKH5U1lzDAfQuoy7zf/PJgiYWtB42BUE60AhiKcTR+o9BRpf dm042JST1TsaGhazzaPPzIY9B7dKRjxD1KTpeDxijm1dbhv+Gs6cYMH02MFCrE3Qpjl8 FlEGvxNb1HsKiwL5ElBtDugAp+uSRH80MPc53dvS0BivvOvAa4eaN9y82siMwNPPd/Ep FV4pgrtIbv22iDQC7JKnJcif42dM8utM2rDeuyE4ZG5vE3jTHNgHiyqrd3+zMlXA5l7l m21xmDI5tzAzldc7S6QWDBF0gEHEfJbR58CbU6e+UVVmAQrA/rnOpHYnbMdHSmvSUft0 5r0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:sender:hmm_source_type:hmm_attache_num :hmm_source_ip; bh=NO5RgRxDBF30+YH9wfvW+NKKqp1NRJCu7V+DBgz8hys=; fh=OYbwi+qJ5PlMBtDs0Kdyyv/5K9+cTmB2HdDdRRNbU3Y=; b=ThiznaeB3rRO1ok+0ticO/N8u9vGIK0wZgV+8uo11kD0qlN8vNH3SetFnbXUZb2GMA omXzUzN1isanrR+QXUIZb/FOQVC8trJLrfjUW58Zmt7fOKWvb7b2hVeVgrTS412MRq0w ylSLulQgHt/1dEQaIlS1qyLjEw9eAfdO/4MIxQj6l1p4eegKBWwpRbnT033ppdaDt74h dLsbUQXzB6vlWtgR0/pzTUSfR2GRLXjsjl+JtsFdFK53v/P3ow0O0PPv6BjI4wm+jr/V rE0+Wq2XGUyT1NVphfftvg22mKbFs+pricXA4LTw8dJRey2Uo6Vkg8u+A0Y85hEp99ju fGYw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id hi20-20020a17090b30d400b002859d376d2csi2810468pjb.29.2023.12.05.02.33.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Dec 2023 02:33:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id E5C60804B107; Tue, 5 Dec 2023 02:33:15 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235086AbjLEKcd (ORCPT + 99 others); Tue, 5 Dec 2023 05:32:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38896 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235078AbjLEKcd (ORCPT ); Tue, 5 Dec 2023 05:32:33 -0500 X-Greylist: delayed 288 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Tue, 05 Dec 2023 02:32:37 PST Received: from 189.cn (ptr.189.cn [183.61.185.102]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id B42F5BA; Tue, 5 Dec 2023 02:32:37 -0800 (PST) HMM_SOURCE_IP: 10.64.8.31:56582.66917648 HMM_ATTACHE_NUM: 0000 HMM_SOURCE_TYPE: SMTP Received: from clientip-106.39.148.68 (unknown [10.64.8.31]) by 189.cn (HERMES) with SMTP id C166E1001E8; Tue, 5 Dec 2023 18:27:44 +0800 (CST) Received: from ([106.39.148.68]) by gateway-151646-dep-64bdf77f94-vkj2l with ESMTP id b40fada1729c49d09c097b89903bb9bf for keith.zhao@starfivetech.com; Tue, 05 Dec 2023 18:27:46 CST X-Transaction-ID: b40fada1729c49d09c097b89903bb9bf X-Real-From: 15330273260@189.cn X-Receive-IP: 106.39.148.68 X-MEDUSA-Status: 0 Sender: 15330273260@189.cn Message-ID: Date: Tue, 5 Dec 2023 18:27:43 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [v3 0/6] DRM driver for verisilicon To: Keith Zhao , devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org Cc: aou@eecs.berkeley.edu, tzimmermann@suse.de, paul.walmsley@sifive.com, mripard@kernel.org, xingyu.wu@starfivetech.com, jack.zhu@starfivetech.com, palmer@dabbelt.com, krzysztof.kozlowski+dt@linaro.org, william.qiu@starfivetech.com, shengyang.chen@starfivetech.com, changhuang.liang@starfivetech.com References: <20231204123315.28456-1-keith.zhao@starfivetech.com> Content-Language: en-US From: Sui Jingfeng <15330273260@189.cn> In-Reply-To: <20231204123315.28456-1-keith.zhao@starfivetech.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.2 required=5.0 tests=FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,FROM_LOCAL_DIGITS,FROM_LOCAL_HEX, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Tue, 05 Dec 2023 02:33:16 -0800 (PST) HI, This series are very interesting and nice! On 2023/12/4 20:33, Keith Zhao wrote: > This patch is a drm driver for Starfive Soc JH7110, 'SoC' : System on Chip, no more 'Soc' or 'soc' please. > I am sending Drm driver part and HDMI driver part. 'DRM' or 'drm' nor Drm. DRM: Direct Rendering Manager. Typically you should only *capitalize* the *first* letter of the first word in a sentence, while this Drm appears in the middle of this sentence. Please also improve the English written also, for example: This series is a DRM driver for Starfive Soc JH7110, which contains (consists of) a KMS driver for the vivante DC8200 display controller and a HDMI transmitter driver. > > We used GEM framework for buffer management, > and for buffer allocation,we use DMA APIs. > > the Starfive HDMI servers as interface between a LCD Controller 'servers' -> 'serve as', because server is a noun. > and a HDMI bus. > A HDMI TX consists of one HDMI transmitter controller > and one HDMI transmitter PHY. > (Sound support is not include in this patch) > > This patchset should be applied on next branch. > > V1: > Changes since v1: > - Further standardize the yaml file. > - Dts naming convention improved. > - Fix the problem of compiling and loading ko files. > - Use drm new api to automatically manage resources. > - Drop vs_crtc_funcs&vs_plane_funcs, subdivide the plane's help interface. > - Reduce the modifiers unused. > - Optimize the hdmi driver code > > V2: > Changes since v2: > - fix the error about checking the yaml file. > - match drm driver GEM DMA API. > - Delete the custom crtc property . > - hdmi use drmm_ new api to automatically manage resources. > - update the modifiers comments. > - enabling KASAN, fix the error during removing module > > V3: > Changes since v3: > - Delete the custom plane property. > - Delete the custom fourcc modifiers. > - Adjust the calculation mode of hdmi pixclock. > - Add match data for dc8200 driver. > - Adjust some magic values. > - Add a simple encoder for dsi output. > > Keith Zhao (6): > dt-bindings: display: Add yamls for JH7110 display system > riscv: dts: starfive: jh7110: display subsystem > drm/vs: Register DRM device > drm/vs: Add KMS crtc&plane > drm/vs: Add hdmi driver > drm/vs: simple encoder > > .../starfive/starfive,display-subsystem.yaml | 104 ++ > .../starfive/starfive,dsi-encoder.yaml | 92 ++ > .../starfive/starfive,jh7110-dc8200.yaml | 113 ++ > .../starfive/starfive,jh7110-inno-hdmi.yaml | 82 ++ > .../soc/starfive/starfive,jh7110-syscon.yaml | 1 + > MAINTAINERS | 8 + > .../jh7110-starfive-visionfive-2.dtsi | 134 ++ > arch/riscv/boot/dts/starfive/jh7110.dtsi | 49 + > drivers/gpu/drm/Kconfig | 2 + > drivers/gpu/drm/Makefile | 1 + > drivers/gpu/drm/verisilicon/Kconfig | 21 + > drivers/gpu/drm/verisilicon/Makefile | 12 + > drivers/gpu/drm/verisilicon/starfive_hdmi.c | 849 ++++++++++++ > drivers/gpu/drm/verisilicon/starfive_hdmi.h | 304 +++++ > drivers/gpu/drm/verisilicon/vs_crtc.c | 208 +++ > drivers/gpu/drm/verisilicon/vs_crtc.h | 42 + > drivers/gpu/drm/verisilicon/vs_dc.c | 1192 +++++++++++++++++ > drivers/gpu/drm/verisilicon/vs_dc.h | 67 + > drivers/gpu/drm/verisilicon/vs_dc_hw.c | 1022 ++++++++++++++ > drivers/gpu/drm/verisilicon/vs_dc_hw.h | 580 ++++++++ > drivers/gpu/drm/verisilicon/vs_drv.c | 323 +++++ > drivers/gpu/drm/verisilicon/vs_drv.h | 46 + > drivers/gpu/drm/verisilicon/vs_modeset.c | 39 + > drivers/gpu/drm/verisilicon/vs_modeset.h | 10 + > drivers/gpu/drm/verisilicon/vs_plane.c | 301 +++++ > drivers/gpu/drm/verisilicon/vs_plane.h | 39 + > drivers/gpu/drm/verisilicon/vs_simple_enc.c | 195 +++ > drivers/gpu/drm/verisilicon/vs_simple_enc.h | 23 + > drivers/gpu/drm/verisilicon/vs_type.h | 69 + > 29 files changed, 5928 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/starfive/starfive,display-subsystem.yaml > create mode 100644 Documentation/devicetree/bindings/display/starfive/starfive,dsi-encoder.yaml > create mode 100644 Documentation/devicetree/bindings/display/starfive/starfive,jh7110-dc8200.yaml > create mode 100644 Documentation/devicetree/bindings/display/starfive/starfive,jh7110-inno-hdmi.yaml > create mode 100644 drivers/gpu/drm/verisilicon/Kconfig > create mode 100644 drivers/gpu/drm/verisilicon/Makefile > create mode 100644 drivers/gpu/drm/verisilicon/starfive_hdmi.c > create mode 100644 drivers/gpu/drm/verisilicon/starfive_hdmi.h > create mode 100644 drivers/gpu/drm/verisilicon/vs_crtc.c > create mode 100644 drivers/gpu/drm/verisilicon/vs_crtc.h > create mode 100644 drivers/gpu/drm/verisilicon/vs_dc.c > create mode 100644 drivers/gpu/drm/verisilicon/vs_dc.h > create mode 100644 drivers/gpu/drm/verisilicon/vs_dc_hw.c > create mode 100644 drivers/gpu/drm/verisilicon/vs_dc_hw.h > create mode 100644 drivers/gpu/drm/verisilicon/vs_drv.c > create mode 100644 drivers/gpu/drm/verisilicon/vs_drv.h > create mode 100644 drivers/gpu/drm/verisilicon/vs_modeset.c > create mode 100644 drivers/gpu/drm/verisilicon/vs_modeset.h > create mode 100644 drivers/gpu/drm/verisilicon/vs_plane.c > create mode 100644 drivers/gpu/drm/verisilicon/vs_plane.h > create mode 100644 drivers/gpu/drm/verisilicon/vs_simple_enc.c > create mode 100644 drivers/gpu/drm/verisilicon/vs_simple_enc.h > create mode 100644 drivers/gpu/drm/verisilicon/vs_type.h >