From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 11/11] drm: Fix vblank timestamp races Date: Tue, 22 Sep 2015 11:10:50 +0200 Message-ID: <20150922091050.GX3383@phenom.ffwll.local> References: <1442259832-23424-1-git-send-email-ville.syrjala@linux.intel.com> <1442259832-23424-12-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by gabe.freedesktop.org (Postfix) with ESMTPS id D72186E5E5 for ; Tue, 22 Sep 2015 02:07:59 -0700 (PDT) Received: by wiclk2 with SMTP id lk2so182532608wic.0 for ; Tue, 22 Sep 2015 02:07:58 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1442259832-23424-12-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBTZXAgMTQsIDIwMTUgYXQgMTA6NDM6NTJQTSArMDMwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBUaGUgdmJsYW5rIHRpbWVzdGFtcCByaW5nYnVmZmVy IG9ubHkgaGFzIHR3byBlbnRyaWVzLCBzbyBpZiB0aGUKPiB2YmxhbmstPmNvdW50IGlzIGluY3Jl bWVudGVkIGJ5IGFuIGV2ZW4gbnVtYmVyIHJlYWRlcnMgbWF5IGVuZCB1cCBzZWVpbmcKPiB0aGUg bmV3IHZibGFuayB0aW1lc3RhbXAgYWxvbmdzaWRlIHRoZSBvbGQgdmJsYW5rIGNvdW50ZXIgdmFs dWUuCj4gCj4gRml4IHRoZSBwcm9ibGVtIGJ5IHN0b3JpbmcgdGhlIHZibGFuayBjb3VudGVyIGlu IGEgcmluZ2J1ZmZlciBhcyB3ZWxsLAo+IGFuZCBhbHdheXMgaW5jcmVtZW50IHRoZSByaW5nYnVm ZmVyICJzbG90IiBieSBvbmUgd2hlbiBzdG9yaW5nIGEgbmV3Cj4gdGltZXN0YW1wK2NvdW50ZXIg cGFpci4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgoKSW1vIGlmIHdlIGJvdGhlciB3aXRoIHRoaXMgd2UgbWlnaHQgYXMg d2VsbCBqdXN0IHN3aXRjaCBvdmVyIHRvIHVzaW5nCmZ1bGwtYmxvd24gc2VxbG9ja3MuIFRoZXkg aW50ZXJuYWxseSB1c2UgYSB0d28tc3RhZ2UgdXBkYXRlIHdoaWNoIG1lYW5zCnJhY2UtZnJlZSBl dmVuIHdpdGgganVzdCBvbmUgY29weSBvZiB0aGUgZGF0YSB3ZSBwcm90ZWN0LiBBbHNvIG1vcmUK c3RhbmRhcmRpemVkIHRvIGJvb3QuCgpTZXJpZXMgbG9va3MgZ29vZCBvdGhlcndpc2UsIEknbGwg d2FpdCBmb3IgTWFhcnRlbiB0byByLWIgaXQgYW5kIHRoZW4gcHVsbAppdCBpbi4KLURhbmllbAoK PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYyB8IDQwICsrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0KPiAgaW5jbHVkZS9kcm0vZHJtUC5oICAgICAgICB8IDEy ICsrKysrKy0tLS0tLQo+ICAyIGZpbGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDIyIGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYwo+IGluZGV4IDg4ZmJlZTQuLjhkZTIzNmEgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1faXJxLmMKPiBAQCAtNDMsOCArNDMsMTAgQEAKPiAgI2luY2x1ZGUgPGxpbnV4L2V4cG9y dC5oPgo+ICAKPiAgLyogQWNjZXNzIG1hY3JvIGZvciBzbG90cyBpbiB2YmxhbmsgdGltZXN0YW1w IHJpbmdidWZmZXIuICovCj4gLSNkZWZpbmUgdmJsYW5rdGltZXN0YW1wKGRldiwgcGlwZSwgY291 bnQpIFwKPiAtCSgoZGV2KS0+dmJsYW5rW3BpcGVdLnRpbWVbKGNvdW50KSAlIERSTV9WQkxBTktU SU1FX1JCU0laRV0pCj4gKyNkZWZpbmUgdmJsYW5rdGltZXN0YW1wKGRldiwgcGlwZSwgc2xvdCkg XAo+ICsJKChkZXYpLT52YmxhbmtbcGlwZV0udGltZVsoc2xvdCkgJSBEUk1fVkJMQU5LX1JCU0la RV0pCj4gKyNkZWZpbmUgdmJsYW5rY291bnQoZGV2LCBwaXBlLCBzbG90KSBcCj4gKwkoKGRldikt PnZibGFua1twaXBlXS5jb3VudFsoc2xvdCkgJSBEUk1fVkJMQU5LX1JCU0laRV0pCj4gIAo+ICAv KiBSZXRyeSB0aW1lc3RhbXAgY2FsY3VsYXRpb24gdXAgdG8gMyB0aW1lcyB0byBzYXRpc2Z5Cj4g ICAqIGRybV90aW1lc3RhbXBfcHJlY2lzaW9uIGJlZm9yZSBnaXZpbmcgdXAuCj4gQEAgLTc2LDIw ICs3OCwyMyBAQCBtb2R1bGVfcGFyYW1fbmFtZWQodGltZXN0YW1wX21vbm90b25pYywgZHJtX3Rp bWVzdGFtcF9tb25vdG9uaWMsIGludCwgMDYwMCk7Cj4gIAo+ICBzdGF0aWMgdm9pZCBzdG9yZV92 Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCj4gIAkJCSB1 MzIgdmJsYW5rX2NvdW50X2luYywKPiAtCQkJIHN0cnVjdCB0aW1ldmFsICp0X3ZibGFuaywgdTMy IGxhc3QpCj4gKwkJCSBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqdF92YmxhbmssIHUzMiBsYXN0KQo+ ICB7Cj4gIAlzdHJ1Y3QgZHJtX3ZibGFua19jcnRjICp2YmxhbmsgPSAmZGV2LT52YmxhbmtbcGlw ZV07Cj4gLQl1MzIgdHNsb3Q7Cj4gKwl1MzIgc2xvdDsKPiAgCj4gIAlhc3NlcnRfc3Bpbl9sb2Nr ZWQoJmRldi0+dmJsYW5rX3RpbWVfbG9jayk7Cj4gIAo+ICsJc2xvdCA9IHZibGFuay0+c2xvdCAr IDE7Cj4gKwo+ICAJdmJsYW5rLT5sYXN0ID0gbGFzdDsKPiAgCj4gIAkvKiBBbGwgd3JpdGVycyBo b2xkIHRoZSBzcGlubG9jaywgYnV0IHJlYWRlcnMgYXJlIHNlcmlhbGl6ZWQgYnkKPiAtCSAqIHRo ZSBsYXRjaGluZyBvZiB2YmxhbmstPmNvdW50IGJlbG93Lgo+ICsJICogdGhlIGxhdGNoaW5nIG9m IHZibGFuay0+c2xvdCBiZWxvdy4KPiAgCSAqLwo+IC0JdHNsb3QgPSB2YmxhbmstPmNvdW50ICsg dmJsYW5rX2NvdW50X2luYzsKPiAtCXZibGFua3RpbWVzdGFtcChkZXYsIHBpcGUsIHRzbG90KSA9 ICp0X3ZibGFuazsKPiArCXZibGFua2NvdW50KGRldiwgcGlwZSwgc2xvdCkgPQo+ICsJCXZibGFu a2NvdW50KGRldiwgcGlwZSwgdmJsYW5rLT5zbG90KSArIHZibGFua19jb3VudF9pbmM7Cj4gKwl2 Ymxhbmt0aW1lc3RhbXAoZGV2LCBwaXBlLCBzbG90KSA9ICp0X3ZibGFuazsKPiAgCj4gIAkvKgo+ ICAJICogdmJsYW5rIHRpbWVzdGFtcCB1cGRhdGVzIGFyZSBwcm90ZWN0ZWQgb24gdGhlIHdyaXRl IHNpZGUgd2l0aAo+IEBAIC0xMDAsNyArMTA1LDcgQEAgc3RhdGljIHZvaWQgc3RvcmVfdmJsYW5r KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAo+ICAJICogVGhlIHJl YWQtc2lkZSBiYXJyaWVycyBmb3IgdGhpcyBhcmUgaW4gZHJtX3ZibGFua19jb3VudF9hbmRfdGlt ZS4KPiAgCSAqLwo+ICAJc21wX3dtYigpOwo+IC0JdmJsYW5rLT5jb3VudCArPSB2YmxhbmtfY291 bnRfaW5jOwo+ICsJdmJsYW5rLT5zbG90ID0gc2xvdDsKPiAgCXNtcF93bWIoKTsKPiAgfQo+ICAK PiBAQCAtMjAyLDcgKzIwNyw3IEBAIHN0YXRpYyB2b2lkIGRybV91cGRhdGVfdmJsYW5rX2NvdW50 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAo+ICAJCWNvbnN0IHN0 cnVjdCB0aW1ldmFsICp0X29sZDsKPiAgCQl1NjQgZGlmZl9uczsKPiAgCj4gLQkJdF9vbGQgPSAm dmJsYW5rdGltZXN0YW1wKGRldiwgcGlwZSwgdmJsYW5rLT5jb3VudCk7Cj4gKwkJdF9vbGQgPSAm dmJsYW5rdGltZXN0YW1wKGRldiwgcGlwZSwgdmJsYW5rLT5zbG90KTsKPiAgCQlkaWZmX25zID0g dGltZXZhbF90b19ucygmdF92YmxhbmspIC0gdGltZXZhbF90b19ucyh0X29sZCk7Cj4gIAo+ICAJ CS8qCj4gQEAgLTIyMyw3ICsyMjgsOCBAQCBzdGF0aWMgdm9pZCBkcm1fdXBkYXRlX3ZibGFua19j b3VudChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKPiAgCj4gIAlE Uk1fREVCVUcoInVwZGF0aW5nIHZibGFuayBjb3VudCBvbiBjcnRjICV1OiIKPiAgCQkgICIgY3Vy cmVudD0ldSwgZGlmZj0ldSwgaHc9JXUgaHdfbGFzdD0ldVxuIiwKPiAtCQkgIHBpcGUsIHZibGFu ay0+Y291bnQsIGRpZmYsIGN1cl92YmxhbmssIHZibGFuay0+bGFzdCk7Cj4gKwkJICBwaXBlLCB2 Ymxhbmtjb3VudChkZXYsIHBpcGUsIHZibGFuay0+c2xvdCksCj4gKwkJICBkaWZmLCBjdXJfdmJs YW5rLCB2YmxhbmstPmxhc3QpOwo+ICAKPiAgCWlmIChkaWZmID09IDApIHsKPiAgCQlXQVJOX09O X09OQ0UoY3VyX3ZibGFuayAhPSB2YmxhbmstPmxhc3QpOwo+IEBAIC04ODMsNyArODg5LDcgQEAg dTMyIGRybV92YmxhbmtfY291bnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUpCj4g IAlpZiAoV0FSTl9PTihwaXBlID49IGRldi0+bnVtX2NydGNzKSkKPiAgCQlyZXR1cm4gMDsKPiAg Cj4gLQlyZXR1cm4gdmJsYW5rLT5jb3VudDsKPiArCXJldHVybiB2Ymxhbmtjb3VudChkZXYsIHBp cGUsIHZibGFuay0+c2xvdCk7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fdmJsYW5rX2NvdW50 KTsKPiAgCj4gQEAgLTkyMyw3ICs5MjksOCBAQCB1MzIgZHJtX3ZibGFua19jb3VudF9hbmRfdGlt ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKPiAgewo+ICAJc3Ry dWN0IGRybV92YmxhbmtfY3J0YyAqdmJsYW5rID0gJmRldi0+dmJsYW5rW3BpcGVdOwo+ICAJaW50 IGNvdW50ID0gRFJNX1RJTUVTVEFNUF9NQVhSRVRSSUVTOwo+IC0JdTMyIGN1cl92Ymxhbms7Cj4g Kwl1MzIgdmJsYW5rY291bnQ7Cj4gKwl1MzIgc2xvdDsKPiAgCj4gIAlpZiAoV0FSTl9PTihwaXBl ID49IGRldi0+bnVtX2NydGNzKSkKPiAgCQlyZXR1cm4gMDsKPiBAQCAtOTM0LDEzICs5NDEsMTQg QEAgdTMyIGRybV92YmxhbmtfY291bnRfYW5kX3RpbWUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dW5zaWduZWQgaW50IHBpcGUsCj4gIAkgKiBUaGlzIHdvcmtzIGxpa2UgYSBzZXFsb2NrLiBUaGUg d3JpdGUtc2lkZSBiYXJyaWVycyBhcmUgaW4gc3RvcmVfdmJsYW5rLgo+ICAJICovCj4gIAlkbyB7 Cj4gLQkJY3VyX3ZibGFuayA9IHZibGFuay0+Y291bnQ7Cj4gKwkJc2xvdCA9IHZibGFuay0+c2xv dDsKPiAgCQlzbXBfcm1iKCk7Cj4gLQkJKnZibGFua3RpbWUgPSB2Ymxhbmt0aW1lc3RhbXAoZGV2 LCBwaXBlLCBjdXJfdmJsYW5rKTsKPiArCQkqdmJsYW5rdGltZSA9IHZibGFua3RpbWVzdGFtcChk ZXYsIHBpcGUsIHNsb3QpOwo+ICsJCXZibGFua2NvdW50ID0gdmJsYW5rY291bnQoZGV2LCBwaXBl LCBzbG90KTsKPiAgCQlzbXBfcm1iKCk7Cj4gLQl9IHdoaWxlIChjdXJfdmJsYW5rICE9IHZibGFu ay0+Y291bnQgJiYgLS1jb3VudCA+IDApOwo+ICsJfSB3aGlsZSAoc2xvdCAhPSB2YmxhbmstPnNs b3QgJiYgLS1jb3VudCA+IDApOwo+ICAKPiAtCXJldHVybiBjdXJfdmJsYW5rOwo+ICsJcmV0dXJu IHZibGFua2NvdW50Owo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX3ZibGFua19jb3VudF9hbmRf dGltZSk7Cj4gIAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1QLmggYi9pbmNsdWRlL2Ry bS9kcm1QLmgKPiBpbmRleCA2NzE3YTdkLi45ZGU5ZmRlIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUv ZHJtL2RybVAuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybVAuaAo+IEBAIC0zNzQsMTAgKzM3NCwx MCBAQCBzdHJ1Y3QgZHJtX21hc3RlciB7Cj4gIAl2b2lkICpkcml2ZXJfcHJpdjsKPiAgfTsKPiAg Cj4gLS8qIFNpemUgb2YgcmluZ2J1ZmZlciBmb3IgdmJsYW5rIHRpbWVzdGFtcHMuIEp1c3QgZG91 YmxlLWJ1ZmZlcgo+ICsvKiBTaXplIG9mIHJpbmdidWZmZXIgZm9yIHZibGFuayBjb3VudHMvdGlt ZXN0YW1wcy4gSnVzdCBkb3VibGUtYnVmZmVyCj4gICAqIGluIGluaXRpYWwgaW1wbGVtZW50YXRp b24uCj4gICAqLwo+IC0jZGVmaW5lIERSTV9WQkxBTktUSU1FX1JCU0laRSAyCj4gKyNkZWZpbmUg RFJNX1ZCTEFOS19SQlNJWkUgMgo+ICAKPiAgLyogRmxhZ3MgYW5kIHJldHVybiBjb2RlcyBmb3Ig Z2V0X3ZibGFua190aW1lc3RhbXAoKSBkcml2ZXIgZnVuY3Rpb24uICovCj4gICNkZWZpbmUgRFJN X0NBTExFRF9GUk9NX1ZCTElSUSAxCj4gQEAgLTY5MiwxMCArNjkyLDEwIEBAIHN0cnVjdCBkcm1f dmJsYW5rX2NydGMgewo+ICAJd2FpdF9xdWV1ZV9oZWFkX3QgcXVldWU7CS8qKjwgVkJMQU5LIHdh aXQgcXVldWUgKi8KPiAgCXN0cnVjdCB0aW1lcl9saXN0IGRpc2FibGVfdGltZXI7CQkvKiBkZWxh eWVkIGRpc2FibGUgdGltZXIgKi8KPiAgCj4gLQkvKiB2YmxhbmsgY291bnRlciwgcHJvdGVjdGVk IGJ5IGRldi0+dmJsYW5rX3RpbWVfbG9jayBmb3Igd3JpdGVzICovCj4gLQl1MzIgY291bnQ7Cj4g LQkvKiB2YmxhbmsgdGltZXN0YW1wcywgcHJvdGVjdGVkIGJ5IGRldi0+dmJsYW5rX3RpbWVfbG9j ayBmb3Igd3JpdGVzICovCj4gLQlzdHJ1Y3QgdGltZXZhbCB0aW1lW0RSTV9WQkxBTktUSU1FX1JC U0laRV07Cj4gKwl1MzIgc2xvdDsKPiArCS8qIHZibGFuayB0aW1lc3RhbXBzIGFuZCBjb3VudGVy LCBwcm90ZWN0ZWQgYnkgZGV2LT52YmxhbmtfdGltZV9sb2NrIGZvciB3cml0ZXMgKi8KPiArCXN0 cnVjdCB0aW1ldmFsIHRpbWVbRFJNX1ZCTEFOS19SQlNJWkVdOwo+ICsJdTMyIGNvdW50W0RSTV9W QkxBTktfUkJTSVpFXTsKPiAgCj4gIAlhdG9taWNfdCByZWZjb3VudDsJCS8qIG51bWJlciBvZiB1 c2VycyBvZiB2YmxhbmsgaW50ZXJydXB0c3BlciBjcnRjICovCj4gIAl1MzIgbGFzdDsJCQkvKiBw cm90ZWN0ZWQgYnkgZGV2LT52YmxfbG9jaywgdXNlZCAqLwo+IC0tIAo+IDIuNC42Cj4gCj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwg bWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKCi0tIApEYW5p ZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxv Zy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=