From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Herrmann Subject: [PATCH 5/5] drm: allocate kernel mode-object IDs in cyclic fashion Date: Wed, 9 Sep 2015 14:21:33 +0200 Message-ID: <1441801293-1440-6-git-send-email-dh.herrmann@gmail.com> References: <1441801293-1440-1-git-send-email-dh.herrmann@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f173.google.com (mail-wi0-f173.google.com [209.85.212.173]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9BDEA6E0F6 for ; Wed, 9 Sep 2015 05:22:00 -0700 (PDT) Received: by wicfx3 with SMTP id fx3so154709950wic.1 for ; Wed, 09 Sep 2015 05:21:59 -0700 (PDT) In-Reply-To: <1441801293-1440-1-git-send-email-dh.herrmann@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 Tm93IHRoYXQgd2Ugc3VwcG9ydCBjb25uZWN0b3IgaG90cGx1Z2dpbmcsIHVzZXItc3BhY2UgbWln aHQgc2VlCm1vZGUtb2JqZWN0IElEcyBjb21pbmcgYW5kIGdvaW5nIGFzeW5jaHJvbm91c2x5LiBU aGVyZWZvcmUsIHdlIG11c3QgbWFrZQpzdXJlIHRvIG5vdCByZS11c2Ugb2JqZWN0IElEcywgc28g dG8gbm90IGNvbmZ1c2UgdXNlci1zcGFjZSBhbmQgaW50cm9kdWNlCnJhY2VzLiBUaGVyZWZvcmUs IGFsbCBrZXJuZWwtYWxsb2NhdGVkIG9iamVjdHMgd2lsbCBubyBsb25nZXIgcmVjeWNsZQpJRHMu IEluc3RlYWQsIHdlIHVzZSB0aGUgY3ljbGljIGlkciBhbGxvY2F0b3IgKHdoaWNoIHBlcmZvcm1z IHN0aWxsIGZpbmUKZm9yIHJlYXNvbmFibGUgYWxsb2NhdGlvbiBzY2hlbWVzKS4KCkhvd2V2ZXIs IGZvciB1c2VyLXNwYWNlIGFsbG9jYXRlZCBvYmplY3RzIGxpa2UgZnJhbWVidWZmZXJzLCB3ZSBk b24ndAp3YW50IHRvIHJpc2sgYWxsb3dpbmcgbWFsaWNpb3VzIHVzZXJzIHRvIHNjcmV3IHdpdGgg dGhlIElEIHNwYWNlLgpGdXJ0aGVybW9yZSwgdGhvc2Ugb2JqZWN0cyBoYXBwZW4gdG8gbm90IGJl IHN1YmplY3QgdG8gSUQgaG90cGx1ZyByYWNlcywKYXMgdGhleSdyZSBhbGxvY2F0ZWQgYW5kIGZy ZWVkIGV4cGxpY2l0bHkuIEhlbmNlLCB3ZSBzdGlsbCByZWN5Y2xlIElEcwpmb3IgdGhlc2Ugb2Jq ZWN0cyAod2hpY2ggYXJlIGp1c3QgZnJhbWVidWZmZXJzIHNvIGZhcikuCgpGb3IgYXRvbWljLW1v ZGVzZXR0aW5nLCBvYmplY3RzIGFyZSBsb29rZWQgdXAgYnkgdGhlIGtlcm5lbCB3aXRob3V0CnNw ZWNpZnlpbmcgYW4gb2JqZWN0LXR5cGUuIEhlbmNlLCB3ZSBoYXZlIGEgdGhlb3JldGljYWwgcmFj ZSB3aGVyZSBhCmZyYW1lYnVmZmVyIHJlY3ljbGVzIGEgcHJldmlvdXMgY29ubmVjdG9yIElELiBI b3dldmVyLCB1c2VyLWFsbG9jYXRlZApvYmplY3RzIGFyZSBuZXZlciByZXR1cm5lZCBieSBkcm1f bW9kZV9vYmplY3RfZmluZCgpIChhcyB0aGV5IG5lZWQKc2VwYXJhdGUgcmVmLWNvdW50IGhhbmRs aW5nKSwgc28gdGhpcyByYWNlIGNhbm5vdCBoYXBwZW4gd2l0aCB0aGUKY3VycmVudGx5IGF2YWls YWJsZSBvYmplY3RzLiBFdmVuIGlmIHdlIGFkZCByZWYtY291bnRpbmcgdG8gb3RoZXIKb2JqZWN0 cywgYWxsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIGlzIHRvIG5ldmVyIGxvb2t1cCB1c2VyLWNvbnRy b2xsZWQKb2JqZWN0cyB3aXRoIHRoZSBzYW1lIGZ1bmN0aW9uIGFzIGtlcm5lbC1jb250cm9sbGVk IG9iamVjdHMsIGJ1dCBub3QKc3BlY2lmeWluZyB0aGUgdHlwZS4gVGhpcyBzb3VuZHMgaGlnaGx5 IHVubGlrZWx5IHRvIGhhcHBlbiBldmVyLCBzbyB3ZQpzaG91bGQgYmUgc2FmZSwgYW55d2F5LgoK U2lnbmVkLW9mZi1ieTogRGF2aWQgSGVycm1hbm4gPGRoLmhlcnJtYW5uQGdtYWlsLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCA1IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9jcnRjLmMKaW5kZXggMzNkODc3Yy4uZmQ4YTJlMiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRj LmMKQEAgLTI2OSwxOCArMjY5LDQyIEBAIGNvbnN0IGNoYXIgKmRybV9nZXRfZm9ybWF0X25hbWUo dWludDMyX3QgZm9ybWF0KQogRVhQT1JUX1NZTUJPTChkcm1fZ2V0X2Zvcm1hdF9uYW1lKTsKIAog LyoKKyAqIEZsYWdzIGZvciBkcm1fbW9kZV9vYmplY3RfZ2V0X3JlZygpOgorICogRFJNX01PREVf T0JKRUNUX0lEX1VOTElOS0VEOglBbGxvY2F0ZSB0aGUgb2JqZWN0IElELCBidXQgZG8gbm90IHN0 b3JlIHRoZQorICogCQkJCW9iamVjdCBwb2ludGVyLiBIZW5jZSwgdGhlIG9iamVjdCBpcyBub3QK KyAqIAkJCQlyZWdpc3RlcmVkIGJ1dCBuZWVkcyB0byBiZSBpbnNlcnRlZCBtYW51YWxseS4KKyAq IAkJCQlUaGlzIG11c3QgYmUgdXNlZCBmb3IgaG90cGx1Z2dlZCBvYmplY3RzLgorICogRFJNX01P REVfT0JKRUNUX0lEX1JFQ1lDTEU6CUFsbG93IHJlY3ljbGluZyBwcmV2aW91c2x5IGFsbG9jYXRl ZCBJRHMuIElmCisgKiAJCQkJbm90IHNldCwgdGhlIElEcyBzcGFjZSBpcyBhbGxvY2F0ZWQgaW4g YSBjeWNsaWMKKyAqIAkJCQlmYXNoaW9uLiBUaGlzIHNob3VsZCBiZSB0aGUgZGVmYXVsdCBmb3Ig YWxsCisgKiAJCQkJa2VybmVsIGFsbG9jYXRlZCBvYmplY3RzLCB0byBub3QgY29uZnVzZQorICog CQkJCXVzZXItc3BhY2Ugb24gaG90cGx1Zy4gVGhpcyBtdXN0IG5vdCBiZSB1c2VkCisgKiAJCQkJ Zm9yIHVzZXItYWxsb2NhdGVkIG9iamVjdHMsIHRob3VnaC4KKyAqLworZW51bSB7CisJRFJNX01P REVfT0JKRUNUX0lEX1VOTElOS0VECQk9ICgxVSA8PCAwKSwKKwlEUk1fTU9ERV9PQkpFQ1RfSURf UkVDWUNMRQkJCT0gKDFVIDw8IDEpLAorfTsKKworLyoKICAqIEludGVybmFsIGZ1bmN0aW9uIHRv IGFzc2lnbiBhIHNsb3QgaW4gdGhlIG9iamVjdCBpZHIgYW5kIG9wdGlvbmFsbHkKICAqIHJlZ2lz dGVyIHRoZSBvYmplY3QgaW50byB0aGUgaWRyLgogICovCiBzdGF0aWMgaW50IGRybV9tb2RlX29i amVjdF9nZXRfcmVnKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICAgc3RydWN0IGRybV9t b2RlX29iamVjdCAqb2JqLAogCQkJCSAgIHVpbnQzMl90IG9ial90eXBlLAotCQkJCSAgIGJvb2wg cmVnaXN0ZXJfb2JqKQorCQkJCSAgIHVuc2lnbmVkIGludCBmbGFncykKIHsKKwl2b2lkICpwdHIg PSAoZmxhZ3MgJiBEUk1fTU9ERV9PQkpFQ1RfSURfVU5MSU5LRUQpID8gTlVMTCA6IG9iajsKIAlp bnQgcmV0OwogCiAJbXV0ZXhfbG9jaygmZGV2LT5tb2RlX2NvbmZpZy5pZHJfbXV0ZXgpOwotCXJl dCA9IGlkcl9hbGxvYygmZGV2LT5tb2RlX2NvbmZpZy5jcnRjX2lkciwgcmVnaXN0ZXJfb2JqID8g b2JqIDogTlVMTCwgMSwgMCwgR0ZQX0tFUk5FTCk7CisJaWYgKGZsYWdzICYgRFJNX01PREVfT0JK RUNUX0lEX1JFQ1lDTEUpCisJCXJldCA9IGlkcl9hbGxvYygmZGV2LT5tb2RlX2NvbmZpZy5jcnRj X2lkciwgcHRyLCAxLCAwLAorCQkJCUdGUF9LRVJORUwpOworCWVsc2UKKwkJcmV0ID0gaWRyX2Fs bG9jX2N5Y2xpYygmZGV2LT5tb2RlX2NvbmZpZy5jcnRjX2lkciwgcHRyLCAxLCAwLAorCQkJCSAg ICAgICBHRlBfS0VSTkVMKTsKIAlpZiAocmV0ID49IDApIHsKIAkJLyoKIAkJICogU2V0IHVwIHRo ZSBvYmplY3QgbGlua2luZyB1bmRlciB0aGUgcHJvdGVjdGlvbiBvZiB0aGUgaWRyCkBAIC0zMTIs NyArMzM2LDcgQEAgc3RhdGljIGludCBkcm1fbW9kZV9vYmplY3RfZ2V0X3JlZyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAogaW50IGRybV9tb2RlX29iamVjdF9nZXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKIAkJCXN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwgdWludDMyX3Qgb2JqX3R5cGUp CiB7Ci0JcmV0dXJuIGRybV9tb2RlX29iamVjdF9nZXRfcmVnKGRldiwgb2JqLCBvYmpfdHlwZSwg dHJ1ZSk7CisJcmV0dXJuIGRybV9tb2RlX29iamVjdF9nZXRfcmVnKGRldiwgb2JqLCBvYmpfdHlw ZSwgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIGRybV9tb2RlX29iamVjdF9yZWdpc3RlcihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LApAQCAtNDE0LDcgKzQzOCw4IEBAIGludCBkcm1fZnJhbWVidWZmZXJf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwK IAlmYi0+ZGV2ID0gZGV2OwogCWZiLT5mdW5jcyA9IGZ1bmNzOwogCi0JcmV0ID0gZHJtX21vZGVf b2JqZWN0X2dldChkZXYsICZmYi0+YmFzZSwgRFJNX01PREVfT0JKRUNUX0ZCKTsKKwlyZXQgPSBk cm1fbW9kZV9vYmplY3RfZ2V0X3JlZyhkZXYsICZmYi0+YmFzZSwgRFJNX01PREVfT0JKRUNUX0ZC LAorCQkJCSAgICAgIERSTV9NT0RFX09CSkVDVF9JRF9SRUNZQ0xFKTsKIAlpZiAocmV0KQogCQln b3RvIG91dDsKIApAQCAtODcyLDcgKzg5Nyw5IEBAIGludCBkcm1fY29ubmVjdG9yX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKIAogCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGRldik7CiAKLQly ZXQgPSBkcm1fbW9kZV9vYmplY3RfZ2V0X3JlZyhkZXYsICZjb25uZWN0b3ItPmJhc2UsIERSTV9N T0RFX09CSkVDVF9DT05ORUNUT1IsIGZhbHNlKTsKKwlyZXQgPSBkcm1fbW9kZV9vYmplY3RfZ2V0 X3JlZyhkZXYsICZjb25uZWN0b3ItPmJhc2UsCisJCQkJICAgICAgRFJNX01PREVfT0JKRUNUX0NP Tk5FQ1RPUiwKKwkJCQkgICAgICBEUk1fTU9ERV9PQkpFQ1RfSURfVU5MSU5LRUQpOwogCWlmIChy ZXQpCiAJCWdvdG8gb3V0X3VubG9jazsKIAotLSAKMi41LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==