From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Subject: [RFC v3 06/12] drm: Add DRM device iterator Date: Thu, 22 Feb 2018 21:06:47 +0100 Message-ID: <20180222200653.19453-7-noralf@tronnes.org> References: <20180222200653.19453-1-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6C46C6EB8E for ; Thu, 22 Feb 2018 20:07:10 +0000 (UTC) In-Reply-To: <20180222200653.19453-1-noralf@tronnes.org> 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: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org, laurent.pinchart@ideasonboard.com List-Id: dri-devel@lists.freedesktop.org QWRkIGZ1bmN0aW9ucyBmb3IgaXRlcmF0aW5nIHRoZSByZWdpc3RlcmVkIERSTSBkZXZpY2VzLgpU aGlzIGlzIGRvbmUgbG9vcGluZyB0aHJvdWdoIHRoZSBwcmltYXJ5IG1pbm9ycyBpbnN0ZWFkIG9m IHVzaW5nIGFuCml0ZXIgb24gZHJtX2NsYXNzIHdoaWNoIGlzIGFsc28gYSBwb3NzaWJpbGl0eS4g VGhlIHJlYXNvbiBpcyB0aGF0CmRybV9taW5vcl9hY3F1aXJlKCkgdGFrZXMgYSByZWYgb24gdGhl IGRybV9kZXZpY2Ugd2hpY2ggaXMgbmVlZGVkLgoKQW5vdGhlciBvcHRpb24gd291bGQgYmUgdG8g YWRkIGEgc2VwYXJhdGUgZHJtX2RldmljZSBsaXN0LgoKU2lnbmVkLW9mZi1ieTogTm9yYWxmIFRy w7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+Ci0tLQoKRG9lcyBhbnlvbmUga25vdyBob3cgSSBj YW4gbWFrZSBjaGVja3BhdGNoIGhhcHB5LCBJJ3ZlIHRyaWVkIHBhcmVudGhlc2VzCmFyb3VuZCBi b3RoIGRldiBhbmQgaXRlcjoKCi06MTI5OiBFUlJPUjogTWFjcm9zIHdpdGggY29tcGxleCB2YWx1 ZXMgc2hvdWxkIGJlIGVuY2xvc2VkIGluIHBhcmVudGhlc2VzCiMxMjk6IEZJTEU6IGluY2x1ZGUv ZHJtL2RybV9kcnYuaDo2Nzk6CisjZGVmaW5lIGRybV9mb3JfZWFjaF9kZXZpY2VfaXRlcihkZXYs IGl0ZXIpIFwKKyAgICAgICB3aGlsZSAoKGRldiA9IGRybV9kZXZpY2VfbGlzdF9pdGVyX25leHQo aXRlcikpKQoKCgogZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYyB8IDYwICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS9kcm1fZHJ2Lmgg ICAgIHwgMzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDk0 IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwppbmRleCA5YWNjMWUxNTc4MTMuLmY4NjlkZTE4NTk4 NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2Rydi5jCkBAIC04NjIsNiArODYyLDY2IEBAIGludCBkcm1fZGV2X3NldF91bmlx dWUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgY29uc3QgY2hhciAqbmFtZSkKIH0KIEVYUE9SVF9T WU1CT0woZHJtX2Rldl9zZXRfdW5pcXVlKTsKIAorLyoqCisgKiBkcm1fZGV2aWNlX2xpc3RfaXRl cl9iZWdpbiAtIEluaXRpYWxpemUgYSBEUk0gZGV2aWNlIGl0ZXJhdG9yCisgKiBAaXRlcjogRFJN IGRldmljZSBpdGVyYXRvcgorICoKKyAqIFNldHMgQGl0ZXIgdXAgdG8gd2FsayB0aGUgcmVnaXN0 ZXJlZCBEUk0gZGV2aWNlcy4gQGl0ZXIgbXVzdCBhbHdheXMgYmUKKyAqIGNsZWFuZWQgdXAgYWdh aW4gYnkgY2FsbGluZyBkcm1fZGV2aWNlX2xpc3RfaXRlcl9lbmQoKS4gSXRlcmF0aW9uIGl0c2Vs ZgorICogaGFwcGVucyB1c2luZyBkcm1fZGV2aWNlX2xpc3RfaXRlcl9uZXh0KCkgb3IgZHJtX2Zv cl9lYWNoX2RldmljZV9pdGVyKCkuCisgKi8KK3ZvaWQgZHJtX2RldmljZV9saXN0X2l0ZXJfYmVn aW4oc3RydWN0IGRybV9kZXZpY2VfbGlzdF9pdGVyICppdGVyKQoreworCWl0ZXItPmRldiA9IE5V TEw7CisJaXRlci0+bWlub3JfaWQgPSAwOworfQorRVhQT1JUX1NZTUJPTChkcm1fZGV2aWNlX2xp c3RfaXRlcl9iZWdpbik7CisKKy8qKgorICogZHJtX2RldmljZV9saXN0X2l0ZXJfbmV4dCAtIFJl dHVybiB0aGUgbmV4dCBEUk0gZGV2aWNlCisgKiBAaXRlcjogRFJNIGRldmljZSBpdGVyYXRvcgor ICoKKyAqIFJldHVybnMgdGhlIG5leHQgRFJNIGRldmljZSBmb3IgQGl0ZXIsIG9yIE5VTEwgd2hl biB0aGVyZSBhcmUgbm8gbW9yZQorICogZGV2aWNlcy4KKyAqLworc3RydWN0IGRybV9kZXZpY2Ug KgorZHJtX2RldmljZV9saXN0X2l0ZXJfbmV4dChzdHJ1Y3QgZHJtX2RldmljZV9saXN0X2l0ZXIg Kml0ZXIpCit7CisJc3RydWN0IGRybV9taW5vciAqbWlub3I7CisKKwlkcm1fZGV2X3B1dChpdGVy LT5kZXYpOworCWl0ZXItPmRldiA9IE5VTEw7CisKKwkvKiBMb29wIHRocm91Z2ggdGhlIHByaW1h cnkgbWlub3JzICovCisJZm9yICg7IGl0ZXItPm1pbm9yX2lkIDwgNjQ7IGl0ZXItPm1pbm9yX2lk KyspIHsKKwkJbWlub3IgPSBkcm1fbWlub3JfYWNxdWlyZShpdGVyLT5taW5vcl9pZCk7CisJCWlm IChJU19FUlIobWlub3IpKQorCQkJY29udGludWU7CisKKwkJaXRlci0+ZGV2ID0gbWlub3ItPmRl djsKKwkJaXRlci0+bWlub3JfaWQrKzsKKwkJcmV0dXJuIG1pbm9yLT5kZXY7CisJfQorCisJcmV0 dXJuIE5VTEw7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9kZXZpY2VfbGlzdF9pdGVyX25leHQpOwor CisvKioKKyAqIGRybV9kZXZpY2VfbGlzdF9pdGVyX2VuZCAtIFRlYXIgZG93biBhIERSTSBkZXZp Y2UgaXRlcmF0b3IKKyAqIEBpdGVyOiBEUk0gZGV2aWNlIGl0ZXJhdG9yCisgKgorICogVGVhcnMg ZG93biBAaXRlciBhbmQgcmVsZWFzZXMgYW55IHJlc291cmNlcyAobGlrZSAmZHJtX2RldmljZSBy ZWZlcmVuY2VzKQorICogYWNxdWlyZWQgd2hpbGUgd2Fsa2luZyB0aGUgZGV2aWNlcy4gVGhpcyBt dXN0IGFsd2F5cyBiZSBjYWxsZWQsIGJvdGggd2hlbgorICogdGhlIGl0ZXJhdGlvbiBjb21wbGV0 ZXMgZnVsbHkgb3Igd2hlbiBpdCB3YXMgYWJvcnRlZCB3aXRob3V0IHdhbGtpbmcgdGhlCisgKiBl bnRpcmUgbGlzdC4KKyAqLwordm9pZCBkcm1fZGV2aWNlX2xpc3RfaXRlcl9lbmQoc3RydWN0IGRy bV9kZXZpY2VfbGlzdF9pdGVyICppdGVyKQoreworCWRybV9kZXZfcHV0KGl0ZXItPmRldik7Cit9 CitFWFBPUlRfU1lNQk9MKGRybV9kZXZpY2VfbGlzdF9pdGVyX2VuZCk7CisKIC8qCiAgKiBEUk0g Q29yZQogICogVGhlIERSTSBjb3JlIG1vZHVsZSBpbml0aWFsaXplcyBhbGwgZ2xvYmFsIERSTSBv YmplY3RzIGFuZCBtYWtlcyB0aGVtCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHJ2Lmgg Yi9pbmNsdWRlL2RybS9kcm1fZHJ2LmgKaW5kZXggZDMyYjY4OGViMzQ2Li4zMTNhMjNlZTdiMzAg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9kcnYuaAorKysgYi9pbmNsdWRlL2RybS9kcm1f ZHJ2LmgKQEAgLTY0NCw1ICs2NDQsMzkgQEAgc3RhdGljIGlubGluZSBpbnQgZHJtX2Rldl9pc191 bnBsdWdnZWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogaW50IGRybV9kZXZfc2V0X3VuaXF1 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBjb25zdCBjaGFyICpuYW1lKTsKIAorLyoqCisgKiBz dHJ1Y3QgZHJtX2RldmljZV9saXN0X2l0ZXIgLSBEUk0gZGV2aWNlIGl0ZXJhdG9yCisgKgorICog VGhpcyBpdGVyYXRvciB0cmFja3Mgc3RhdGUgbmVlZGVkIHRvIGJlIGFibGUgdG8gd2FsayB0aGUg cmVnaXN0ZXJlZAorICogRFJNIGRldmljZXMuIE9ubHkgdXNlIHRvZ2V0aGVyIHdpdGggZHJtX2Rl dmljZV9saXN0X2l0ZXJfYmVnaW4oKSwKKyAqIGRybV9kZXZpY2VfbGlzdF9pdGVyX2VuZCgpIGFu ZCBkcm1fZGV2aWNlX2xpc3RfaXRlcl9uZXh0KCkgcmVzcGVjdGl2ZWx5CisgKiB0aGUgY29udmVu aWVuY2UgbWFjcm8gZHJtX2Zvcl9lYWNoX2RldmljZV9pdGVyKCkuCisgKi8KK3N0cnVjdCBkcm1f ZGV2aWNlX2xpc3RfaXRlciB7CisvKiBwcml2YXRlOiAqLworCXVuc2lnbmVkIGludCBtaW5vcl9p ZDsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2OworfTsKKwordm9pZCBkcm1fZGV2aWNlX2xpc3Rf aXRlcl9iZWdpbihzdHJ1Y3QgZHJtX2RldmljZV9saXN0X2l0ZXIgKml0ZXIpOworc3RydWN0IGRy bV9kZXZpY2UgKgorZHJtX2RldmljZV9saXN0X2l0ZXJfbmV4dChzdHJ1Y3QgZHJtX2RldmljZV9s aXN0X2l0ZXIgKml0ZXIpOwordm9pZCBkcm1fZGV2aWNlX2xpc3RfaXRlcl9lbmQoc3RydWN0IGRy bV9kZXZpY2VfbGlzdF9pdGVyICppdGVyKTsKKworLyoqCisgKiBkcm1fZm9yX2VhY2hfZGV2aWNl X2l0ZXIgLSBEUk0gZGV2aWNlIGl0ZXJhdG9yIG1hY3JvCisgKiBAZGV2OiBEUk0gZGV2aWNlIHBv aW50ZXIgdXNlZCBhcyBjdXJzb3IKKyAqIEBpdGVyOiBEUk0gZGV2aWNlIGl0ZXJhdG9yCisgKgor ICogTm90ZSB0aGF0IEBkZXYgaXMgb25seSB2YWxpZCB3aXRoaW4gdGhlIGxpc3QgYm9keSwgaWYg eW91IHdhbnQgdG8gdXNlIEBkZXYKKyAqIGFmdGVyIGNhbGxpbmcgZHJtX2RldmljZV9saXN0X2l0 ZXJfZW5kKCkgdGhlbiB5b3UgbmVlZCB0byBncmFiIHlvdXIgb3duCisgKiByZWZlcmVuY2UgZmly c3QgdXNpbmcgZHJtX2Rldl9nZXQoKS4KKyAqCisgKiBOb3RlOgorICogVGhlIERSTSBkZXZpY2Ug d2FzIHJlZ2lzdGVyZWQgYXQgdGhlIHBvaW50IHdoZW4gdGhlIHJlZmVyZW5jZSB3YXMgdGFrZW4s CisgKiBidXQgaXQncyBub3QgZ3VhcmFudGVlZCB0aGF0IHRoaXMgaXMgc3RpbGwgdGhlIGNhc2Ug aW5zaWRlIHRoZSBsb29wLgorICovCisjZGVmaW5lIGRybV9mb3JfZWFjaF9kZXZpY2VfaXRlcihk ZXYsIGl0ZXIpIFwKKwl3aGlsZSAoKGRldiA9IGRybV9kZXZpY2VfbGlzdF9pdGVyX25leHQoaXRl cikpKQogCiAjZW5kaWYKLS0gCjIuMTUuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==