From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.3 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3926CC2D0BF for ; Fri, 13 Dec 2019 08:22:43 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 10BAC24658 for ; Fri, 13 Dec 2019 08:22:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="C8h/ehWO" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 10BAC24658 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DE60A6E29B; Fri, 13 Dec 2019 08:22:25 +0000 (UTC) Received: from mail-qk1-x744.google.com (mail-qk1-x744.google.com [IPv6:2607:f8b0:4864:20::744]) by gabe.freedesktop.org (Postfix) with ESMTPS id D18076E187 for ; Thu, 12 Dec 2019 14:29:59 +0000 (UTC) Received: by mail-qk1-x744.google.com with SMTP id c16so1736836qko.6 for ; Thu, 12 Dec 2019 06:29:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=THXAxSu0d81RYtd09vhLHPcegAXLlh85BBvx8ltKT9I=; b=C8h/ehWOXYIe8I2sUVJVZ/ud8ULD2WUs/9FC8UXz8q9vYb49WA13YQHVHSMXGtCIRt tf74MESzjDZ+HHCFS/2E/J7OAfT3mrgslfzHKSlhMf839ZwRX0tV/3JAmJpYPFcqxR07 lRcsTFvkU4aqp4Eb8YyrTMRMa3WaZz0fUnYeg0zqoJzFbZhhKgoqJeVBTCmU74ZoQWeZ U8dz/cmTUshIetP6c3VB4aYTF5evlSEPIqMc8orA6LhIQuyLB44zF1Z3qcRzumYFcORw hfP6KmhTYkn/5lYJ1nMsDv/nSk4s/1FQRJll8lXtx0wDMJaYO8a90RC/s2gzRmzp4+hb xFZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=THXAxSu0d81RYtd09vhLHPcegAXLlh85BBvx8ltKT9I=; b=TzB0dJ3iwclrdz+Z8QZw2V2nrxueRT2lyGmGE37rDwqYxNQ/iSCVLlaUxn2ZWD1w05 suWk3UeFoSxeKrEGj7kzS+IPzt+ACmTqrckAI4tFpoGm2CrxP4toQmimU6IXlAltgfmF QnI465xI76EJJNUqUGus8t7VNAGfaF1vNQcTTP1z/5AlsziB87G7K3G4eGKt3gdCVuAh +DtnnYja/eGWae2WAhLSQANdK0BgYXt8Q4XJotwsKrvwTmAYsijyCDen8Ji0llOiCCjS DgmSBUOBPd1e+gF08M1iVzShLcsgu5ujlEGenGe8+gp8mmxQvNt643ICmj3q/WQDg8Ug NnMg== X-Gm-Message-State: APjAAAVcMTtbGSH8Y1kihks2diSb77c70pjQa+Ge8YXtgpzgV4Uoq7Sk pWAYygHAOoGWe+WoIxrCJCUZ3HFc9329OeduZlM= X-Google-Smtp-Source: APXvYqy3W3+zIE8thfMK1utuIJ7CZS9jAzENsFqQLLzSiE+9vobnQRDvQN//wq2LWZM1jUl20Ks9Xydi0EMyR6nIurA= X-Received: by 2002:a37:851:: with SMTP id 78mr8483186qki.266.1576160999041; Thu, 12 Dec 2019 06:29:59 -0800 (PST) MIME-Version: 1.0 References: <1575966995-13757-1-git-send-email-kevin3.tang@gmail.com> <20191210185438.GA13884@ravnborg.org> In-Reply-To: <20191210185438.GA13884@ravnborg.org> From: tang pengchuan Date: Thu, 12 Dec 2019 22:29:47 +0800 Message-ID: Subject: Re: [PATCH RFC 0/8] Add Unisoc's drm kms module To: Sam Ravnborg X-Mailman-Approved-At: Fri, 13 Dec 2019 08:22:24 +0000 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: , Cc: Baolin Wang , David Airlie , Chunyan Zhang , "Linux-Kernel@Vger. Kernel. Org" , ML dri-devel , Orson Zhai Content-Type: multipart/mixed; boundary="===============1767944913==" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" --===============1767944913== Content-Type: multipart/alternative; boundary="00000000000074efe40599829438" --00000000000074efe40599829438 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable HI Sam Sam Ravnborg =E4=BA=8E2019=E5=B9=B412=E6=9C=8811=E6=97= =A5=E5=91=A8=E4=B8=89 =E4=B8=8A=E5=8D=882:54=E5=86=99=E9=81=93=EF=BC=9A > Hi Kevin. > > Thanks for this new driver. > A few somments triggered alone from the diffstat. > > Kevin Tang (8): > > dt-bindings: display: add Unisoc's drm master bindings > > drm/sprd: add Unisoc's drm kms master > > dt-bindings: display: add Unisoc's dpu bindings > > drm/sprd: add Unisoc's drm display controller driver > > dt-bindings: display: add Unisoc's mipi dsi&dphy bindings > > drm/sprd: add Unisoc's drm mipi dsi&dphy driver > > dt-bindings: display: add Unisoc's generic mipi panel bindings > > drm/sprd: add Unisoc's drm generic mipi panel driver > > > > .../devicetree/bindings/display/sprd/dphy.txt | 49 + > > .../devicetree/bindings/display/sprd/dpu.txt | 55 + > > .../devicetree/bindings/display/sprd/drm.txt | 18 + > > .../devicetree/bindings/display/sprd/dsi.txt | 68 + > > .../devicetree/bindings/display/sprd/panel.txt | 110 ++ > > New bindings in metaschema format (.yaml). > dt bindings in yaml is on going, but this need sometime, so i upload txt format at first > And panel bindings in display/panel/ > > > drivers/gpu/drm/Kconfig | 2 + > > drivers/gpu/drm/Makefile | 1 + > > drivers/gpu/drm/sprd/Kconfig | 14 + > > drivers/gpu/drm/sprd/Makefile | 17 + > > drivers/gpu/drm/sprd/disp_lib.c | 290 ++++ > > drivers/gpu/drm/sprd/disp_lib.h | 40 + > > drivers/gpu/drm/sprd/dphy/Makefile | 7 + > > drivers/gpu/drm/sprd/dphy/pll/Makefile | 3 + > > drivers/gpu/drm/sprd/dphy/pll/megacores_sharkle.c | 640 +++++++++ > > drivers/gpu/drm/sprd/dphy/sprd_dphy_api.c | 254 ++++ > > drivers/gpu/drm/sprd/dphy/sprd_dphy_hal.h | 329 +++++ > > drivers/gpu/drm/sprd/dpu/Makefile | 8 + > > drivers/gpu/drm/sprd/dpu/dpu_r2p0.c | 1464 > ++++++++++++++++++++ > > drivers/gpu/drm/sprd/dsi/Makefile | 7 + > > drivers/gpu/drm/sprd/dsi/core/Makefile | 3 + > > drivers/gpu/drm/sprd/dsi/core/dsi_ctrl_r1p0.c | 1186 > ++++++++++++++++ > > drivers/gpu/drm/sprd/dsi/core/dsi_ctrl_r1p0.h | 1417 > +++++++++++++++++++ > > drivers/gpu/drm/sprd/dsi/core/dsi_ctrl_r1p0_ppi.c | 392 ++++++ > > drivers/gpu/drm/sprd/dsi/sprd_dsi_api.c | 544 ++++++++ > > drivers/gpu/drm/sprd/dsi/sprd_dsi_api.h | 28 + > > drivers/gpu/drm/sprd/dsi/sprd_dsi_hal.h | 1102 > +++++++++++++++ > > drivers/gpu/drm/sprd/sprd_dphy.c | 235 ++++ > > drivers/gpu/drm/sprd/sprd_dphy.h | 121 ++ > > drivers/gpu/drm/sprd/sprd_dpu.c | 1152 > +++++++++++++++ > > drivers/gpu/drm/sprd/sprd_dpu.h | 217 +++ > > drivers/gpu/drm/sprd/sprd_drm.c | 287 ++++ > > drivers/gpu/drm/sprd/sprd_drm.h | 19 + > > drivers/gpu/drm/sprd/sprd_dsi.c | 722 ++++++++++ > > drivers/gpu/drm/sprd/sprd_dsi.h | 210 +++ > > drivers/gpu/drm/sprd/sprd_gem.c | 178 +++ > > drivers/gpu/drm/sprd/sprd_gem.h | 30 + > > > drivers/gpu/drm/sprd/sprd_panel.c | 778 +++++++++++ > > drivers/gpu/drm/sprd/sprd_panel.h | 114 ++ > Please move panels to drivers/gpu/drm/panel/ and make sure to utilize > the drm_panel infrastructure. > Our drm panel driver is a generic mipi panel driver, not for a specific panel. All common properties related to LCD will be placed in the LCD node, eg: "/lcds/lcd_mipi_dsi.dtsi" So if our customers need to adapt the new panel, just config LCD node, no need to rewrite drivers for new panels > > Sam > --00000000000074efe40599829438 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
HI Sam

Sam Ravnborg <sam@ravnborg.org> =E4=BA=8E2019=E5=B9=B412=E6=9C=8811=E6= =97=A5=E5=91=A8=E4=B8=89 =E4=B8=8A=E5=8D=882:54=E5=86=99=E9=81=93=EF=BC=9A<= br>
Hi Kevin.

Thanks for this new driver.
A few somments triggered alone from the diffstat.
> Kevin Tang (8):
>=C2=A0 =C2=A0dt-bindings: display: add Unisoc's drm master bindings=
>=C2=A0 =C2=A0drm/sprd: add Unisoc's drm kms master
>=C2=A0 =C2=A0dt-bindings: display: add Unisoc's dpu bindings
>=C2=A0 =C2=A0drm/sprd: add Unisoc's drm display controller driver >=C2=A0 =C2=A0dt-bindings: display: add Unisoc's mipi dsi&dphy b= indings
>=C2=A0 =C2=A0drm/sprd: add Unisoc's drm mipi dsi&dphy driver >=C2=A0 =C2=A0dt-bindings: display: add Unisoc's generic mipi panel = bindings
>=C2=A0 =C2=A0drm/sprd: add Unisoc's drm generic mipi panel driver >
>=C2=A0 .../devicetree/bindings/display/sprd/dphy.txt=C2=A0 =C2=A0 =C2= =A0 |=C2=A0 =C2=A049 +
>=C2=A0 .../devicetree/bindings/display/sprd/dpu.txt=C2=A0 =C2=A0 =C2=A0= =C2=A0|=C2=A0 =C2=A055 +
>=C2=A0 .../devicetree/bindings/display/sprd/drm.txt=C2=A0 =C2=A0 =C2=A0= =C2=A0|=C2=A0 =C2=A018 +
>=C2=A0 .../devicetree/bindings/display/sprd/dsi.txt=C2=A0 =C2=A0 =C2=A0= =C2=A0|=C2=A0 =C2=A068 +
>=C2=A0 .../devicetree/bindings/display/sprd/panel.txt=C2=A0 =C2=A0 =C2= =A0|=C2=A0 110 ++

New bindings in metaschema format (.yaml).
dt bindings= in yaml is on going, but this need sometime, so i upload txt format at fir= st
And panel bindings in display/panel/

>=C2=A0 drivers/gpu/drm/Kconfig=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 2 +=
>=C2=A0 drivers/gpu/drm/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 1= +
>=C2=A0 drivers/gpu/drm/sprd/Kconfig=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A014 +
>=C2=A0 drivers/gpu/drm/sprd/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A017 +
>=C2=A0 drivers/gpu/drm/sprd/disp_lib.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 290 ++++
>=C2=A0 drivers/gpu/drm/sprd/disp_lib.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A040 +
>=C2=A0 drivers/gpu/drm/sprd/dphy/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 7 +
>=C2=A0 drivers/gpu/drm/sprd/dphy/pll/Makefile=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 3 +
>=C2=A0 drivers/gpu/drm/sprd/dphy/pll/megacores_sharkle.c=C2=A0 |=C2=A0 = 640 +++++++++
>=C2=A0 drivers/gpu/drm/sprd/dphy/sprd_dphy_api.c=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 |=C2=A0 254 ++++
>=C2=A0 drivers/gpu/drm/sprd/dphy/sprd_dphy_hal.h=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 |=C2=A0 329 +++++
>=C2=A0 drivers/gpu/drm/sprd/dpu/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 8 +
>=C2=A0 drivers/gpu/drm/sprd/dpu/dpu_r2p0.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 1464 ++++++++++++++++++++
>=C2=A0 drivers/gpu/drm/sprd/dsi/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 7 +
>=C2=A0 drivers/gpu/drm/sprd/dsi/core/Makefile=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 3 +
>=C2=A0 drivers/gpu/drm/sprd/dsi/core/dsi_ctrl_r1p0.c=C2=A0 =C2=A0 =C2= =A0 | 1186 ++++++++++++++++
>=C2=A0 drivers/gpu/drm/sprd/dsi/core/dsi_ctrl_r1p0.h=C2=A0 =C2=A0 =C2= =A0 | 1417 +++++++++++++++++++
>=C2=A0 drivers/gpu/drm/sprd/dsi/core/dsi_ctrl_r1p0_ppi.c=C2=A0 |=C2=A0 = 392 ++++++
>=C2=A0 drivers/gpu/drm/sprd/dsi/sprd_dsi_api.c=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 |=C2=A0 544 ++++++++
>=C2=A0 drivers/gpu/drm/sprd/dsi/sprd_dsi_api.h=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A028 +
>=C2=A0 drivers/gpu/drm/sprd/dsi/sprd_dsi_hal.h=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 | 1102 +++++++++++++++
>=C2=A0 drivers/gpu/drm/sprd/sprd_dphy.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 235 ++++
>=C2=A0 drivers/gpu/drm/sprd/sprd_dphy.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 121 ++
>=C2=A0 drivers/gpu/drm/sprd/sprd_dpu.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 1152 +++++++++++++++
>=C2=A0 drivers/gpu/drm/sprd/sprd_dpu.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 217 +++
>=C2=A0 drivers/gpu/drm/sprd/sprd_drm.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 287 ++++
>=C2=A0 drivers/gpu/drm/sprd/sprd_drm.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A019 +
>=C2=A0 drivers/gpu/drm/sprd/sprd_dsi.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 722 ++++++++++
>=C2=A0 drivers/gpu/drm/sprd/sprd_dsi.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 210 +++
>=C2=A0 drivers/gpu/drm/sprd/sprd_gem.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 178 +++
>=C2=A0 drivers/gpu/drm/sprd/sprd_gem.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A030 +

>=C2=A0 drivers/gpu/drm/sprd/sprd_panel.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 778 +++++++++++
>=C2=A0 drivers/gpu/drm/sprd/sprd_panel.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 114 ++
Please move panels to drivers/gpu/drm/panel/ and make sure to utilize
the drm_panel infrastructure.
Our drm panel driver is = a generic mipi panel driver, not for a specific= panel.
All common properties related to = LCD will be placed in the LCD node, eg: "/lcds/lcd_mipi_= dsi.dtsi"
So if= our customers need to adapt the new panel, just config LCD node, no need to rewrite drivers for new panels<= /span>

=C2=A0 =C2=A0 =C2=A0 =C2=A0 Sam
--00000000000074efe40599829438-- --===============1767944913== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel --===============1767944913==--