From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: [PATCH 29/60] drm/omap: Use the drm_panel_bridge API Date: Sun, 7 Jul 2019 21:19:06 +0300 Message-ID: <20190707181937.6250-26-laurent.pinchart@ideasonboard.com> References: <20190707180852.5512-1-laurent.pinchart@ideasonboard.com> <20190707181937.6250-1-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 675B989B65 for ; Sun, 7 Jul 2019 18:30:45 +0000 (UTC) In-Reply-To: <20190707181937.6250-1-laurent.pinchart@ideasonboard.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: Maxime Ripard , Sebastian Reichel , Tomi Valkeinen , Sean Paul List-Id: dri-devel@lists.freedesktop.org UmVwbGFjZSB0aGUgbWFudWFsIHBhbmVsIGhhbmRsaW5nIGNvZGUgYnkgYSBkcm1fcGFuZWxfYnJp ZGdlLiBUaGlzCnNpbXBsaWZpZXMgdGhlIGRyaXZlciBhbmQgYWxsb3dzIGFsbCBjb21wb25lbnRz IGluIHRoZSBkaXNwbGF5IHBpcGVsaW5lCnRvIGJlIHRyZWF0ZWQgYXMgYnJpZGdlcywgcGF2aW5n IHRoZSB3YXkgdG8gZ2VuZXJpYyBjb25uZWN0b3IgaGFuZGxpbmcuCgpTaWduZWQtb2ZmLWJ5OiBM YXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2Jhc2UuYyAgICAgICB8IDEyICsrKystLS0tLQog ZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL291dHB1dC5jICAgICB8IDMzICsrKysrKysrKysr KysrKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jb25uZWN0b3IuYyB8 ICA5IC0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMgICAgICAgfCAx MyAtLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYyAgIHwg MTMgLS0tLS0tLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCA0NiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvYmFzZS5j IGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2Jhc2UuYwppbmRleCBjYWU1Njg3ODIyZTIu LjgwZDQ4OTM2ZDE3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2Jh c2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvYmFzZS5jCkBAIC0xNDksOCAr MTQ5LDcgQEAgc3RydWN0IG9tYXBfZHNzX2RldmljZSAqb21hcGRzc19kZXZpY2VfbmV4dF9vdXRw dXQoc3RydWN0IG9tYXBfZHNzX2RldmljZSAqZnJvbSkKIAkJCWdvdG8gZG9uZTsKIAkJfQogCi0J CWlmIChkc3NkZXYtPmlkICYmCi0JCSAgICAoZHNzZGV2LT5uZXh0IHx8IGRzc2Rldi0+YnJpZGdl IHx8IGRzc2Rldi0+cGFuZWwpKQorCQlpZiAoZHNzZGV2LT5pZCAmJiAoZHNzZGV2LT5uZXh0IHx8 IGRzc2Rldi0+YnJpZGdlKSkKIAkJCWdvdG8gZG9uZTsKIAl9CiAKQEAgLTE4NSwxMSArMTg0LDEw IEBAIGludCBvbWFwZHNzX2RldmljZV9jb25uZWN0KHN0cnVjdCBkc3NfZGV2aWNlICpkc3MsCiAJ aWYgKCFkc3QpIHsKIAkJLyoKIAkJICogVGhlIGRlc3RpbmF0aW9uIGlzIE5VTEwgd2hlbiB0aGUg c291cmNlIGlzIGNvbm5lY3RlZCB0byBhCi0JCSAqIGJyaWRnZSBvciBwYW5lbCBpbnN0ZWFkIG9m IGEgRFNTIGRldmljZS4gU3RvcCBoZXJlLCB3ZSB3aWxsCi0JCSAqIGF0dGFjaCB0aGUgYnJpZGdl IG9yIHBhbmVsIGxhdGVyIHdoZW4gd2Ugd2lsbCBoYXZlIGEgRFJNCi0JCSAqIGVuY29kZXIuCisJ CSAqIGJyaWRnZSBpbnN0ZWFkIG9mIGEgRFNTIGRldmljZS4gU3RvcCBoZXJlLCB3ZSB3aWxsIGF0 dGFjaAorCQkgKiB0aGUgYnJpZGdlIGxhdGVyIHdoZW4gd2Ugd2lsbCBoYXZlIGEgRFJNIGVuY29k ZXIuCiAJCSAqLwotCQlyZXR1cm4gc3JjICYmIChzcmMtPmJyaWRnZSB8fCBzcmMtPnBhbmVsKSA/ IDAgOiAtRUlOVkFMOworCQlyZXR1cm4gc3JjICYmIHNyYy0+YnJpZGdlID8gMCA6IC1FSU5WQUw7 CiAJfQogCiAJaWYgKG9tYXBkc3NfZGV2aWNlX2lzX2Nvbm5lY3RlZChkc3QpKQpAQCAtMjE3LDcg KzIxNSw3IEBAIHZvaWQgb21hcGRzc19kZXZpY2VfZGlzY29ubmVjdChzdHJ1Y3Qgb21hcF9kc3Nf ZGV2aWNlICpzcmMsCiAJCWRzdCA/IGRldl9uYW1lKGRzdC0+ZGV2KSA6ICJOVUxMIik7CiAKIAlp ZiAoIWRzdCkgewotCQlXQVJOX09OKCFzcmMtPmJyaWRnZSAmJiAhc3JjLT5wYW5lbCk7CisJCVdB Uk5fT04oIXNyYy0+YnJpZGdlKTsKIAkJcmV0dXJuOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL29tYXBkcm0vZHNzL291dHB1dC5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v ZHNzL291dHB1dC5jCmluZGV4IDEwYTllZTVjZGM2MS4uNGY3MWEyMGJjN2M3IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3Mvb3V0cHV0LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL29tYXBkcm0vZHNzL291dHB1dC5jCkBAIC0zMCw2ICszMCw3IEBACiBpbnQgb21hcGRzc19k ZXZpY2VfaW5pdF9vdXRwdXQoc3RydWN0IG9tYXBfZHNzX2RldmljZSAqb3V0KQogewogCXN0cnVj dCBkZXZpY2Vfbm9kZSAqcmVtb3RlX25vZGU7CisJaW50IHJldDsKIAogCXJlbW90ZV9ub2RlID0g b2ZfZ3JhcGhfZ2V0X3JlbW90ZV9ub2RlKG91dC0+ZGV2LT5vZl9ub2RlLCAwLCAwKTsKIAlpZiAo IXJlbW90ZV9ub2RlKSB7CkBAIC00NywxNyArNDgsNDEgQEAgaW50IG9tYXBkc3NfZGV2aWNlX2lu aXRfb3V0cHV0KHN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKm91dCkKIAogCWlmIChvdXQtPm5leHQg JiYgb3V0LT50eXBlICE9IG91dC0+bmV4dC0+dHlwZSkgewogCQlkZXZfZXJyKG91dC0+ZGV2LCAi b3V0cHV0IHR5cGUgYW5kIGRpc3BsYXkgdHlwZSBkb24ndCBtYXRjaFxuIik7Ci0JCW9tYXBkc3Nf ZGV2aWNlX3B1dChvdXQtPm5leHQpOwotCQlvdXQtPm5leHQgPSBOVUxMOwotCQlyZXR1cm4gLUVJ TlZBTDsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBlcnJvcjsKIAl9CiAKLQlyZXR1cm4gb3V0 LT5uZXh0IHx8IG91dC0+YnJpZGdlIHx8IG91dC0+cGFuZWwgPyAwIDogLUVQUk9CRV9ERUZFUjsK KwlpZiAob3V0LT5wYW5lbCkgeworCQl1bnNpZ25lZCBpbnQgY29ubmVjdG9yX3R5cGU7CisJCXN0 cnVjdCBkcm1fYnJpZGdlICpicmlkZ2U7CisKKwkJY29ubmVjdG9yX3R5cGUgPSBvbWFwZHNzX2Rl dmljZV9jb25uZWN0b3JfdHlwZShvdXQtPnR5cGUpOworCQlicmlkZ2UgPSBkcm1fcGFuZWxfYnJp ZGdlX2FkZChvdXQtPnBhbmVsLCBjb25uZWN0b3JfdHlwZSk7CisJCWlmIChJU19FUlIoYnJpZGdl KSkgeworCQkJZGV2X2VycihvdXQtPmRldiwKKwkJCQkidW5hYmxlIHRvIGNyZWF0ZSBwYW5lbCBi cmlkZ2UgKCVsZClcbiIsCisJCQkJUFRSX0VSUihicmlkZ2UpKTsKKwkJCXJldCA9IFBUUl9FUlIo YnJpZGdlKTsKKwkJCWdvdG8gZXJyb3I7CisJCX0KKworCQlvdXQtPmJyaWRnZSA9IGJyaWRnZTsK Kwl9CisKKwlyZXR1cm4gb3V0LT5uZXh0IHx8IG91dC0+YnJpZGdlID8gMCA6IC1FUFJPQkVfREVG RVI7CisKK2Vycm9yOgorCW9tYXBkc3NfZGV2aWNlX3B1dChvdXQtPm5leHQpOworCW91dC0+bmV4 dCA9IE5VTEw7CisJcmV0dXJuIHJldDsKIH0KIEVYUE9SVF9TWU1CT0wob21hcGRzc19kZXZpY2Vf aW5pdF9vdXRwdXQpOwogCiB2b2lkIG9tYXBkc3NfZGV2aWNlX2NsZWFudXBfb3V0cHV0KHN0cnVj dCBvbWFwX2Rzc19kZXZpY2UgKm91dCkKIHsKKwlpZiAob3V0LT5icmlkZ2UgJiYgb3V0LT5wYW5l bCkKKwkJZHJtX3BhbmVsX2JyaWRnZV9yZW1vdmUob3V0LT5icmlkZ2UpOworCiAJaWYgKG91dC0+ bmV4dCkKIAkJb21hcGRzc19kZXZpY2VfcHV0KG91dC0+bmV4dCk7CiB9CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vb21hcF9jb25uZWN0b3IuYwppbmRleCAzMjIxNThlZjE1ZjYuLjNkMWY3NDAwMzdj OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jb25uZWN0b3IuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5jCkBAIC0xNyw3ICsx Nyw2IEBACiAKICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KICNpbmNsdWRlIDxk cm0vZHJtX2NydGMuaD4KLSNpbmNsdWRlIDxkcm0vZHJtX3BhbmVsLmg+CiAjaW5jbHVkZSA8ZHJt L2RybV9wcm9iZV9oZWxwZXIuaD4KIAogI2luY2x1ZGUgIm9tYXBfZHJ2LmgiCkBAIC0yMDEsNyAr MjAwLDYgQEAgc3RhdGljIGludCBvbWFwX2Nvbm5lY3Rvcl9nZXRfbW9kZXNfZWRpZChzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCiBzdGF0aWMgaW50IG9tYXBfY29ubmVjdG9yX2dl dF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0cnVjdCBvbWFw X2Nvbm5lY3RvciAqb21hcF9jb25uZWN0b3IgPSB0b19vbWFwX2Nvbm5lY3Rvcihjb25uZWN0b3Ip OwogCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzc2RldjsKIAogCURCRygiJXMiLCBjb25uZWN0 b3ItPm5hbWUpOwpAQCAtMjI0LDEzICsyMjIsNiBAQCBzdGF0aWMgaW50IG9tYXBfY29ubmVjdG9y X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCWlmIChkc3NkZXYp CiAJCXJldHVybiBkc3NkZXYtPm9wcy0+Z2V0X21vZGVzKGRzc2RldiwgY29ubmVjdG9yKTsKIAot CS8qCi0JICogT3RoZXJ3aXNlIGlmIHRoZSBkaXNwbGF5IHBpcGVsaW5lIHVzZXMgYSBkcm1fcGFu ZWwsIHdlIGRlbGVnYXRlIHRoZQotCSAqIG9wZXJhdGlvbiB0byB0aGUgcGFuZWwgQVBJLgotCSAq LwotCWlmIChvbWFwX2Nvbm5lY3Rvci0+b3V0cHV0LT5wYW5lbCkKLQkJcmV0dXJuIGRybV9wYW5l bF9nZXRfbW9kZXMob21hcF9jb25uZWN0b3ItPm91dHB1dC0+cGFuZWwpOwotCiAJLyoKIAkgKiBX ZSBjYW4ndCByZXRyaWV2ZSBtb2Rlcywgd2hpY2ggY2FuIGhhcHBlbiBmb3IgaW5zdGFuY2UgZm9y IGEgRFZJIG9yCiAJICogVkdBIG91dHB1dCB3aXRoIHRoZSBEREMgYnVzIHVuY29ubmVjdGVkLiBU aGUgS01TIGNvcmUgd2lsbCBhZGQgdGhlCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21h cGRybS9vbWFwX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYwppbmRl eCA5NzUxMmQ0Y2Y2NjQuLmI2MTVlY2VmNzcxOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vb21hcF9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Ry di5jCkBAIC0yMyw3ICsyMyw2IEBACiAjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWNfaGVscGVyLmg+ CiAjaW5jbHVkZSA8ZHJtL2RybV9mYl9oZWxwZXIuaD4KICNpbmNsdWRlIDxkcm0vZHJtX3Byb2Jl X2hlbHBlci5oPgotI2luY2x1ZGUgPGRybS9kcm1fcGFuZWwuaD4KIAogI2luY2x1ZGUgIm9tYXBf ZG1tX3RpbGVyLmgiCiAjaW5jbHVkZSAib21hcF9kcnYuaCIKQEAgLTEzOCw5ICsxMzcsNiBAQCBz dGF0aWMgdm9pZCBvbWFwX2Rpc2Nvbm5lY3RfcGlwZWxpbmVzKHN0cnVjdCBkcm1fZGV2aWNlICpk ZGV2KQogCWZvciAoaSA9IDA7IGkgPCBwcml2LT5udW1fcGlwZXM7IGkrKykgewogCQlzdHJ1Y3Qg b21hcF9kcm1fcGlwZWxpbmUgKnBpcGUgPSAmcHJpdi0+cGlwZXNbaV07CiAKLQkJaWYgKHBpcGUt Pm91dHB1dC0+cGFuZWwpCi0JCQlkcm1fcGFuZWxfZGV0YWNoKHBpcGUtPm91dHB1dC0+cGFuZWwp OwotCiAJCW9tYXBkc3NfZGV2aWNlX2Rpc2Nvbm5lY3QoTlVMTCwgcGlwZS0+b3V0cHV0KTsKIAog CQlvbWFwZHNzX2RldmljZV9wdXQocGlwZS0+b3V0cHV0KTsKQEAgLTIyNSw4ICsyMjEsNiBAQCBz dGF0aWMgaW50IG9tYXBfZGlzcGxheV9pZChzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpvdXRwdXQp CiAJCQlicmlkZ2UgPSBicmlkZ2UtPm5leHQ7CiAKIAkJbm9kZSA9IGJyaWRnZS0+b2Zfbm9kZTsK LQl9IGVsc2UgaWYgKG91dHB1dC0+cGFuZWwpIHsKLQkJbm9kZSA9IG91dHB1dC0+cGFuZWwtPmRl di0+b2Zfbm9kZTsKIAl9CiAKIAlyZXR1cm4gbm9kZSA/IG9mX2FsaWFzX2dldF9pZChub2RlLCAi ZGlzcGxheSIpIDogLUVOT0RFVjsKQEAgLTM0MiwxMyArMzM2LDYgQEAgc3RhdGljIGludCBvbWFw X21vZGVzZXRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJCXJldHVybiAtRU5PTUVN OwogCiAJCQlkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKHBpcGUtPmNvbm5lY3RvciwgZW5j b2Rlcik7Ci0KLQkJCWlmIChwaXBlLT5vdXRwdXQtPnBhbmVsKSB7Ci0JCQkJcmV0ID0gZHJtX3Bh bmVsX2F0dGFjaChwaXBlLT5vdXRwdXQtPnBhbmVsLAotCQkJCQkJICAgICAgIHBpcGUtPmNvbm5l Y3Rvcik7Ci0JCQkJaWYgKHJldCA8IDApCi0JCQkJCXJldHVybiByZXQ7Ci0JCQl9CiAJCX0KIAog CQljcnRjID0gb21hcF9jcnRjX2luaXQoZGV2LCBwaXBlLCBwcml2LT5wbGFuZXNbaV0pOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMgYi9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYwppbmRleCA4Y2FlMmFmMTQzOGYuLjUxMDg4 ODQxMzA2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVy LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKQEAgLTIwLDcg KzIwLDYgQEAKICNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX21v ZGVzZXRfaGVscGVyX3Z0YWJsZXMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2VkaWQuaD4KLSNpbmNs dWRlIDxkcm0vZHJtX3BhbmVsLmg+CiAKICNpbmNsdWRlICJvbWFwX2Rydi5oIgogCkBAIC0xNjYs MTIgKzE2NSw2IEBAIHN0YXRpYyB2b2lkIG9tYXBfZW5jb2Rlcl9kaXNhYmxlKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlcikKIAogCWRldl9kYmcoZGV2LT5kZXYsICJkaXNhYmxlKCVzKVxuIiwg ZHNzZGV2LT5uYW1lKTsKIAotCS8qIERpc2FibGUgdGhlIHBhbmVsIGlmIHByZXNlbnQuICovCi0J aWYgKGRzc2Rldi0+cGFuZWwpIHsKLQkJZHJtX3BhbmVsX2Rpc2FibGUoZHNzZGV2LT5wYW5lbCk7 Ci0JCWRybV9wYW5lbF91bnByZXBhcmUoZHNzZGV2LT5wYW5lbCk7Ci0JfQotCiAJLyoKIAkgKiBE aXNhYmxlIHRoZSBjaGFpbiBvZiBleHRlcm5hbCBkZXZpY2VzLCBzdGFydGluZyBhdCB0aGUgb25l IGF0IHRoZQogCSAqIGludGVybmFsIGVuY29kZXIncyBvdXRwdXQuCkBAIC0yMjEsMTIgKzIxNCw2 IEBAIHN0YXRpYyB2b2lkIG9tYXBfZW5jb2Rlcl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyKQogCSAqIGludGVybmFsIGVuY29kZXIncyBvdXRwdXQuCiAJICovCiAJb21hcGRzc19k ZXZpY2VfZW5hYmxlKGRzc2Rldi0+bmV4dCk7Ci0KLQkvKiBFbmFibGUgdGhlIHBhbmVsIGlmIHBy ZXNlbnQuICovCi0JaWYgKGRzc2Rldi0+cGFuZWwpIHsKLQkJZHJtX3BhbmVsX3ByZXBhcmUoZHNz ZGV2LT5wYW5lbCk7Ci0JCWRybV9wYW5lbF9lbmFibGUoZHNzZGV2LT5wYW5lbCk7Ci0JfQogfQog CiBzdGF0aWMgaW50IG9tYXBfZW5jb2Rlcl9hdG9taWNfY2hlY2soc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyLAotLSAKUmVnYXJkcywKCkxhdXJlbnQgUGluY2hhcnQKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==