From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hyun Kwon Subject: [PATCH v3 8/8] drm: xlnx: zynqmp_dp: Add drm properties Date: Mon, 15 Jan 2018 17:57:11 -0800 Message-ID: <1516067831-11382-8-git-send-email-hyun.kwon@xilinx.com> References: <1516067831-11382-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: <1516067831-11382-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 Cc: Laurent Pinchart , Michal Simek , Hyun Kwon , Daniel Vetter List-Id: devicetree@vger.kernel.org QWRkIGRybSBwcm9wZXJ0aWVzIGZvciBEaXNwbGF5UG9ydCBzeW5jaHJvbm91cyBtb2RlIGFuZCBi cGMKY29uZmlndXJhdGlvbnMuCgpTaWduZWQtb2ZmLWJ5OiBIeXVuIEt3b24gPGh5dW4ua3dvbkB4 aWxpbnguY29tPgotLS0KdjIKLSBTcGxpdCBmcm9tIHRoZSBvcmlnaW5hbCBwYXRjaAotLS0KLS0t CiBkcml2ZXJzL2dwdS9kcm0veGxueC96eW5xbXBfZHAuYyB8IDExNiArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAxMTQgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGxueC96eW5x bXBfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS94bG54L3p5bnFtcF9kcC5jCmluZGV4IDljOWY0ZGYu LmUxZTgyMzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS94bG54L3p5bnFtcF9kcC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS94bG54L3p5bnFtcF9kcC5jCkBAIC0zMDIsNiArMzAyLDggQEAg c3RydWN0IHp5bnFtcF9kcF9jb25maWcgewogICogc3RydWN0IHp5bnFtcF9kcCAtIFhpbGlueCBE aXNwbGF5UG9ydCBjb3JlCiAgKiBAZW5jb2RlcjogdGhlIGRybSBlbmNvZGVyIHN0cnVjdHVyZQog ICogQGNvbm5lY3RvcjogdGhlIGRybSBjb25uZWN0b3Igc3RydWN0dXJlCisgKiBAc3luY19wcm9w OiBzeW5jaHJvbm91cyBtb2RlIHByb3BlcnR5CisgKiBAYnBjX3Byb3A6IGJwYyBtb2RlIHByb3Bl cnR5CiAgKiBAZGV2OiBkZXZpY2Ugc3RydWN0dXJlCiAgKiBAZHBzdWI6IERpc3BsYXkgc3Vic3lz dGVtCiAgKiBAZHJtOiBEUk0gY29yZQpAQCAtMzIzLDYgKzMyNSw4IEBAIHN0cnVjdCB6eW5xbXBf ZHBfY29uZmlnIHsKIHN0cnVjdCB6eW5xbXBfZHAgewogICAgICAgIHN0cnVjdCBkcm1fZW5jb2Rl ciBlbmNvZGVyOwogICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yIGNvbm5lY3RvcjsKKyAgICAg ICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpzeW5jX3Byb3A7CisgICAgICAgc3RydWN0IGRybV9wcm9w ZXJ0eSAqYnBjX3Byb3A7CiAgICAgICAgc3RydWN0IGRldmljZSAqZGV2OwogICAgICAgIHN0cnVj dCB6eW5xbXBfZHBzdWIgKmRwc3ViOwogICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkcm07CkBA IC0xMTE2LDYgKzExMjAsMzcgQEAgc3RhdGljIHZvaWQgenlucW1wX2RwX3VwZGF0ZV9taXNjKHN0 cnVjdCB6eW5xbXBfZHAgKmRwKQogfQoKIC8qKgorICogenlucW1wX2RwX3NldF9zeW5jX21vZGUg LSBTZXQgdGhlIHN5bmMgbW9kZSBiaXQgaW4gdGhlIHNvZnR3YXJlIG1pc2Mgc3RhdGUKKyAqIEBk cDogRGlzcGxheVBvcnQgSVAgY29yZSBzdHJ1Y3R1cmUKKyAqIEBtb2RlOiBmbGFnIGlmIHRoZSBz eW5jIG1vZGUgc2hvdWxkIGJlIG9uIG9yIG9mZgorICoKKyAqIFNldCB0aGUgYml0IGluIHNvZnR3 YXJlIG1pc2Mgc3RhdGUuIFRvIGFwcGx5IHRvIGhhcmR3YXJlLAorICogenlucW1wX2RwX3VwZGF0 ZV9taXNjKCkgc2hvdWxkIGJlIGNhbGxlZC4KKyAqLworc3RhdGljIHZvaWQgenlucW1wX2RwX3Nl dF9zeW5jX21vZGUoc3RydWN0IHp5bnFtcF9kcCAqZHAsIGJvb2wgbW9kZSkKK3sKKyAgICAgICBz dHJ1Y3QgenlucW1wX2RwX2NvbmZpZyAqY29uZmlnID0gJmRwLT5jb25maWc7CisKKyAgICAgICBp ZiAobW9kZSkKKyAgICAgICAgICAgICAgIGNvbmZpZy0+bWlzYzAgfD0gWllOUU1QX0RQX1RYX01B SU5fU1RSRUFNX01JU0MwX1NZTkM7CisgICAgICAgZWxzZQorICAgICAgICAgICAgICAgY29uZmln LT5taXNjMCAmPSB+WllOUU1QX0RQX1RYX01BSU5fU1RSRUFNX01JU0MwX1NZTkM7Cit9CisKKy8q KgorICogenlucW1wX2RwX2dldF9zeW5jX21vZGUgLSBHZXQgdGhlIHN5bmMgbW9kZSBzdGF0ZQor ICogQGRwOiBEaXNwbGF5UG9ydCBJUCBjb3JlIHN0cnVjdHVyZQorICoKKyAqIFJldHVybjogdHJ1 ZSBpZiB0aGUgc3luYyBtb2RlIGlzIG9uLCBvciBmYWxzZQorICovCitzdGF0aWMgYm9vbCB6eW5x bXBfZHBfZ2V0X3N5bmNfbW9kZShzdHJ1Y3QgenlucW1wX2RwICpkcCkKK3sKKyAgICAgICBzdHJ1 Y3QgenlucW1wX2RwX2NvbmZpZyAqY29uZmlnID0gJmRwLT5jb25maWc7CisKKyAgICAgICByZXR1 cm4gISEoY29uZmlnLT5taXNjMCAmIFpZTlFNUF9EUF9UWF9NQUlOX1NUUkVBTV9NSVNDMF9TWU5D KTsKK30KKworLyoqCiAgKiB6eW5xbXBfZHBfc2V0X2JwYyAtIFNldCBicGMgdmFsdWUgaW4gc29m dHdhcmUgbWlzYyBzdGF0ZQogICogQGRwOiBEaXNwbGF5UG9ydCBJUCBjb3JlIHN0cnVjdHVyZQog ICogQGJwYzogYml0cyBwZXIgY29tcG9uZW50CkBAIC0xMTY1LDYgKzEyMDAsMTcgQEAgc3RhdGlj IHU4IHp5bnFtcF9kcF9zZXRfYnBjKHN0cnVjdCB6eW5xbXBfZHAgKmRwLCB1OCBicGMpCiB9Cgog LyoqCisgKiB6eW5xbXBfZHBfZ2V0X2JwYyAtIFNldCBicGMgdmFsdWUgZnJvbSBzb2Z0d2FyZSBz dGF0ZQorICogQGRwOiBEaXNwbGF5UG9ydCBJUCBjb3JlIHN0cnVjdHVyZQorICoKKyAqIFJldHVy bjogY3VycmVudCBicGMgdmFsdWUKKyAqLworc3RhdGljIHU4IHp5bnFtcF9kcF9nZXRfYnBjKHN0 cnVjdCB6eW5xbXBfZHAgKmRwKQoreworICAgICAgIHJldHVybiBkcC0+Y29uZmlnLmJwYzsKK30K KworLyoqCiAgKiB6eW5xbXBfZHBfZW5jb2Rlcl9tb2RlX3NldF90cmFuc2Zlcl91bml0IC0gU2V0 IHRoZSB0cmFuc2ZlciB1bml0IHZhbHVlcwogICogQGRwOiBEaXNwbGF5UG9ydCBJUCBjb3JlIHN0 cnVjdHVyZQogICogQG1vZGU6IHJlcXVlc3RlZCBkaXNwbGF5IG1vZGUKQEAgLTEzNjgsNiArMTQx NCw1MSBAQCBzdGF0aWMgdm9pZCB6eW5xbXBfZHBfY29ubmVjdG9yX2Rlc3Ryb3koc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcikKICAgICAgICBkcm1fY29ubmVjdG9yX2NsZWFudXAoY29u bmVjdG9yKTsKIH0KCitzdGF0aWMgaW50Cit6eW5xbXBfZHBfY29ubmVjdG9yX2F0b21pY19zZXRf cHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0 ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fcHJv cGVydHkgKnByb3BlcnR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dWludDY0X3QgdmFsKQoreworICAgICAgIHN0cnVjdCB6eW5xbXBfZHAgKmRwID0gY29ubmVjdG9y X3RvX2RwKGNvbm5lY3Rvcik7CisgICAgICAgaW50IHJldDsKKworICAgICAgIGlmIChwcm9wZXJ0 eSA9PSBkcC0+c3luY19wcm9wKSB7CisgICAgICAgICAgICAgICB6eW5xbXBfZHBfc2V0X3N5bmNf bW9kZShkcCwgdmFsKTsKKyAgICAgICB9IGVsc2UgaWYgKHByb3BlcnR5ID09IGRwLT5icGNfcHJv cCkgeworICAgICAgICAgICAgICAgdTggYnBjOworCisgICAgICAgICAgICAgICBicGMgPSB6eW5x bXBfZHBfc2V0X2JwYyhkcCwgdmFsKTsKKyAgICAgICAgICAgICAgIGlmIChicGMpIHsKKyAgICAg ICAgICAgICAgICAgICAgICAgZHJtX29iamVjdF9wcm9wZXJ0eV9zZXRfdmFsdWUoJmNvbm5lY3Rv ci0+YmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcHJvcGVydHksIGJwYyk7CisgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IC1FSU5W QUw7CisgICAgICAgICAgICAgICB9CisgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgIHJl dHVybiAtRUlOVkFMOworICAgICAgIH0KKworICAgICAgIHJldHVybiAwOworfQorCitzdGF0aWMg aW50Cit6eW5xbXBfZHBfY29ubmVjdG9yX2F0b21pY19nZXRfcHJvcGVydHkoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKnZhbCkK K3sKKyAgICAgICBzdHJ1Y3QgenlucW1wX2RwICpkcCA9IGNvbm5lY3Rvcl90b19kcChjb25uZWN0 b3IpOworCisgICAgICAgaWYgKHByb3BlcnR5ID09IGRwLT5zeW5jX3Byb3ApCisgICAgICAgICAg ICAgICAqdmFsID0genlucW1wX2RwX2dldF9zeW5jX21vZGUoZHApOworICAgICAgIGVsc2UgaWYg KHByb3BlcnR5ID09IGRwLT5icGNfcHJvcCkKKyAgICAgICAgICAgICAgICp2YWwgPSAgenlucW1w X2RwX2dldF9icGMoZHApOworICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgIHJldHVybiAtRUlO VkFMOworCisgICAgICAgcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9mdW5jcyB6eW5xbXBfZHBfY29ubmVjdG9yX2Z1bmNzID0gewogICAgICAgIC5kZXRl Y3QgICAgICAgICAgICAgICAgID0genlucW1wX2RwX2Nvbm5lY3Rvcl9kZXRlY3QsCiAgICAgICAg LmZpbGxfbW9kZXMgICAgICAgICAgICAgPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0 b3JfbW9kZXMsCkBAIC0xMzc1LDYgKzE0NjYsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9j b25uZWN0b3JfZnVuY3MgenlucW1wX2RwX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKICAgICAgICAuYXRv bWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNh dGVfc3RhdGUsCiAgICAgICAgLmF0b21pY19kZXN0cm95X3N0YXRlICAgPSBkcm1fYXRvbWljX2hl bHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZSwKICAgICAgICAucmVzZXQgICAgICAgICAgICAg ICAgICA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9yZXNldCwKKyAgICAgICAuYXRvbWlj X3NldF9wcm9wZXJ0eSAgICA9IHp5bnFtcF9kcF9jb25uZWN0b3JfYXRvbWljX3NldF9wcm9wZXJ0 eSwKKyAgICAgICAuYXRvbWljX2dldF9wcm9wZXJ0eSAgICA9IHp5bnFtcF9kcF9jb25uZWN0b3Jf YXRvbWljX2dldF9wcm9wZXJ0eSwKIH07Cgogc3RhdGljIHN0cnVjdCBkcm1fY29ubmVjdG9yX2hl bHBlcl9mdW5jcyB6eW5xbXBfZHBfY29ubmVjdG9yX2hlbHBlcl9mdW5jcyA9IHsKQEAgLTE1MjAs NiArMTYxMywxMyBAQCBzdGF0aWMgdm9pZCB6eW5xbXBfZHBfaHBkX3dvcmtfZnVuYyhzdHJ1Y3Qg d29ya19zdHJ1Y3QgKndvcmspCiAgICAgICAgICAgICAgICBkcm1faGVscGVyX2hwZF9pcnFfZXZl bnQoZHAtPmRybSk7CiB9Cgorc3RhdGljIHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgenlucW1w X2RwX2JwY19lbnVtW10gPSB7CisgICAgICAgeyA2LCAiNkJQQyIgfSwKKyAgICAgICB7IDgsICI4 QlBDIiB9LAorICAgICAgIHsgMTAsICIxMEJQQyIgfSwKKyAgICAgICB7IDEyLCAiMTJCUEMiIH0s Cit9OworCiBpbnQgenlucW1wX2RwX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2 aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCiB7CiAgICAgICAgc3RydWN0IHp5bnFtcF9kcHN1YiAq ZHBzdWIgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKQEAgLTE1NTYsMjEgKzE2NTYsMzEgQEAgaW50 IHp5bnFtcF9kcF9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVy LCB2b2lkICpkYXRhKQogICAgICAgIGNvbm5lY3Rvci0+ZHBtcyA9IERSTV9NT0RFX0RQTVNfT0ZG OwoKICAgICAgICBkcC0+ZHJtID0gZHJtOworICAgICAgIGRwLT5zeW5jX3Byb3AgPSBkcm1fcHJv cGVydHlfY3JlYXRlX2Jvb2woZHJtLCAwLCAic3luYyIpOworICAgICAgIGRwLT5icGNfcHJvcCA9 IGRybV9wcm9wZXJ0eV9jcmVhdGVfZW51bShkcm0sIDAsICJicGMiLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6eW5xbXBfZHBfYnBjX2VudW0sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSUkFZX1NJWkUoenlu cW1wX2RwX2JwY19lbnVtKSk7CisKICAgICAgICBkcC0+Y29uZmlnLm1pc2MwICY9IH5aWU5RTVBf RFBfVFhfTUFJTl9TVFJFQU1fTUlTQzBfU1lOQzsKKyAgICAgICBkcm1fb2JqZWN0X2F0dGFjaF9w cm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBkcC0+c3luY19wcm9wLCBmYWxzZSk7CiAgICAgICAg cmV0ID0genlucW1wX2RwX3NldF9icGMoZHAsIDgpOworICAgICAgIGRybV9vYmplY3RfYXR0YWNo X3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsIGRwLT5icGNfcHJvcCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZXQgPyByZXQgOiA4KTsKICAgICAgICB6eW5xbXBfZHBfdXBk YXRlX2JwcChkcCk7CgogICAgICAgIC8qIFRoaXMgZW5hYmxlcyBpbnRlcnJ1cHRzLCBzbyBzaG91 bGQgYmUgY2FsbGVkIGFmdGVyIERSTSBpbml0ICovCiAgICAgICAgcmV0ID0genlucW1wX2RwX2lu aXRfYXV4KGRwKTsKICAgICAgICBpZiAocmV0KSB7CiAgICAgICAgICAgICAgICBkZXZfZXJyKGRw LT5kZXYsICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBEUCBhdXgiKTsKLSAgICAgICAgICAgICAgIGdv dG8gZXJyb3JfY29ubmVjdG9yOworICAgICAgICAgICAgICAgZ290byBlcnJvcl9wcm9wOwogICAg ICAgIH0KICAgICAgICBJTklUX0RFTEFZRURfV09SSygmZHAtPmhwZF93b3JrLCB6eW5xbXBfZHBf aHBkX3dvcmtfZnVuYyk7CgogICAgICAgIHJldHVybiAwOwoKLWVycm9yX2Nvbm5lY3RvcjoKK2Vy cm9yX3Byb3A6CisgICAgICAgZHJtX3Byb3BlcnR5X2Rlc3Ryb3koZHAtPmRybSwgZHAtPmJwY19w cm9wKTsKKyAgICAgICBkcm1fcHJvcGVydHlfZGVzdHJveShkcC0+ZHJtLCBkcC0+c3luY19wcm9w KTsKICAgICAgICB6eW5xbXBfZHBfY29ubmVjdG9yX2Rlc3Ryb3koJmRwLT5jb25uZWN0b3IpOwog ZXJyb3JfZW5jb2RlcjoKICAgICAgICBkcm1fZW5jb2Rlcl9jbGVhbnVwKCZkcC0+ZW5jb2Rlcik7 CkBAIC0xNTg1LDYgKzE2OTUsOCBAQCB2b2lkIHp5bnFtcF9kcF91bmJpbmQoc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCiAgICAgICAgY2FuY2Vs X2RlbGF5ZWRfd29ya19zeW5jKCZkcC0+aHBkX3dvcmspOwogICAgICAgIGRpc2FibGVfaXJxKGRw LT5pcnEpOwogICAgICAgIHp5bnFtcF9kcF9leGl0X2F1eChkcCk7CisgICAgICAgZHJtX3Byb3Bl cnR5X2Rlc3Ryb3koZHAtPmRybSwgZHAtPmJwY19wcm9wKTsKKyAgICAgICBkcm1fcHJvcGVydHlf ZGVzdHJveShkcC0+ZHJtLCBkcC0+c3luY19wcm9wKTsKICAgICAgICB6eW5xbXBfZHBfY29ubmVj dG9yX2Rlc3Ryb3koJmRwLT5jb25uZWN0b3IpOwogICAgICAgIGRybV9lbmNvZGVyX2NsZWFudXAo JmRwLT5lbmNvZGVyKTsKIH0KLS0KMi43LjQKClRoaXMgZW1haWwgYW5kIGFueSBhdHRhY2htZW50 cyBhcmUgaW50ZW5kZWQgZm9yIHRoZSBzb2xlIHVzZSBvZiB0aGUgbmFtZWQgcmVjaXBpZW50KHMp IGFuZCBjb250YWluKHMpIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbiB0aGF0IG1heSBiZSBwcm9w cmlldGFyeSwgcHJpdmlsZWdlZCBvciBjb3B5cmlnaHRlZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4g SWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgZG8gbm90IHJlYWQsIGNvcHks IG9yIGZvcndhcmQgdGhpcyBlbWFpbCBtZXNzYWdlIG9yIGFueSBhdHRhY2htZW50cy4gRGVsZXRl IHRoaXMgZW1haWwgbWVzc2FnZSBhbmQgYW55IGF0dGFjaG1lbnRzIGltbWVkaWF0ZWx5LgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK