From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 11/11] drm: Fix vblank timestamp races Date: Tue, 22 Sep 2015 15:36:44 +0300 Message-ID: <20150922123644.GO26517@intel.com> References: <1442259832-23424-1-git-send-email-ville.syrjala@linux.intel.com> <1442259832-23424-12-git-send-email-ville.syrjala@linux.intel.com> <20150922091050.GX3383@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20150922091050.GX3383@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBTZXAgMjIsIDIwMTUgYXQgMTE6MTA6NTBBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBNb24sIFNlcCAxNCwgMjAxNSBhdCAxMDo0Mzo1MlBNICswMzAwLCB2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbSB3cm90ZToKPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAKPiA+IFRoZSB2YmxhbmsgdGltZXN0 YW1wIHJpbmdidWZmZXIgb25seSBoYXMgdHdvIGVudHJpZXMsIHNvIGlmIHRoZQo+ID4gdmJsYW5r LT5jb3VudCBpcyBpbmNyZW1lbnRlZCBieSBhbiBldmVuIG51bWJlciByZWFkZXJzIG1heSBlbmQg dXAgc2VlaW5nCj4gPiB0aGUgbmV3IHZibGFuayB0aW1lc3RhbXAgYWxvbmdzaWRlIHRoZSBvbGQg dmJsYW5rIGNvdW50ZXIgdmFsdWUuCj4gPiAKPiA+IEZpeCB0aGUgcHJvYmxlbSBieSBzdG9yaW5n IHRoZSB2YmxhbmsgY291bnRlciBpbiBhIHJpbmdidWZmZXIgYXMgd2VsbCwKPiA+IGFuZCBhbHdh eXMgaW5jcmVtZW50IHRoZSByaW5nYnVmZmVyICJzbG90IiBieSBvbmUgd2hlbiBzdG9yaW5nIGEg bmV3Cj4gPiB0aW1lc3RhbXArY291bnRlciBwYWlyLgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IAo+IEltbyBp ZiB3ZSBib3RoZXIgd2l0aCB0aGlzIHdlIG1pZ2h0IGFzIHdlbGwganVzdCBzd2l0Y2ggb3ZlciB0 byB1c2luZwo+IGZ1bGwtYmxvd24gc2VxbG9ja3MuIFRoZXkgaW50ZXJuYWxseSB1c2UgYSB0d28t c3RhZ2UgdXBkYXRlIHdoaWNoIG1lYW5zCj4gcmFjZS1mcmVlIGV2ZW4gd2l0aCBqdXN0IG9uZSBj b3B5IG9mIHRoZSBkYXRhIHdlIHByb3RlY3QuIEFsc28gbW9yZQo+IHN0YW5kYXJkaXplZCB0byBi b290LgoKQW55IHZvbHVudGVlcnMgZm9yIHRoYXQ/IEkgZG9uJ3QgaGF2ZSB0aW1lIHRvIHN0YXJ0 IHJlZG9pbmcgdGhpcyByaWdodApub3cuCgo+IAo+IFNlcmllcyBsb29rcyBnb29kIG90aGVyd2lz ZSwgSSdsbCB3YWl0IGZvciBNYWFydGVuIHRvIHItYiBpdCBhbmQgdGhlbiBwdWxsCj4gaXQgaW4u Cj4gLURhbmllbAo+IAo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYyB8IDQw ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KPiA+ICBpbmNsdWRlL2Ry bS9kcm1QLmggICAgICAgIHwgMTIgKysrKysrLS0tLS0tCj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAz MCBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1faXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jCj4gPiBp bmRleCA4OGZiZWU0Li44ZGUyMzZhIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9pcnEuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYwo+ID4gQEAgLTQzLDgg KzQzLDEwIEBACj4gPiAgI2luY2x1ZGUgPGxpbnV4L2V4cG9ydC5oPgo+ID4gIAo+ID4gIC8qIEFj Y2VzcyBtYWNybyBmb3Igc2xvdHMgaW4gdmJsYW5rIHRpbWVzdGFtcCByaW5nYnVmZmVyLiAqLwo+ ID4gLSNkZWZpbmUgdmJsYW5rdGltZXN0YW1wKGRldiwgcGlwZSwgY291bnQpIFwKPiA+IC0JKChk ZXYpLT52YmxhbmtbcGlwZV0udGltZVsoY291bnQpICUgRFJNX1ZCTEFOS1RJTUVfUkJTSVpFXSkK PiA+ICsjZGVmaW5lIHZibGFua3RpbWVzdGFtcChkZXYsIHBpcGUsIHNsb3QpIFwKPiA+ICsJKChk ZXYpLT52YmxhbmtbcGlwZV0udGltZVsoc2xvdCkgJSBEUk1fVkJMQU5LX1JCU0laRV0pCj4gPiAr I2RlZmluZSB2Ymxhbmtjb3VudChkZXYsIHBpcGUsIHNsb3QpIFwKPiA+ICsJKChkZXYpLT52Ymxh bmtbcGlwZV0uY291bnRbKHNsb3QpICUgRFJNX1ZCTEFOS19SQlNJWkVdKQo+ID4gIAo+ID4gIC8q IFJldHJ5IHRpbWVzdGFtcCBjYWxjdWxhdGlvbiB1cCB0byAzIHRpbWVzIHRvIHNhdGlzZnkKPiA+ ICAgKiBkcm1fdGltZXN0YW1wX3ByZWNpc2lvbiBiZWZvcmUgZ2l2aW5nIHVwLgo+ID4gQEAgLTc2 LDIwICs3OCwyMyBAQCBtb2R1bGVfcGFyYW1fbmFtZWQodGltZXN0YW1wX21vbm90b25pYywgZHJt X3RpbWVzdGFtcF9tb25vdG9uaWMsIGludCwgMDYwMCk7Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQg c3RvcmVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAo+ ID4gIAkJCSB1MzIgdmJsYW5rX2NvdW50X2luYywKPiA+IC0JCQkgc3RydWN0IHRpbWV2YWwgKnRf dmJsYW5rLCB1MzIgbGFzdCkKPiA+ICsJCQkgY29uc3Qgc3RydWN0IHRpbWV2YWwgKnRfdmJsYW5r LCB1MzIgbGFzdCkKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1fdmJsYW5rX2NydGMgKnZibGFuayA9 ICZkZXYtPnZibGFua1twaXBlXTsKPiA+IC0JdTMyIHRzbG90Owo+ID4gKwl1MzIgc2xvdDsKPiA+ ICAKPiA+ICAJYXNzZXJ0X3NwaW5fbG9ja2VkKCZkZXYtPnZibGFua190aW1lX2xvY2spOwo+ID4g IAo+ID4gKwlzbG90ID0gdmJsYW5rLT5zbG90ICsgMTsKPiA+ICsKPiA+ICAJdmJsYW5rLT5sYXN0 ID0gbGFzdDsKPiA+ICAKPiA+ICAJLyogQWxsIHdyaXRlcnMgaG9sZCB0aGUgc3BpbmxvY2ssIGJ1 dCByZWFkZXJzIGFyZSBzZXJpYWxpemVkIGJ5Cj4gPiAtCSAqIHRoZSBsYXRjaGluZyBvZiB2Ymxh bmstPmNvdW50IGJlbG93Lgo+ID4gKwkgKiB0aGUgbGF0Y2hpbmcgb2YgdmJsYW5rLT5zbG90IGJl bG93Lgo+ID4gIAkgKi8KPiA+IC0JdHNsb3QgPSB2YmxhbmstPmNvdW50ICsgdmJsYW5rX2NvdW50 X2luYzsKPiA+IC0JdmJsYW5rdGltZXN0YW1wKGRldiwgcGlwZSwgdHNsb3QpID0gKnRfdmJsYW5r Owo+ID4gKwl2Ymxhbmtjb3VudChkZXYsIHBpcGUsIHNsb3QpID0KPiA+ICsJCXZibGFua2NvdW50 KGRldiwgcGlwZSwgdmJsYW5rLT5zbG90KSArIHZibGFua19jb3VudF9pbmM7Cj4gPiArCXZibGFu a3RpbWVzdGFtcChkZXYsIHBpcGUsIHNsb3QpID0gKnRfdmJsYW5rOwo+ID4gIAo+ID4gIAkvKgo+ ID4gIAkgKiB2YmxhbmsgdGltZXN0YW1wIHVwZGF0ZXMgYXJlIHByb3RlY3RlZCBvbiB0aGUgd3Jp dGUgc2lkZSB3aXRoCj4gPiBAQCAtMTAwLDcgKzEwNSw3IEBAIHN0YXRpYyB2b2lkIHN0b3JlX3Zi bGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKPiA+ICAJICog VGhlIHJlYWQtc2lkZSBiYXJyaWVycyBmb3IgdGhpcyBhcmUgaW4gZHJtX3ZibGFua19jb3VudF9h bmRfdGltZS4KPiA+ICAJICovCj4gPiAgCXNtcF93bWIoKTsKPiA+IC0JdmJsYW5rLT5jb3VudCAr PSB2YmxhbmtfY291bnRfaW5jOwo+ID4gKwl2YmxhbmstPnNsb3QgPSBzbG90Owo+ID4gIAlzbXBf d21iKCk7Cj4gPiAgfQo+ID4gIAo+ID4gQEAgLTIwMiw3ICsyMDcsNyBAQCBzdGF0aWMgdm9pZCBk cm1fdXBkYXRlX3ZibGFua19jb3VudChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBp bnQgcGlwZSwKPiA+ICAJCWNvbnN0IHN0cnVjdCB0aW1ldmFsICp0X29sZDsKPiA+ICAJCXU2NCBk aWZmX25zOwo+ID4gIAo+ID4gLQkJdF9vbGQgPSAmdmJsYW5rdGltZXN0YW1wKGRldiwgcGlwZSwg dmJsYW5rLT5jb3VudCk7Cj4gPiArCQl0X29sZCA9ICZ2Ymxhbmt0aW1lc3RhbXAoZGV2LCBwaXBl LCB2YmxhbmstPnNsb3QpOwo+ID4gIAkJZGlmZl9ucyA9IHRpbWV2YWxfdG9fbnMoJnRfdmJsYW5r KSAtIHRpbWV2YWxfdG9fbnModF9vbGQpOwo+ID4gIAo+ID4gIAkJLyoKPiA+IEBAIC0yMjMsNyAr MjI4LDggQEAgc3RhdGljIHZvaWQgZHJtX3VwZGF0ZV92YmxhbmtfY291bnQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCj4gPiAgCj4gPiAgCURSTV9ERUJVRygidXBk YXRpbmcgdmJsYW5rIGNvdW50IG9uIGNydGMgJXU6Igo+ID4gIAkJICAiIGN1cnJlbnQ9JXUsIGRp ZmY9JXUsIGh3PSV1IGh3X2xhc3Q9JXVcbiIsCj4gPiAtCQkgIHBpcGUsIHZibGFuay0+Y291bnQs IGRpZmYsIGN1cl92YmxhbmssIHZibGFuay0+bGFzdCk7Cj4gPiArCQkgIHBpcGUsIHZibGFua2Nv dW50KGRldiwgcGlwZSwgdmJsYW5rLT5zbG90KSwKPiA+ICsJCSAgZGlmZiwgY3VyX3ZibGFuaywg dmJsYW5rLT5sYXN0KTsKPiA+ICAKPiA+ICAJaWYgKGRpZmYgPT0gMCkgewo+ID4gIAkJV0FSTl9P Tl9PTkNFKGN1cl92YmxhbmsgIT0gdmJsYW5rLT5sYXN0KTsKPiA+IEBAIC04ODMsNyArODg5LDcg QEAgdTMyIGRybV92YmxhbmtfY291bnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUp Cj4gPiAgCWlmIChXQVJOX09OKHBpcGUgPj0gZGV2LT5udW1fY3J0Y3MpKQo+ID4gIAkJcmV0dXJu IDA7Cj4gPiAgCj4gPiAtCXJldHVybiB2YmxhbmstPmNvdW50Owo+ID4gKwlyZXR1cm4gdmJsYW5r Y291bnQoZGV2LCBwaXBlLCB2YmxhbmstPnNsb3QpOwo+ID4gIH0KPiA+ICBFWFBPUlRfU1lNQk9M KGRybV92YmxhbmtfY291bnQpOwo+ID4gIAo+ID4gQEAgLTkyMyw3ICs5MjksOCBAQCB1MzIgZHJt X3ZibGFua19jb3VudF9hbmRfdGltZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBp bnQgcGlwZSwKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1fdmJsYW5rX2NydGMgKnZibGFuayA9ICZk ZXYtPnZibGFua1twaXBlXTsKPiA+ICAJaW50IGNvdW50ID0gRFJNX1RJTUVTVEFNUF9NQVhSRVRS SUVTOwo+ID4gLQl1MzIgY3VyX3ZibGFuazsKPiA+ICsJdTMyIHZibGFua2NvdW50Owo+ID4gKwl1 MzIgc2xvdDsKPiA+ICAKPiA+ICAJaWYgKFdBUk5fT04ocGlwZSA+PSBkZXYtPm51bV9jcnRjcykp Cj4gPiAgCQlyZXR1cm4gMDsKPiA+IEBAIC05MzQsMTMgKzk0MSwxNCBAQCB1MzIgZHJtX3ZibGFu a19jb3VudF9hbmRfdGltZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlw ZSwKPiA+ICAJICogVGhpcyB3b3JrcyBsaWtlIGEgc2VxbG9jay4gVGhlIHdyaXRlLXNpZGUgYmFy cmllcnMgYXJlIGluIHN0b3JlX3ZibGFuay4KPiA+ICAJICovCj4gPiAgCWRvIHsKPiA+IC0JCWN1 cl92YmxhbmsgPSB2YmxhbmstPmNvdW50Owo+ID4gKwkJc2xvdCA9IHZibGFuay0+c2xvdDsKPiA+ ICAJCXNtcF9ybWIoKTsKPiA+IC0JCSp2Ymxhbmt0aW1lID0gdmJsYW5rdGltZXN0YW1wKGRldiwg cGlwZSwgY3VyX3ZibGFuayk7Cj4gPiArCQkqdmJsYW5rdGltZSA9IHZibGFua3RpbWVzdGFtcChk ZXYsIHBpcGUsIHNsb3QpOwo+ID4gKwkJdmJsYW5rY291bnQgPSB2Ymxhbmtjb3VudChkZXYsIHBp cGUsIHNsb3QpOwo+ID4gIAkJc21wX3JtYigpOwo+ID4gLQl9IHdoaWxlIChjdXJfdmJsYW5rICE9 IHZibGFuay0+Y291bnQgJiYgLS1jb3VudCA+IDApOwo+ID4gKwl9IHdoaWxlIChzbG90ICE9IHZi bGFuay0+c2xvdCAmJiAtLWNvdW50ID4gMCk7Cj4gPiAgCj4gPiAtCXJldHVybiBjdXJfdmJsYW5r Owo+ID4gKwlyZXR1cm4gdmJsYW5rY291bnQ7Cj4gPiAgfQo+ID4gIEVYUE9SVF9TWU1CT0woZHJt X3ZibGFua19jb3VudF9hbmRfdGltZSk7Cj4gPiAgCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtUC5oIGIvaW5jbHVkZS9kcm0vZHJtUC5oCj4gPiBpbmRleCA2NzE3YTdkLi45ZGU5ZmRl IDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtUC5oCj4gPiArKysgYi9pbmNsdWRlL2Ry bS9kcm1QLmgKPiA+IEBAIC0zNzQsMTAgKzM3NCwxMCBAQCBzdHJ1Y3QgZHJtX21hc3RlciB7Cj4g PiAgCXZvaWQgKmRyaXZlcl9wcml2Owo+ID4gIH07Cj4gPiAgCj4gPiAtLyogU2l6ZSBvZiByaW5n YnVmZmVyIGZvciB2YmxhbmsgdGltZXN0YW1wcy4gSnVzdCBkb3VibGUtYnVmZmVyCj4gPiArLyog U2l6ZSBvZiByaW5nYnVmZmVyIGZvciB2YmxhbmsgY291bnRzL3RpbWVzdGFtcHMuIEp1c3QgZG91 YmxlLWJ1ZmZlcgo+ID4gICAqIGluIGluaXRpYWwgaW1wbGVtZW50YXRpb24uCj4gPiAgICovCj4g PiAtI2RlZmluZSBEUk1fVkJMQU5LVElNRV9SQlNJWkUgMgo+ID4gKyNkZWZpbmUgRFJNX1ZCTEFO S19SQlNJWkUgMgo+ID4gIAo+ID4gIC8qIEZsYWdzIGFuZCByZXR1cm4gY29kZXMgZm9yIGdldF92 YmxhbmtfdGltZXN0YW1wKCkgZHJpdmVyIGZ1bmN0aW9uLiAqLwo+ID4gICNkZWZpbmUgRFJNX0NB TExFRF9GUk9NX1ZCTElSUSAxCj4gPiBAQCAtNjkyLDEwICs2OTIsMTAgQEAgc3RydWN0IGRybV92 YmxhbmtfY3J0YyB7Cj4gPiAgCXdhaXRfcXVldWVfaGVhZF90IHF1ZXVlOwkvKio8IFZCTEFOSyB3 YWl0IHF1ZXVlICovCj4gPiAgCXN0cnVjdCB0aW1lcl9saXN0IGRpc2FibGVfdGltZXI7CQkvKiBk ZWxheWVkIGRpc2FibGUgdGltZXIgKi8KPiA+ICAKPiA+IC0JLyogdmJsYW5rIGNvdW50ZXIsIHBy b3RlY3RlZCBieSBkZXYtPnZibGFua190aW1lX2xvY2sgZm9yIHdyaXRlcyAqLwo+ID4gLQl1MzIg Y291bnQ7Cj4gPiAtCS8qIHZibGFuayB0aW1lc3RhbXBzLCBwcm90ZWN0ZWQgYnkgZGV2LT52Ymxh bmtfdGltZV9sb2NrIGZvciB3cml0ZXMgKi8KPiA+IC0Jc3RydWN0IHRpbWV2YWwgdGltZVtEUk1f VkJMQU5LVElNRV9SQlNJWkVdOwo+ID4gKwl1MzIgc2xvdDsKPiA+ICsJLyogdmJsYW5rIHRpbWVz dGFtcHMgYW5kIGNvdW50ZXIsIHByb3RlY3RlZCBieSBkZXYtPnZibGFua190aW1lX2xvY2sgZm9y IHdyaXRlcyAqLwo+ID4gKwlzdHJ1Y3QgdGltZXZhbCB0aW1lW0RSTV9WQkxBTktfUkJTSVpFXTsK PiA+ICsJdTMyIGNvdW50W0RSTV9WQkxBTktfUkJTSVpFXTsKPiA+ICAKPiA+ICAJYXRvbWljX3Qg cmVmY291bnQ7CQkvKiBudW1iZXIgb2YgdXNlcnMgb2YgdmJsYW5rIGludGVycnVwdHNwZXIgY3J0 YyAqLwo+ID4gIAl1MzIgbGFzdDsJCQkvKiBwcm90ZWN0ZWQgYnkgZGV2LT52YmxfbG9jaywgdXNl ZCAqLwo+ID4gLS0gCj4gPiAyLjQuNgo+ID4gCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+ID4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ID4gZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+IAo+IC0tIAo+IERhbmllbCBWZXR0ZXIK PiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxvZy5mZnds bC5jaAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK