From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: Re: [PATCH v2 3/3] drm/vc4: Add a load tracker to prevent HVS underflow errors Date: Mon, 5 Nov 2018 12:36:48 +0100 Message-ID: <20181105123648.4fe6d838@bbrezillon> References: <20181025124546.22145-1-boris.brezillon@bootlin.com> <20181025124546.22145-4-boris.brezillon@bootlin.com> <87bm7bm3k8.fsf@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id B77556E198 for ; Mon, 5 Nov 2018 11:36:59 +0000 (UTC) In-Reply-To: <87bm7bm3k8.fsf@anholt.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Eric Anholt Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgRXJpYywKCk9uIFR1ZSwgMzAgT2N0IDIwMTggMTY6MTI6NTUgLTA3MDAKRXJpYyBBbmhvbHQg PGVyaWNAYW5ob2x0Lm5ldD4gd3JvdGU6Cgo+ID4gKwo+ID4gKwkvKiBUaGUgYWJvbHN1dGUgbGlt aXQgaXMgMkdieXRlL3NlYywgYnV0IGxldCdzIHRha2UgYSBtYXJnaW4gdG8gbGV0ICAKPiAKPiAi YWJzb2x1dGUiCgpXaWxsIGZpeCB0aGUgdHlwby4KCj4gCj4gPiArCSAqIHRoZSBzeXN0ZW0gd29y ayB3aGVuIG90aGVyIGJsb2NrcyBhcmUgYWNjZXNzaW5nIHRoZSBtZW1vcnkuCj4gPiArCSAqLwo+ ID4gKwlpZiAobG9hZF9zdGF0ZS0+bWVtYnVzX2xvYWQgPiBTWl8xRyArIFNaXzUxMk0pCj4gPiAr CQlyZXR1cm4gLUVOT1NQQzsgIAo+IAo+IAo+ID4gKwkvKiBIVlMgY2xvY2sgaXMgc3VwcG9zZWQg dG8gcnVuIEAgMjUwTWh6LCBsZXQncyB0YWtlIGEgbWFyZ2luIGFuZAo+ID4gKwkgKiBjb25zaWRl ciB0aGUgbWF4aW11bSBudW1iZXIgb2YgY3ljbGVzIGlzIDI0ME0uCj4gPiArCSAqLwo+ID4gKwlp ZiAobG9hZF9zdGF0ZS0+aHZzX2xvYWQgPiAyNDAwMDAwMDBVTEwpCj4gPiArCQlyZXR1cm4gLUVO T1NQQzsgIAo+IAo+IFNvbWUgZGF5IHdlIHNob3VsZCBwcm9iYWJseSBiZSB1c2luZyB0aGUgSFZT J3MgYWN0dWFsIGNsb2NrIGZyb20gRFQgaWYKPiBhdmFpbGFibGUgaW5zdGVhZCBvZiBhIGhhcmRj b2RlZCBudW1iZXIgaGVyZS4KCkkgYWdyZWUuCgo+IEdvb2QgZW5vdWdoIGZvciBub3cuCj4gCj4g PiArc3RhdGljIHZvaWQgdmM0X2xvYWRfdHJhY2tlcl9kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1f cHJpdmF0ZV9vYmogKm9iaiwKPiA+ICsJCQkJCSAgIHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZSAq c3RhdGUpCj4gPiArewo+ID4gKwlzdHJ1Y3QgdmM0X2xvYWRfdHJhY2tlcl9zdGF0ZSAqbG9hZF9z dGF0ZTsKPiA+ICsKPiA+ICsJbG9hZF9zdGF0ZSA9IHRvX3ZjNF9sb2FkX3RyYWNrZXJfc3RhdGUo c3RhdGUpOwo+ID4gKwlrZnJlZShsb2FkX3N0YXRlKTsKPiA+ICt9ICAKPiAKPiBPcHRpb25hbDog anVzdCBrZnJlZShzdGF0ZSkgZm9yIHNpbXBsaWNpdHkuCgpIbSwgbm90IHN1cmUgdGhhdCdzIGEg Z29vZCBpZGVhLiBrZnJlZShzdGF0ZSkgd29ya3MgYXMgbG9uZyBhcwpkcm1fcHJpdmF0ZV9zdGF0 ZSBpcyB0aGUgZmlyc3QgZmllbGQgaW4gdmM0X2xvYWRfdHJhY2tlcl9zdGF0ZSwgYnV0IGl0CnNv dW5kcyBhIGJpdCBmcmFnaWxlLgoKSSBjYW4gZG8KCglrZnJlZSh0b192YzRfbG9hZF90cmFja2Vy X3N0YXRlKHN0YXRlKSk7CgppZiB5b3UgcHJlZmVyLgoKPiAKPiA+ICtzdGF0aWMgdm9pZCB2YzRf cGxhbmVfY2FsY19sb2FkKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+ID4gK3sKPiA+ ICsJdW5zaWduZWQgaW50IGh2c19sb2FkX3NoaWZ0LCB2cmVmcmVzaCwgaTsKPiA+ICsJc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+ZmI7Cj4gPiArCXN0cnVjdCB2YzRfcGxhbmVf c3RhdGUgKnZjNF9zdGF0ZTsKPiA+ICsJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRl Owo+ID4gKwl1bnNpZ25lZCBpbnQgdnNjYWxlX2ZhY3RvcjsKPiA+ICsKPiA+ICsJdmM0X3N0YXRl ID0gdG9fdmM0X3BsYW5lX3N0YXRlKHN0YXRlKTsKPiA+ICsJY3J0Y19zdGF0ZSA9IGRybV9hdG9t aWNfZ2V0X2V4aXN0aW5nX2NydGNfc3RhdGUoc3RhdGUtPnN0YXRlLAo+ID4gKwkJCQkJCQlzdGF0 ZS0+Y3J0Yyk7Cj4gPiArCXZyZWZyZXNoID0gZHJtX21vZGVfdnJlZnJlc2goJmNydGNfc3RhdGUt PmFkanVzdGVkX21vZGUpOwo+ID4gKwo+ID4gKwkvKiBUaGUgSFZTIGlzIGFibGUgdG8gcHJvY2Vz cyAyIHBpeGVscy9jeWNsZSB3aGVuIHNjYWxpbmcgdGhlIHNvdXJjZSwKPiA+ICsJICogNCBwaXhl bHMvY3ljbGUgb3RoZXJ3aXNlLgo+ID4gKwkgKiBBbHBoYSBibGVuZGluZyBzdGVwIHNlZW1zIHRv IGJlIHBpcGVsaW5lZCBhbmQgaXQncyBhbHdheXMgb3BlcmF0aW5nCj4gPiArCSAqIGF0IDQgcGl4 ZWxzL2N5Y2xlLCBzbyB0aGUgbGltaXRpbmcgYXNwZWN0IGhlcmUgc2VlbXMgdG8gYmUgdGhlCj4g PiArCSAqIHNjYWxlciBibG9jay4KPiA+ICsJICogSFZTIGxvYWQgaXMgZXhwcmVzc2VkIGluIGNs ay1jeWNsZXMvc2VjIChBS0EgSHopLgo+ID4gKwkgKi8KPiA+ICsJaWYgKHZjNF9zdGF0ZS0+eF9z Y2FsaW5nWzBdICE9IFZDNF9TQ0FMSU5HX05PTkUgfHwKPiA+ICsJICAgIHZjNF9zdGF0ZS0+eF9z Y2FsaW5nWzFdICE9IFZDNF9TQ0FMSU5HX05PTkUgfHwKPiA+ICsJICAgIHZjNF9zdGF0ZS0+eV9z Y2FsaW5nWzBdICE9IFZDNF9TQ0FMSU5HX05PTkUgfHwKPiA+ICsJICAgIHZjNF9zdGF0ZS0+eV9z Y2FsaW5nWzFdICE9IFZDNF9TQ0FMSU5HX05PTkUpCj4gPiArCQlodnNfbG9hZF9zaGlmdCA9IDE7 Cj4gPiArCWVsc2UKPiA+ICsJCWh2c19sb2FkX3NoaWZ0ID0gMjsKPiA+ICsKPiA+ICsJdmM0X3N0 YXRlLT5tZW1idXNfbG9hZCA9IDA7Cj4gPiArCXZjNF9zdGF0ZS0+aHZzX2xvYWQgPSAwOwo+ID4g Kwlmb3IgKGkgPSAwOyBpIDwgZmItPmZvcm1hdC0+bnVtX3BsYW5lczsgaSsrKSB7Cj4gPiArCQl1 bnNpZ25lZCBsb25nIHBpeGVsc19sb2FkOyAgCj4gCj4gSSdtIHNjYXJlZCBhbnkgdGltZSBJIHNl ZSBsb25ncy4gIERvIHlvdSB3YW50IDMyIG9yIDY0IGJpdHMgaGVyZT8KCkkganVzdCBhc3N1bWVk IGEgMzJiaXQgdW5zaWduZWQgdmFyIHdvdWxkIGJlIGVub3VnaCwgc28gdW5zaWduZWQgbG9uZwpz ZWVtZWQganVzdCBmaW5lLiBJIGNhbiB1c2UgdTMyIG9yIHU2NCBpZiB5b3UgcHJlZmVyLgoKPiAK PiA+ICsJCS8qIEV2ZW4gaWYgdGhlIGJhbmR3aWR0aC9wbGFuZSByZXF1aXJlZCBmb3IgYSBzaW5n bGUgZnJhbWUgaXMKPiA+ICsJCSAqCj4gPiArCQkgKiB2YzRfc3RhdGUtPnNyY193W2ldICogdmM0 X3N0YXRlLT5zcmNfaFtpXSAqIGNwcCAqIHZyZWZyZXNoCj4gPiArCQkgKgo+ID4gKwkJICogd2hl biBkb3duc2NhbGluZywgd2UgaGF2ZSB0byByZWFkIG1vcmUgcGl4ZWxzIHBlciBsaW5lIGluCj4g PiArCQkgKiB0aGUgdGltZSBmcmFtZSByZXNlcnZlZCBmb3IgYSBzaW5nbGUgbGluZSwgc28gdGhl IGJhbmR3aWR0aAo+ID4gKwkJICogZGVtYW5kIGNhbiBiZSBwdW5jdHVhbGx5IGhpZ2hlci4gVG8g YWNjb3VudCBmb3IgdGhhdCwgd2UKPiA+ICsJCSAqIGNhbGN1bGF0ZSB0aGUgZG93bi1zY2FsaW5n IGZhY3RvciBhbmQgbXVsdGlwbHkgdGhlIHBsYW5lCj4gPiArCQkgKiBsb2FkIGJ5IHRoaXMgbnVt YmVyLiBXZSdyZSBsaWtlbHkgb3Zlci1lc3RpbWF0aW5nIHRoZSByZWFkCj4gPiArCQkgKiBkZW1h bmQsIGJ1dCB0aGF0J3MgYmV0dGVyIHRoYW4gdW5kZXItZXN0aW1hdGluZyBpdC4KPiA+ICsJCSAq Lwo+ID4gKwkJdnNjYWxlX2ZhY3RvciA9IERJVl9ST1VORF9VUCh2YzRfc3RhdGUtPnNyY19oW2ld LAo+ID4gKwkJCQkJICAgICB2YzRfc3RhdGUtPmNydGNfaCk7Cj4gPiArCQlwaXhlbHNfbG9hZCA9 IHZjNF9zdGF0ZS0+c3JjX3dbaV0gKiB2YzRfc3RhdGUtPnNyY19oW2ldICoKPiA+ICsJCQkgICAg ICB2c2NhbGVfZmFjdG9yOyAgCj4gCj4gSWYgd2UncmUgdXBzY2FsaW5nIChjb21tb24gZm9yIHZp ZGVvLCByaWdodD8pLCBhcmVuJ3Qgd2UgdW5kZXItY291bnRpbmcKPiB0aGUgY29zdD8gIFlvdSBu ZWVkIHRvIHNjYWxlL2NvbG9yc3BhY2UtY29udmVydCBjcnRjX3cgKiBjcnRjX2ggYXQgMgo+IHBp eGVscyBwZXIgY3ljbGUuCgpUaGF0J3Mgbm90IGVudGlyZWx5IGNsZWFyIHRvIG1lLiBJJ20gbm90 IHN1cmUgd2hhdCB0aGUgc2NhbGVyIGRvZXMgd2hlbgp1cHNjYWxpbmcuIEFyZSB0aGUgc2FtZSBw aXhlbHMgcmVhZCBzZXZlcmFsIHRpbWVzIGZyb20gdGhlIG1lbW9yeT8gSWYKdGhhdCdzIHRoZSBj YXNlLCB0aGVuIHRoZSBtZW1idXMgbG9hZCBzaG91bGQgaW5kZWVkIGJlIGJhc2VkIG9uIHRoZQpj cnRjX3csaC4KCkFsc28sIHdoZW4gdGhlIHNwZWMgc2F5cyB0aGUgSFZTIGNhbiBwcm9jZXNzIDRw aXhlbHMvY3ljbGVzLCBpcyBpdCA0CmlucHV0IHBpeGVscyBvciA0IG91dHB1dCBwaXhlbHMgcGVy IGN5Y2xlPwoKUmVnYXJkcywKCkJvcmlzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=