From mboxrd@z Thu Jan 1 00:00:00 1970 From: CK Hu Subject: Re: [PATCH v3, 08/27] drm/mediatek: add mutex sof into ddp private data Date: Thu, 6 Jun 2019 14:12:28 +0800 Message-ID: <1559801548.20098.8.camel@mtksdaap41> References: <1559734986-7379-1-git-send-email-yongqiang.niu@mediatek.com> <1559734986-7379-9-git-send-email-yongqiang.niu@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1559734986-7379-9-git-send-email-yongqiang.niu@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: yongqiang.niu@mediatek.com Cc: Mark Rutland , devicetree@vger.kernel.org, David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Rob Herring , linux-mediatek@lists.infradead.org, Matthias Brugger , linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org SGksIFlvbmdxaWFuZzoKCk9uIFdlZCwgMjAxOS0wNi0wNSBhdCAxOTo0MiArMDgwMCwgeW9uZ3Fp YW5nLm5pdUBtZWRpYXRlay5jb20gd3JvdGU6Cj4gRnJvbTogWW9uZ3FpYW5nIE5pdSA8eW9uZ3Fp YW5nLm5pdUBtZWRpYXRlay5jb20+Cj4gCj4gbXV0ZXggc29mIHdpbGwgYmUgZGRwIHByaXZhdGUg ZGF0YQo+IAo+IFNpZ25lZC1vZmYtYnk6IFlvbmdxaWFuZyBOaXUgPHlvbmdxaWFuZy5uaXVAbWVk aWF0ZWsuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHAu YyB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KPiAgMSBmaWxlIGNoYW5n ZWQsIDM2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5jIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZGRwLmMKPiBpbmRleCA4YmRlMmNmLi5lMWE1MTBmIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMKPiBAQCAtMTQ5LDggKzE0OSwyMCBAQCBz dHJ1Y3QgbXRrX2Rpc3BfbXV0ZXggewo+ICAJYm9vbCBjbGFpbWVkOwo+ICB9Owo+ICAKPiArZW51 bSBtdGtfZGRwX211dGV4X3NvZl9pZCB7Cj4gKwlERFBfTVVURVhfU09GX1NJTkdMRV9NT0RFLAo+ ICsJRERQX01VVEVYX1NPRl9EU0kwLAo+ICsJRERQX01VVEVYX1NPRl9EU0kxLAo+ICsJRERQX01V VEVYX1NPRl9EUEkwLAo+ICsJRERQX01VVEVYX1NPRl9EUEkxLAo+ICsJRERQX01VVEVYX1NPRl9E U0kyLAo+ICsJRERQX01VVEVYX1NPRl9EU0kzLAo+ICsJRERQX01VVEVYX1NPRl9NQVgsCgpERFBf TVVURVhfU09GX01BWCBjYW4gYmUgcmVtb3ZlZC4KClJlZ2FyZHMsCkNLCgo+ICt9Owo+ICsKPiAg c3RydWN0IG10a19kZHBfZGF0YSB7Cj4gIAljb25zdCB1bnNpZ25lZCBpbnQgKm11dGV4X21vZDsK PiArCWNvbnN0IHVuc2lnbmVkIGludCAqbXV0ZXhfc29mOwo+ICAJY29uc3QgdW5zaWduZWQgaW50 IG11dGV4X21vZF9yZWc7Cj4gIH07Cj4gIAo+IEBAIC0yMDksMTggKzIyMSwzMSBAQCBzdHJ1Y3Qg bXRrX2RkcCB7Cj4gIAlbRERQX0NPTVBPTkVOVF9XRE1BMV0gPSBNVDgxNzNfTVVURVhfTU9EX0RJ U1BfV0RNQTEsCj4gIH07Cj4gIAo+ICtzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG10MjcxMl9t dXRleF9zb2ZbRERQX01VVEVYX1NPRl9NQVhdID0gewo+ICsJW0REUF9NVVRFWF9TT0ZfU0lOR0xF X01PREVdID0gTVVURVhfU09GX1NJTkdMRV9NT0RFLAo+ICsJW0REUF9NVVRFWF9TT0ZfRFNJMF0g PSBNVVRFWF9TT0ZfRFNJMCwKPiArCVtERFBfTVVURVhfU09GX0RTSTFdID0gTVVURVhfU09GX0RT STEsCj4gKwlbRERQX01VVEVYX1NPRl9EUEkwXSA9IE1VVEVYX1NPRl9EUEkwLAo+ICsJW0REUF9N VVRFWF9TT0ZfRFBJMV0gPSBNVVRFWF9TT0ZfRFBJMSwKPiArCVtERFBfTVVURVhfU09GX0RTSTJd ID0gTVVURVhfU09GX0RTSTIsCj4gKwlbRERQX01VVEVYX1NPRl9EU0kzXSA9IE1VVEVYX1NPRl9E U0kzLAo+ICt9Owo+ICsKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZGRwX2RhdGEgbXQyNzAx X2RkcF9kcml2ZXJfZGF0YSA9IHsKPiAgCS5tdXRleF9tb2QgPSBtdDI3MDFfbXV0ZXhfbW9kLAo+ ICsJLm11dGV4X3NvZiA9IG10MjcxMl9tdXRleF9zb2YsCj4gIAkubXV0ZXhfbW9kX3JlZyA9IE1U MjcwMV9ESVNQX01VVEVYMF9NT0QwLAo+ICB9Owo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBt dGtfZGRwX2RhdGEgbXQyNzEyX2RkcF9kcml2ZXJfZGF0YSA9IHsKPiAgCS5tdXRleF9tb2QgPSBt dDI3MTJfbXV0ZXhfbW9kLAo+ICsJLm11dGV4X3NvZiA9IG10MjcxMl9tdXRleF9zb2YsCj4gIAku bXV0ZXhfbW9kX3JlZyA9IE1UMjcwMV9ESVNQX01VVEVYMF9NT0QwLAo+ICB9Owo+ICAKPiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBtdGtfZGRwX2RhdGEgbXQ4MTczX2RkcF9kcml2ZXJfZGF0YSA9IHsK PiAgCS5tdXRleF9tb2QgPSBtdDgxNzNfbXV0ZXhfbW9kLAo+ICsJLm11dGV4X3NvZiA9IG10Mjcx Ml9tdXRleF9zb2YsCj4gIAkubXV0ZXhfbW9kX3JlZyA9IE1UMjcwMV9ESVNQX01VVEVYMF9NT0Qw LAo+ICB9Owo+ICAKPiBAQCAtNDYyLDI4ICs0ODcsMjkgQEAgdm9pZCBtdGtfZGlzcF9tdXRleF9h ZGRfY29tcChzdHJ1Y3QgbXRrX2Rpc3BfbXV0ZXggKm11dGV4LAo+ICAJc3RydWN0IG10a19kZHAg KmRkcCA9IGNvbnRhaW5lcl9vZihtdXRleCwgc3RydWN0IG10a19kZHAsCj4gIAkJCQkJICAgbXV0 ZXhbbXV0ZXgtPmlkXSk7Cj4gIAl1bnNpZ25lZCBpbnQgcmVnOwo+ICsJdW5zaWduZWQgaW50IHNv Zl9pZDsKPiAgCXVuc2lnbmVkIGludCBvZmZzZXQ7Cj4gIAo+ICAJV0FSTl9PTigmZGRwLT5tdXRl eFttdXRleC0+aWRdICE9IG11dGV4KTsKPiAgCj4gIAlzd2l0Y2ggKGlkKSB7Cj4gIAljYXNlIERE UF9DT01QT05FTlRfRFNJMDoKPiAtCQlyZWcgPSBNVVRFWF9TT0ZfRFNJMDsKPiArCQlzb2ZfaWQg PSBERFBfTVVURVhfU09GX0RTSTA7Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIEREUF9DT01QT05FTlRf RFNJMToKPiAtCQlyZWcgPSBNVVRFWF9TT0ZfRFNJMDsKPiArCQlzb2ZfaWQgPSBERFBfTVVURVhf U09GX0RTSTA7Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIEREUF9DT01QT05FTlRfRFNJMjoKPiAtCQly ZWcgPSBNVVRFWF9TT0ZfRFNJMjsKPiArCQlzb2ZfaWQgPSBERFBfTVVURVhfU09GX0RTSTI7Cj4g IAkJYnJlYWs7Cj4gIAljYXNlIEREUF9DT01QT05FTlRfRFNJMzoKPiAtCQlyZWcgPSBNVVRFWF9T T0ZfRFNJMzsKPiArCQlzb2ZfaWQgPSBERFBfTVVURVhfU09GX0RTSTM7Cj4gIAkJYnJlYWs7Cj4g IAljYXNlIEREUF9DT01QT05FTlRfRFBJMDoKPiAtCQlyZWcgPSBNVVRFWF9TT0ZfRFBJMDsKPiAr CQlzb2ZfaWQgPSBERFBfTVVURVhfU09GX0RQSTA7Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIEREUF9D T01QT05FTlRfRFBJMToKPiAtCQlyZWcgPSBNVVRFWF9TT0ZfRFBJMTsKPiArCQlzb2ZfaWQgPSBE RFBfTVVURVhfU09GX0RQSTE7Cj4gIAkJYnJlYWs7Cj4gIAlkZWZhdWx0Ogo+ICAJCWlmIChkZHAt PmRhdGEtPm11dGV4X21vZFtpZF0gPCAzMikgewo+IEBAIC01MDEsNyArNTI3LDggQEAgdm9pZCBt dGtfZGlzcF9tdXRleF9hZGRfY29tcChzdHJ1Y3QgbXRrX2Rpc3BfbXV0ZXggKm11dGV4LAo+ICAJ CXJldHVybjsKPiAgCX0KPiAgCj4gLQl3cml0ZWxfcmVsYXhlZChyZWcsIGRkcC0+cmVncyArIERJ U1BfUkVHX01VVEVYX1NPRihtdXRleC0+aWQpKTsKPiArCXdyaXRlbF9yZWxheGVkKGRkcC0+ZGF0 YS0+bXV0ZXhfc29mW3NvZl9pZF0sCj4gKwkJICAgICAgIGRkcC0+cmVncyArIERJU1BfUkVHX01V VEVYX1NPRihtdXRleC0+aWQpKTsKPiAgfQo+ICAKPiAgdm9pZCBtdGtfZGlzcF9tdXRleF9yZW1v dmVfY29tcChzdHJ1Y3QgbXRrX2Rpc3BfbXV0ZXggKm11dGV4LAo+IEBAIC01MjIsNyArNTQ5LDgg QEAgdm9pZCBtdGtfZGlzcF9tdXRleF9yZW1vdmVfY29tcChzdHJ1Y3QgbXRrX2Rpc3BfbXV0ZXgg Km11dGV4LAo+ICAJY2FzZSBERFBfQ09NUE9ORU5UX0RQSTA6Cj4gIAljYXNlIEREUF9DT01QT05F TlRfRFBJMToKPiAgCQl3cml0ZWxfcmVsYXhlZChNVVRFWF9TT0ZfU0lOR0xFX01PREUsCj4gLQkJ CSAgICAgICBkZHAtPnJlZ3MgKyBESVNQX1JFR19NVVRFWF9TT0YobXV0ZXgtPmlkKSk7Cj4gKwkJ CSAgICAgICBkZHAtPnJlZ3MgKwo+ICsJCQkgICAgICAgRElTUF9SRUdfTVVURVhfU09GKG11dGV4 LT5pZCkpOwo+ICAJCWJyZWFrOwo+ICAJZGVmYXVsdDoKPiAgCQlpZiAoZGRwLT5kYXRhLT5tdXRl eF9tb2RbaWRdIDwgMzIpIHsKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWw= 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=-7.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,T_DKIMWL_WL_HIGH,UNPARSEABLE_RELAY,URIBL_BLOCKED autolearn=unavailable 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 EC28DC04AB5 for ; Thu, 6 Jun 2019 06:12:47 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 C0BB42064A for ; Thu, 6 Jun 2019 06:12:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="R52sTvEE" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C0BB42064A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=5FqMkHyzN6EtYKFxG8nkKWhIAMY7PhvpIIHBnhIkZlE=; b=R52sTvEEFBpYim ZIpbX4pAbzA6Uu+HbBbtmYInFvIXVoX1Do5QmUUWXwhJvVhqVQEvuxzMMdB5CexF7h7tg4VDeFIgX TAUDpZuBB2JbflRRaRRde70cK1ia5b9HS1kAUbvXI0n0AlIy+2H8UiXd9UoXqeWhvKWJKJVmhSU+G RL67iSWko4nFPAH+7s5R25wVa3K7nFnhLy/OSIQKT59q9G9NgN5vfgB08jK4KiAv1c3zMX2RMy+tv QR/SHwzpVhcGFb9njokSXPBxkm3XtbkX2Zii0jXyyvNXvPuqIuMqHMkTpLUtMslbnSvJuae/Vc7s+ G2efRlaoYytSNRy6vFMA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hYldh-00039U-OU; Thu, 06 Jun 2019 06:12:41 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hYldd-000393-24; Thu, 06 Jun 2019 06:12:38 +0000 X-UUID: ac49b949680f4a78a675b082da6d115d-20190605 X-UUID: ac49b949680f4a78a675b082da6d115d-20190605 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 248037203; Wed, 05 Jun 2019 22:12:33 -0800 Received: from MTKMBS31N2.mediatek.inc (172.27.4.87) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 5 Jun 2019 23:12:31 -0700 Received: from mtkcas09.mediatek.inc (172.21.101.178) by MTKMBS31N2.mediatek.inc (172.27.4.87) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 6 Jun 2019 14:12:29 +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.1395.4 via Frontend Transport; Thu, 6 Jun 2019 14:12:29 +0800 Message-ID: <1559801548.20098.8.camel@mtksdaap41> Subject: Re: [PATCH v3, 08/27] drm/mediatek: add mutex sof into ddp private data From: CK Hu To: Date: Thu, 6 Jun 2019 14:12:28 +0800 In-Reply-To: <1559734986-7379-9-git-send-email-yongqiang.niu@mediatek.com> References: <1559734986-7379-1-git-send-email-yongqiang.niu@mediatek.com> <1559734986-7379-9-git-send-email-yongqiang.niu@mediatek.com> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190605_231237_107724_17862770 X-CRM114-Status: GOOD ( 13.48 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree@vger.kernel.org, Philipp Zabel , David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Rob Herring , linux-mediatek@lists.infradead.org, Daniel Vetter , Matthias Brugger , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi, Yongqiang: On Wed, 2019-06-05 at 19:42 +0800, yongqiang.niu@mediatek.com wrote: > From: Yongqiang Niu > > mutex sof will be ddp private data > > Signed-off-by: Yongqiang Niu > --- > drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 44 +++++++++++++++++++++++++++------- > 1 file changed, 36 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > index 8bde2cf..e1a510f 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > @@ -149,8 +149,20 @@ struct mtk_disp_mutex { > bool claimed; > }; > > +enum mtk_ddp_mutex_sof_id { > + DDP_MUTEX_SOF_SINGLE_MODE, > + DDP_MUTEX_SOF_DSI0, > + DDP_MUTEX_SOF_DSI1, > + DDP_MUTEX_SOF_DPI0, > + DDP_MUTEX_SOF_DPI1, > + DDP_MUTEX_SOF_DSI2, > + DDP_MUTEX_SOF_DSI3, > + DDP_MUTEX_SOF_MAX, DDP_MUTEX_SOF_MAX can be removed. Regards, CK > +}; > + > struct mtk_ddp_data { > const unsigned int *mutex_mod; > + const unsigned int *mutex_sof; > const unsigned int mutex_mod_reg; > }; > > @@ -209,18 +221,31 @@ struct mtk_ddp { > [DDP_COMPONENT_WDMA1] = MT8173_MUTEX_MOD_DISP_WDMA1, > }; > > +static const unsigned int mt2712_mutex_sof[DDP_MUTEX_SOF_MAX] = { > + [DDP_MUTEX_SOF_SINGLE_MODE] = MUTEX_SOF_SINGLE_MODE, > + [DDP_MUTEX_SOF_DSI0] = MUTEX_SOF_DSI0, > + [DDP_MUTEX_SOF_DSI1] = MUTEX_SOF_DSI1, > + [DDP_MUTEX_SOF_DPI0] = MUTEX_SOF_DPI0, > + [DDP_MUTEX_SOF_DPI1] = MUTEX_SOF_DPI1, > + [DDP_MUTEX_SOF_DSI2] = MUTEX_SOF_DSI2, > + [DDP_MUTEX_SOF_DSI3] = MUTEX_SOF_DSI3, > +}; > + > static const struct mtk_ddp_data mt2701_ddp_driver_data = { > .mutex_mod = mt2701_mutex_mod, > + .mutex_sof = mt2712_mutex_sof, > .mutex_mod_reg = MT2701_DISP_MUTEX0_MOD0, > }; > > static const struct mtk_ddp_data mt2712_ddp_driver_data = { > .mutex_mod = mt2712_mutex_mod, > + .mutex_sof = mt2712_mutex_sof, > .mutex_mod_reg = MT2701_DISP_MUTEX0_MOD0, > }; > > static const struct mtk_ddp_data mt8173_ddp_driver_data = { > .mutex_mod = mt8173_mutex_mod, > + .mutex_sof = mt2712_mutex_sof, > .mutex_mod_reg = MT2701_DISP_MUTEX0_MOD0, > }; > > @@ -462,28 +487,29 @@ void mtk_disp_mutex_add_comp(struct mtk_disp_mutex *mutex, > struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, > mutex[mutex->id]); > unsigned int reg; > + unsigned int sof_id; > unsigned int offset; > > WARN_ON(&ddp->mutex[mutex->id] != mutex); > > switch (id) { > case DDP_COMPONENT_DSI0: > - reg = MUTEX_SOF_DSI0; > + sof_id = DDP_MUTEX_SOF_DSI0; > break; > case DDP_COMPONENT_DSI1: > - reg = MUTEX_SOF_DSI0; > + sof_id = DDP_MUTEX_SOF_DSI0; > break; > case DDP_COMPONENT_DSI2: > - reg = MUTEX_SOF_DSI2; > + sof_id = DDP_MUTEX_SOF_DSI2; > break; > case DDP_COMPONENT_DSI3: > - reg = MUTEX_SOF_DSI3; > + sof_id = DDP_MUTEX_SOF_DSI3; > break; > case DDP_COMPONENT_DPI0: > - reg = MUTEX_SOF_DPI0; > + sof_id = DDP_MUTEX_SOF_DPI0; > break; > case DDP_COMPONENT_DPI1: > - reg = MUTEX_SOF_DPI1; > + sof_id = DDP_MUTEX_SOF_DPI1; > break; > default: > if (ddp->data->mutex_mod[id] < 32) { > @@ -501,7 +527,8 @@ void mtk_disp_mutex_add_comp(struct mtk_disp_mutex *mutex, > return; > } > > - writel_relaxed(reg, ddp->regs + DISP_REG_MUTEX_SOF(mutex->id)); > + writel_relaxed(ddp->data->mutex_sof[sof_id], > + ddp->regs + DISP_REG_MUTEX_SOF(mutex->id)); > } > > void mtk_disp_mutex_remove_comp(struct mtk_disp_mutex *mutex, > @@ -522,7 +549,8 @@ void mtk_disp_mutex_remove_comp(struct mtk_disp_mutex *mutex, > case DDP_COMPONENT_DPI0: > case DDP_COMPONENT_DPI1: > writel_relaxed(MUTEX_SOF_SINGLE_MODE, > - ddp->regs + DISP_REG_MUTEX_SOF(mutex->id)); > + ddp->regs + > + DISP_REG_MUTEX_SOF(mutex->id)); > break; > default: > if (ddp->data->mutex_mod[id] < 32) { _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY autolearn=ham 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 B3333C04AB5 for ; Thu, 6 Jun 2019 06:12:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 82BE02083D for ; Thu, 6 Jun 2019 06:12:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726599AbfFFGMi (ORCPT ); Thu, 6 Jun 2019 02:12:38 -0400 Received: from Mailgw01.mediatek.com ([1.203.163.78]:45403 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725267AbfFFGMi (ORCPT ); Thu, 6 Jun 2019 02:12:38 -0400 X-UUID: a73ae1321c6046df80c67682ae788815-20190606 X-UUID: a73ae1321c6046df80c67682ae788815-20190606 Received: from mtkcas35.mediatek.inc [(172.27.4.253)] by mailgw01.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLS) with ESMTP id 485898404; Thu, 06 Jun 2019 14:12:31 +0800 Received: from mtkcas09.mediatek.inc (172.21.101.178) by MTKMBS31N2.mediatek.inc (172.27.4.87) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 6 Jun 2019 14:12:29 +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.1395.4 via Frontend Transport; Thu, 6 Jun 2019 14:12:29 +0800 Message-ID: <1559801548.20098.8.camel@mtksdaap41> Subject: Re: [PATCH v3, 08/27] drm/mediatek: add mutex sof into ddp private data From: CK Hu To: CC: Philipp Zabel , Rob Herring , Matthias Brugger , "David Airlie" , Daniel Vetter , Mark Rutland , , , , , Date: Thu, 6 Jun 2019 14:12:28 +0800 In-Reply-To: <1559734986-7379-9-git-send-email-yongqiang.niu@mediatek.com> References: <1559734986-7379-1-git-send-email-yongqiang.niu@mediatek.com> <1559734986-7379-9-git-send-email-yongqiang.niu@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, Yongqiang: On Wed, 2019-06-05 at 19:42 +0800, yongqiang.niu@mediatek.com wrote: > From: Yongqiang Niu > > mutex sof will be ddp private data > > Signed-off-by: Yongqiang Niu > --- > drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 44 +++++++++++++++++++++++++++------- > 1 file changed, 36 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > index 8bde2cf..e1a510f 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > @@ -149,8 +149,20 @@ struct mtk_disp_mutex { > bool claimed; > }; > > +enum mtk_ddp_mutex_sof_id { > + DDP_MUTEX_SOF_SINGLE_MODE, > + DDP_MUTEX_SOF_DSI0, > + DDP_MUTEX_SOF_DSI1, > + DDP_MUTEX_SOF_DPI0, > + DDP_MUTEX_SOF_DPI1, > + DDP_MUTEX_SOF_DSI2, > + DDP_MUTEX_SOF_DSI3, > + DDP_MUTEX_SOF_MAX, DDP_MUTEX_SOF_MAX can be removed. Regards, CK > +}; > + > struct mtk_ddp_data { > const unsigned int *mutex_mod; > + const unsigned int *mutex_sof; > const unsigned int mutex_mod_reg; > }; > > @@ -209,18 +221,31 @@ struct mtk_ddp { > [DDP_COMPONENT_WDMA1] = MT8173_MUTEX_MOD_DISP_WDMA1, > }; > > +static const unsigned int mt2712_mutex_sof[DDP_MUTEX_SOF_MAX] = { > + [DDP_MUTEX_SOF_SINGLE_MODE] = MUTEX_SOF_SINGLE_MODE, > + [DDP_MUTEX_SOF_DSI0] = MUTEX_SOF_DSI0, > + [DDP_MUTEX_SOF_DSI1] = MUTEX_SOF_DSI1, > + [DDP_MUTEX_SOF_DPI0] = MUTEX_SOF_DPI0, > + [DDP_MUTEX_SOF_DPI1] = MUTEX_SOF_DPI1, > + [DDP_MUTEX_SOF_DSI2] = MUTEX_SOF_DSI2, > + [DDP_MUTEX_SOF_DSI3] = MUTEX_SOF_DSI3, > +}; > + > static const struct mtk_ddp_data mt2701_ddp_driver_data = { > .mutex_mod = mt2701_mutex_mod, > + .mutex_sof = mt2712_mutex_sof, > .mutex_mod_reg = MT2701_DISP_MUTEX0_MOD0, > }; > > static const struct mtk_ddp_data mt2712_ddp_driver_data = { > .mutex_mod = mt2712_mutex_mod, > + .mutex_sof = mt2712_mutex_sof, > .mutex_mod_reg = MT2701_DISP_MUTEX0_MOD0, > }; > > static const struct mtk_ddp_data mt8173_ddp_driver_data = { > .mutex_mod = mt8173_mutex_mod, > + .mutex_sof = mt2712_mutex_sof, > .mutex_mod_reg = MT2701_DISP_MUTEX0_MOD0, > }; > > @@ -462,28 +487,29 @@ void mtk_disp_mutex_add_comp(struct mtk_disp_mutex *mutex, > struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, > mutex[mutex->id]); > unsigned int reg; > + unsigned int sof_id; > unsigned int offset; > > WARN_ON(&ddp->mutex[mutex->id] != mutex); > > switch (id) { > case DDP_COMPONENT_DSI0: > - reg = MUTEX_SOF_DSI0; > + sof_id = DDP_MUTEX_SOF_DSI0; > break; > case DDP_COMPONENT_DSI1: > - reg = MUTEX_SOF_DSI0; > + sof_id = DDP_MUTEX_SOF_DSI0; > break; > case DDP_COMPONENT_DSI2: > - reg = MUTEX_SOF_DSI2; > + sof_id = DDP_MUTEX_SOF_DSI2; > break; > case DDP_COMPONENT_DSI3: > - reg = MUTEX_SOF_DSI3; > + sof_id = DDP_MUTEX_SOF_DSI3; > break; > case DDP_COMPONENT_DPI0: > - reg = MUTEX_SOF_DPI0; > + sof_id = DDP_MUTEX_SOF_DPI0; > break; > case DDP_COMPONENT_DPI1: > - reg = MUTEX_SOF_DPI1; > + sof_id = DDP_MUTEX_SOF_DPI1; > break; > default: > if (ddp->data->mutex_mod[id] < 32) { > @@ -501,7 +527,8 @@ void mtk_disp_mutex_add_comp(struct mtk_disp_mutex *mutex, > return; > } > > - writel_relaxed(reg, ddp->regs + DISP_REG_MUTEX_SOF(mutex->id)); > + writel_relaxed(ddp->data->mutex_sof[sof_id], > + ddp->regs + DISP_REG_MUTEX_SOF(mutex->id)); > } > > void mtk_disp_mutex_remove_comp(struct mtk_disp_mutex *mutex, > @@ -522,7 +549,8 @@ void mtk_disp_mutex_remove_comp(struct mtk_disp_mutex *mutex, > case DDP_COMPONENT_DPI0: > case DDP_COMPONENT_DPI1: > writel_relaxed(MUTEX_SOF_SINGLE_MODE, > - ddp->regs + DISP_REG_MUTEX_SOF(mutex->id)); > + ddp->regs + > + DISP_REG_MUTEX_SOF(mutex->id)); > break; > default: > if (ddp->data->mutex_mod[id] < 32) {