From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: [PATCH v2 11/28] drm: omapdrm: dss: Select features based on compatible string Date: Mon, 8 May 2017 14:32:46 +0300 Message-ID: <20170508113303.27521-12-laurent.pinchart@ideasonboard.com> References: <20170508113303.27521-1-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [IPv6:2001:4b98:dc2:45:216:3eff:febb:480d]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6AC7B6E22B for ; Mon, 8 May 2017 11:33:18 +0000 (UTC) In-Reply-To: <20170508113303.27521-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: Tomi Valkeinen List-Id: dri-devel@lists.freedesktop.org VXNlIHRoZSBjb21wYXRpYmxlIHN0cmluZyBpbnN0ZWFkIG9mIHRoZSBPTUFQIFNvQyByZXZpc2lv biB0byBkZXRlcm1pbmUKZGV2aWNlIGZlYXR1cmVzLiBUaGUgdmFyaW91cyBPTUFQMy1iYXNlZCBT b0NzIGNhbiBiZSB0b2xkIGFwYXJ0IGZyb20gdGhlCmNvbXBhdGlibGUgc3RyaW5nLCB1c2Ugc29j X2RldmljZV9tYXRjaCgpIHRvIHRlbGwgdGhlbSBhcGFydC4KClNpZ25lZC1vZmYtYnk6IExhdXJl bnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNzLmMgfCA5NyArKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCA2OCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNz LmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNzLmMKaW5kZXggNjE5NmYzYWI3M2I3 Li41NzM5ZDBkNjIxNmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9k c3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNzLmMKQEAgLTM4LDkgKzM4 LDExIEBACiAjaW5jbHVkZSA8bGludXgvbWZkL3N5c2Nvbi5oPgogI2luY2x1ZGUgPGxpbnV4L3Jl Z21hcC5oPgogI2luY2x1ZGUgPGxpbnV4L29mLmg+CisjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNl Lmg+CiAjaW5jbHVkZSA8bGludXgvcmVndWxhdG9yL2NvbnN1bWVyLmg+CiAjaW5jbHVkZSA8bGlu dXgvc3VzcGVuZC5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBvbmVudC5oPgorI2luY2x1ZGUgPGxp bnV4L3N5c19zb2MuaD4KIAogI2luY2x1ZGUgIm9tYXBkc3MuaCIKICNpbmNsdWRlICJkc3MuaCIK QEAgLTk5Myw2MCArOTk1LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkc3NfZmVhdHVyZXMgZHJh N3h4X2Rzc19mZWF0cyA9IHsKIAkuc2VsZWN0X2xjZF9zb3VyY2UJPQkmZHNzX2xjZF9jbGtfbXV4 X2RyYTcsCiB9OwogCi1zdGF0aWMgaW50IGRzc19pbml0X2ZlYXR1cmVzKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCi17Ci0JY29uc3Qgc3RydWN0IGRzc19mZWF0dXJlcyAqc3JjOwotCXN0 cnVjdCBkc3NfZmVhdHVyZXMgKmRzdDsKLQotCWRzdCA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2 LCBzaXplb2YoKmRzdCksIEdGUF9LRVJORUwpOwotCWlmICghZHN0KSB7Ci0JCWRldl9lcnIoJnBk ZXYtPmRldiwgIkZhaWxlZCB0byBhbGxvY2F0ZSBsb2NhbCBEU1MgRmVhdHVyZXNcbiIpOwotCQly ZXR1cm4gLUVOT01FTTsKLQl9Ci0KLQlzd2l0Y2ggKG9tYXBkc3NfZ2V0X3ZlcnNpb24oKSkgewot CWNhc2UgT01BUERTU19WRVJfT01BUDI0eHg6Ci0JCXNyYyA9ICZvbWFwMjR4eF9kc3NfZmVhdHM7 Ci0JCWJyZWFrOwotCi0JY2FzZSBPTUFQRFNTX1ZFUl9PTUFQMzR4eF9FUzE6Ci0JY2FzZSBPTUFQ RFNTX1ZFUl9PTUFQMzR4eF9FUzM6Ci0JY2FzZSBPTUFQRFNTX1ZFUl9BTTM1eHg6Ci0JCXNyYyA9 ICZvbWFwMzR4eF9kc3NfZmVhdHM7Ci0JCWJyZWFrOwotCi0JY2FzZSBPTUFQRFNTX1ZFUl9PTUFQ MzYzMDoKLQkJc3JjID0gJm9tYXAzNjMwX2Rzc19mZWF0czsKLQkJYnJlYWs7Ci0KLQljYXNlIE9N QVBEU1NfVkVSX09NQVA0NDMwX0VTMToKLQljYXNlIE9NQVBEU1NfVkVSX09NQVA0NDMwX0VTMjoK LQljYXNlIE9NQVBEU1NfVkVSX09NQVA0OgotCQlzcmMgPSAmb21hcDQ0eHhfZHNzX2ZlYXRzOwot CQlicmVhazsKLQotCWNhc2UgT01BUERTU19WRVJfT01BUDU6Ci0JCXNyYyA9ICZvbWFwNTR4eF9k c3NfZmVhdHM7Ci0JCWJyZWFrOwotCi0JY2FzZSBPTUFQRFNTX1ZFUl9BTTQzeHg6Ci0JCXNyYyA9 ICZhbTQzeHhfZHNzX2ZlYXRzOwotCQlicmVhazsKLQotCWNhc2UgT01BUERTU19WRVJfRFJBN3h4 OgotCQlzcmMgPSAmZHJhN3h4X2Rzc19mZWF0czsKLQkJYnJlYWs7Ci0KLQlkZWZhdWx0OgotCQly ZXR1cm4gLUVOT0RFVjsKLQl9Ci0KLQltZW1jcHkoZHN0LCBzcmMsIHNpemVvZigqZHN0KSk7Ci0J ZHNzLmZlYXQgPSBkc3Q7Ci0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIGludCBkc3NfaW5pdF9w b3J0cyhzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewogCXN0cnVjdCBkZXZpY2Vfbm9k ZSAqcGFyZW50ID0gcGRldi0+ZGV2Lm9mX25vZGU7CkBAIC0xMTk1LDE4ICsxMTQzLDQyIEBAIHN0 YXRpYyBpbnQgZHNzX3ZpZGVvX3BsbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogfQogCiAvKiBEU1MgSFcgSVAgaW5pdGlhbGlzYXRpb24gKi8KK3N0YXRpYyBjb25zdCBzdHJ1 Y3Qgb2ZfZGV2aWNlX2lkIGRzc19vZl9tYXRjaFtdID0geworCXsgLmNvbXBhdGlibGUgPSAidGks b21hcDItZHNzIiwgLmRhdGEgPSAmb21hcDI0eHhfZHNzX2ZlYXRzIH0sCisJeyAuY29tcGF0aWJs ZSA9ICJ0aSxvbWFwMy1kc3MiLCAuZGF0YSA9ICZvbWFwMzYzMF9kc3NfZmVhdHMgfSwKKwl7IC5j b21wYXRpYmxlID0gInRpLG9tYXA0LWRzcyIsIC5kYXRhID0gJm9tYXA0NHh4X2Rzc19mZWF0cyB9 LAorCXsgLmNvbXBhdGlibGUgPSAidGksb21hcDUtZHNzIiwgLmRhdGEgPSAmb21hcDU0eHhfZHNz X2ZlYXRzIH0sCisJeyAuY29tcGF0aWJsZSA9ICJ0aSxkcmE3LWRzcyIsICAuZGF0YSA9ICZkcmE3 eHhfZHNzX2ZlYXRzIH0sCisJe30sCit9OworTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgZHNzX29m X21hdGNoKTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZGV2aWNlX2F0dHJpYnV0ZSBkc3Nf c29jX2RldmljZXNbXSA9IHsKKwl7IC5tYWNoaW5lID0gIk9NQVAzNDMwLzM1MzAiLCAuZGF0YSA9 ICZvbWFwMzR4eF9kc3NfZmVhdHMgfSwKKwl7IC5tYWNoaW5lID0gIkFNMzU/PyIsICAgICAgICAu ZGF0YSA9ICZvbWFwMzR4eF9kc3NfZmVhdHMgfSwKKwl7IC5mYW1pbHkgID0gIkFNNDN4eCIsICAg ICAgICAuZGF0YSA9ICZhbTQzeHhfZHNzX2ZlYXRzIH0sCisJeyAvKiBzZW50aW5lbCAqLyB9Cit9 OworCiBzdGF0aWMgaW50IGRzc19iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gdG9fcGxhdGZvcm1fZGV2aWNlKGRldik7CisJY29uc3Qg c3RydWN0IHNvY19kZXZpY2VfYXR0cmlidXRlICpzb2M7CiAJc3RydWN0IHJlc291cmNlICpkc3Nf bWVtOwogCXUzMiByZXY7CiAJaW50IHI7CiAKIAlkc3MucGRldiA9IHBkZXY7CiAKLQlyID0gZHNz X2luaXRfZmVhdHVyZXMoZHNzLnBkZXYpOwotCWlmIChyKQotCQlyZXR1cm4gcjsKKwkvKgorCSAq IFRoZSB2YXJpb3VzIE9NQVAzLWJhc2VkIFNvQ3MgY2FuIGJlIHRvbGQgYXBhcnQgZnJvbSB0aGUg Y29tcGF0aWJsZQorCSAqIHN0cmluZywgdXNlIFNvQyBkZXZpY2UgbWF0Y2hpbmcuCisJICovCisJ c29jID0gc29jX2RldmljZV9tYXRjaChkc3Nfc29jX2RldmljZXMpOworCWlmIChzb2MpCisJCWRz cy5mZWF0ID0gc29jLT5kYXRhOworCWVsc2UKKwkJZHNzLmZlYXQgPSBvZl9tYXRjaF9kZXZpY2Uo ZHNzX29mX21hdGNoLCAmcGRldi0+ZGV2KS0+ZGF0YTsKIAogCWRzc19tZW0gPSBwbGF0Zm9ybV9n ZXRfcmVzb3VyY2UoZHNzLnBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKIAlkc3MuYmFzZSA9IGRl dm1faW9yZW1hcF9yZXNvdXJjZSgmcGRldi0+ZGV2LCBkc3NfbWVtKTsKQEAgLTEzOTQsMTcgKzEz NjYsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRldl9wbV9vcHMgZHNzX3BtX29wcyA9IHsKIAku cnVudGltZV9yZXN1bWUgPSBkc3NfcnVudGltZV9yZXN1bWUsCiB9OwogCi1zdGF0aWMgY29uc3Qg c3RydWN0IG9mX2RldmljZV9pZCBkc3Nfb2ZfbWF0Y2hbXSA9IHsKLQl7IC5jb21wYXRpYmxlID0g InRpLG9tYXAyLWRzcyIsIH0sCi0JeyAuY29tcGF0aWJsZSA9ICJ0aSxvbWFwMy1kc3MiLCB9LAot CXsgLmNvbXBhdGlibGUgPSAidGksb21hcDQtZHNzIiwgfSwKLQl7IC5jb21wYXRpYmxlID0gInRp LG9tYXA1LWRzcyIsIH0sCi0JeyAuY29tcGF0aWJsZSA9ICJ0aSxkcmE3LWRzcyIsIH0sCi0Je30s Ci19OwotCi1NT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBkc3Nfb2ZfbWF0Y2gpOwotCiBzdGF0aWMg c3RydWN0IHBsYXRmb3JtX2RyaXZlciBvbWFwX2Rzc2h3X2RyaXZlciA9IHsKIAkucHJvYmUJCT0g ZHNzX3Byb2JlLAogCS5yZW1vdmUJCT0gZHNzX3JlbW92ZSwKLS0gClJlZ2FyZHMsCgpMYXVyZW50 IFBpbmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK