Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2074939imm; Mon, 28 May 2018 00:49:39 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJp43a3Ar1fW9kLmZTDksQXn0ni0HXr7qzIQiMwTcM4JaZjbWW1XUXglUcHzSDpfEb+l2Ag X-Received: by 2002:a63:745a:: with SMTP id e26-v6mr771909pgn.377.1527493779285; Mon, 28 May 2018 00:49:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527493779; cv=none; d=google.com; s=arc-20160816; b=rzi7UswhjB0EUCdiGfSpGrGeiWFc6wRsjyRTu5UX74u+0CT+vIIdPDOp7/FVLqbU5g GLmDT2peKlZJjIrKZ5fMrhvWdAXaNYXMKDexZ7oqFgt/X5M5iplNSc8t9hiBaL9nYNVw U42GeS87W/5/2EIFGO1wRxY5AFK4S61HTRtbLBILgPApv1vCm+zMuGPjjkDd05IDScwj Cz0Ku35A2JM9Cg7CWPzEMtLgIotVUgdtNi4FvP2UZG0u6OUyZGYLjxFFXq6W2Zzhgjtd 1I346sK71logLy9WXb63AFiWNhm87DRRkxQ8+zVLb9VYpzSnRlapK4JtqC0Iu09FYYa2 /utw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :arc-authentication-results; bh=MimT+RUNO1z1c8Ou1j7Xe+yiViBImvkhIn5NMt0NEMw=; b=x6JRXWPINRAIP0OjVIwQrS8XDIKSy6wYXfSevhNuMifPNobJmIyllObV/sUTQuReKY hHZhFl/b7ddiIvDKYetUNzH2BxEXkH+hLHP//hI8vP3J2Grfzp+gmPSd/eDpU+dRSkQi W/qfDt9F33bzs4o6J3k7efTUsUvKKSgTxzg9DbpPqf9btjoiD35cnQWhvzqFsHHagZoy 3D30ZQRpJ+SCnC+OZR0SCo1z/Cz5DePeffdCXEKzZOVkE5zjWkHlRc3xVnCp3FoyZEJu qB/S5ka3egSSbdn8iD0K4h8GCVszrdhvnFJzGckbPCKHdId6KkfiiCI9NivD60MgzB5N ngPw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x63-v6si29638551pfi.162.2018.05.28.00.49.24; Mon, 28 May 2018 00:49:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753951AbeE1HsF (ORCPT + 99 others); Mon, 28 May 2018 03:48:05 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:31363 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1753668AbeE1HsE (ORCPT ); Mon, 28 May 2018 03:48:04 -0400 X-UUID: 72df2bdd77f74a16bd91c427f15417c3-20180528 Received: from mtkcas07.mediatek.inc [(172.21.101.84)] by mailgw02.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 426520188; Mon, 28 May 2018 15:47:59 +0800 Received: from mtkcas09.mediatek.inc (172.21.101.178) by mtkmbs01n2.mediatek.inc (172.21.101.79) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Mon, 28 May 2018 15:47:57 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas09.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Mon, 28 May 2018 15:47:57 +0800 Message-ID: <1527493677.24367.10.camel@mtksdaap41> Subject: Re: [PATCH v4 8/9] drm/mediatek: add third ddp path From: CK Hu To: Stu Hsieh CC: Philipp Zabel , David Airlie , Rob Herring , Mark Rutland , Matthias Brugger , , , , , , Date: Mon, 28 May 2018 15:47:57 +0800 In-Reply-To: <1527489507-24453-9-git-send-email-stu.hsieh@mediatek.com> References: <1527489507-24453-1-git-send-email-stu.hsieh@mediatek.com> <1527489507-24453-9-git-send-email-stu.hsieh@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-MTK: N Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Stu: One inline comment. On Mon, 2018-05-28 at 14:38 +0800, Stu Hsieh wrote: > This patch create third crtc by third ddp path > > Signed-off-by: Stu Hsieh > --- > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 3 +++ > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 5 +++++ > drivers/gpu/drm/mediatek/mtk_drm_drv.h | 7 +++++-- > 3 files changed, 13 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > index 658b8dd45b83..2d6aa150a9ff 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > @@ -539,6 +539,9 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev, > int ret; > int i; > > + if (!path) > + return 0; > + > for (i = 0; i < path_len; i++) { > enum mtk_ddp_comp_id comp_id = path[i]; > struct device_node *node; > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > index 08d5d0b47bfe..3d279a299383 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > @@ -232,6 +232,11 @@ static int mtk_drm_kms_init(struct drm_device *drm) > if (ret < 0) > goto err_component_unbind; > > + ret = mtk_drm_crtc_create(drm, private->data->third_path, > + private->data->third_len); > + if (ret < 0) > + goto err_component_unbind; > + > /* Use OVL device for all DMA memory allocations */ > np = private->comp_node[private->data->main_path[0]] ?: > private->comp_node[private->data->ext_path[0]]; > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.h b/drivers/gpu/drm/mediatek/mtk_drm_drv.h > index c3378c452c0a..d867e2683923 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.h > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.h > @@ -17,8 +17,8 @@ > #include > #include "mtk_drm_ddp_comp.h" > > -#define MAX_CRTC 2 > -#define MAX_CONNECTOR 2 > +#define MAX_CRTC 3 > +#define MAX_CONNECTOR 3 MAX_CONNECTOR is useless, maybe we just need to remove it in a clean up patch. Or you could keep its value. Regards, CK > > struct device; > struct device_node; > @@ -33,6 +33,9 @@ struct mtk_mmsys_driver_data { > unsigned int main_len; > const enum mtk_ddp_comp_id *ext_path; > unsigned int ext_len; > + const enum mtk_ddp_comp_id *third_path; > + unsigned int third_len; > + > bool shadow_register; > }; >