From mboxrd@z Thu Jan 1 00:00:00 1970 From: CK Hu Subject: Re: [PATCH v2 09/25] drm/mediatek: add mmsys private data for ddp path config Date: Thu, 11 Apr 2019 18:42:01 +0800 Message-ID: <1554979321.31912.9.camel@mtksdaap41> References: <1553667561-25447-1-git-send-email-yongqiang.niu@mediatek.com> <1553667561-25447-10-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: <1553667561-25447-10-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@arm.com, devicetree@vger.kernel.org, airlied@linux.ie, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, robh+dt@kernel.org, linux-mediatek@lists.infradead.org, matthias.bgg@gmail.com, linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org SGksIFlvbmdxaWFuZzoKCk9uIFdlZCwgMjAxOS0wMy0yNyBhdCAxNDoxOSArMDgwMCwgeW9uZ3Fp YW5nLm5pdUBtZWRpYXRlay5jb20gd3JvdGU6Cj4gRnJvbTogWW9uZ3FpYW5nIE5pdSA8eW9uZ3Fp YW5nLm5pdUBtZWRpYXRlay5jb20+Cj4gCj4gVGhpcyBwYXRjaCBhZGQgbW1zeXMgcHJpdmF0ZSBk YXRhIGZvciBkZHAgcGF0aCBjb25maWcKPiBhbGwgdGhlc2UgcmVnaXN0ZXIgb2Zmc2V0IGFuZCB2 YWx1ZSB3aWxsIGJlIGRpZmZlcmVudCBpbiBmdXR1cmUgU09DCj4gYWRkIHRoZXNlIGRlZmluZSBp bnRvIG1tc3lzIHByaXZhdGUgZGF0YQo+IAl1MzIgb3ZsMF9tb3V0X2VuOwo+IAl1MzIgcmRtYTBf c291dF9zZWxfaW47Cj4gCXUzMiByZG1hMF9zb3V0X2NvbG9yMDsKPiAJdTMyIHJkbWExX3NvdXRf c2VsX2luOwo+IAl1MzIgcmRtYTFfc291dF9kcGkwOwo+IAl1MzIgcmRtYTFfc291dF9kc2kwOwo+ IAl1MzIgZHBpMF9zZWxfaW47Cj4gCXUzMiBkcGkwX3NlbF9pbl9yZG1hMTsKPiAJdTMyIGRzaTBf c2VsX2luOwo+IAl1MzIgZHNpMF9zZWxfaW5fcmRtYTE7Cj4gCj4gU2lnbmVkLW9mZi1ieTogWW9u Z3FpYW5nIE5pdSA8eW9uZ3FpYW5nLm5pdUBtZWRpYXRlay5jb20+Cj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYyB8ICAgNCArKwo+ICBkcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2RybV9kZHAuYyAgfCAxMDMgKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmggIHwgIDEw ICsrKysKPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMgIHwgIDExICsr KysKPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmggIHwgICA0ICsrCj4g IDUgZmlsZXMgY2hhbmdlZCwgMTEzIGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKW3Nu aXBdCgo+ICAKPiArY29uc3Qgc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSAqbXRrX2RkcF9nZXRf bW1zeXNfZGF0YShlbnVtIG10a19tbXN5c19pZCBpZCkKPiArewo+ICsJY29uc3Qgc3RydWN0IG10 a19tbXN5c19yZWdfZGF0YSAqZGF0YSA9IE5VTEw7Cj4gKwo+ICsJc3dpdGNoIChpZCkgewo+ICsJ Y2FzZSBNTVNZU19NVDI3MDE6Cj4gKwkJZGF0YSA9ICZtdDI3MDFfbW1zeXNfcmVnX2RhdGE7Cj4g KwkJYnJlYWs7Cj4gKwljYXNlIE1NU1lTX01UMjcxMjoKPiArCQlkYXRhID0gJm10ODE3M19tbXN5 c19yZWdfZGF0YTsKPiArCQlicmVhazsKPiArCWNhc2UgTU1TWVNfTVQ4MTczOgo+ICsJCWRhdGEg PSAmbXQ4MTczX21tc3lzX3JlZ19kYXRhOwo+ICsJCWJyZWFrOwo+ICsJZGVmYXVsdDoKPiArCQlw cl9pbmZvKCJtdGsgZHJtIG5vdCBzdXBwb3J0IG1tc3lzIGlkICVkXG4iLAo+ICsJCQlpZCk7Cj4g KwkJYnJlYWs7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIGRhdGE7Cj4gK30KPiArCj4gIHN0cnVjdCBt dGtfZGlzcF9tdXRleCAqbXRrX2Rpc3BfbXV0ZXhfZ2V0KHN0cnVjdCBkZXZpY2UgKmRldiwgdW5z aWduZWQgaW50IGlkKQo+ICB7Cj4gIAlzdHJ1Y3QgbXRrX2RkcCAqZGRwID0gZGV2X2dldF9kcnZk YXRhKGRldik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2RkcC5oIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmgKPiBpbmRleCBm OWE3OTkxLi5lZDJiNzAyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHJtX2RkcC5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRw LmgKPiBAQCAtMTksMTEgKzE5LDIxIEBACj4gIHN0cnVjdCByZWdtYXA7Cj4gIHN0cnVjdCBkZXZp Y2U7Cj4gIHN0cnVjdCBtdGtfZGlzcF9tdXRleDsKPiArc3RydWN0IG10a19tbXN5c19yZWdfZGF0 YTsKPiArZW51bSBtdGtfbW1zeXNfaWQgewo+ICsJTU1TWVNfTVQyNzAxLAo+ICsJTU1TWVNfTVQy NzEyLAo+ICsJTU1TWVNfTVQ4MTczLAo+ICsJTU1TWVNfTUFYLAo+ICt9Owo+ICAKPiArY29uc3Qg c3RydWN0IG10a19tbXN5c19yZWdfZGF0YSAqbXRrX2RkcF9nZXRfbW1zeXNfZGF0YShlbnVtIG10 a19tbXN5c19pZCBpZCk7Cj4gIHZvaWQgbXRrX2RkcF9hZGRfY29tcF90b19wYXRoKHZvaWQgX19p b21lbSAqY29uZmlnX3JlZ3MsCj4gKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfcmVn X2RhdGEgKnJlZ19kYXRhLAo+ICAJCQkgICAgICBlbnVtIG10a19kZHBfY29tcF9pZCBjdXIsCj4g IAkJCSAgICAgIGVudW0gbXRrX2RkcF9jb21wX2lkIG5leHQpOwo+ICB2b2lkIG10a19kZHBfcmVt b3ZlX2NvbXBfZnJvbV9wYXRoKHZvaWQgX19pb21lbSAqY29uZmlnX3JlZ3MsCj4gKwkJCQkgICBj b25zdCBzdHJ1Y3QgbXRrX21tc3lzX3JlZ19kYXRhICpyZWdfZGF0YSwKPiAgCQkJCSAgIGVudW0g bXRrX2RkcF9jb21wX2lkIGN1ciwKPiAgCQkJCSAgIGVudW0gbXRrX2RkcF9jb21wX2lkIG5leHQp Owo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2 LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYwo+IGluZGV4IGNmNTll YTkuLjM1Njg1M2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19k cm1fZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYwo+ IEBAIC0xOTYsNiArMTk2LDcgQEAgc3RhdGljIGludCBtdGtfYXRvbWljX2NvbW1pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZHJtLAo+ICAJLm1haW5fbGVuID0gQVJSQVlfU0laRShtdDI3MDFfbXRrX2Rk cF9tYWluKSwKPiAgCS5leHRfcGF0aCA9IG10MjcwMV9tdGtfZGRwX2V4dCwKPiAgCS5leHRfbGVu ID0gQVJSQVlfU0laRShtdDI3MDFfbXRrX2RkcF9leHQpLAo+ICsJLm1tc3lzX2lkID0gTU1TWVNf TVQyNzAxLAo+ICAJLnNoYWRvd19yZWdpc3RlciA9IHRydWUsCj4gIH07Cj4gIAo+IEBAIC0yMDYs NiArMjA3LDcgQEAgc3RhdGljIGludCBtdGtfYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZHJtLAo+ICAJLmV4dF9sZW4gPSBBUlJBWV9TSVpFKG10MjcxMl9tdGtfZGRwX2V4dCksCj4g IAkudGhpcmRfcGF0aCA9IG10MjcxMl9tdGtfZGRwX3RoaXJkLAo+ICAJLnRoaXJkX2xlbiA9IEFS UkFZX1NJWkUobXQyNzEyX210a19kZHBfdGhpcmQpLAo+ICsJLm1tc3lzX2lkID0gTU1TWVNfTVQy NzEyLAo+ICB9Owo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfZHJpdmVyX2Rh dGEgbXQ4MTczX21tc3lzX2RyaXZlcl9kYXRhID0gewo+IEBAIC0yMTMsNiArMjE1LDcgQEAgc3Rh dGljIGludCBtdGtfYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAo+ICAJLm1h aW5fbGVuID0gQVJSQVlfU0laRShtdDgxNzNfbXRrX2RkcF9tYWluKSwKPiAgCS5leHRfcGF0aCA9 IG10ODE3M19tdGtfZGRwX2V4dCwKPiAgCS5leHRfbGVuID0gQVJSQVlfU0laRShtdDgxNzNfbXRr X2RkcF9leHQpLAo+ICsJLm1tc3lzX2lkID0gTU1TWVNfTVQ4MTczLAo+ICB9Owo+ICAKPiAgc3Rh dGljIGludCBtdGtfZHJtX2ttc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pCj4gQEAgLTQ2 MSw2ICs0NjQsMTQgQEAgc3RhdGljIGludCBtdGtfZHJtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCj4gIAlJTklUX1dPUksoJnByaXZhdGUtPmNvbW1pdC53b3JrLCBtdGtfYXRv bWljX3dvcmspOwo+ICAJcHJpdmF0ZS0+ZGF0YSA9IG9mX2RldmljZV9nZXRfbWF0Y2hfZGF0YShk ZXYpOwo+ICAKPiArCXByaXZhdGUtPnJlZ19kYXRhID0gbXRrX2RkcF9nZXRfbW1zeXNfZGF0YShw cml2YXRlLT5kYXRhLT5tbXN5c19pZCk7CgpXaHkgZG8geW91IGNyZWF0ZSBhIGZ1bmN0aW9uIHRv IHNlbGVjdCByZWdfZGF0YSwgSSB0aGluayB5b3UgY291bGQganVzdAphZGQgcmVnX2RhdGEgaW4g c3RydWN0IG10a19tbXN5c19kcml2ZXJfZGF0YSBzbyB5b3UgZG9uJ3QgbmVlZCBhCmZ1bmN0aW9u IHRvIHNlbGVjdCBpdC4KClJlZ2FyZHMsCkNLCgo+ICsJaWYgKElTX0VSUihwcml2YXRlLT5yZWdf ZGF0YSkpIHsKPiArCQlyZXQgPSBQVFJfRVJSKHByaXZhdGUtPmNvbmZpZ19yZWdzKTsKPiArCQlw cl9pbmZvKCJGYWlsZWQgdG8gZ2V0IG1tc3lzIHJlZ2lzdGVyIGRhdGE6ICVkXG4iLAo+ICsJCQly ZXQpOwo+ICsJCXJldHVybiByZXQ7Cj4gKwl9Cj4gKwo+ICAJbWVtID0gcGxhdGZvcm1fZ2V0X3Jl c291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKPiAgCXByaXZhdGUtPmNvbmZpZ19yZWdz ID0gZGV2bV9pb3JlbWFwX3Jlc291cmNlKGRldiwgbWVtKTsKPiAgCWlmIChJU19FUlIocHJpdmF0 ZS0+Y29uZmlnX3JlZ3MpKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgK PiBpbmRleCBlY2MwMGNhLi4xMWRlN2Y4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZHJ2LmgKPiBAQCAtMTUsNiArMTUsNyBAQAo+ICAjZGVmaW5lIE1US19EUk1fRFJWX0gK PiAgCj4gICNpbmNsdWRlIDxsaW51eC9pby5oPgo+ICsjaW5jbHVkZSAibXRrX2RybV9kZHAuaCIK PiAgI2luY2x1ZGUgIm10a19kcm1fZGRwX2NvbXAuaCIKPiAgCj4gICNkZWZpbmUgTUFYX0NSVEMJ Mwo+IEBAIC0zNiw2ICszNyw4IEBAIHN0cnVjdCBtdGtfbW1zeXNfZHJpdmVyX2RhdGEgewo+ICAJ Y29uc3QgZW51bSBtdGtfZGRwX2NvbXBfaWQgKnRoaXJkX3BhdGg7Cj4gIAl1bnNpZ25lZCBpbnQg dGhpcmRfbGVuOwo+ICAKPiArCWVudW0gbXRrX21tc3lzX2lkIG1tc3lzX2lkOwo+ICsKPiAgCWJv b2wgc2hhZG93X3JlZ2lzdGVyOwo+ICB9Owo+ICAKPiBAQCAtNDgsNiArNTEsNyBAQCBzdHJ1Y3Qg bXRrX2RybV9wcml2YXRlIHsKPiAgCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbXV0ZXhfbm9kZTsKPiAg CXN0cnVjdCBkZXZpY2UgKm11dGV4X2RldjsKPiAgCXZvaWQgX19pb21lbSAqY29uZmlnX3JlZ3M7 Cj4gKwljb25zdCBzdHJ1Y3QgbXRrX21tc3lzX3JlZ19kYXRhICpyZWdfZGF0YTsKPiAgCXN0cnVj dCBkZXZpY2Vfbm9kZSAqY29tcF9ub2RlW0REUF9DT01QT05FTlRfSURfTUFYXTsKPiAgCXN0cnVj dCBtdGtfZGRwX2NvbXAgKmRkcF9jb21wW0REUF9DT01QT05FTlRfSURfTUFYXTsKPiAgCWNvbnN0 IHN0cnVjdCBtdGtfbW1zeXNfZHJpdmVyX2RhdGEgKmRhdGE7CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs 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=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,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 63D83C10F13 for ; Thu, 11 Apr 2019 10:42:45 +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 1087A217D4 for ; Thu, 11 Apr 2019 10:42:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="eD9DdGls" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1087A217D4 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=ulJ+F2Ht2ZpU1wQZtGhI8X2lM4y8F+zMnqEMx1DPulU=; b=eD9DdGls2WoA+o Ync0kBNZBmroSjumXUTuu6O0TUi5gUWu5ksfyH93I+PWcmxRWnLYFc0lz5L5BIMw6c1cN7pKIUB9N Bqj8JG9OvipPraCRZ7y7EZC4BmKw0su01TeygUTnZFoP0ksPcTPhLmZHeZS+F1lQY/UmDEdfGGk94 sdNm3DVjkMygc/Wk071yuDbWKv2X1Mt//tMc7ugXQOGfEv+VVQrGIzw+M9BF1yECNKFVOiTTS4zd1 Ae6gz3n2Du0Jn8XAlffmdgPkfpFDsHs/QSsWOghVB4Lg3p+Pvjy+cHGTOB1MRsyUtR5ATMYj7+ZE6 wQP907VlK2OjZ6PF/rjw==; 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 1hEXAF-00035D-6t; Thu, 11 Apr 2019 10:42:39 +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 1hEXA4-0002ro-NR; Thu, 11 Apr 2019 10:42:31 +0000 X-UUID: bccdc444c50a47ff945e82740612d2c9-20190411 X-UUID: bccdc444c50a47ff945e82740612d2c9-20190411 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1228504933; Thu, 11 Apr 2019 02:42:04 -0800 Received: from MTKMBS01N1.mediatek.inc (172.21.101.68) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 11 Apr 2019 03:42:03 -0700 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs01n1.mediatek.inc (172.21.101.68) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 11 Apr 2019 18:42:01 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 11 Apr 2019 18:42:01 +0800 Message-ID: <1554979321.31912.9.camel@mtksdaap41> Subject: Re: [PATCH v2 09/25] drm/mediatek: add mmsys private data for ddp path config From: CK Hu To: Date: Thu, 11 Apr 2019 18:42:01 +0800 In-Reply-To: <1553667561-25447-10-git-send-email-yongqiang.niu@mediatek.com> References: <1553667561-25447-1-git-send-email-yongqiang.niu@mediatek.com> <1553667561-25447-10-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-20190411_034228_766248_307049C9 X-CRM114-Status: GOOD ( 15.17 ) 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@arm.com, devicetree@vger.kernel.org, Bibby.Hsieh@mediatek.com, airlied@linux.ie, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, yt.shen@mediatek.com, robh+dt@kernel.org, linux-mediatek@lists.infradead.org, p.zabel@pengutronix.de, matthias.bgg@gmail.com, 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-03-27 at 14:19 +0800, yongqiang.niu@mediatek.com wrote: > From: Yongqiang Niu > > This patch add mmsys private data for ddp path config > all these register offset and value will be different in future SOC > add these define into mmsys private data > u32 ovl0_mout_en; > u32 rdma0_sout_sel_in; > u32 rdma0_sout_color0; > u32 rdma1_sout_sel_in; > u32 rdma1_sout_dpi0; > u32 rdma1_sout_dsi0; > u32 dpi0_sel_in; > u32 dpi0_sel_in_rdma1; > u32 dsi0_sel_in; > u32 dsi0_sel_in_rdma1; > > Signed-off-by: Yongqiang Niu > --- > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 4 ++ > drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 103 ++++++++++++++++++++++++++------ > drivers/gpu/drm/mediatek/mtk_drm_ddp.h | 10 ++++ > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 11 ++++ > drivers/gpu/drm/mediatek/mtk_drm_drv.h | 4 ++ > 5 files changed, 113 insertions(+), 19 deletions(-) [snip] > > +const struct mtk_mmsys_reg_data *mtk_ddp_get_mmsys_data(enum mtk_mmsys_id id) > +{ > + const struct mtk_mmsys_reg_data *data = NULL; > + > + switch (id) { > + case MMSYS_MT2701: > + data = &mt2701_mmsys_reg_data; > + break; > + case MMSYS_MT2712: > + data = &mt8173_mmsys_reg_data; > + break; > + case MMSYS_MT8173: > + data = &mt8173_mmsys_reg_data; > + break; > + default: > + pr_info("mtk drm not support mmsys id %d\n", > + id); > + break; > + } > + > + return data; > +} > + > struct mtk_disp_mutex *mtk_disp_mutex_get(struct device *dev, unsigned int id) > { > struct mtk_ddp *ddp = dev_get_drvdata(dev); > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp.h b/drivers/gpu/drm/mediatek/mtk_drm_ddp.h > index f9a7991..ed2b702 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp.h > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp.h > @@ -19,11 +19,21 @@ > struct regmap; > struct device; > struct mtk_disp_mutex; > +struct mtk_mmsys_reg_data; > +enum mtk_mmsys_id { > + MMSYS_MT2701, > + MMSYS_MT2712, > + MMSYS_MT8173, > + MMSYS_MAX, > +}; > > +const struct mtk_mmsys_reg_data *mtk_ddp_get_mmsys_data(enum mtk_mmsys_id id); > void mtk_ddp_add_comp_to_path(void __iomem *config_regs, > + const struct mtk_mmsys_reg_data *reg_data, > enum mtk_ddp_comp_id cur, > enum mtk_ddp_comp_id next); > void mtk_ddp_remove_comp_from_path(void __iomem *config_regs, > + const struct mtk_mmsys_reg_data *reg_data, > enum mtk_ddp_comp_id cur, > enum mtk_ddp_comp_id next); > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > index cf59ea9..356853c 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > @@ -196,6 +196,7 @@ static int mtk_atomic_commit(struct drm_device *drm, > .main_len = ARRAY_SIZE(mt2701_mtk_ddp_main), > .ext_path = mt2701_mtk_ddp_ext, > .ext_len = ARRAY_SIZE(mt2701_mtk_ddp_ext), > + .mmsys_id = MMSYS_MT2701, > .shadow_register = true, > }; > > @@ -206,6 +207,7 @@ static int mtk_atomic_commit(struct drm_device *drm, > .ext_len = ARRAY_SIZE(mt2712_mtk_ddp_ext), > .third_path = mt2712_mtk_ddp_third, > .third_len = ARRAY_SIZE(mt2712_mtk_ddp_third), > + .mmsys_id = MMSYS_MT2712, > }; > > static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = { > @@ -213,6 +215,7 @@ static int mtk_atomic_commit(struct drm_device *drm, > .main_len = ARRAY_SIZE(mt8173_mtk_ddp_main), > .ext_path = mt8173_mtk_ddp_ext, > .ext_len = ARRAY_SIZE(mt8173_mtk_ddp_ext), > + .mmsys_id = MMSYS_MT8173, > }; > > static int mtk_drm_kms_init(struct drm_device *drm) > @@ -461,6 +464,14 @@ static int mtk_drm_probe(struct platform_device *pdev) > INIT_WORK(&private->commit.work, mtk_atomic_work); > private->data = of_device_get_match_data(dev); > > + private->reg_data = mtk_ddp_get_mmsys_data(private->data->mmsys_id); Why do you create a function to select reg_data, I think you could just add reg_data in struct mtk_mmsys_driver_data so you don't need a function to select it. Regards, CK > + if (IS_ERR(private->reg_data)) { > + ret = PTR_ERR(private->config_regs); > + pr_info("Failed to get mmsys register data: %d\n", > + ret); > + return ret; > + } > + > mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); > private->config_regs = devm_ioremap_resource(dev, mem); > if (IS_ERR(private->config_regs)) { > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.h b/drivers/gpu/drm/mediatek/mtk_drm_drv.h > index ecc00ca..11de7f8 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.h > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.h > @@ -15,6 +15,7 @@ > #define MTK_DRM_DRV_H > > #include > +#include "mtk_drm_ddp.h" > #include "mtk_drm_ddp_comp.h" > > #define MAX_CRTC 3 > @@ -36,6 +37,8 @@ struct mtk_mmsys_driver_data { > const enum mtk_ddp_comp_id *third_path; > unsigned int third_len; > > + enum mtk_mmsys_id mmsys_id; > + > bool shadow_register; > }; > > @@ -48,6 +51,7 @@ struct mtk_drm_private { > struct device_node *mutex_node; > struct device *mutex_dev; > void __iomem *config_regs; > + const struct mtk_mmsys_reg_data *reg_data; > struct device_node *comp_node[DDP_COMPONENT_ID_MAX]; > struct mtk_ddp_comp *ddp_comp[DDP_COMPONENT_ID_MAX]; > const struct mtk_mmsys_driver_data *data; _______________________________________________ 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_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED 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 4C94BC10F14 for ; Thu, 11 Apr 2019 10:42:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1BCDC217D4 for ; Thu, 11 Apr 2019 10:42:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726693AbfDKKmc (ORCPT ); Thu, 11 Apr 2019 06:42:32 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:35133 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726121AbfDKKm3 (ORCPT ); Thu, 11 Apr 2019 06:42:29 -0400 X-UUID: 5ad9e892682646cf9e14b192987f9891-20190411 X-UUID: 5ad9e892682646cf9e14b192987f9891-20190411 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw02.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 180670226; Thu, 11 Apr 2019 18:42:02 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs01n1.mediatek.inc (172.21.101.68) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 11 Apr 2019 18:42:01 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 11 Apr 2019 18:42:01 +0800 Message-ID: <1554979321.31912.9.camel@mtksdaap41> Subject: Re: [PATCH v2 09/25] drm/mediatek: add mmsys private data for ddp path config From: CK Hu To: CC: , , , , , , , , , , , Date: Thu, 11 Apr 2019 18:42:01 +0800 In-Reply-To: <1553667561-25447-10-git-send-email-yongqiang.niu@mediatek.com> References: <1553667561-25447-1-git-send-email-yongqiang.niu@mediatek.com> <1553667561-25447-10-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-03-27 at 14:19 +0800, yongqiang.niu@mediatek.com wrote: > From: Yongqiang Niu > > This patch add mmsys private data for ddp path config > all these register offset and value will be different in future SOC > add these define into mmsys private data > u32 ovl0_mout_en; > u32 rdma0_sout_sel_in; > u32 rdma0_sout_color0; > u32 rdma1_sout_sel_in; > u32 rdma1_sout_dpi0; > u32 rdma1_sout_dsi0; > u32 dpi0_sel_in; > u32 dpi0_sel_in_rdma1; > u32 dsi0_sel_in; > u32 dsi0_sel_in_rdma1; > > Signed-off-by: Yongqiang Niu > --- > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 4 ++ > drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 103 ++++++++++++++++++++++++++------ > drivers/gpu/drm/mediatek/mtk_drm_ddp.h | 10 ++++ > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 11 ++++ > drivers/gpu/drm/mediatek/mtk_drm_drv.h | 4 ++ > 5 files changed, 113 insertions(+), 19 deletions(-) [snip] > > +const struct mtk_mmsys_reg_data *mtk_ddp_get_mmsys_data(enum mtk_mmsys_id id) > +{ > + const struct mtk_mmsys_reg_data *data = NULL; > + > + switch (id) { > + case MMSYS_MT2701: > + data = &mt2701_mmsys_reg_data; > + break; > + case MMSYS_MT2712: > + data = &mt8173_mmsys_reg_data; > + break; > + case MMSYS_MT8173: > + data = &mt8173_mmsys_reg_data; > + break; > + default: > + pr_info("mtk drm not support mmsys id %d\n", > + id); > + break; > + } > + > + return data; > +} > + > struct mtk_disp_mutex *mtk_disp_mutex_get(struct device *dev, unsigned int id) > { > struct mtk_ddp *ddp = dev_get_drvdata(dev); > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp.h b/drivers/gpu/drm/mediatek/mtk_drm_ddp.h > index f9a7991..ed2b702 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp.h > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp.h > @@ -19,11 +19,21 @@ > struct regmap; > struct device; > struct mtk_disp_mutex; > +struct mtk_mmsys_reg_data; > +enum mtk_mmsys_id { > + MMSYS_MT2701, > + MMSYS_MT2712, > + MMSYS_MT8173, > + MMSYS_MAX, > +}; > > +const struct mtk_mmsys_reg_data *mtk_ddp_get_mmsys_data(enum mtk_mmsys_id id); > void mtk_ddp_add_comp_to_path(void __iomem *config_regs, > + const struct mtk_mmsys_reg_data *reg_data, > enum mtk_ddp_comp_id cur, > enum mtk_ddp_comp_id next); > void mtk_ddp_remove_comp_from_path(void __iomem *config_regs, > + const struct mtk_mmsys_reg_data *reg_data, > enum mtk_ddp_comp_id cur, > enum mtk_ddp_comp_id next); > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > index cf59ea9..356853c 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > @@ -196,6 +196,7 @@ static int mtk_atomic_commit(struct drm_device *drm, > .main_len = ARRAY_SIZE(mt2701_mtk_ddp_main), > .ext_path = mt2701_mtk_ddp_ext, > .ext_len = ARRAY_SIZE(mt2701_mtk_ddp_ext), > + .mmsys_id = MMSYS_MT2701, > .shadow_register = true, > }; > > @@ -206,6 +207,7 @@ static int mtk_atomic_commit(struct drm_device *drm, > .ext_len = ARRAY_SIZE(mt2712_mtk_ddp_ext), > .third_path = mt2712_mtk_ddp_third, > .third_len = ARRAY_SIZE(mt2712_mtk_ddp_third), > + .mmsys_id = MMSYS_MT2712, > }; > > static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = { > @@ -213,6 +215,7 @@ static int mtk_atomic_commit(struct drm_device *drm, > .main_len = ARRAY_SIZE(mt8173_mtk_ddp_main), > .ext_path = mt8173_mtk_ddp_ext, > .ext_len = ARRAY_SIZE(mt8173_mtk_ddp_ext), > + .mmsys_id = MMSYS_MT8173, > }; > > static int mtk_drm_kms_init(struct drm_device *drm) > @@ -461,6 +464,14 @@ static int mtk_drm_probe(struct platform_device *pdev) > INIT_WORK(&private->commit.work, mtk_atomic_work); > private->data = of_device_get_match_data(dev); > > + private->reg_data = mtk_ddp_get_mmsys_data(private->data->mmsys_id); Why do you create a function to select reg_data, I think you could just add reg_data in struct mtk_mmsys_driver_data so you don't need a function to select it. Regards, CK > + if (IS_ERR(private->reg_data)) { > + ret = PTR_ERR(private->config_regs); > + pr_info("Failed to get mmsys register data: %d\n", > + ret); > + return ret; > + } > + > mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); > private->config_regs = devm_ioremap_resource(dev, mem); > if (IS_ERR(private->config_regs)) { > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.h b/drivers/gpu/drm/mediatek/mtk_drm_drv.h > index ecc00ca..11de7f8 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.h > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.h > @@ -15,6 +15,7 @@ > #define MTK_DRM_DRV_H > > #include > +#include "mtk_drm_ddp.h" > #include "mtk_drm_ddp_comp.h" > > #define MAX_CRTC 3 > @@ -36,6 +37,8 @@ struct mtk_mmsys_driver_data { > const enum mtk_ddp_comp_id *third_path; > unsigned int third_len; > > + enum mtk_mmsys_id mmsys_id; > + > bool shadow_register; > }; > > @@ -48,6 +51,7 @@ struct mtk_drm_private { > struct device_node *mutex_node; > struct device *mutex_dev; > void __iomem *config_regs; > + const struct mtk_mmsys_reg_data *reg_data; > struct device_node *comp_node[DDP_COMPONENT_ID_MAX]; > struct mtk_ddp_comp *ddp_comp[DDP_COMPONENT_ID_MAX]; > const struct mtk_mmsys_driver_data *data;