Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp342115imm; Wed, 13 Jun 2018 01:01:48 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJaKhXHJTXABB5sgNshcjGuh53Qy58hCCtUXadCrcnoegGIutjvP93KBymbMs0dCTFTphVl X-Received: by 2002:a65:4587:: with SMTP id o7-v6mr3172838pgq.386.1528876908823; Wed, 13 Jun 2018 01:01:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528876908; cv=none; d=google.com; s=arc-20160816; b=NQuSlL9k78w6zeUleTQE3mVbm3bLEwGgtUFyzlst41ZTT8Kd/Kjir4IoXmdF/7xkKD caXMH+D8FygL6NMMJ7D0DYOSQ1+Nqh4pN9d8sT4TvI07d39M4kS/j+BMhkMpkdEZArPO LE2hWm8cGD3SqbfQcpK2/khREhNwESRX5i08WibIshvocKyfeHXuGahMjS9wZYviz8QM mn0xQTHuuBs9CjP8VKcTzVFN5c2NvAa0RnmHkQLb3NFwQQCfDto/hAFVqTZGgIunUJ9M Oxk/PTocFJb5J3apO5Ip6wx2/ra/mJXyGnNsBsAovRAzKDG76tBjuvO3Y8EIMAwBwDnR EDQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :references:in-reply-to:date:cc:to:from:subject:message-id :arc-authentication-results; bh=PFiEclopnBCYWCzFCuktDgalIf9ZjBRDGY0Zk+nctM4=; b=x+vQjwXVYgxQf9XT8+BiA5tBN3NlRuqpRmexqRYCCnDdaEY8GUZiN9ATBlFIXCV7Vm koRr7/DKaGP0GoW5EwTOC5N5/21AAVf9Zxf/mDdxowtl2GLDbVcxli1ItvVDQ9g1mH/S Dw7dJKWiwH3Il9RZx8PX7SmW56qWB+FdlU3ilgxrE6jlP7Uacz6AdzcMfWZqVO2W+V0k LICCpeM5WoMVZqj59CZRqznTMB3IVHdsZJ8M7GqEvM1HdfaLjYZAuo6kphzJexfLCWOW zpO2MPoXC0mE/Pd+kGJtABZ+PbeVj2yjoFc7f81ni+SHLd0Xa/SD3pb2Kk4abYxDi6ww zYsQ== 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 ay5-v6si2107557plb.459.2018.06.13.01.01.34; Wed, 13 Jun 2018 01:01:48 -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 S1754517AbeFMIBI (ORCPT + 99 others); Wed, 13 Jun 2018 04:01:08 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:37878 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1754467AbeFMIBH (ORCPT ); Wed, 13 Jun 2018 04:01:07 -0400 X-UUID: 01de7b6fd98b4d33bb89d2b3dc23c5d7-20180613 Received: from mtkcas06.mediatek.inc [(172.21.101.30)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 1508628268; Wed, 13 Jun 2018 16:01:03 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs01n1.mediatek.inc (172.21.101.68) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 13 Jun 2018 16:01:02 +0800 Received: from [172.21.84.99] (172.21.84.99) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Wed, 13 Jun 2018 16:01:02 +0800 Message-ID: <1528876862.11190.35.camel@mtksdccf07> Subject: Re: [PATCH 19/28] drm/mediatek: add connection from RDMA2 to DPI1 From: Stu Hsieh To: CK Hu CC: Philipp Zabel , David Airlie , Rob Herring , Mark Rutland , Matthias Brugger , , , , , , Date: Wed, 13 Jun 2018 16:01:02 +0800 In-Reply-To: <1528874037.30263.6.camel@mtksdaap41> References: <1528687580-549-1-git-send-email-stu.hsieh@mediatek.com> <1528687580-549-20-git-send-email-stu.hsieh@mediatek.com> <1528874037.30263.6.camel@mtksdaap41> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 Content-Transfer-Encoding: 7bit MIME-Version: 1.0 X-MTK: N Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, CK: On Wed, 2018-06-13 at 15:13 +0800, CK Hu wrote: > Hi, Stu: > > On Mon, 2018-06-11 at 11:26 +0800, Stu Hsieh wrote: > > This patch add the connection from RDMA2 to DPI1 > > > > Signed-off-by: Stu Hsieh > > --- > > drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > > index 31a0832ef9ec..2d883815d79c 100644 > > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > > @@ -93,9 +93,11 @@ > > #define RDMA1_MOUT_DPI0 0x2 > > #define RDMA1_MOUT_DPI1 0x3 > > #define RDMA2_MOUT_DPI0 0x2 > > +#define RDMA2_MOUT_DPI1 0x3 > > Usually, each bit of a mout register represent a output enable. Is this > value 0x3 a correct value? > > Regards, > CK > In HW CONFIG SPEC or MT2712_E2_MMSYS_Change_note show as following: Bit(s) Name Description 2:0 DISP_RDMA2_SOUT_SEL_IN 0: output to dsi0 1: outptu to dsi1 2: output to dpi0 3: output to dpi1 4: output to dsi2 5: output to dsi3 So, 0x3 is correct value. Regard, Stu > > #define DPI0_SEL_IN_RDMA1 0x1 > > #define DPI0_SEL_IN_RDMA2 0x3 > > #define DPI1_SEL_IN_RDMA1 (0x1 << 8) > > +#define DPI1_SEL_IN_RDMA2 (0x3 << 8) > > #define DSI1_SEL_IN_RDMA1 0x1 > > #define DSI2_SEL_IN_RDMA1 (0x1 << 16) > > #define DSI3_SEL_IN_RDMA1 (0x1 << 16) > > @@ -199,6 +201,9 @@ static unsigned int mtk_ddp_mout_en(enum mtk_ddp_comp_id cur, > > } else if (cur == DDP_COMPONENT_RDMA2 && next == DDP_COMPONENT_DPI0) { > > *addr = DISP_REG_CONFIG_DISP_RDMA2_SOUT; > > value = RDMA2_MOUT_DPI0; > > + } else if (cur == DDP_COMPONENT_RDMA2 && next == DDP_COMPONENT_DPI1) { > > + *addr = DISP_REG_CONFIG_DISP_RDMA2_SOUT; > > + value = RDMA2_MOUT_DPI1; > > } else { > > value = 0; > > } > > @@ -233,6 +238,9 @@ static unsigned int mtk_ddp_sel_in(enum mtk_ddp_comp_id cur, > > } else if (cur == DDP_COMPONENT_RDMA2 && next == DDP_COMPONENT_DPI0) { > > *addr = DISP_REG_CONFIG_DPI_SEL_IN; > > value = DPI0_SEL_IN_RDMA2; > > + } else if (cur == DDP_COMPONENT_RDMA2 && next == DDP_COMPONENT_DPI1) { > > + *addr = DISP_REG_CONFIG_DPI_SEL_IN; > > + value = DPI1_SEL_IN_RDMA2; > > } else if (cur == DDP_COMPONENT_OVL1 && next == DDP_COMPONENT_COLOR1) { > > *addr = DISP_REG_CONFIG_DISP_COLOR1_SEL_IN; > > value = COLOR1_SEL_IN_OVL1; > >