From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 04/11] drm: refactor getproperties/getconnector Date: Thu, 18 Dec 2014 16:01:49 -0500 Message-ID: <1418936516-10754-5-git-send-email-robdclark@gmail.com> References: <1418936516-10754-1-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qg0-f53.google.com (mail-qg0-f53.google.com [209.85.192.53]) by gabe.freedesktop.org (Postfix) with ESMTP id F3AA96EA81 for ; Thu, 18 Dec 2014 13:02:12 -0800 (PST) Received: by mail-qg0-f53.google.com with SMTP id l89so1471351qgf.26 for ; Thu, 18 Dec 2014 13:02:12 -0800 (PST) In-Reply-To: <1418936516-10754-1-git-send-email-robdclark@gmail.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 List-Id: dri-devel@lists.freedesktop.org Qm90aCBuZWVkIHRvIGl0ZXJhdGUgYSBtb2RlIG9iamVjdHMgcHJvcGVydGllcy4gIFNwbGl0IHRo YXQgb3V0IGludG8gYQpoZWxwZXIgc2hhcmVkIGJ5IGJvdGggaW9jdGwgaGFuZGxlcnMsIHNpbmNl IHRoaXMgaXMgZ29pbmcgdG8gYmVjb21lIG1vcmUKY29tcGxpY2F0ZWQgd2hlbiB3ZSBhZGQgYXRv bWljIHByb3BlcnRpZXMgKHdoaWNoIHdpbGwgbmVlZCBmaWx0ZXJpbmcKZnJvbSBsZWdhY3kgdXNl cnNwYWNlKS4KClNpZ25lZC1vZmYtYnk6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4K UmV2aWV3ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgpSZXZpZXdlZC1i eTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vZHJtX2NydGMuYyB8IDEwNSArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCA2MyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fY3J0Yy5jCmluZGV4IDIwMzFlYWQuLmY1ZjM0ZDAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5j CkBAIC0xOTkxLDYgKzE5OTEsMzggQEAgc3RhdGljIHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2Nv bm5lY3Rvcl9nZXRfZW5jb2RlcihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmUKIAlyZXR1cm4g Y29ubmVjdG9yLT5lbmNvZGVyOwogfQogCisvKiBoZWxwZXIgZm9yIGdldGNvbm5lY3RvciBhbmQg Z2V0cHJvcGVydGllcyBpb2N0bHMgKi8KK3N0YXRpYyBpbnQgZ2V0X3Byb3BlcnRpZXMoc3RydWN0 IGRybV9tb2RlX29iamVjdCAqb2JqLAorCQl1aW50MzJfdCBfX3VzZXIgKnByb3BfcHRyLCB1aW50 NjRfdCBfX3VzZXIgKnByb3BfdmFsdWVzLAorCQl1aW50MzJfdCAqYXJnX2NvdW50X3Byb3BzKQor eworCWludCBwcm9wc19jb3VudCA9IG9iai0+cHJvcGVydGllcy0+Y291bnQ7CisJaW50IGksIHJl dCwgY29waWVkID0gMDsKKworCWlmICgoKmFyZ19jb3VudF9wcm9wcyA+PSBwcm9wc19jb3VudCkg JiYgcHJvcHNfY291bnQpIHsKKwkJY29waWVkID0gMDsKKwkJZm9yIChpID0gMDsgaSA8IHByb3Bz X2NvdW50OyBpKyspIHsKKwkJCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3AgPSBvYmotPnByb3Bl cnRpZXMtPnByb3BlcnRpZXNbaV07CisJCQl1aW50NjRfdCB2YWw7CisKKwkJCXJldCA9IGRybV9v YmplY3RfcHJvcGVydHlfZ2V0X3ZhbHVlKG9iaiwgcHJvcCwgJnZhbCk7CisJCQlpZiAocmV0KQor CQkJCXJldHVybiByZXQ7CisKKwkJCWlmIChwdXRfdXNlcihwcm9wLT5iYXNlLmlkLCBwcm9wX3B0 ciArIGNvcGllZCkpCisJCQkJcmV0dXJuIC1FRkFVTFQ7CisKKwkJCWlmIChwdXRfdXNlcih2YWws IHByb3BfdmFsdWVzICsgY29waWVkKSkKKwkJCQlyZXR1cm4gLUVGQVVMVDsKKworCQkJY29waWVk Kys7CisJCX0KKwl9CisJKmFyZ19jb3VudF9wcm9wcyA9IHByb3BzX2NvdW50OworCisJcmV0dXJu IDA7Cit9CisKIC8qKgogICogZHJtX21vZGVfZ2V0Y29ubmVjdG9yIC0gZ2V0IGNvbm5lY3RvciBj b25maWd1cmF0aW9uCiAgKiBAZGV2OiBkcm0gZGV2aWNlIGZvciB0aGUgaW9jdGwKQEAgLTIwMTIs MTUgKzIwNDQsMTIgQEAgaW50IGRybV9tb2RlX2dldGNvbm5lY3RvcihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAogCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKIAlzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKIAlpbnQgbW9kZV9jb3VudCA9IDA7Ci0JaW50IHBy b3BzX2NvdW50ID0gMDsKIAlpbnQgZW5jb2RlcnNfY291bnQgPSAwOwogCWludCByZXQgPSAwOwog CWludCBjb3BpZWQgPSAwOwogCWludCBpOwogCXN0cnVjdCBkcm1fbW9kZV9tb2RlaW5mbyB1X21v ZGU7CiAJc3RydWN0IGRybV9tb2RlX21vZGVpbmZvIF9fdXNlciAqbW9kZV9wdHI7Ci0JdWludDMy X3QgX191c2VyICpwcm9wX3B0cjsKLQl1aW50NjRfdCBfX3VzZXIgKnByb3BfdmFsdWVzOwogCXVp bnQzMl90IF9fdXNlciAqZW5jb2Rlcl9wdHI7CiAKIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1 cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCkBAIC0yMDM5LDggKzIwNjgsNiBAQCBpbnQgZHJtX21v ZGVfZ2V0Y29ubmVjdG9yKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCWdv dG8gb3V0OwogCX0KIAotCXByb3BzX2NvdW50ID0gY29ubmVjdG9yLT5wcm9wZXJ0aWVzLmNvdW50 OwotCiAJZm9yIChpID0gMDsgaSA8IERSTV9DT05ORUNUT1JfTUFYX0VOQ09ERVI7IGkrKykKIAkJ aWYgKGNvbm5lY3Rvci0+ZW5jb2Rlcl9pZHNbaV0gIT0gMCkKIAkJCWVuY29kZXJzX2NvdW50Kys7 CkBAIC0yMDkxLDMwICsyMTE4LDEyIEBAIGludCBkcm1fbW9kZV9nZXRjb25uZWN0b3Ioc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAl9CiAJb3V0X3Jlc3AtPmNvdW50X21vZGVz ID0gbW9kZV9jb3VudDsKIAotCWlmICgob3V0X3Jlc3AtPmNvdW50X3Byb3BzID49IHByb3BzX2Nv dW50KSAmJiBwcm9wc19jb3VudCkgewotCQljb3BpZWQgPSAwOwotCQlwcm9wX3B0ciA9ICh1aW50 MzJfdCBfX3VzZXIgKikodW5zaWduZWQgbG9uZykob3V0X3Jlc3AtPnByb3BzX3B0cik7Ci0JCXBy b3BfdmFsdWVzID0gKHVpbnQ2NF90IF9fdXNlciAqKSh1bnNpZ25lZCBsb25nKShvdXRfcmVzcC0+ cHJvcF92YWx1ZXNfcHRyKTsKLQkJZm9yIChpID0gMDsgaSA8IGNvbm5lY3Rvci0+cHJvcGVydGll cy5jb3VudDsgaSsrKSB7Ci0JCQlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wID0gY29ubmVjdG9y LT5wcm9wZXJ0aWVzLnByb3BlcnRpZXNbaV07Ci0JCQl1aW50NjRfdCB2YWw7Ci0KLQkJCXJldCA9 IGRybV9vYmplY3RfcHJvcGVydHlfZ2V0X3ZhbHVlKCZjb25uZWN0b3ItPmJhc2UsIHByb3AsICZ2 YWwpOwotCQkJaWYgKHJldCkKLQkJCQlnb3RvIG91dDsKLQotCQkJaWYgKHB1dF91c2VyKHByb3At PmJhc2UuaWQsIHByb3BfcHRyICsgY29waWVkKSkgewotCQkJCXJldCA9IC1FRkFVTFQ7Ci0JCQkJ Z290byBvdXQ7Ci0JCQl9Ci0JCQlpZiAocHV0X3VzZXIodmFsLCBwcm9wX3ZhbHVlcyArIGNvcGll ZCkpIHsKLQkJCQlyZXQgPSAtRUZBVUxUOwotCQkJCWdvdG8gb3V0OwotCQkJfQotCQkJY29waWVk Kys7Ci0JCX0KLQl9Ci0Jb3V0X3Jlc3AtPmNvdW50X3Byb3BzID0gcHJvcHNfY291bnQ7CisJcmV0 ID0gZ2V0X3Byb3BlcnRpZXMoJmNvbm5lY3Rvci0+YmFzZSwKKwkJCSh1aW50MzJfdCBfX3VzZXIg KikodW5zaWduZWQgbG9uZykob3V0X3Jlc3AtPnByb3BzX3B0ciksCisJCQkodWludDY0X3QgX191 c2VyICopKHVuc2lnbmVkIGxvbmcpKG91dF9yZXNwLT5wcm9wX3ZhbHVlc19wdHIpLAorCQkJJm91 dF9yZXNwLT5jb3VudF9wcm9wcyk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CiAKIAlpZiAoKG91 dF9yZXNwLT5jb3VudF9lbmNvZGVycyA+PSBlbmNvZGVyc19jb3VudCkgJiYgZW5jb2RlcnNfY291 bnQpIHsKIAkJY29waWVkID0gMDsKQEAgLTQzODgsMTEgKzQzOTcsNiBAQCBpbnQgZHJtX21vZGVf b2JqX2dldF9wcm9wZXJ0aWVzX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCiAJc3RydWN0IGRybV9tb2RlX29ial9nZXRfcHJvcGVydGllcyAqYXJnID0gZGF0YTsKIAlz dHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmo7CiAJaW50IHJldCA9IDA7Ci0JaW50IGk7Ci0JaW50 IGNvcGllZCA9IDA7Ci0JaW50IHByb3BzX2NvdW50ID0gMDsKLQl1aW50MzJfdCBfX3VzZXIgKnBy b3BzX3B0cjsKLQl1aW50NjRfdCBfX3VzZXIgKnByb3BfdmFsdWVzX3B0cjsKIAogCWlmICghZHJt X2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKIAkJcmV0dXJuIC1FSU5W QUw7CkBAIC00NDA5LDM2ICs0NDEzLDExIEBAIGludCBkcm1fbW9kZV9vYmpfZ2V0X3Byb3BlcnRp ZXNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJZ290byBvdXQ7 CiAJfQogCi0JcHJvcHNfY291bnQgPSBvYmotPnByb3BlcnRpZXMtPmNvdW50OwotCi0JLyogVGhp cyBpb2N0bCBpcyBjYWxsZWQgdHdpY2UsIG9uY2UgdG8gZGV0ZXJtaW5lIGhvdyBtdWNoIHNwYWNl IGlzCi0JICogbmVlZGVkLCBhbmQgdGhlIDJuZCB0aW1lIHRvIGZpbGwgaXQuICovCi0JaWYgKChh cmctPmNvdW50X3Byb3BzID49IHByb3BzX2NvdW50KSAmJiBwcm9wc19jb3VudCkgewotCQljb3Bp ZWQgPSAwOwotCQlwcm9wc19wdHIgPSAodWludDMyX3QgX191c2VyICopKHVuc2lnbmVkIGxvbmcp KGFyZy0+cHJvcHNfcHRyKTsKLQkJcHJvcF92YWx1ZXNfcHRyID0gKHVpbnQ2NF90IF9fdXNlciAq KSh1bnNpZ25lZCBsb25nKQotCQkJCSAgKGFyZy0+cHJvcF92YWx1ZXNfcHRyKTsKLQkJZm9yIChp ID0gMDsgaSA8IHByb3BzX2NvdW50OyBpKyspIHsKLQkJCXN0cnVjdCBkcm1fcHJvcGVydHkgKnBy b3AgPSBvYmotPnByb3BlcnRpZXMtPnByb3BlcnRpZXNbaV07Ci0JCQl1aW50NjRfdCB2YWw7Ci0K LQkJCXJldCA9IGRybV9vYmplY3RfcHJvcGVydHlfZ2V0X3ZhbHVlKG9iaiwgcHJvcCwgJnZhbCk7 Ci0JCQlpZiAocmV0KQotCQkJCWdvdG8gb3V0OworCXJldCA9IGdldF9wcm9wZXJ0aWVzKG9iaiwK KwkJCSh1aW50MzJfdCBfX3VzZXIgKikodW5zaWduZWQgbG9uZykoYXJnLT5wcm9wc19wdHIpLAor CQkJKHVpbnQ2NF90IF9fdXNlciAqKSh1bnNpZ25lZCBsb25nKShhcmctPnByb3BfdmFsdWVzX3B0 ciksCisJCQkmYXJnLT5jb3VudF9wcm9wcyk7CiAKLQkJCWlmIChwdXRfdXNlcihwcm9wLT5iYXNl LmlkLCBwcm9wc19wdHIgKyBjb3BpZWQpKSB7Ci0JCQkJcmV0ID0gLUVGQVVMVDsKLQkJCQlnb3Rv IG91dDsKLQkJCX0KLQotCQkJaWYgKHB1dF91c2VyKHZhbCwgcHJvcF92YWx1ZXNfcHRyICsgY29w aWVkKSkgewotCQkJCXJldCA9IC1FRkFVTFQ7Ci0JCQkJZ290byBvdXQ7Ci0JCQl9Ci0JCQljb3Bp ZWQrKzsKLQkJfQotCX0KLQlhcmctPmNvdW50X3Byb3BzID0gcHJvcHNfY291bnQ7CiBvdXQ6CiAJ ZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwogCXJldHVybiByZXQ7Ci0tIAoyLjEuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK