From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hyun Kwon Subject: [PATCH v8 5/5] drm: xlnx: ZynqMP DP subsystem DRM KMS driver Date: Sat, 7 Jul 2018 19:05:38 -0700 Message-ID: <1531015538-32268-6-git-send-email-hyun.kwon@xilinx.com> References: <1531015538-32268-1-git-send-email-hyun.kwon@xilinx.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1531015538-32268-1-git-send-email-hyun.kwon@xilinx.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, Laurent Pinchart Cc: Daniel Vetter , Rob Herring , Michal Simek , Hyun Kwon List-Id: devicetree@vger.kernel.org VGhpcyBpcyBhIHdyYXBwZXIgYXJvdW5kIHRoZSBaeW5xTVAgRGlzcGxheSBhbmQgRGlzcGxheVBv cnQgZHJpdmVycy4KClNpZ25lZC1vZmYtYnk6IEh5dW4gS3dvbiA8aHl1bi5rd29uQHhpbGlueC5j b20+CkFja2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgotLS0K djgKLSBTdXBwb3J0IHJlc2VydmVkIG1lbW9yeSB0aHJvdWdoIG1lbW9yeS1yZWdpb24gZHQgYmlu ZGluZwp2NgotIEFjY29tb2RhdGUgdGhlIG1pZ3JhdGlvbiBvZiBsb2dpY2FsIG1hc3RlciBmcm9t IHBsYXRmb3JtIGRldmljZSB0byBkZXZpY2UKLSBSZW1vdmUgdGhlIGR1cGxpY2F0ZSBsaWNlbnNl IHBhcmFncmFwaHMKLSBEbyBjb21wbGV0ZSBmb3J3YXJkIGRlY2xhcmF0aW9uIGluIHRoZSBoZWFk ZXIKdjUKLSBBZGQgYW4gZXJyb3IgaGFuZGxpbmcgb2YgcGlwZWxpbmUgaW5pdGlhbGl6YXRpb24K djQKLSBVc2UgdGhlIG5ld2x5IGFkZGVkIHhsbnggcGlwZWxpbmUgY2FsbHMgdG8gaW5pdGlhbGl6 ZSBkcm0gZGV2aWNlCnYyCi0gQ2hhbmdlIHRoZSBTUERYIGlkZW50aWZpZXIgZm9ybWF0Ci0tLQot LS0KIGRyaXZlcnMvZ3B1L2RybS94bG54L0tjb25maWcgICAgICAgIHwgIDExICsrKwogZHJpdmVy cy9ncHUvZHJtL3hsbngvTWFrZWZpbGUgICAgICAgfCAgIDMgKwogZHJpdmVycy9ncHUvZHJtL3hs bngvenlucW1wX2Rwc3ViLmMgfCAxNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiBkcml2ZXJzL2dwdS9kcm0veGxueC96eW5xbXBfZHBzdWIuaCB8ICAyMyArKysrKysKIDQg ZmlsZXMgY2hhbmdlZCwgMTk1IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL2dwdS9kcm0veGxueC96eW5xbXBfZHBzdWIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvZ3B1L2RybS94bG54L3p5bnFtcF9kcHN1Yi5oCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3hsbngvS2NvbmZpZyBiL2RyaXZlcnMvZ3B1L2RybS94bG54L0tjb25maWcKaW5kZXggMTlm ZDdjZC4uN2M1NTI5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hsbngvS2NvbmZpZwor KysgYi9kcml2ZXJzL2dwdS9kcm0veGxueC9LY29uZmlnCkBAIC0xMCwzICsxMCwxNCBAQCBjb25m aWcgRFJNX1hMTlgKIAkgIGRpc3BsYXkgcGlwZWxpbmUgdXNpbmcgWGlsaW54IElQcyBpbiBGUEdB LiBUaGlzIG1vZHVsZQogCSAgcHJvdmlkZXMgdGhlIGtlcm5lbCBtb2RlIHNldHRpbmcgZnVuY3Rp b25hbGl0aWVzCiAJICBmb3IgWGlsaW54IGRpc3BsYXkgZHJpdmVycy4KKworY29uZmlnIERSTV9a WU5RTVBfRFBTVUIKKwl0cmlzdGF0ZSAiWnlucU1QIERQIFN1YnN5c3RlbSBEcml2ZXIiCisJZGVw ZW5kcyBvbiBBUkNIX1pZTlFNUCAmJiBPRiAmJiBEUk1fWExOWCAmJiBDT01NT05fQ0xLCisJc2Vs ZWN0IERNQV9FTkdJTkUKKwlzZWxlY3QgR0VORVJJQ19QSFkKKwloZWxwCisJICBEUk0gS01TIGRy aXZlciBmb3IgWnlucU1QIERQIFN1YnN5c3RlbSBjb250cm9sbGVyLiBDaG9vc2UKKwkgIHRoaXMg b3B0aW9uIGlmIHlvdSBoYXZlIGEgWGlsaW54IFp5bnFNUCBTb0Mgd2l0aCBEaXNwbGF5UG9ydAor CSAgc3Vic3lzdGVtLiBUaGUgZHJpdmVyIHByb3ZpZGVzIHRoZSBrZXJuZWwgbW9kZSBzZXR0aW5n CisJICBmdW5jdGlvbmxhaXRpZXMgZm9yIFp5bnFNUCBEUCBzdWJzeXN0ZW0uCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0veGxueC9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS94bG54L01h a2VmaWxlCmluZGV4IGM2MGEyODEuLjA2NGEwNWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS94bG54L01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS94bG54L01ha2VmaWxlCkBAIC0x LDIgKzEsNSBAQAogeGxueF9kcm0tb2JqcyArPSB4bG54X2NydGMubyB4bG54X2Rydi5vIHhsbnhf ZmIubyB4bG54X2dlbS5vCiBvYmotJChDT05GSUdfRFJNX1hMTlgpICs9IHhsbnhfZHJtLm8KKwor enlucW1wLWRwc3ViLW9ianMgKz0genlucW1wX2Rpc3AubyB6eW5xbXBfZHBzdWIubyB6eW5xbXBf ZHAubworb2JqLSQoQ09ORklHX0RSTV9aWU5RTVBfRFBTVUIpICs9IHp5bnFtcC1kcHN1Yi5vCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGxueC96eW5xbXBfZHBzdWIuYyBiL2RyaXZlcnMv Z3B1L2RybS94bG54L3p5bnFtcF9kcHN1Yi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjM0ZTgxZDAKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0veGxueC96 eW5xbXBfZHBzdWIuYwpAQCAtMCwwICsxLDE1OCBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAKKy8qCisgKiBaeW5xTVAgRFAgU3Vic3lzdGVtIERyaXZlcgorICoKKyAqICBD b3B5cmlnaHQgKEMpIDIwMTcgLSAyMDE4IFhpbGlueCwgSW5jLgorICoKKyAqICBBdXRob3I6IEh5 dW4gV29vIEt3b24gPGh5dW4ua3dvbkB4aWxpbnguY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51 eC9jb21wb25lbnQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51 eC9vZl9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L29mX3Jlc2VydmVkX21lbS5oPgorI2lu Y2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRp bWUuaD4KKworI2luY2x1ZGUgInhsbnhfZHJ2LmgiCisKKyNpbmNsdWRlICJ6eW5xbXBfZGlzcC5o IgorI2luY2x1ZGUgInp5bnFtcF9kcC5oIgorI2luY2x1ZGUgInp5bnFtcF9kcHN1Yi5oIgorCitz dGF0aWMgaW50Cit6eW5xbXBfZHBzdWJfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBk ZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0genlucW1w X2Rpc3BfYmluZChkZXYsIG1hc3RlciwgZGF0YSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsK KworCS8qIHp5bnFtcF9kaXNwIHNob3VsZCBiaW5kIGZpcnN0LCBzbyB6eW5xbXBfZHAgZW5jb2Rl ciBjYW4gZmluZCBjcnRjICovCisJcmV0ID0genlucW1wX2RwX2JpbmQoZGV2LCBtYXN0ZXIsIGRh dGEpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGlj IHZvaWQKK3p5bnFtcF9kcHN1Yl91bmJpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2 aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCit7CisJenlucW1wX2RwX3VuYmluZChkZXYsIG1hc3Rl ciwgZGF0YSk7CisJenlucW1wX2Rpc3BfdW5iaW5kKGRldiwgbWFzdGVyLCBkYXRhKTsKK30KKwor c3RhdGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfb3BzIHp5bnFtcF9kcHN1Yl9jb21wb25lbnRf b3BzID0geworCS5iaW5kCT0genlucW1wX2Rwc3ViX2JpbmQsCisJLnVuYmluZAk9IHp5bnFtcF9k cHN1Yl91bmJpbmQsCit9OworCitzdGF0aWMgaW50IHp5bnFtcF9kcHN1Yl9wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCB6eW5xbXBfZHBzdWIgKmRwc3ViOwor CWludCByZXQ7CisKKwlkcHN1YiA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LCBzaXplb2YoKmRw c3ViKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFkcHN1YikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwkv KiBTdWItZHJpdmVyIHdpbGwgYWNjZXNzIGRwc3ViIGZyb20gZHJ2ZGF0YSAqLworCXBsYXRmb3Jt X3NldF9kcnZkYXRhKHBkZXYsIGRwc3ViKTsKKwlwbV9ydW50aW1lX2VuYWJsZSgmcGRldi0+ZGV2 KTsKKworCS8qCisJICogRFAgc2hvdWxkIGJlIHByb2JlZCBmaXJzdCBzbyB0aGF0IHRoZSB6eW5x bXBfZGlzcCBjYW4gc2V0IHRoZSBvdXRwdXQKKwkgKiBmb3JtYXQgYWNjb3JkaW5nbHkuCisJICov CisJcmV0ID0genlucW1wX2RwX3Byb2JlKHBkZXYpOworCWlmIChyZXQpCisJCWdvdG8gZXJyX3Bt OworCisJcmV0ID0genlucW1wX2Rpc3BfcHJvYmUocGRldik7CisJaWYgKHJldCkKKwkJZ290byBl cnJfZHA7CisKKwlyZXQgPSBjb21wb25lbnRfYWRkKCZwZGV2LT5kZXYsICZ6eW5xbXBfZHBzdWJf Y29tcG9uZW50X29wcyk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfZGlzcDsKKworCS8qIFRyeSB0 aGUgcmVzZXJ2ZWQgbWVtb3J5LiBQcm9jZWVkIGlmIHRoZXJlJ3Mgbm9uZSAqLworCW9mX3Jlc2Vy dmVkX21lbV9kZXZpY2VfaW5pdCgmcGRldi0+ZGV2KTsKKworCS8qIFBvcHVsYXRlIHRoZSBzb3Vu ZCBjaGlsZCBub2RlcyAqLworCXJldCA9IG9mX3BsYXRmb3JtX3BvcHVsYXRlKHBkZXYtPmRldi5v Zl9ub2RlLCBOVUxMLCBOVUxMLCAmcGRldi0+ZGV2KTsKKwlpZiAocmV0KSB7CisJCWRldl9lcnIo JnBkZXYtPmRldiwgImZhaWxlZCB0byBwb3B1bGF0ZSBjaGlsZCBub2Rlc1xuIik7CisJCWdvdG8g ZXJyX3JtZW07CisJfQorCisJZHBzdWItPm1hc3RlciA9IHhsbnhfZHJtX3BpcGVsaW5lX2luaXQo JnBkZXYtPmRldik7CisJaWYgKElTX0VSUihkcHN1Yi0+bWFzdGVyKSkgeworCQlkZXZfZXJyKCZw ZGV2LT5kZXYsICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZHJtIHBpcGVsaW5lXG4iKTsKKwkJ Z290byBlcnJfcG9wdWxhdGU7CisJfQorCisJZGV2X2luZm8oJnBkZXYtPmRldiwgIlp5bnFNUCBE aXNwbGF5UG9ydCBTdWJzeXN0ZW0gZHJpdmVyIHByb2JlZCIpOworCisJcmV0dXJuIDA7CisKK2Vy cl9wb3B1bGF0ZToKKwlvZl9wbGF0Zm9ybV9kZXBvcHVsYXRlKCZwZGV2LT5kZXYpOworZXJyX3Jt ZW06CisJb2ZfcmVzZXJ2ZWRfbWVtX2RldmljZV9yZWxlYXNlKCZwZGV2LT5kZXYpOworCWNvbXBv bmVudF9kZWwoJnBkZXYtPmRldiwgJnp5bnFtcF9kcHN1Yl9jb21wb25lbnRfb3BzKTsKK2Vycl9k aXNwOgorCXp5bnFtcF9kaXNwX3JlbW92ZShwZGV2KTsKK2Vycl9kcDoKKwl6eW5xbXBfZHBfcmVt b3ZlKHBkZXYpOworZXJyX3BtOgorCXBtX3J1bnRpbWVfZGlzYWJsZSgmcGRldi0+ZGV2KTsKKwly ZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHp5bnFtcF9kcHN1Yl9yZW1vdmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgenlucW1wX2Rwc3ViICpkcHN1YiA9IHBs YXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCWludCBlcnIsIHJldCA9IDA7CisKKwl4bG54X2Ry bV9waXBlbGluZV9leGl0KGRwc3ViLT5tYXN0ZXIpOworCW9mX3BsYXRmb3JtX2RlcG9wdWxhdGUo JnBkZXYtPmRldik7CisJb2ZfcmVzZXJ2ZWRfbWVtX2RldmljZV9yZWxlYXNlKCZwZGV2LT5kZXYp OworCWNvbXBvbmVudF9kZWwoJnBkZXYtPmRldiwgJnp5bnFtcF9kcHN1Yl9jb21wb25lbnRfb3Bz KTsKKworCWVyciA9IHp5bnFtcF9kaXNwX3JlbW92ZShwZGV2KTsKKwlpZiAoZXJyKQorCQlyZXQg PSAtRUlPOworCisJZXJyID0genlucW1wX2RwX3JlbW92ZShwZGV2KTsKKwlpZiAoZXJyKQorCQly ZXQgPSAtRUlPOworCisJcG1fcnVudGltZV9kaXNhYmxlKCZwZGV2LT5kZXYpOworCisJcmV0dXJu IGVycjsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgenlucW1wX2Rwc3Vi X29mX21hdGNoW10gPSB7CisJeyAuY29tcGF0aWJsZSA9ICJ4bG54LHp5bnFtcC1kcHN1Yi0xLjci LCB9LAorCXsgLyogZW5kIG9mIHRhYmxlICovIH0sCit9OworTU9EVUxFX0RFVklDRV9UQUJMRShv ZiwgenlucW1wX2Rwc3ViX29mX21hdGNoKTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2 ZXIgenlucW1wX2Rwc3ViX2RyaXZlciA9IHsKKwkucHJvYmUJCQk9IHp5bnFtcF9kcHN1Yl9wcm9i ZSwKKwkucmVtb3ZlCQkJPSB6eW5xbXBfZHBzdWJfcmVtb3ZlLAorCS5kcml2ZXIJCQk9IHsKKwkJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAorCQkubmFtZQkJPSAienlucW1wLWRpc3BsYXkiLAorCQku b2ZfbWF0Y2hfdGFibGUJPSB6eW5xbXBfZHBzdWJfb2ZfbWF0Y2gsCisJfSwKK307CisKK21vZHVs ZV9wbGF0Zm9ybV9kcml2ZXIoenlucW1wX2Rwc3ViX2RyaXZlcik7CisKK01PRFVMRV9BVVRIT1Io IlhpbGlueCwgSW5jLiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJaeW5xTVAgRFAgU3Vic3lzdGVt IERyaXZlciIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3hsbngvenlucW1wX2Rwc3ViLmggYi9kcml2ZXJzL2dwdS9kcm0veGxueC96eW5x bXBfZHBzdWIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTIzOWJiCi0t LSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL3hsbngvenlucW1wX2Rwc3ViLmgKQEAg LTAsMCArMSwyMyBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKKy8qCisg KiBaeW5xTVAgRFBTVUIgU3Vic3lzdGVtIERyaXZlcgorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIw MTcgLSAyMDE4IFhpbGlueCwgSW5jLgorICoKKyAqICBBdXRob3I6IEh5dW4gV29vIEt3b24gPGh5 dW4ua3dvbkB4aWxpbnguY29tPgorICovCisKKyNpZm5kZWYgX1pZTlFNUF9EUFNVQl9IXworI2Rl ZmluZSBfWllOUU1QX0RQU1VCX0hfCisKK3N0cnVjdCBkZXZpY2U7CitzdHJ1Y3QgenlucW1wX2Rw Oworc3RydWN0IHp5bnFtcF9kaXNwOworCitzdHJ1Y3QgenlucW1wX2Rwc3ViIHsKKwlzdHJ1Y3Qg enlucW1wX2RwICpkcDsKKwlzdHJ1Y3QgenlucW1wX2Rpc3AgKmRpc3A7CisJc3RydWN0IGRldmlj ZSAqbWFzdGVyOworfTsKKworI2VuZGlmIC8qIF9aWU5RTVBfRFBTVUJfSF8gKi8KLS0gCjIuNy40 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK