From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Stone Subject: [RFC PATCH 28/37] drm: mode: Add kref to modes Date: Thu, 19 Mar 2015 04:33:27 +0000 Message-ID: <1426739616-10635-28-git-send-email-daniels@collabora.com> References: <1426739556-10429-1-git-send-email-daniels@collabora.com> <1426739616-10635-1-git-send-email-daniels@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [93.93.135.160]) by gabe.freedesktop.org (Postfix) with ESMTP id 3E03D6E963 for ; Wed, 18 Mar 2015 21:34:03 -0700 (PDT) In-Reply-To: <1426739616-10635-1-git-send-email-daniels@collabora.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 SW4gb3JkZXIgdG8gZXhwb3NlIG1vZGVzIHRvIHVzZXJzLCB3ZSBuZWVkIHRvIGJlIGFibGUgdG8g cmVhc29uIGFib3V0CnRoZWlyIGxpZmV0aW1lcy4gQXMgd2UgY3VycmVudGx5IHRyZWF0IG1vZGVz IGFzIGp1c3QgYSBidWNrZXQgb2YgYml0cyB0bwpiZSBzaG92ZWxsZWQgYXJvdW5kLCB3ZSBjYW4n dCBkbyB0aGF0OiByZWZlcmVuY2UgY291bnRpbmcgdGhlbSBlbmFibGVzCnVzIHRvIHNlbnNpYmx5 IGRlYWwgd2l0aCB0aGVpciBsaWZldGltZXMsIHRvIHByb3ZpZGUgdXNlZnVsIGd1YXJhbnRlZXMK dG8gdXNlcnNwYWNlLgoKU2lnbmVkLW9mZi1ieTogRGFuaWVsIFN0b25lIDxkYW5pZWxzQGNvbGxh Ym9yYS5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgICAgICAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYyB8ICAzICsrLQogZHJpdmVycy9ncHUv ZHJtL2RybV9tb2Rlcy5jICAgICAgIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYyAgICAgICAgfCAgMiArLQogaW5j bHVkZS9kcm0vZHJtX21vZGVzLmggICAgICAgICAgIHwgIDYgKysrKysrCiA1IGZpbGVzIGNoYW5n ZWQsIDQzIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKaW5kZXgg ZTUwZWRhMi4uOTBiZjM1NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKQEAgLTcwMSw3ICs3MDEsNyBAQCB2b2lk IGRybV9jcnRjX2NsZWFudXAoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewogCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAKLQlrZnJlZShjcnRjLT5tb2RlKTsKKwlkcm1fbW9k ZV9kZXN0cm95KGNydGMtPmRldiwgY3J0Yy0+bW9kZSk7CiAJY3J0Yy0+bW9kZSA9IE5VTEw7CiAK IAlrZnJlZShjcnRjLT5nYW1tYV9zdG9yZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMKaW5k ZXggNDY0OTdkZC4uYzIzZjMxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRj X2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYwpAQCAtOTkw LDcgKzk5MCw4IEBAIGludCBkcm1faGVscGVyX2NydGNfbW9kZV9zZXQoc3RydWN0IGRybV9jcnRj ICpjcnRjLAogCWlmIChjcnRjX2Z1bmNzLT5hdG9taWNfY2hlY2spIHsKIAkJcmV0ID0gY3J0Y19m dW5jcy0+YXRvbWljX2NoZWNrKGNydGMsIGNydGNfc3RhdGUpOwogCQlpZiAocmV0KSB7Ci0JCQlr ZnJlZShjcnRjX3N0YXRlLT5tb2RlKTsKKwkJCS8qIFhYWDogY3J0Y19zdGF0ZV9kZXN0cm95PyEg Ki8KKwkJCWRybV9tb2RlX2Rlc3Ryb3koY3J0Yy0+ZGV2LCBjcnRjX3N0YXRlLT5tb2RlKTsKIAkJ CWtmcmVlKGNydGNfc3RhdGUpOwogCiAJCQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9tb2Rlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCmluZGV4 IDA4ODNmNjQuLmU4N2Y1NDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMKQEAgLTgyLDI1ICs4Miw0NCBAQCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZHJtX21vZGVfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiAJCXJldHVybiBOVUxMOwogCX0KIAorCWtyZWZfaW5pdCgmbm1vZGUtPnJlZmNvdW50 KTsKKwlubW9kZS0+ZGV2ID0gZGV2OworCiAJcmV0dXJuIG5tb2RlOwogfQogRVhQT1JUX1NZTUJP TChkcm1fbW9kZV9jcmVhdGUpOwogCiAvKioKLSAqIGRybV9tb2RlX2Rlc3Ryb3kgLSByZW1vdmUg YSBtb2RlCisgKiBkcm1fbW9kZV9mcmVlIC0gZnJlZSBhIG1vZGUKKyAqIEBrcmVmOiBSZWZlcmVu Y2UgY291bnQgaW5zaWRlIG1vZGUKKyAqCisgKiBSZWxlYXNlIHRoZSB1bmlxdWUgSUQgb2YgdGhl IG1vZGUgcmVmZXJyZWQgdG8gYnkgQGtyZWYsIHRoZW4gZnJlZSB0aGUKKyAqIHN0cnVjdHVyZSBp dHNlbGYgdXNpbmcga2ZyZWUuCisgKi8KK3N0YXRpYyB2b2lkIGRybV9tb2RlX2ZyZWUoc3RydWN0 IGtyZWYgKmtyZWYpCit7CisJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPQorCQljb250 YWluZXJfb2Yoa3JlZiwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUsIHJlZmNvdW50KTsKKworCWRy bV9tb2RlX29iamVjdF9wdXQobW9kZS0+ZGV2LCAmbW9kZS0+YmFzZSk7CisKKwlrZnJlZShtb2Rl KTsKK30KKworLyoqCisgKiBkcm1fbW9kZV9kZXN0cm95IC0gZHJvcCByZWZlcmVuY2UgY291bnQg b24gbW9kZQogICogQGRldjogRFJNIGRldmljZQogICogQG1vZGU6IG1vZGUgdG8gcmVtb3ZlCiAg KgotICogUmVsZWFzZSBAbW9kZSdzIHVuaXF1ZSBJRCwgdGhlbiBmcmVlIGl0IEBtb2RlIHN0cnVj dHVyZSBpdHNlbGYgdXNpbmcga2ZyZWUuCisgKiBEcm9wIGEgcmVmZXJlbmNlIG9uIGEgZHJtX21v ZGUuIERvZXMgbm90IGFjdHVhbGx5IGZyZWUgdGhlIG1vZGUsIHVubGVzcworICogdGhlIHJlZmVy ZW5jZSBjb3VudCBkcm9wcyB0byB6ZXJvLgogICovCiB2b2lkIGRybV9tb2RlX2Rlc3Ryb3koc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCiB7CiAJ aWYgKCFtb2RlKQogCQlyZXR1cm47CiAKLQlkcm1fbW9kZV9vYmplY3RfcHV0KGRldiwgJm1vZGUt PmJhc2UpOwotCi0Ja2ZyZWUobW9kZSk7CisJa3JlZl9wdXQoJm1vZGUtPnJlZmNvdW50LCBkcm1f bW9kZV9mcmVlKTsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX21vZGVfZGVzdHJveSk7CiAKQEAgLTg1 MSwxNSArODcwLDE3IEBAIEVYUE9SVF9TWU1CT0woZHJtX21vZGVfc2V0X2NydGNpbmZvKTsKICAq IEBkc3Q6IG1vZGUgdG8gb3ZlcndyaXRlCiAgKiBAc3JjOiBtb2RlIHRvIGNvcHkKICAqCi0gKiBD b3B5IGFuIGV4aXN0aW5nIG1vZGUgaW50byBhbm90aGVyIG1vZGUsIHByZXNlcnZpbmcgdGhlIG9i amVjdCBpZCBhbmQKLSAqIGxpc3QgaGVhZCBvZiB0aGUgZGVzdGluYXRpb24gbW9kZS4KKyAqIENv cHkgYW4gZXhpc3RpbmcgbW9kZSBpbnRvIGFub3RoZXIgbW9kZSwgcHJlc2VydmluZyB0aGUgb2Jq ZWN0IGlkLAorICogcmVmY291bnQsIGFuZCBsaXN0IGhlYWQgb2YgdGhlIGRlc3RpbmF0aW9uIG1v ZGUuCiAgKi8KIHZvaWQgZHJtX21vZGVfY29weShzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZHN0 LCBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqc3JjKQogeworCXN0cnVjdCBrcmVmIHJl ZmNvdW50ID0gZHN0LT5yZWZjb3VudDsKIAlpbnQgaWQgPSBkc3QtPmJhc2UuaWQ7CiAJc3RydWN0 IGxpc3RfaGVhZCBoZWFkID0gZHN0LT5oZWFkOwogCiAJKmRzdCA9ICpzcmM7CisJZHN0LT5yZWZj b3VudCA9IHJlZmNvdW50OwogCWRzdC0+YmFzZS5pZCA9IGlkOwogCWRzdC0+aGVhZCA9IGhlYWQ7 CiB9CkBAIC04ODcsNiArOTA4LDExIEBAIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpkcm1fbW9k ZV9kdXBsaWNhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCWRybV9tb2RlX2NvcHkobm1v ZGUsIG1vZGUpOwogCisJLyogT2Z0ZW4gbW9kZXMgYXJlIGR1cGxpY2F0ZWQgZnJvbSBzdGF0aWMg bGlzdHMgY3JlYXRlZCB1cGZyb250IHdpdGhvdXQKKwkgKiB0aGUgZGV2aWNlIG1lbWJlciBzZXQu IEVuc3VyZSB0aGF0IHdlIGhhdmUgYSByZWFsIHVzYWJsZSBkZXZpY2UgdG8KKwkgKiB3b3JrIGZy b20uICovCisJbm1vZGUtPmRldiA9IGRldjsKKwogCXJldHVybiBubW9kZTsKIH0KIEVYUE9SVF9T WU1CT0woZHJtX21vZGVfZHVwbGljYXRlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90 ZWdyYS9kYy5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKaW5kZXggNjcxN2YwNy4uNGRk NTFmZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2RjLmMKQEAgLTEwMzksNyArMTAzOSw3IEBAIGVycjoKIHN0YXRpYyB2 b2lkIHRlZ3JhX2NydGNfYXRvbWljX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRj LAogCQkJCQkgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKIHsKLQlrZnJlZShzdGF0 ZS0+bW9kZSk7CisJZHJtX21vZGVfZGVzdHJveShjcnRjLT5kZXYsIHN0YXRlLT5tb2RlKTsKIAlr ZnJlZShzdGF0ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5oIGIv aW5jbHVkZS9kcm0vZHJtX21vZGVzLmgKaW5kZXggNDZlZDIwNy4uNzBhNmM3MSAxMDA2NDQKLS0t IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVzLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVzLmgK QEAgLTk5LDkgKzk5LDE1IEBAIGVudW0gZHJtX21vZGVfc3RhdHVzIHsKIHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlIHsKIAkvKiBIZWFkZXIgKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkIGhlYWQ7CisJc3Ry dWN0IGRybV9kZXZpY2UgKmRldjsKIAlzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0IGJhc2U7CiAJc3Ry dWN0IGRybV9tb2RlX21vZGVpbmZvIHVtb2RlOwogCisJLyogQXMgbW9kZSBvYmplY3RzIGFyZSBu b3cgZXhwb3NlZCB0byB1c2Vyc3BhY2UsIHJhdGhlciB0aGFuIGp1c3QKKwkgKiBoYXZpbmcgdGhl aXIgY29udGVudHMgc2hvdmVsbGVkIGFyb3VuZCwgd2UgbWFpbnRhaW4gYSByZWZjb3VudAorCSAq IG9uIHRoZW0gaW4gb3JkZXIgdG8gcmVhc29uIGFib3V0IHRoZWlyIGxpZmV0aW1lcy4gKi8KKwlz dHJ1Y3Qga3JlZiByZWZjb3VudDsKKwogCWNoYXIgbmFtZVtEUk1fRElTUExBWV9NT0RFX0xFTl07 CiAKIAllbnVtIGRybV9tb2RlX3N0YXR1cyBzdGF0dXM7Ci0tIAoyLjMuMgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK