From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 06/34] drm: Add a simple linear congruent generator PRNG Date: Mon, 12 Dec 2016 11:53:22 +0000 Message-ID: <20161212115350.780-7-chris@chris-wilson.co.uk> References: <20161212115350.780-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161212115350.780-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Rm9yIHRlc3RpbmcsIHdlIHdhbnQgYSByZXByb2R1Y2libGUgUFJORywgYSBwbGFpbiBsaW5lYXIg Y29uZ3J1ZW50CmdlbmVyYXRvciBpcyBzdWl0YWJsZSBmb3Igb3VyIHZlcnkgbGltaXRlZCBzZWxm dGVzdHMuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vS2NvbmZpZyAgICAgICAgfCAgNSArKysrKwogZHJp dmVycy9ncHUvZHJtL01ha2VmaWxlICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2xpYi9k cm1fcmFuZC5jIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiBkcml2ZXJzL2dwdS9kcm0vbGliL2RybV9yYW5kLmggfCAgOSArKysrKysrKwogNCBmaWxlcyBj aGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUv ZHJtL2xpYi9kcm1fcmFuZC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2xp Yi9kcm1fcmFuZC5oCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL0tjb25maWcgYi9kcml2 ZXJzL2dwdS9kcm0vS2NvbmZpZwppbmRleCBmZDM0MWFiNjljNDYuLjA0ZDFkMGEzMmM1YyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKKysrIGIvZHJpdmVycy9ncHUvZHJtL0tj b25maWcKQEAgLTQ4LDEwICs0OCwxNSBAQCBjb25maWcgRFJNX0RFQlVHX01NCiAKIAkgIElmIGlu IGRvdWJ0LCBzYXkgIk4iLgogCitjb25maWcgRFJNX0xJQl9SQU5ECisJYm9vbAorCWRlZmF1bHQg bgorCiBjb25maWcgRFJNX0RFQlVHX01NX1NFTEZURVNUCiAJdHJpc3RhdGUgImtzZWxmdGVzdHMg Zm9yIERSTSByYW5nZSBtYW5hZ2VyIChzdHJ1Y3QgZHJtX21tKSIKIAlkZXBlbmRzIG9uIERSTQog CWRlcGVuZHMgb24gREVCVUdfS0VSTkVMCisJc2VsZWN0IERSTV9MSUJfUkFORAogCWRlZmF1bHQg bgogCWhlbHAKIAkgIFRoaXMgb3B0aW9uIHByb3ZpZGVzIGEga2VybmVsIG1vZHVsZSB0aGF0IGNh biBiZSB1c2VkIHRvIHRlc3QKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSBi L2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQppbmRleCBjOGFlZDM2ODhiMjAuLjM2M2ViMWEyMzE1 MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9NYWtlZmlsZQpAQCAtMTgsNiArMTgsNyBAQCBkcm0teSAgICAgICA6PQlkcm1fYXV0aC5v IGRybV9idWZzLm8gZHJtX2NhY2hlLm8gXAogCQlkcm1fcGxhbmUubyBkcm1fY29sb3JfbWdtdC5v IGRybV9wcmludC5vIFwKIAkJZHJtX2R1bWJfYnVmZmVycy5vIGRybV9tb2RlX2NvbmZpZy5vCiAK K2RybS0kKENPTkZJR19EUk1fTElCX1JBTkQpICs9IGxpYi9kcm1fcmFuZC5vCiBvYmotJChDT05G SUdfRFJNX0RFQlVHX01NX1NFTEZURVNUKSArPSBzZWxmdGVzdHMvdGVzdC1kcm1fbW0ubwogCiBk cm0tJChDT05GSUdfQ09NUEFUKSArPSBkcm1faW9jMzIubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2xpYi9kcm1fcmFuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2xpYi9kcm1fcmFuZC5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZjIwM2M0N2JiNTI1Ci0tLSAv ZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2xpYi9kcm1fcmFuZC5jCkBAIC0wLDAgKzEs NTEgQEAKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+ CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKworI2luY2x1ZGUgImRybV9yYW5kLmgiCisKK3Uz MiBkcm1fbGNnX3JhbmRvbSh1MzIgKnN0YXRlKQoreworCXUzMiBzID0gKnN0YXRlOworCisjZGVm aW5lIHJvbCh4LCBrKSAoKCh4KSA8PCAoaykpIHwgKCh4KSA+PiAoMzIgLSAoaykpKSkKKwlzID0g KHMgXiByb2wocywgNSkgXiByb2wocywgMjQpKSArIDB4Mzc3OTg4NDk7CisjdW5kZWYgcm9sCisK Kwkqc3RhdGUgPSBzOworCXJldHVybiBzOworfQorRVhQT1JUX1NZTUJPTChkcm1fbGNnX3JhbmRv bSk7CisKK2ludCAqZHJtX3JhbmRvbV9yZW9yZGVyKGludCAqb3JkZXIsIGludCBjb3VudCwgdTMy ICpzdGF0ZSkKK3sKKwlpbnQgbjsKKworCWZvciAobiA9IGNvdW50LTE7IG4gPiAxOyBuLS0pIHsK KwkJaW50IHIgPSBkcm1fbGNnX3JhbmRvbShzdGF0ZSkgJSAobiArIDEpOworCQlpZiAociAhPSBu KSB7CisJCQlpbnQgdG1wID0gb3JkZXJbbl07CisJCQlvcmRlcltuXSA9IG9yZGVyW3JdOworCQkJ b3JkZXJbcl0gPSB0bXA7CisJCX0KKwl9CisKKwlyZXR1cm4gb3JkZXI7Cit9CitFWFBPUlRfU1lN Qk9MKGRybV9yYW5kb21fcmVvcmRlcik7CisKK2ludCAqZHJtX3JhbmRvbV9vcmRlcihpbnQgY291 bnQsIHUzMiAqc3RhdGUpCit7CisJaW50ICpvcmRlcjsKKwlpbnQgbjsKKworCW9yZGVyID0ga21h bGxvY19hcnJheShjb3VudCwgc2l6ZW9mKCpvcmRlciksIEdGUF9URU1QT1JBUlkpOworCWlmICgh b3JkZXIpCisJCXJldHVybiBvcmRlcjsKKworCWZvciAobiA9IDA7IG4gPCBjb3VudDsgbisrKQor CQlvcmRlcltuXSA9IG47CisKKwlyZXR1cm4gZHJtX3JhbmRvbV9yZW9yZGVyKG9yZGVyLCBjb3Vu dCwgc3RhdGUpOworfQorRVhQT1JUX1NZTUJPTChkcm1fcmFuZG9tX29yZGVyKTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9saWIvZHJtX3JhbmQuaCBiL2RyaXZlcnMvZ3B1L2RybS9saWIv ZHJtX3JhbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmEzZjIy ZDExNWFhYwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9saWIvZHJtX3JhbmQu aApAQCAtMCwwICsxLDkgQEAKKyNpZm5kZWYgX19EUk1fUkFORF9IX18KKyNkZWZpbmUgX19EUk1f UkFORF9ICisKK3UzMiBkcm1fbGNnX3JhbmRvbSh1MzIgKnN0YXRlKTsKKworaW50ICpkcm1fcmFu ZG9tX3Jlb3JkZXIoaW50ICpvcmRlciwgaW50IGNvdW50LCB1MzIgKnN0YXRlKTsKK2ludCAqZHJt X3JhbmRvbV9vcmRlcihpbnQgY291bnQsIHUzMiAqc3RhdGUpOworCisjZW5kaWYgLyogX19EUk1f UkFORF9IX18gKi8KLS0gCjIuMTEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==