From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Armstrong Subject: [PATCH v3 9/9] drm/meson: crtc: add OSD1 plane AFBC commit Date: Mon, 21 Oct 2019 11:15:09 +0200 Message-ID: <20191021091509.3864-10-narmstrong@baylibre.com> References: <20191021091509.3864-1-narmstrong@baylibre.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by gabe.freedesktop.org (Postfix) with ESMTPS id CF8DA89C9B for ; Mon, 21 Oct 2019 09:15:20 +0000 (UTC) Received: by mail-wm1-x342.google.com with SMTP id q13so2336990wmj.0 for ; Mon, 21 Oct 2019 02:15:20 -0700 (PDT) In-Reply-To: <20191021091509.3864-1-narmstrong@baylibre.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 Cc: khilman@baylibre.com, linux-amlogic@lists.infradead.org, ayan.halder@arm.com, linux-arm-kernel@lists.infradead.org, Neil Armstrong List-Id: dri-devel@lists.freedesktop.org RmluYWxseSwgc2V0dXAgdGhlIFZJVSByZWdpc3RlcnMgYW5kIHN0YXJ0IHRoZSBBRkJDIGRlY29k ZXIgdG8gc3VwcG9ydApkaXNwbGF5aW5nIEFGQkMgZW5jb2RlZCBidWZmZXJzIG9uIEFtbG9naWMg R1hNIGFuZCBHMTJBIFNvQ3MuCgpUaGUgUkRNQSBpcyB1c2VkIGhlcmUgdG8gcmVzZXQgYW5kIHBy b2dyYW0gdGhlIEFGQkMgZGVjb2RlciB1bml0Cm9uIGVhY2ggdnN5bmMgd2l0aG91dCBpbnZvbHZp bmcgdGhlIGludGVycnVwdCBoYW5kbGVyIHRoYXQgY2FuCmJlIG1hc2tlZCBmb3IgYSBsb25nIHBl cmlvZCBvZiB0aW1lLCBwcm9kdWNpbmcgZGlzcGxheSBnbGl0Y2hlcy4KClRoZSB2c3luYyBpcnEg bXVzdCBzdGlsbCBiZSBsZWZ0IGVuYWJsZWQgb3RoZXJ3aXNlIHRoZSBSRE1BIG1vZHVsZXMgaXNu J3QKdHJpZ2VycmVkIHdoZW4gdGhlIGludGVycnVwdCBsaW5lIGlzIG1hc2tlZC4KClNpZ25lZC1v ZmYtYnk6IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJheWxpYnJlLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fY3J0Yy5jIHwgNzcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fY3J0Yy5jIGIvZHJp dmVycy9ncHUvZHJtL21lc29uL21lc29uX2NydGMuYwppbmRleCBkNDc4ZmEyMzI5NTEuLjgzNjZh MGVkMzdhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX2NydGMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fY3J0Yy5jCkBAIC0yMyw3ICsyMyw5IEBA CiAjaW5jbHVkZSAibWVzb25fcmVnaXN0ZXJzLmgiCiAjaW5jbHVkZSAibWVzb25fdmVuYy5oIgog I2luY2x1ZGUgIm1lc29uX3ZpdS5oIgorI2luY2x1ZGUgIm1lc29uX3JkbWEuaCIKICNpbmNsdWRl ICJtZXNvbl92cHAuaCIKKyNpbmNsdWRlICJtZXNvbl9vc2RfYWZiY2QuaCIKIAogI2RlZmluZSBN RVNPTl9HMTJBX1ZJVV9PRkZTRVQJMHg1ZWMwCiAKQEAgLTM1LDcgKzM3LDExIEBAIHN0cnVjdCBt ZXNvbl9jcnRjIHsKIAlzdHJ1Y3QgbWVzb25fZHJtICpwcml2OwogCXZvaWQgKCplbmFibGVfb3Nk MSkoc3RydWN0IG1lc29uX2RybSAqcHJpdik7CiAJdm9pZCAoKmVuYWJsZV92ZDEpKHN0cnVjdCBt ZXNvbl9kcm0gKnByaXYpOworCXZvaWQgKCplbmFibGVfb3NkMV9hZmJjKShzdHJ1Y3QgbWVzb25f ZHJtICpwcml2KTsKKwl2b2lkICgqZGlzYWJsZV9vc2QxX2FmYmMpKHN0cnVjdCBtZXNvbl9kcm0g KnByaXYpOwogCXVuc2lnbmVkIGludCB2aXVfb2Zmc2V0OworCWJvb2wgdnN5bmNfZm9yY2VkOwor CWJvb2wgdnN5bmNfZGlzYWJsZWQ7CiB9OwogI2RlZmluZSB0b19tZXNvbl9jcnRjKHgpIGNvbnRh aW5lcl9vZih4LCBzdHJ1Y3QgbWVzb25fY3J0YywgYmFzZSkKIApAQCAtNDYsNiArNTIsNyBAQCBz dGF0aWMgaW50IG1lc29uX2NydGNfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMp CiAJc3RydWN0IG1lc29uX2NydGMgKm1lc29uX2NydGMgPSB0b19tZXNvbl9jcnRjKGNydGMpOwog CXN0cnVjdCBtZXNvbl9kcm0gKnByaXYgPSBtZXNvbl9jcnRjLT5wcml2OwogCisJbWVzb25fY3J0 Yy0+dnN5bmNfZGlzYWJsZWQgPSBmYWxzZTsKIAltZXNvbl92ZW5jX2VuYWJsZV92c3luYyhwcml2 KTsKIAogCXJldHVybiAwOwpAQCAtNTYsNyArNjMsMTAgQEAgc3RhdGljIHZvaWQgbWVzb25fY3J0 Y19kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJc3RydWN0IG1lc29uX2Ny dGMgKm1lc29uX2NydGMgPSB0b19tZXNvbl9jcnRjKGNydGMpOwogCXN0cnVjdCBtZXNvbl9kcm0g KnByaXYgPSBtZXNvbl9jcnRjLT5wcml2OwogCi0JbWVzb25fdmVuY19kaXNhYmxlX3ZzeW5jKHBy aXYpOworCWlmICghbWVzb25fY3J0Yy0+dnN5bmNfZm9yY2VkKSB7CisJCW1lc29uX2NydGMtPnZz eW5jX2Rpc2FibGVkID0gdHJ1ZTsKKwkJbWVzb25fdmVuY19kaXNhYmxlX3ZzeW5jKHByaXYpOwor CX0KIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBtZXNvbl9jcnRjX2Z1 bmNzID0gewpAQCAtMjM2LDYgKzI0NiwyNiBAQCBzdGF0aWMgdm9pZCBtZXNvbl9jcnRjX2VuYWJs ZV9vc2QxKHN0cnVjdCBtZXNvbl9kcm0gKnByaXYpCiAJCQkgICAgcHJpdi0+aW9fYmFzZSArIF9S RUcoVlBQX01JU0MpKTsKIH0KIAorc3RhdGljIHZvaWQgbWVzb25fY3J0Y19nMTJhX2VuYWJsZV9v c2QxX2FmYmMoc3RydWN0IG1lc29uX2RybSAqcHJpdikKK3sKKwl3cml0ZWxfcmVsYXhlZChwcml2 LT52aXUub3NkMV9ibGsyX2NmZzQsCisJCSAgICAgICBwcml2LT5pb19iYXNlICsgX1JFRyhWSVVf T1NEMV9CTEsyX0NGR19XNCkpOworCisJd3JpdGVsX2JpdHNfcmVsYXhlZChPU0RfTUVNX0xJTkVB Ul9BRERSLCBPU0RfTUVNX0xJTkVBUl9BRERSLAorCQkJICAgIHByaXYtPmlvX2Jhc2UgKyBfUkVH KFZJVV9PU0QxX0NUUkxfU1RBVCkpOworCisJd3JpdGVsX3JlbGF4ZWQocHJpdi0+dml1Lm9zZDFf YmxrMV9jZmc0LAorCQkgICAgICAgcHJpdi0+aW9fYmFzZSArIF9SRUcoVklVX09TRDFfQkxLMV9D RkdfVzQpKTsKKworCW1lc29uX3ZpdV9nMTJhX2VuYWJsZV9vc2QxX2FmYmMocHJpdik7CisKKwl3 cml0ZWxfYml0c19yZWxheGVkKE9TRF9NRU1fTElORUFSX0FERFIsIE9TRF9NRU1fTElORUFSX0FE RFIsCisJCQkgICAgcHJpdi0+aW9fYmFzZSArIF9SRUcoVklVX09TRDFfQ1RSTF9TVEFUKSk7CisK Kwl3cml0ZWxfYml0c19yZWxheGVkKE9TRF9NQUxJX1NSQ19FTiwgT1NEX01BTElfU1JDX0VOLAor CQkJICAgIHByaXYtPmlvX2Jhc2UgKyBfUkVHKFZJVV9PU0QxX0JMSzBfQ0ZHX1cwKSk7Cit9CisK IHN0YXRpYyB2b2lkIG1lc29uX2cxMmFfY3J0Y19lbmFibGVfb3NkMShzdHJ1Y3QgbWVzb25fZHJt ICpwcml2KQogewogCXdyaXRlbF9yZWxheGVkKHByaXYtPnZpdS5vc2RfYmxlbmRfZGluMF9zY29w ZV9oLApAQCAtMjkzLDYgKzMyMywyMCBAQCB2b2lkIG1lc29uX2NydGNfaXJxKHN0cnVjdCBtZXNv bl9kcm0gKnByaXYpCiAJCQkJcHJpdi0+aW9fYmFzZSArIF9SRUcoVklVX09TRDFfQkxLMF9DRkdf VzMpKTsKIAkJd3JpdGVsX3JlbGF4ZWQocHJpdi0+dml1Lm9zZDFfYmxrMF9jZmdbNF0sCiAJCQkJ cHJpdi0+aW9fYmFzZSArIF9SRUcoVklVX09TRDFfQkxLMF9DRkdfVzQpKTsKKworCQlpZiAocHJp di0+dml1Lm9zZDFfYWZiY2QpIHsKKwkJCWlmIChtZXNvbl9jcnRjLT5lbmFibGVfb3NkMV9hZmJj KQorCQkJCW1lc29uX2NydGMtPmVuYWJsZV9vc2QxX2FmYmMocHJpdik7CisJCX0gZWxzZSB7CisJ CQlpZiAobWVzb25fY3J0Yy0+ZGlzYWJsZV9vc2QxX2FmYmMpCisJCQkJbWVzb25fY3J0Yy0+ZGlz YWJsZV9vc2QxX2FmYmMocHJpdik7CisJCQlpZiAocHJpdi0+YWZiY2Qub3BzKSB7CisJCQkJcHJp di0+YWZiY2Qub3BzLT5yZXNldChwcml2KTsKKwkJCQlwcml2LT5hZmJjZC5vcHMtPmRpc2FibGUo cHJpdik7CisJCQl9CisJCQltZXNvbl9jcnRjLT52c3luY19mb3JjZWQgPSBmYWxzZTsKKwkJfQor CiAJCXdyaXRlbF9yZWxheGVkKHByaXYtPnZpdS5vc2Rfc2NfY3RybDAsCiAJCQkJcHJpdi0+aW9f YmFzZSArIF9SRUcoVlBQX09TRF9TQ19DVFJMMCkpOwogCQl3cml0ZWxfcmVsYXhlZChwcml2LT52 aXUub3NkX3NjX2lfd2hfbTEsCkBAIC0zMTQsMTUgKzM1OCwyNSBAQCB2b2lkIG1lc29uX2NydGNf aXJxKHN0cnVjdCBtZXNvbl9kcm0gKnByaXYpCiAJCXdyaXRlbF9yZWxheGVkKHByaXYtPnZpdS5v c2Rfc2Nfdl9jdHJsMCwKIAkJCQlwcml2LT5pb19iYXNlICsgX1JFRyhWUFBfT1NEX1ZTQ19DVFJM MCkpOwogCi0JCW1lc29uX2NhbnZhc19jb25maWcocHJpdi0+Y2FudmFzLCBwcml2LT5jYW52YXNf aWRfb3NkMSwKLQkJCQlwcml2LT52aXUub3NkMV9hZGRyLCBwcml2LT52aXUub3NkMV9zdHJpZGUs Ci0JCQkJcHJpdi0+dml1Lm9zZDFfaGVpZ2h0LCBNRVNPTl9DQU5WQVNfV1JBUF9OT05FLAotCQkJ CU1FU09OX0NBTlZBU19CTEtNT0RFX0xJTkVBUiwgMCk7CisJCWlmICghcHJpdi0+dml1Lm9zZDFf YWZiY2QpCisJCQltZXNvbl9jYW52YXNfY29uZmlnKHByaXYtPmNhbnZhcywgcHJpdi0+Y2FudmFz X2lkX29zZDEsCisJCQkJCSAgICBwcml2LT52aXUub3NkMV9hZGRyLAorCQkJCQkgICAgcHJpdi0+ dml1Lm9zZDFfc3RyaWRlLAorCQkJCQkgICAgcHJpdi0+dml1Lm9zZDFfaGVpZ2h0LAorCQkJCQkg ICAgTUVTT05fQ0FOVkFTX1dSQVBfTk9ORSwKKwkJCQkJICAgIE1FU09OX0NBTlZBU19CTEtNT0RF X0xJTkVBUiwgMCk7CiAKIAkJLyogRW5hYmxlIE9TRDEgKi8KIAkJaWYgKG1lc29uX2NydGMtPmVu YWJsZV9vc2QxKQogCQkJbWVzb25fY3J0Yy0+ZW5hYmxlX29zZDEocHJpdik7CiAKKwkJaWYgKHBy aXYtPnZpdS5vc2QxX2FmYmNkKSB7CisJCQlwcml2LT5hZmJjZC5vcHMtPnJlc2V0KHByaXYpOwor CQkJcHJpdi0+YWZiY2Qub3BzLT5zZXR1cChwcml2KTsKKwkJCXByaXYtPmFmYmNkLm9wcy0+ZW5h YmxlKHByaXYpOworCQkJbWVzb25fY3J0Yy0+dnN5bmNfZm9yY2VkID0gdHJ1ZTsKKwkJfQorCiAJ CXByaXYtPnZpdS5vc2QxX2NvbW1pdCA9IGZhbHNlOwogCX0KIApAQCAtNTQ1LDYgKzU5OSw5IEBA IHZvaWQgbWVzb25fY3J0Y19pcnEoc3RydWN0IG1lc29uX2RybSAqcHJpdikKIAkJcHJpdi0+dml1 LnZkMV9jb21taXQgPSBmYWxzZTsKIAl9CiAKKwlpZiAobWVzb25fY3J0Yy0+dnN5bmNfZGlzYWJs ZWQpCisJCXJldHVybjsKKwogCWRybV9jcnRjX2hhbmRsZV92YmxhbmsocHJpdi0+Y3J0Yyk7CiAK IAlzcGluX2xvY2tfaXJxc2F2ZSgmcHJpdi0+ZHJtLT5ldmVudF9sb2NrLCBmbGFncyk7CkBAIC01 ODEsMTAgKzYzOCwyMCBAQCBpbnQgbWVzb25fY3J0Y19jcmVhdGUoc3RydWN0IG1lc29uX2RybSAq cHJpdikKIAkJbWVzb25fY3J0Yy0+ZW5hYmxlX29zZDEgPSBtZXNvbl9nMTJhX2NydGNfZW5hYmxl X29zZDE7CiAJCW1lc29uX2NydGMtPmVuYWJsZV92ZDEgPSBtZXNvbl9nMTJhX2NydGNfZW5hYmxl X3ZkMTsKIAkJbWVzb25fY3J0Yy0+dml1X29mZnNldCA9IE1FU09OX0cxMkFfVklVX09GRlNFVDsK KwkJbWVzb25fY3J0Yy0+ZW5hYmxlX29zZDFfYWZiYyA9CisJCQkJCW1lc29uX2NydGNfZzEyYV9l bmFibGVfb3NkMV9hZmJjOworCQltZXNvbl9jcnRjLT5kaXNhYmxlX29zZDFfYWZiYyA9CisJCQkJ CW1lc29uX3ZpdV9nMTJhX2Rpc2FibGVfb3NkMV9hZmJjOwogCQlkcm1fY3J0Y19oZWxwZXJfYWRk KGNydGMsICZtZXNvbl9nMTJhX2NydGNfaGVscGVyX2Z1bmNzKTsKIAl9IGVsc2UgewogCQltZXNv bl9jcnRjLT5lbmFibGVfb3NkMSA9IG1lc29uX2NydGNfZW5hYmxlX29zZDE7CiAJCW1lc29uX2Ny dGMtPmVuYWJsZV92ZDEgPSBtZXNvbl9jcnRjX2VuYWJsZV92ZDE7CisJCWlmIChtZXNvbl92cHVf aXNfY29tcGF0aWJsZShwcml2LCBWUFVfQ09NUEFUSUJMRV9HWE0pKSB7CisJCQltZXNvbl9jcnRj LT5lbmFibGVfb3NkMV9hZmJjID0KKwkJCQkJbWVzb25fdml1X2d4bV9lbmFibGVfb3NkMV9hZmJj OworCQkJbWVzb25fY3J0Yy0+ZGlzYWJsZV9vc2QxX2FmYmMgPQorCQkJCQltZXNvbl92aXVfZ3ht X2Rpc2FibGVfb3NkMV9hZmJjOworCQl9CiAJCWRybV9jcnRjX2hlbHBlcl9hZGQoY3J0YywgJm1l c29uX2NydGNfaGVscGVyX2Z1bmNzKTsKIAl9CiAKLS0gCjIuMjIuMAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs