From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukas Wunner Subject: Re: [PATCH v2 08/40] drm: Add a simple prime number generator Date: Fri, 16 Dec 2016 10:31:17 +0100 Message-ID: <20161216093117.GA11910@wunner.de> References: <20161216074718.32500-1-chris@chris-wilson.co.uk> <20161216074718.32500-9-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20161216074718.32500-9-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: Chris Wilson Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBEZWMgMTYsIDIwMTYgYXQgMDc6NDY6NDZBTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFByaW1lIG51bWJlcnMgYXJlIGludGVyZXN0aW5nIGZvciB0ZXN0aW5nIGNvbXBvbmVu dHMgdGhhdCB1c2UgbXVsdGlwbGllcwo+IGFuZCBkaXZpZGVzLCBzdWNoIGFzIHRlc3Rpbmcgc3Ry dWN0IGRybV9tbSBhbGlnbm1lbnQgY29tcHV0YXRpb25zLgo+IAo+IFNpZ25lZC1vZmYtYnk6IENo cmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vS2NvbmZpZyAgICAgICAgICAgICAgICAgfCAgIDQgKwo+ICBkcml2ZXJzL2dwdS9kcm0v TWFrZWZpbGUgICAgICAgICAgICAgICAgfCAgIDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0vbGliL2Ry bV9wcmltZV9udW1iZXJzLmMgfCAxNzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK PiAgZHJpdmVycy9ncHUvZHJtL2xpYi9kcm1fcHJpbWVfbnVtYmVycy5oIHwgIDEwICsrCj4gIDQg ZmlsZXMgY2hhbmdlZCwgMTkwIGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvZ3B1L2RybS9saWIvZHJtX3ByaW1lX251bWJlcnMuYwo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9ncHUvZHJtL2xpYi9kcm1fcHJpbWVfbnVtYmVycy5oCgpIbSwgd2h5IG5vdCBw dXQgdGhpcyBpbiBsaWIvID8gIERvbid0IHNlZSBhbnl0aGluZyBEUk0tc3BlY2lmaWMgaGVyZQph dCBmaXJzdCBnbGFuY2UgYW5kIHRoaXMgbWlnaHQgYmUgdXNlZnVsIHRvIG90aGVycy4gIE9yIG90 aGVycyBtaWdodApjb21lIHVwIHdpdGggaW1wcm92ZW1lbnRzIGFuZCB0aGV5J2xsIGJlIG1vcmUg bGlrZWx5IHRvIGRpc2NvdmVyIGl0Cm91dHNpZGUgb2YgRFJNLgoKU2FtZSBmb3IgdGhlIHJhbmRv bSBwZXJtdXRhdGlvbnMgcGF0Y2guCgpUaGFua3MsCgpMdWthcwoKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL0tjb25maWcgYi9kcml2ZXJzL2dwdS9kcm0vS2NvbmZpZwo+IGluZGV4 IDJlNmFlOTU0NTllNC4uOTM4OTU4OThkNTk2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9LY29uZmlnCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKPiBAQCAtNTMsNiArNTMs NyBAQCBjb25maWcgRFJNX0RFQlVHX01NX1NFTEZURVNUCj4gIAlkZXBlbmRzIG9uIERSTQo+ICAJ ZGVwZW5kcyBvbiBERUJVR19LRVJORUwKPiAgCXNlbGVjdCBEUk1fTElCX1JBTkRPTQo+ICsJc2Vs ZWN0IERSTV9MSUJfUFJJTUVTCj4gIAlkZWZhdWx0IG4KPiAgCWhlbHAKPiAgCSAgVGhpcyBvcHRp b24gcHJvdmlkZXMgYSBrZXJuZWwgbW9kdWxlIHRoYXQgY2FuIGJlIHVzZWQgdG8gdGVzdAo+IEBA IC0zNDAsMyArMzQxLDYgQEAgY29uZmlnIERSTV9MSUJfUkFORE9NCj4gIAlib29sCj4gIAlkZWZh dWx0IG4KPiAgCj4gK2NvbmZpZyBEUk1fTElCX1BSSU1FUwo+ICsJYm9vbAo+ICsJZGVmYXVsdCBu Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2Ry bS9NYWtlZmlsZQo+IGluZGV4IDBmYTE2Mjc1ZmRhZS4uYmJkMzkwZmE4OTE0IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9NYWtl ZmlsZQo+IEBAIC0xOSw2ICsxOSw3IEBAIGRybS15ICAgICAgIDo9CWRybV9hdXRoLm8gZHJtX2J1 ZnMubyBkcm1fY2FjaGUubyBcCj4gIAkJZHJtX2R1bWJfYnVmZmVycy5vIGRybV9tb2RlX2NvbmZp Zy5vCj4gIAo+ICBkcm0tJChDT05GSUdfRFJNX0xJQl9SQU5ET00pICs9IGxpYi9kcm1fcmFuZG9t Lm8KPiArb2JqLSQoQ09ORklHX0RSTV9MSUJfUFJJTUVTKSArPSBsaWIvZHJtX3ByaW1lX251bWJl cnMubwo+ICBvYmotJChDT05GSUdfRFJNX0RFQlVHX01NX1NFTEZURVNUKSArPSBzZWxmdGVzdHMv dGVzdC1kcm1fbW0ubwo+ICAKPiAgZHJtLSQoQ09ORklHX0NPTVBBVCkgKz0gZHJtX2lvYzMyLm8K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2xpYi9kcm1fcHJpbWVfbnVtYmVycy5jIGIv ZHJpdmVycy9ncHUvZHJtL2xpYi9kcm1fcHJpbWVfbnVtYmVycy5jCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjgzOTU2M2Q5Yjc4Nwo+IC0tLSAvZGV2L251bGwK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbGliL2RybV9wcmltZV9udW1iZXJzLmMKPiBAQCAtMCww ICsxLDE3NSBAQAo+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gKyNpbmNsdWRlIDxsaW51 eC9tdXRleC5oPgo+ICsjaW5jbHVkZSA8bGludXgvc2xhYi5oPgo+ICsKPiArI2luY2x1ZGUgImRy bV9wcmltZV9udW1iZXJzLmgiCj4gKwo+ICtzdGF0aWMgREVGSU5FX01VVEVYKGxvY2spOwo+ICsK PiArc3RhdGljIHN0cnVjdCBwcmltZXMgewo+ICsJc3RydWN0IHJjdV9oZWFkIHJjdTsKPiArCXVu c2lnbmVkIGxvbmcgbGFzdCwgc3o7Cj4gKwl1bnNpZ25lZCBsb25nIHByaW1lc1tdOwo+ICt9IF9f cmN1ICpwcmltZXM7Cj4gKwo+ICtzdGF0aWMgYm9vbCBzbG93X2lzX3ByaW1lX251bWJlcih1bnNp Z25lZCBsb25nIHgpCj4gK3sKPiArCXVuc2lnbmVkIGxvbmcgeSA9IGludF9zcXJ0KHgpICsgMTsK PiArCj4gKwl3aGlsZSAoeSA+IDEpIHsKPiArCQlpZiAoKHggJSB5KSA9PSAwKQo+ICsJCQlicmVh azsKPiArCQl5LS07Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIHkgPT0gMTsKPiArfQo+ICsKPiArc3Rh dGljIHVuc2lnbmVkIGxvbmcgc2xvd19uZXh0X3ByaW1lX251bWJlcih1bnNpZ25lZCBsb25nIHgp Cj4gK3sKPiArCWZvciAoOzspIHsKPiArCQlpZiAoc2xvd19pc19wcmltZV9udW1iZXIoKyt4KSkK PiArCQkJcmV0dXJuIHg7Cj4gKwl9Cj4gK30KPiArCj4gK3N0YXRpYyB1bnNpZ25lZCBsb25nIG1h cmtfbXVsdGlwbGVzKHVuc2lnbmVkIGxvbmcgeCwKPiArCQkJCSAgICB1bnNpZ25lZCBsb25nICpw LAo+ICsJCQkJICAgIHVuc2lnbmVkIGxvbmcgc3RhcnQsCj4gKwkJCQkgICAgdW5zaWduZWQgbG9u ZyBlbmQpCj4gK3sKPiArCXVuc2lnbmVkIGxvbmcgbTsKPiArCj4gKwltID0gMiAqIHg7Cj4gKwlp ZiAobSA8IHN0YXJ0KQo+ICsJCW0gPSAoc3RhcnQgLyB4ICsgMSkgKiB4Owo+ICsKPiArCXdoaWxl IChtIDwgZW5kKSB7Cj4gKwkJX19jbGVhcl9iaXQobSwgcCk7Cj4gKwkJbSArPSB4Owo+ICsJfQo+ ICsKPiArCXJldHVybiB4Owo+ICt9Cj4gKwo+ICtzdGF0aWMgc3RydWN0IHByaW1lcyAqZXhwYW5k KHVuc2lnbmVkIGxvbmcgeCkKPiArewo+ICsJdW5zaWduZWQgbG9uZyBzeiwgeSwgcHJldjsKPiAr CXN0cnVjdCBwcmltZXMgKnAsICpuZXc7Cj4gKwo+ICsJc3ogPSB4ICogeDsKPiArCWlmIChzeiA8 IHgpCj4gKwkJcmV0dXJuIE5VTEw7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmbG9jayk7Cj4gKwlwID0g cmN1X2RlcmVmZXJlbmNlX3Byb3RlY3RlZChwcmltZXMsIGxvY2tkZXBfaXNfaGVsZCgmbG9jaykp Owo+ICsJaWYgKHAgJiYgeCA8IHAtPmxhc3QpCj4gKwkJZ290byB1bmxvY2s7Cj4gKwo+ICsJc3og PSByb3VuZF91cChzeiwgQklUU19QRVJfTE9ORyk7Cj4gKwluZXcgPSBrbWFsbG9jKHNpemVvZigq bmV3KSArIHN6IC8gc2l6ZW9mKGxvbmcpLCBHRlBfS0VSTkVMKTsKPiArCWlmICghbmV3KSB7Cj4g KwkJcCA9IE5VTEw7Cj4gKwkJZ290byB1bmxvY2s7Cj4gKwl9Cj4gKwo+ICsJLyogV2hlcmUgbWVt b3J5IHBlcm1pdHMsIHRyYWNrIHRoZSBwcmltZXMgdXNpbmcgdGhlCj4gKwkgKiBTaWV2ZSBvZiBF cmF0b3N0aGVuZXMuCj4gKwkgKi8KPiArCWlmIChwKSB7Cj4gKwkJcHJldiA9IHAtPnN6Owo+ICsJ CW1lbWNweShuZXctPnByaW1lcywgcC0+cHJpbWVzLCBwcmV2IC8gQklUU19QRVJfTE9ORyk7Cj4g Kwl9IGVsc2Ugewo+ICsJCXByZXYgPSAwOwo+ICsJfQo+ICsJbWVtc2V0KG5ldy0+cHJpbWVzICsg cHJldiAvIEJJVFNfUEVSX0xPTkcsCj4gKwkgICAgICAgMHhmZiwgKHN6IC0gcHJldikgLyBzaXpl b2YobG9uZykpOwo+ICsJZm9yICh5ID0gMlVMOyB5IDwgc3o7IHkgPSBmaW5kX25leHRfYml0KG5l dy0+cHJpbWVzLCBzeiwgeSArIDEpKQo+ICsJCW5ldy0+bGFzdCA9IG1hcmtfbXVsdGlwbGVzKHks IG5ldy0+cHJpbWVzLCBwcmV2LCBzeik7Cj4gKwluZXctPnN6ID0gc3o7Cj4gKwo+ICsJcmN1X2Fz c2lnbl9wb2ludGVyKHByaW1lcywgbmV3KTsKPiArCWlmIChwKQo+ICsJCWtmcmVlX3JjdShwLCBy Y3UpOwo+ICsJcCA9IG5ldzsKPiArCj4gK3VubG9jazoKPiArCW11dGV4X3VubG9jaygmbG9jayk7 Cj4gKwlyZXR1cm4gcDsKPiArfQo+ICsKPiArdW5zaWduZWQgbG9uZyBkcm1fbmV4dF9wcmltZV9u dW1iZXIodW5zaWduZWQgbG9uZyB4KQo+ICt7Cj4gKwlzdHJ1Y3QgcHJpbWVzICpwOwo+ICsKPiAr CWlmICh4IDwgMikKPiArCQlyZXR1cm4gMjsKPiArCj4gKwlyY3VfcmVhZF9sb2NrKCk7Cj4gKwlw ID0gcmN1X2RlcmVmZXJlbmNlKHByaW1lcyk7Cj4gKwlpZiAoIXAgfHwgeCA+PSBwLT5sYXN0KSB7 Cj4gKwkJcmN1X3JlYWRfdW5sb2NrKCk7Cj4gKwo+ICsJCXAgPSBleHBhbmQoeCk7Cj4gKwkJaWYg KCFwKQo+ICsJCQlyZXR1cm4gc2xvd19uZXh0X3ByaW1lX251bWJlcih4KTsKPiArCj4gKwkJcmN1 X3JlYWRfbG9jaygpOwo+ICsJfQo+ICsKPiArCXggPSBmaW5kX25leHRfYml0KHAtPnByaW1lcywg cC0+bGFzdCwgeCArIDEpOwo+ICsJcmN1X3JlYWRfdW5sb2NrKCk7Cj4gKwo+ICsJcmV0dXJuIHg7 Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fbmV4dF9wcmltZV9udW1iZXIpOwo+ICsKPiArYm9v bCBkcm1faXNfcHJpbWVfbnVtYmVyKHVuc2lnbmVkIGxvbmcgeCkKPiArewo+ICsJc3RydWN0IHBy aW1lcyAqcDsKPiArCWJvb2wgcmVzdWx0Owo+ICsKPiArCXN3aXRjaCAoeCkgewo+ICsJY2FzZSAw Ogo+ICsJCXJldHVybiBmYWxzZTsKPiArCWNhc2UgMToKPiArCWNhc2UgMjoKPiArCWNhc2UgMzoK PiArCQlyZXR1cm4gdHJ1ZTsKPiArCX0KPiArCj4gKwlyY3VfcmVhZF9sb2NrKCk7Cj4gKwlwID0g cmN1X2RlcmVmZXJlbmNlKHByaW1lcyk7Cj4gKwlpZiAoIXAgfHwgeCA+PSBwLT5sYXN0KSB7Cj4g KwkJcmN1X3JlYWRfdW5sb2NrKCk7Cj4gKwo+ICsJCXAgPSBleHBhbmQoeCk7Cj4gKwkJaWYgKCFw KQo+ICsJCQlyZXR1cm4gc2xvd19pc19wcmltZV9udW1iZXIoeCk7Cj4gKwo+ICsJCXJjdV9yZWFk X2xvY2soKTsKPiArCX0KPiArCj4gKwlyZXN1bHQgPSB0ZXN0X2JpdCh4LCBwLT5wcmltZXMpOwo+ ICsJcmN1X3JlYWRfdW5sb2NrKCk7Cj4gKwo+ICsJcmV0dXJuIHJlc3VsdDsKPiArfQo+ICtFWFBP UlRfU1lNQk9MKGRybV9pc19wcmltZV9udW1iZXIpOwo+ICsKPiArc3RhdGljIGludCBfX2luaXQg ZHJtX3ByaW1lc19pbml0KHZvaWQpCj4gK3sKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgdm9pZCBfX2V4aXQgZHJtX3ByaW1lc19leGl0KHZvaWQpCj4gK3sKPiArCWlmIChwcmltZXMp Cj4gKwkJa2ZyZWVfcmN1KHByaW1lcywgcmN1KTsKPiArfQo+ICsKPiArbW9kdWxlX2luaXQoZHJt X3ByaW1lc19pbml0KTsKPiArbW9kdWxlX2V4aXQoZHJtX3ByaW1lc19leGl0KTsKPiArCj4gK01P RFVMRV9BVVRIT1IoIkludGVsIENvcnBvcmF0aW9uIik7Cj4gK01PRFVMRV9MSUNFTlNFKCJHUEwi KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2xpYi9kcm1fcHJpbWVfbnVtYmVycy5o IGIvZHJpdmVycy9ncHUvZHJtL2xpYi9kcm1fcHJpbWVfbnVtYmVycy5oCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjdiYzU4Y2Y5YTg2Ywo+IC0tLSAvZGV2L251 bGwKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbGliL2RybV9wcmltZV9udW1iZXJzLmgKPiBAQCAt MCwwICsxLDEwIEBACj4gKyNpZm5kZWYgX19EUk1fUFJJTUVTX0hfXwo+ICsjZGVmaW5lIF9fRFJN X1BSSU1FU19IX18KPiArCj4gK2Jvb2wgZHJtX2lzX3ByaW1lX251bWJlcih1bnNpZ25lZCBsb25n IHgpOwo+ICt1bnNpZ25lZCBsb25nIGRybV9uZXh0X3ByaW1lX251bWJlcih1bnNpZ25lZCBsb25n IHgpOwo+ICsKPiArI2RlZmluZSBkcm1fZm9yX2VhY2hfcHJpbWUocHJpbWUsIG1heCkgXAo+ICsJ Zm9yIChwcmltZSA9IDE7CXByaW1lIDwgKG1heCk7IHByaW1lID0gZHJtX25leHRfcHJpbWVfbnVt YmVyKHByaW1lKSkKPiArCj4gKyNlbmRpZiAvKiBfX0RSTV9QUklNRVNfSF9fICovCj4gLS0gCj4g Mi4xMS4wCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=