From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin Peres Subject: Re: [PATCH v2 16/22] volt: don't require perfect fit Date: Tue, 29 Mar 2016 01:55:34 +0300 Message-ID: <56F9B666.8050407@free.fr> References: <1458577000-6615-1-git-send-email-nouveau@karolherbst.de> <1458577000-6615-17-git-send-email-nouveau@karolherbst.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458577000-6615-17-git-send-email-nouveau-lIBOoy2+GI7scQ4cX5LuPg@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Karol Herbst , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org T24gMjEvMDMvMTYgMTg6MTYsIEthcm9sIEhlcmJzdCB3cm90ZToKPiBpZiB3ZSBjYWxjdWxhdGUg dGhlIHZvbHRhZ2UgaW4gdGhlIHRhYmxlIHJpZ2h0LCB3ZSBnZXQgYWxsIGtpbmRzIG9mIHZhbHVl cywKPiB3aGljaCBuZXZlciBmaXQgdGhlIGhhcmR3YXJlIHN0ZXBzLCBzbyB3ZSB1c2UgdGhlIGNs b3Nlc3QgaGlnaGVyIHZhbHVlIHRoZQo+IGhhcmR3YXJlIGNhbiBkbwoKVGhpcyBpcyBpbmRlZWQg dGhlIGdvYWwuCgo+Cj4gU2lnbmVkLW9mZi1ieTogS2Fyb2wgSGVyYnN0IDxub3V2ZWF1QGthcm9s aGVyYnN0LmRlPgo+IC0tLQo+ICAgZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdm9sdC9iYXNlLmMg fCAyNSArKysrKysrKysrKysrKysrKysrKysrLS0tCj4gICAxIGZpbGUgY2hhbmdlZCwgMjIgaW5z ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcm0vbm91dmVhdS9u dmttL3N1YmRldi92b2x0L2Jhc2UuYyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3ZvbHQvYmFz ZS5jCj4gaW5kZXggZTc0MTM4My4uNTg3MzhlMyAxMDA2NDQKPiAtLS0gYS9kcm0vbm91dmVhdS9u dmttL3N1YmRldi92b2x0L2Jhc2UuYwo+ICsrKyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3Zv bHQvYmFzZS5jCj4gQEAgLTUxLDE4ICs1MSwzNyBAQCBzdGF0aWMgaW50Cj4gICBudmttX3ZvbHRf c2V0KHN0cnVjdCBudmttX3ZvbHQgKnZvbHQsIHUzMiB1dikKPiAgIHsKPiAgIAlzdHJ1Y3QgbnZr bV9zdWJkZXYgKnN1YmRldiA9ICZ2b2x0LT5zdWJkZXY7Cj4gLQlpbnQgaSwgcmV0ID0gLUVJTlZB TDsKPiArCWludCBpLCByZXQgPSAtRUlOVkFMLCBlcnIsIGJlc3QgPSAtMTsKPiAgIAo+ICAgCWlm ICh2b2x0LT5mdW5jLT52b2x0X3NldCkKPiAgIAkJcmV0dXJuIHZvbHQtPmZ1bmMtPnZvbHRfc2V0 KHZvbHQsIHV2KTsKPiAgIAo+ICAgCWZvciAoaSA9IDA7IGkgPCB2b2x0LT52aWRfbnI7IGkrKykg ewo+IC0JCWlmICh2b2x0LT52aWRbaV0udXYgPT0gdXYpIHsKPiAtCQkJcmV0ID0gdm9sdC0+ZnVu Yy0+dmlkX3NldCh2b2x0LCB2b2x0LT52aWRbaV0udmlkKTsKPiArCQlpZiAoaSA9PSAwKSB7Cj4g KwkJCWJlc3QgPSAwOwo+ICsJCQllcnIgPSB2b2x0LT52aWRbaV0udXYgLSB1djsKPiArCQl9IGVs c2Ugewo+ICsJCQlpbnQgbmV3X2VyciA9IHZvbHQtPnZpZFtpXS51diAtIHV2Owo+ICsJCQlpZiAo YWJzKG5ld19lcnIpIDwgYWJzKGVycikKPiArCQkJICAgIHx8IChlcnIgPCAwICYmIG5ld19lcnIg Pj0gMCkpIHsKPiArCQkJCWJlc3QgPSBpOwo+ICsJCQkJZXJyID0gbmV3X2VycjsKPiArCQkJfQo+ ICsJCX0KPiArCj4gKwkJaWYgKGVyciA9PSAwKSB7Cj4gKwkJCXJldCA9IHZvbHQtPmZ1bmMtPnZp ZF9zZXQodm9sdCwgdm9sdC0+dmlkW2Jlc3RdLnZpZCk7Cj4gICAJCQludmttX2RlYnVnKHN1YmRl diwgInNldCAlZHV2OiAlZFxuIiwgdXYsIHJldCk7Cj4gICAJCQlicmVhazsKPiAgIAkJfQo+ICAg CX0KPiArCj4gKwlpZiAoYmVzdCAhPSAtMSkgewo+ICsJCXJldCA9IHZvbHQtPmZ1bmMtPnZpZF9z ZXQodm9sdCwgdm9sdC0+dmlkW2Jlc3RdLnZpZCk7Cj4gKwkJbnZrbV9kZWJ1ZyhzdWJkZXYsICJz ZXQgcmVxICVkdXYgdG8gJWR1djogJWRcbiIsIHV2LAo+ICsJCQkgICB2b2x0LT52aWRbYmVzdF0u dXYsIHJldCk7Cj4gKwl9Cj4gKwo+ICAgCXJldHVybiByZXQ7Cj4gICB9CgpUaGUgY29kZSBpcyBy ZWFsbHkgd2VpcmQgdGhvdWdoIDpvIEhvdyBhYm91dCB0aGUgZm9sbG93aW5nPyBJdCB3b3VsZCAK bWFrZSBpdCBtdWNoIG1vcmUgcmVhZGFibGUgYW5kIGFjdHVhbGx5IGRvIHdoYXQgeW91ciBjb21t aXQgbWVzc2FnZSBzYXlzLgoKaW50IGJlc3QgPSAtMTsKdTMyIGJlc3RfYWJzX2VyciA9IC0xOwpm b3IgKGkgPSAwOyBpIDwgdm9sdC0+dmlkX25yOyBpKyspIHsKCWludCBhYnNfZXJyID0gYWJzKHZv bHQtPnZpZFtpXS51diAtIHV2KTsKCWlmICh2b2x0LT52aWRbaV0udXYgPj0gdXYgJiYgYWJzX2Vy ciA8IGJlc3RfYWJzX2VycikgewoJCWJlc3QgPSBpOwoJCWJlc3RfYWJzX2VyciA9IGFic19lcnI7 CQkKCQlpZiAoYWJzX2VyciA9PSAwKQoJCQlicmVhazsKCSB9Cn0KCmlmIChiZXN0ID49IDApIHsK CXJldCA9IHZvbHQtPmZ1bmMtPnZpZF9zZXQodm9sdCwgdm9sdC0+dmlkW2Jlc3RdLnZpZCk7Cglu dmttX2RlYnVnKHN1YmRldiwgInNldCAlZHV2OiAlZFxuIiwgdXYsIHJldCk7Cn0gZWxzZSB7Cgkv KiByZXR1cm4gYW4gZXJyb3IgdG8gdGVsbCB0aGF0IHdlIGNhbm5vdCB1c2UgdGhlIHdhbnRlZCBj bG9jayBzaW5jZSB3ZSBjYW5ub3Qgc2VsZWN0IHRoZSBuZWVkZWQgdm9sdGFnZSEgKi8KfQoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5vdXZlYXUgbWFp bGluZyBsaXN0Ck5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vbm91dmVhdQo=