From mboxrd@z Thu Jan 1 00:00:00 1970 From: ankitprasad.r.sharma@intel.com Subject: [PATCH 11/12] drm/i915: Extend GET_APERTURE ioctl to report available map space Date: Wed, 20 Apr 2016 16:47:38 +0530 Message-ID: <1461151059-16361-12-git-send-email-ankitprasad.r.sharma@intel.com> References: <1461151059-16361-1-git-send-email-ankitprasad.r.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 230BA6E98A for ; Wed, 20 Apr 2016 11:43:03 +0000 (UTC) In-Reply-To: <1461151059-16361-1-git-send-email-ankitprasad.r.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Ankitprasad Sharma , akash.goel@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQW5raXRwcmFzYWQgU2hhcm1hIDxhbmtpdHByYXNhZC5yLnNoYXJtYUBpbnRlbC5jb20+ CgpXaGVuIGNvbnN0cnVjdGluZyBhIGJhdGNoYnVmZmVyLCBpdCBpcyBzb21ldGltZXMgY3J1Y2lh bCB0byBrbm93IHRoZQpsYXJnZXN0IGhvbGUgaW50byB3aGljaCB3ZSBjYW4gZml0IGEgZmVuY2Vh YmxlIGJ1ZmZlciAoZm9yIGV4YW1wbGUgd2hlbgpoYW5kbGluZyB2ZXJ5IGxhcmdlIG9iamVjdHMg b24gZ2VuMiBhbmQgZ2VuMykuIFRoaXMgZGVwZW5kcyBvbiB0aGUKZnJhZ21lbnRhdGlvbiBvZiBw aW5uZWQgYnVmZmVycyBpbnNpZGUgdGhlIGFwZXJ0dXJlLCBhIHF1ZXN0aW9uIG9ubHkgdGhlCmtl cm5lbCBjYW4gZWFzaWx5IGFuc3dlci4KClRoaXMgcGF0Y2ggZXh0ZW5kcyB0aGUgY3VycmVudCBE Uk1fSTkxNV9HRU1fR0VUX0FQRVJUVVJFIGlvY3RsIHRvCmluY2x1ZGUgYSBjb3VwbGUgb2YgbmV3 IGZpZWxkcyBpbiBpdHMgcmVwbHkgdG8gdXNlcnNwYWNlIC0gdGhlIHRvdGFsCmFtb3VudCBvZiBz cGFjZSBhdmFpbGFibGUgaW4gdGhlIG1hcHBhYmxlIHJlZ2lvbiBvZiB0aGUgYXBlcnR1cmUgYW5k CmFsc28gdGhlIHNpbmdsZSBsYXJnZXN0IGJsb2NrIGF2YWlsYWJsZS4KClRoaXMgaXMgbm90IHF1 aXRlIHdoYXQgdXNlcnNwYWNlIHdhbnRzIHRvIGFuc3dlciB0aGUgcXVlc3Rpb24gb2Ygd2hldGhl cgp0aGlzIGJhdGNoIHdpbGwgZml0IGFzIGZlbmNlcyBhcmUgYWxzbyByZXF1aXJlZCB0byBtZWV0 IHNldmVyZSBhbGlnbm1lbnQKY29uc3RyYWludHMgd2l0aGluIHRoZSBiYXRjaC4gRm9yIHRoaXMg cHVycG9zZSwgYSB0aGlyZCBjb25zZXJ2YXRpdmUKZXN0aW1hdGUgb2YgbGFyZ2VzdCBmZW5jZSBh dmFpbGFibGUgaXMgYWxzbyBwcm92aWRlZC4gRm9yIHdoZW4gdXNlcnNwYWNlCm5lZWRzIG1vcmUg dGhhbiBvbmUgYmF0Y2gsIHdlIGFsc28gcHJvdmlkZSB0aGUgY3VsbXVsYXRpdmUgc3BhY2UKYXZh aWxhYmxlIGZvciBmZW5jZXMgc3VjaCB0aGF0IGl0IGhhcyBzb21lIGFkZGl0aW9uYWwgZ3VpZGFu Y2UgdG8gaG93Cm11Y2ggc3BhY2UgaXQgY291bGQgYWxsb2NhdGUgdG8gZmVuY2VzLiBDb25zZXJ2 YXRpc20gc3RpbGwgd2lucy4KClRoZSBwYXRjaCBhbHNvIGFkZHMgYSBkZWJ1Z2ZzIGZpbGUgZm9y IGNvbnZlbmllbnQgdGVzdGluZyBhbmQgcmVwb3J0aW5nLgoKdjI6IFRoZSBmaXJzdCBvYmplY3Qg Y2Fubm90IGVuZCBhdCBvZmZzZXQgMCwgc28gd2UgY2FuIHVzZSBsYXN0PT0wIHRvCmRldGVjdCB0 aGUgZW1wdHkgbGlzdC4KCnYzOiBFeHBhbmQgYWxsIHZhbHVlcyB0byA2NGJpdCwganVzdCBpbiBj YXNlLgogICAgUmVwb3J0IHRvdGFsIG1hcHBhYmxlIGFwZXJ0dXJlIHNpemUgZm9yIHVzZXJzcGFj ZSB0aGF0IGNhbm5vdCBlYXNpbHkKICAgIGRldGVybWluZSBpdCBieSBpbnNwZWN0aW5nIHRoZSBQ Q0kgZGV2aWNlLgoKdjQ6IChSb2RyaWdvKSBGaXhlZCByZWJhc2UgY29uZmxpY3RzLgoKdjU6IEtl ZXBpbmcgbGltaXRzIHRvIGdldF9hcGVydHVyZSBpb2N0bCwgYW5kIG1vdmVkIGNoYW5naW5nIG51 bWJlcnMgdG8KZGVidWdmcywgQWRkcmVzc2VkIGNvbW1lbnRzIChDaHJpcy9UdnJ0a28pCgpTaWdu ZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzIGF0IGNocmlzLXdpbHNvbi5jby51az4KU2ln bmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmkgYXQgaW50ZWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBBbmtpdHByYXNhZCBTaGFybWEgPGFua2l0cHJhc2FkLnIuc2hhcm1hQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyB8IDEzMyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMgICAgIHwgICAxICsKIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgICAg IHwgICA1ICsrCiAzIGZpbGVzIGNoYW5nZWQsIDEzOSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYwppbmRleCA3Zjk0YzZhLi5kOGQ3OTk0IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYwpAQCAtNTI0LDYgKzUyNCwxMzggQEAgc3RhdGljIGludCBpOTE1 X2dlbV9vYmplY3RfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQqIGRhdGEpCiAJcmV0dXJu IDA7CiB9CiAKK3N0YXRpYyBpbnQgdm1hX3JhbmtfYnlfZ2d0dCh2b2lkICpwcml2LAorCQkJICAg IHN0cnVjdCBsaXN0X2hlYWQgKkEsCisJCQkgICAgc3RydWN0IGxpc3RfaGVhZCAqQikKK3sKKwlz dHJ1Y3QgaTkxNV92bWEgKmEgPSBsaXN0X2VudHJ5KEEsIHR5cGVvZigqYSksIGV4ZWNfbGlzdCk7 CisJc3RydWN0IGk5MTVfdm1hICpiID0gbGlzdF9lbnRyeShCLCB0eXBlb2YoKmIpLCBleGVjX2xp c3QpOworCisJcmV0dXJuIGEtPm5vZGUuc3RhcnQgLSBiLT5ub2RlLnN0YXJ0OworfQorCitzdGF0 aWMgdTMyIF9fZmVuY2Vfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUz MiBzdGFydCwgdTMyIGVuZCkKK3sKKwl1MzIgc2l6ZSA9IGVuZCAtIHN0YXJ0OworCXUzMiBmZW5j ZV9zaXplOworCisJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPCA0KSB7CisJCXUzMiBm ZW5jZV9tYXg7CisJCXUzMiBmZW5jZV9uZXh0OworCisJCWlmIChJU19HRU4zKGRldl9wcml2KSkg eworCQkJZmVuY2VfbWF4ID0gSTgzMF9GRU5DRV9NQVhfU0laRV9WQUwgPDwgMjA7CisJCQlmZW5j ZV9uZXh0ID0gMTAyNCoxMDI0OworCQl9IGVsc2UgeworCQkJZmVuY2VfbWF4ID0gSTgzMF9GRU5D RV9NQVhfU0laRV9WQUwgPDwgMTk7CisJCQlmZW5jZV9uZXh0ID0gNTEyKjEwMjQ7CisJCX0KKwor CQlmZW5jZV9tYXggPSBtaW4oZmVuY2VfbWF4LCBzaXplKTsKKwkJZmVuY2Vfc2l6ZSA9IDA7CisJ CS8qIEZpbmQgZmVuY2Vfc2l6ZSBsZXNzIHRoYW4gZmVuY2VfbWF4IGFuZCBwb3dlciBvZiAyICov CisJCXdoaWxlIChmZW5jZV9uZXh0IDw9IGZlbmNlX21heCkgeworCQkJdTMyIGJhc2UgPSBBTElH TihzdGFydCwgZmVuY2VfbmV4dCk7CisJCQlpZiAoYmFzZSArIGZlbmNlX25leHQgPiBlbmQpCisJ CQkJYnJlYWs7CisKKwkJCWZlbmNlX3NpemUgPSBmZW5jZV9uZXh0OworCQkJZmVuY2VfbmV4dCA8 PD0gMTsKKwkJfQorCX0gZWxzZSB7CisJCWZlbmNlX3NpemUgPSBzaXplOworCX0KKworCXJldHVy biBmZW5jZV9zaXplOworfQorCitzdGF0aWMgaW50IGk5MTVfZ2VtX2FwZXJ0dXJlX2luZm8oc3Ry dWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBkcm1faW5mb19ub2RlICpu b2RlID0gbS0+cHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbm9kZS0+bWlub3It PmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOworCXN0cnVjdCBpOTE1X2dndHQgKmdndHQgPSAmZGV2X3ByaXYtPmdndHQ7CisJc3RydWN0 IGRybV9pOTE1X2dlbV9nZXRfYXBlcnR1cmUgYXJnOworCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwor CXN0cnVjdCBsaXN0X2hlYWQgbWFwX2xpc3Q7CisJY29uc3QgdWludDY0X3QgbWFwX2xpbWl0ID0g Z2d0dC0+bWFwcGFibGVfZW5kOworCXVpbnQ2NF90IG1hcF9zcGFjZSwgbWFwX2xhcmdlc3QsIGZl bmNlX3NwYWNlLCBmZW5jZV9sYXJnZXN0OworCXVpbnQ2NF90IGxhc3QsIHNpemU7CisJaW50IHJl dDsKKworCUlOSVRfTElTVF9IRUFEKCZtYXBfbGlzdCk7CisKKwltYXBfc3BhY2UgPSBtYXBfbGFy Z2VzdCA9IDA7CisJZmVuY2Vfc3BhY2UgPSBmZW5jZV9sYXJnZXN0ID0gMDsKKworCXJldCA9IGk5 MTVfZ2VtX2dldF9hcGVydHVyZV9pb2N0bChub2RlLT5taW5vci0+ZGV2LCAmYXJnLCBOVUxMKTsK KwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0 ZXgpOworCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmZ2d0dC0+YmFzZS5hY3RpdmVfbGlzdCwg dm1fbGluaykKKwkJaWYgKHZtYS0+cGluX2NvdW50ICYmCisJCQkodm1hLT5ub2RlLnN0YXJ0ICsg dm1hLT5ub2RlLnNpemUpIDw9IG1hcF9saW1pdCkKKwkJCWxpc3RfYWRkKCZ2bWEtPmV4ZWNfbGlz dCwgJm1hcF9saXN0KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJmdndHQtPmJhc2UuaW5h Y3RpdmVfbGlzdCwgdm1fbGluaykKKwkJaWYgKHZtYS0+cGluX2NvdW50ICYmCisJCQkodm1hLT5u b2RlLnN0YXJ0ICsgdm1hLT5ub2RlLnNpemUpIDw9IG1hcF9saW1pdCkKKwkJCWxpc3RfYWRkKCZ2 bWEtPmV4ZWNfbGlzdCwgJm1hcF9saXN0KTsKKworCWxhc3QgPSAwOworCWxpc3Rfc29ydChOVUxM LCAmbWFwX2xpc3QsIHZtYV9yYW5rX2J5X2dndHQpOworCXdoaWxlICghbGlzdF9lbXB0eSgmbWFw X2xpc3QpKSB7CisJCXZtYSA9IGxpc3RfZmlyc3RfZW50cnkoJm1hcF9saXN0LCB0eXBlb2YoKnZt YSksIGV4ZWNfbGlzdCk7CisJCWxpc3RfZGVsX2luaXQoJnZtYS0+ZXhlY19saXN0KTsKKworCQlp ZiAobGFzdCA9PSAwKQorCQkJZ290byBza2lwX2ZpcnN0OworCisJCXNpemUgPSB2bWEtPm5vZGUu c3RhcnQgLSBsYXN0OworCQlpZiAoc2l6ZSA+IG1hcF9sYXJnZXN0KQorCQkJbWFwX2xhcmdlc3Qg PSBzaXplOworCQltYXBfc3BhY2UgKz0gc2l6ZTsKKworCQlzaXplID0gX19mZW5jZV9zaXplKGRl dl9wcml2LCBsYXN0LCB2bWEtPm5vZGUuc3RhcnQpOworCQlpZiAoc2l6ZSA+IGZlbmNlX2xhcmdl c3QpCisJCQlmZW5jZV9sYXJnZXN0ID0gc2l6ZTsKKwkJZmVuY2Vfc3BhY2UgKz0gc2l6ZTsKKwor c2tpcF9maXJzdDoKKwkJbGFzdCA9IHZtYS0+bm9kZS5zdGFydCArIHZtYS0+bm9kZS5zaXplOwor CX0KKwlpZiAobGFzdCA8IG1hcF9saW1pdCkgeworCQlzaXplID0gbWFwX2xpbWl0IC0gbGFzdDsK KwkJaWYgKHNpemUgPiBtYXBfbGFyZ2VzdCkKKwkJCW1hcF9sYXJnZXN0ID0gc2l6ZTsKKwkJbWFw X3NwYWNlICs9IHNpemU7CisKKwkJc2l6ZSA9IF9fZmVuY2Vfc2l6ZShkZXZfcHJpdiwgbGFzdCwg bWFwX2xpbWl0KTsKKwkJaWYgKHNpemUgPiBmZW5jZV9sYXJnZXN0KQorCQkJZmVuY2VfbGFyZ2Vz dCA9IHNpemU7CisJCWZlbmNlX3NwYWNlICs9IHNpemU7CisJfQorCisJbXV0ZXhfdW5sb2NrKCZk ZXYtPnN0cnVjdF9tdXRleCk7CisKKwlzZXFfcHJpbnRmKG0sICJUb3RhbCBzaXplIG9mIHRoZSBH VFQ6ICVsbHUgYnl0ZXNcbiIsCisJCSAgIGFyZy5hcGVyX3NpemUpOworCXNlcV9wcmludGYobSwg IkF2YWlsYWJsZSBzcGFjZSBpbiB0aGUgR1RUOiAlbGx1IGJ5dGVzXG4iLAorCQkgICBhcmcuYXBl cl9hdmFpbGFibGVfc2l6ZSk7CisJc2VxX3ByaW50ZihtLCAiVG90YWwgc3BhY2UgaW4gdGhlIG1h cHBhYmxlIGFwZXJ0dXJlOiAlbGx1IGJ5dGVzXG4iLAorCQkgICBhcmcubWFwX3RvdGFsX3NpemUp OworCXNlcV9wcmludGYobSwgIkF2YWlsYWJsZSBzcGFjZSBpbiB0aGUgbWFwcGFibGUgYXBlcnR1 cmU6ICVsbHUgYnl0ZXNcbiIsCisJCSAgIG1hcF9zcGFjZSk7CisJc2VxX3ByaW50ZihtLCAiU2lu Z2xlIGxhcmdlc3Qgc3BhY2UgaW4gdGhlIG1hcHBhYmxlIGFwZXJ0dXJlOiAlbGx1IGJ5dGVzXG4i LAorCQkgICBtYXBfbGFyZ2VzdCk7CisJc2VxX3ByaW50ZihtLCAiQXZhaWxhYmxlIHNwYWNlIGZv ciBmZW5jZXM6ICVsbHUgYnl0ZXNcbiIsCisJCSAgIGZlbmNlX3NwYWNlKTsKKwlzZXFfcHJpbnRm KG0sICJTaW5nbGUgbGFyZ2VzdCBmZW5jZSBhdmFpbGFibGU6ICVsbHUgYnl0ZXNcbiIsCisJCSAg IGZlbmNlX2xhcmdlc3QpOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgaTkxNV9nZW1f Z3R0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogewogCXN0cnVjdCBkcm1f aW5mb19ub2RlICpub2RlID0gbS0+cHJpdmF0ZTsKQEAgLTUzNTQsNiArNTQ4Niw3IEBAIHN0YXRp YyBpbnQgaTkxNV9kZWJ1Z2ZzX2NyZWF0ZShzdHJ1Y3QgZGVudHJ5ICpyb290LAogc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1faW5mb19saXN0IGk5MTVfZGVidWdmc19saXN0W10gPSB7CiAJeyJpOTE1 X2NhcGFiaWxpdGllcyIsIGk5MTVfY2FwYWJpbGl0aWVzLCAwfSwKIAl7Imk5MTVfZ2VtX29iamVj dHMiLCBpOTE1X2dlbV9vYmplY3RfaW5mbywgMH0sCisJeyJpOTE1X2dlbV9hcGVydHVyZSIsIGk5 MTVfZ2VtX2FwZXJ0dXJlX2luZm8sIDB9LAogCXsiaTkxNV9nZW1fZ3R0IiwgaTkxNV9nZW1fZ3R0 X2luZm8sIDB9LAogCXsiaTkxNV9nZW1fcGlubmVkIiwgaTkxNV9nZW1fZ3R0X2luZm8sIDAsICh2 b2lkICopIFBJTk5FRF9MSVNUfSwKIAl7Imk5MTVfZ2VtX2FjdGl2ZSIsIGk5MTVfZ2VtX29iamVj dF9saXN0X2luZm8sIDAsICh2b2lkICopIEFDVElWRV9MSVNUfSwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jCmluZGV4IDQ1ZmQwNDkuLmExYmUzNWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAt MTY1LDYgKzE2NSw3IEBAIGk5MTVfZ2VtX2dldF9hcGVydHVyZV9pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAogCiAJYXJncy0+YXBlcl9zaXplID0gZ2d0dC0+YmFzZS50 b3RhbDsKIAlhcmdzLT5hcGVyX2F2YWlsYWJsZV9zaXplID0gYXJncy0+YXBlcl9zaXplIC0gcGlu bmVkOworCWFyZ3MtPm1hcF90b3RhbF9zaXplID0gZ2d0dC0+bWFwcGFibGVfZW5kOzsKIAogCXJl dHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oIGIvaW5j bHVkZS91YXBpL2RybS9pOTE1X2RybS5oCmluZGV4IGRhZTAyZDguLjhmMzg0MDcgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2k5 MTVfZHJtLmgKQEAgLTEwMDcsNiArMTAwNywxMSBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2dldF9h cGVydHVyZSB7CiAJICogYnl0ZXMKIAkgKi8KIAlfX3U2NCBhcGVyX2F2YWlsYWJsZV9zaXplOwor CisJLyoqCisJICogVG90YWwgc3BhY2UgaW4gdGhlIG1hcHBhYmxlIHJlZ2lvbiBvZiB0aGUgYXBl cnR1cmUsIGluIGJ5dGVzCisJICovCisJX191NjQgbWFwX3RvdGFsX3NpemU7CiB9OwogCiBzdHJ1 Y3QgZHJtX2k5MTVfZ2V0X3BpcGVfZnJvbV9jcnRjX2lkIHsKLS0gCjEuOS4xCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK