From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tiago Vignatti Subject: [PATCH v7 3/5] dma-buf: Add ioctls to allow userspace to flush Date: Tue, 22 Dec 2015 19:36:46 -0200 Message-ID: <1450820214-12509-4-git-send-email-tiago.vignatti@intel.com> References: <1450820214-12509-1-git-send-email-tiago.vignatti@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 02BAD6E30E for ; Tue, 22 Dec 2015 13:37:11 -0800 (PST) In-Reply-To: <1450820214-12509-1-git-send-email-tiago.vignatti@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: daniel.thompson@linaro.org, marcheu@google.com, daniel.vetter@ffwll.ch, thellstrom@vmware.com, jglisse@redhat.com, reveman@google.com, Daniel Vetter List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KClRoZSB1c2Vyc3Bh Y2UgbWlnaHQgbmVlZCBzb21lIHNvcnQgb2YgY2FjaGUgY29oZXJlbmN5IG1hbmFnZW1lbnQgZS5n LiB3aGVuIENQVQphbmQgR1BVIGRvbWFpbnMgYXJlIGJlaW5nIGFjY2Vzc2VkIHRocm91Z2ggZG1h LWJ1ZiBhdCB0aGUgc2FtZSB0aW1lLiBUbwpjaXJjdW12ZW50IHRoaXMgcHJvYmxlbSB0aGVyZSBh cmUgYmVnaW4vZW5kIGNvaGVyZW5jeSBtYXJrZXJzLCB0aGF0IGZvcndhcmQKZGlyZWN0bHkgdG8g ZXhpc3RpbmcgZG1hLWJ1ZiBkZXZpY2UgZHJpdmVycyB2ZnVuYyBob29rcy4gVXNlcnNwYWNlIGNh biBtYWtlIHVzZQpvZiB0aG9zZSBtYXJrZXJzIHRocm91Z2ggdGhlIERNQV9CVUZfSU9DVExfU1lO QyBpb2N0bC4gVGhlIHNlcXVlbmNlIHdvdWxkIGJlCnVzZWQgbGlrZSBmb2xsb3dpbmc6CiAgICAg LSBtbWFwIGRtYS1idWYgZmQKICAgICAtIGZvciBlYWNoIGRyYXdpbmcvdXBsb2FkIGN5Y2xlIGlu IENQVSAxLiBTWU5DX1NUQVJUIGlvY3RsLCAyLiByZWFkL3dyaXRlCiAgICAgICB0byBtbWFwIGFy ZWEgMy4gU1lOQ19FTkQgaW9jdGwuIFRoaXMgY2FuIGJlIHJlcGVhdGVkIGFzIG9mdGVuIGFzIHlv dQogICAgICAgd2FudCAod2l0aCB0aGUgbmV3IGRhdGEgYmVpbmcgY29uc3VtZWQgYnkgdGhlIEdQ VSBvciBzYXkgc2Nhbm91dCBkZXZpY2UpCiAgICAgLSBtdW5tYXAgb25jZSB5b3UgZG9uJ3QgbmVl ZCB0aGUgYnVmZmVyIGFueSBtb3JlCgp2MiAoVGlhZ28pOiBGaXggaGVhZGVyIGZpbGUgdHlwZSBu YW1lcyAodTY0IC0+IF9fdTY0KQp2MyAoVGlhZ28pOiBBZGQgZG9jdW1lbnRhdGlvbi4gVXNlIGVu dW0gZG1hX2J1Zl9zeW5jX2ZsYWdzIHRvIHRoZSBiZWdpbi9lbmQKZG1hLWJ1ZiBmdW5jdGlvbnMu IENoZWNrIGZvciBvdmVyZmxvd3MgaW4gc3RhcnQvbGVuZ3RoLgp2NCAoVGlhZ28pOiB1c2UgMmQg cmVnaW9ucyBmb3Igc3luYy4KdjUgKFRpYWdvKTogZm9yZ2V0IGFib3V0IDJkIHJlZ2lvbnMgKHY0 KTsgdXNlIF9JT1cgaW4gRE1BX0JVRl9JT0NUTF9TWU5DIGFuZApyZW1vdmUgcmFuZ2UgaW5mb3Jt YXRpb24gZnJvbSBzdHJ1Y3QgZG1hX2J1Zl9zeW5jLgp2NiAoVGlhZ28pOiB1c2UgX191NjQgc3Ry dWN0dXJlZCBwYWRkZWQgZmxhZ3MgaW5zdGVhZCBlbnVtLiBBZGp1c3QKZG9jdW1lbnRhdGlvbiBh Ym91dCB0aGUgcmVjb21tZW5kYXRpb24gb24gdXNpbmcgc3luYyBpb2N0bHMuCnY3IChUaWFnbyk6 IEFsZXgnIG5pdCBvbiBmbGFncyBkZWZpbml0aW9uIGFuZCBiZWluZyBldmVuIG1vcmUgd29yZGlu ZyBpbiB0aGUKZG9jIGFib3V0IHN5bmMgdXNhZ2UuCgpDYzogU3VtaXQgU2Vtd2FsIDxzdW1pdC5z ZW13YWxAbGluYXJvLm9yZz4KU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFRpYWdvIFZpZ25hdHRpIDx0aWFnby52aWdu YXR0aUBpbnRlbC5jb20+Ci0tLQogRG9jdW1lbnRhdGlvbi9kbWEtYnVmLXNoYXJpbmcudHh0IHwg MjEgKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYyAgICAgICAg IHwgNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL3Vh cGkvbGludXgvZG1hLWJ1Zi5oICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEwMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS91YXBpL2xpbnV4L2RtYS1idWYuaAoKZGlmZiAt LWdpdCBhL0RvY3VtZW50YXRpb24vZG1hLWJ1Zi1zaGFyaW5nLnR4dCBiL0RvY3VtZW50YXRpb24v ZG1hLWJ1Zi1zaGFyaW5nLnR4dAppbmRleCA0ZjRhODRiLi4zMmFjMzJlIDEwMDY0NAotLS0gYS9E b2N1bWVudGF0aW9uL2RtYS1idWYtc2hhcmluZy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9kbWEt YnVmLXNoYXJpbmcudHh0CkBAIC0zNTAsNyArMzUwLDI2IEBAIEJlaW5nIGFibGUgdG8gbW1hcCBh biBleHBvcnQgZG1hLWJ1ZiBidWZmZXIgb2JqZWN0IGhhcyAyIG1haW4gdXNlLWNhc2VzOgogICAg aGFuZGxlcywgdG9vKS4gU28gaXQncyBiZW5lZmljaWFsIHRvIHN1cHBvcnQgdGhpcyBpbiBhIHNp bWlsYXIgZmFzaGlvbiBvbgogICAgZG1hLWJ1ZiB0byBoYXZlIGEgZ29vZCB0cmFuc2l0aW9uIHBh dGggZm9yIGV4aXN0aW5nIEFuZHJvaWQgdXNlcnNwYWNlLgogCi0gICBObyBzcGVjaWFsIGludGVy ZmFjZXMsIHVzZXJzcGFjZSBzaW1wbHkgY2FsbHMgbW1hcCBvbiB0aGUgZG1hLWJ1ZiBmZC4KKyAg IE5vIHNwZWNpYWwgaW50ZXJmYWNlcywgdXNlcnNwYWNlIHNpbXBseSBjYWxscyBtbWFwIG9uIHRo ZSBkbWEtYnVmIGZkLCBtYWtpbmcKKyAgIHN1cmUgdGhhdCB0aGUgY2FjaGUgc3luY2hyb25pemF0 aW9uIGlvY3RsIChETUFfQlVGX0lPQ1RMX1NZTkMpIGlzICphbHdheXMqCisgICB1c2VkIHdoZW4g dGhlIGFjY2VzcyBoYXBwZW5zLiBUaGlzIGlzIGRpc2N1c3NlZCBuZXh0IHBhcmFncmFwaHMuCisK KyAgIFNvbWUgc3lzdGVtcyBtaWdodCBuZWVkIHNvbWUgc29ydCBvZiBjYWNoZSBjb2hlcmVuY3kg bWFuYWdlbWVudCBlLmcuIHdoZW4KKyAgIENQVSBhbmQgR1BVIGRvbWFpbnMgYXJlIGJlaW5nIGFj Y2Vzc2VkIHRocm91Z2ggZG1hLWJ1ZiBhdCB0aGUgc2FtZSB0aW1lLiBUbworICAgY2lyY3VtdmVu dCB0aGlzIHByb2JsZW0gdGhlcmUgYXJlIGJlZ2luL2VuZCBjb2hlcmVuY3kgbWFya2VycywgdGhh dCBmb3J3YXJkCisgICBkaXJlY3RseSB0byBleGlzdGluZyBkbWEtYnVmIGRldmljZSBkcml2ZXJz IHZmdW5jIGhvb2tzLiBVc2Vyc3BhY2UgY2FuIG1ha2UKKyAgIHVzZSBvZiB0aG9zZSBtYXJrZXJz IHRocm91Z2ggdGhlIERNQV9CVUZfSU9DVExfU1lOQyBpb2N0bC4gVGhlIHNlcXVlbmNlCisgICB3 b3VsZCBiZSB1c2VkIGxpa2UgZm9sbG93aW5nOgorICAgICAtIG1tYXAgZG1hLWJ1ZiBmZAorICAg ICAtIGZvciBlYWNoIGRyYXdpbmcvdXBsb2FkIGN5Y2xlIGluIENQVSAxLiBTWU5DX1NUQVJUIGlv Y3RsLCAyLiByZWFkL3dyaXRlCisgICAgICAgdG8gbW1hcCBhcmVhIDMuIFNZTkNfRU5EIGlvY3Rs LiBUaGlzIGNhbiBiZSByZXBlYXRlZCBhcyBvZnRlbiBhcyB5b3UKKyAgICAgICB3YW50ICh3aXRo IHRoZSBuZXcgZGF0YSBiZWluZyBjb25zdW1lZCBieSB0aGUgR1BVIG9yIHNheSBzY2Fub3V0IGRl dmljZSkKKyAgICAgLSBtdW5tYXAgb25jZSB5b3UgZG9uJ3QgbmVlZCB0aGUgYnVmZmVyIGFueSBt b3JlCisKKyAgICBUaGVyZWZvcmUsIGZvciBjb3JyZWN0bmVzcyBhbmQgb3B0aW1hbCBwZXJmb3Jt YW5jZSwgc3lzdGVtcyB3aXRoIHRoZSBtZW1vcnkKKyAgICBjYWNoZSBzaGFyZWQgYnkgdGhlIEdQ VSBhbmQgQ1BVIGkuZS4gdGhlICJjb2hlcmVudCIgYW5kIGFsc28gdGhlCisgICAgImluY29oZXJl bnQiIGFyZSBhbHdheXMgcmVxdWlyZWQgdG8gdXNlIFNZTkNfU1RBUlQgYW5kIFNZTkNfRU5EIGJl Zm9yZSBhbmQKKyAgICBhZnRlciwgcmVzcGVjdGl2ZWx5LCB3aGVuIGFjY2Vzc2luZyB0aGUgbWFw cGVkIGFkZHJlc3MuCiAKIDIuIFN1cHBvcnRpbmcgZXhpc3RpbmcgbW1hcCBpbnRlcmZhY2VzIGlu IGltcG9ydGVycwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jIGIvZHJp dmVycy9kbWEtYnVmL2RtYS1idWYuYwppbmRleCBiMmFjMTNiLi45YTI5OGJkIDEwMDY0NAotLS0g YS9kcml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jCisrKyBiL2RyaXZlcnMvZG1hLWJ1Zi9kbWEtYnVm LmMKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8 bGludXgvcmVzZXJ2YXRpb24uaD4KIAorI2luY2x1ZGUgPHVhcGkvbGludXgvZG1hLWJ1Zi5oPgor CiBzdGF0aWMgaW5saW5lIGludCBpc19kbWFfYnVmX2ZpbGUoc3RydWN0IGZpbGUgKik7CiAKIHN0 cnVjdCBkbWFfYnVmX2xpc3QgewpAQCAtMjUxLDExICsyNTMsNTIgQEAgb3V0OgogCXJldHVybiBl dmVudHM7CiB9CiAKK3N0YXRpYyBsb25nIGRtYV9idWZfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUs CisJCQkgIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXN0cnVjdCBk bWFfYnVmICpkbWFidWY7CisJc3RydWN0IGRtYV9idWZfc3luYyBzeW5jOworCWVudW0gZG1hX2Rh dGFfZGlyZWN0aW9uIGRpcmVjdGlvbjsKKworCWRtYWJ1ZiA9IGZpbGUtPnByaXZhdGVfZGF0YTsK KworCWlmICghaXNfZG1hX2J1Zl9maWxlKGZpbGUpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXN3 aXRjaCAoY21kKSB7CisJY2FzZSBETUFfQlVGX0lPQ1RMX1NZTkM6CisJCWlmIChjb3B5X2Zyb21f dXNlcigmc3luYywgKHZvaWQgX191c2VyICopIGFyZywgc2l6ZW9mKHN5bmMpKSkKKwkJCXJldHVy biAtRUZBVUxUOworCisJCWlmIChzeW5jLmZsYWdzICYgRE1BX0JVRl9TWU5DX1JXKQorCQkJZGly ZWN0aW9uID0gRE1BX0JJRElSRUNUSU9OQUw7CisJCWVsc2UgaWYgKHN5bmMuZmxhZ3MgJiBETUFf QlVGX1NZTkNfUkVBRCkKKwkJCWRpcmVjdGlvbiA9IERNQV9GUk9NX0RFVklDRTsKKwkJZWxzZSBp ZiAoc3luYy5mbGFncyAmIERNQV9CVUZfU1lOQ19XUklURSkKKwkJCWRpcmVjdGlvbiA9IERNQV9U T19ERVZJQ0U7CisJCWVsc2UKKwkJCXJldHVybiAtRUlOVkFMOworCisJCWlmIChzeW5jLmZsYWdz ICYgfkRNQV9CVUZfU1lOQ19WQUxJRF9GTEFHU19NQVNLKQorCQkJcmV0dXJuIC1FSU5WQUw7CisK KwkJaWYgKHN5bmMuZmxhZ3MgJiBETUFfQlVGX1NZTkNfRU5EKQorCQkJZG1hX2J1Zl9lbmRfY3B1 X2FjY2VzcyhkbWFidWYsIGRpcmVjdGlvbik7CisJCWVsc2UKKwkJCWRtYV9idWZfYmVnaW5fY3B1 X2FjY2VzcyhkbWFidWYsIGRpcmVjdGlvbik7CisKKwkJcmV0dXJuIDA7CisJZGVmYXVsdDoKKwkJ cmV0dXJuIC1FTk9UVFk7CisJfQorfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0 aW9ucyBkbWFfYnVmX2ZvcHMgPSB7CiAJLnJlbGVhc2UJPSBkbWFfYnVmX3JlbGVhc2UsCiAJLm1t YXAJCT0gZG1hX2J1Zl9tbWFwX2ludGVybmFsLAogCS5sbHNlZWsJCT0gZG1hX2J1Zl9sbHNlZWss CiAJLnBvbGwJCT0gZG1hX2J1Zl9wb2xsLAorCS51bmxvY2tlZF9pb2N0bAk9IGRtYV9idWZfaW9j dGwsCiB9OwogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xpbnV4L2RtYS1idWYuaCBi L2luY2x1ZGUvdWFwaS9saW51eC9kbWEtYnVmLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNGE5YjM2YgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvdWFwaS9saW51eC9k bWEtYnVmLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIEZyYW1ld29yayBmb3IgYnVmZmVyIG9i amVjdHMgdGhhdCBjYW4gYmUgc2hhcmVkIGFjcm9zcyBkZXZpY2VzL3N1YnN5c3RlbXMuCisgKgor ICogQ29weXJpZ2h0KEMpIDIwMTUgSW50ZWwgTHRkCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAq IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lv biAyIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAq CisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKKyAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvcgorICogRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvcgorICogbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKKyAqIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K KyAqLworCisjaWZuZGVmIF9ETUFfQlVGX1VBUElfSF8KKyNkZWZpbmUgX0RNQV9CVUZfVUFQSV9I XworCisvKiBiZWdpbi9lbmQgZG1hLWJ1ZiBmdW5jdGlvbnMgdXNlZCBmb3IgdXNlcnNwYWNlIG1t YXAuICovCitzdHJ1Y3QgZG1hX2J1Zl9zeW5jIHsKKwlfX3U2NCBmbGFnczsKK307CisKKyNkZWZp bmUgRE1BX0JVRl9TWU5DX1JFQUQgICAgICAoMSA8PCAwKQorI2RlZmluZSBETUFfQlVGX1NZTkNf V1JJVEUgICAgICgyIDw8IDApCisjZGVmaW5lIERNQV9CVUZfU1lOQ19SVyAgICAgICAgKERNQV9C VUZfU1lOQ19SRUFEIHwgRE1BX0JVRl9TWU5DX1dSSVRFKQorI2RlZmluZSBETUFfQlVGX1NZTkNf U1RBUlQgICAgICgwIDw8IDIpCisjZGVmaW5lIERNQV9CVUZfU1lOQ19FTkQgICAgICAgKDEgPDwg MikKKyNkZWZpbmUgRE1BX0JVRl9TWU5DX1ZBTElEX0ZMQUdTX01BU0sgXAorCShETUFfQlVGX1NZ TkNfUlcgfCBETUFfQlVGX1NZTkNfRU5EKQorCisjZGVmaW5lIERNQV9CVUZfQkFTRQkJJ2InCisj ZGVmaW5lIERNQV9CVUZfSU9DVExfU1lOQwlfSU9XKERNQV9CVUZfQkFTRSwgMCwgc3RydWN0IGRt YV9idWZfc3luYykKKworI2VuZGlmCi0tIAoyLjEuNAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK