From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: [PATCH 02/13] drm/i915: Virtualize the ringbuffer signal func Date: Tue, 29 Apr 2014 14:52:29 -0700 Message-ID: <1398808360-3674-3-git-send-email-benjamin.widawsky@intel.com> References: <1398808360-3674-1-git-send-email-benjamin.widawsky@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 867736EAE8 for ; Tue, 29 Apr 2014 14:52:46 -0700 (PDT) In-Reply-To: <1398808360-3674-1-git-send-email-benjamin.widawsky@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 List-Id: intel-gfx@lists.freedesktop.org VGhpcyBhYnN0cmFjdGlvbiBhZ2FpbiBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgZ2VuOC4gR2VuOCB3 aWxsIGJyaW5nIG5ldwpzZW1hbnRpY3MgZm9yIGRvaW5nIHRoaXMgb3BlcmF0aW9uLgoKV2hpbGUg aGVyZSwgbWFrZSB0aGUgd3JpdGVzIG9mIE1JX05PT1BzIGV4cGxpY2l0IGZvciBub24tZXhpc3Rl bnQgcmluZ3MuClRoaXMgc2hvdWxkIGhhdmUgYmVlbiBpbXBsaWNpdCBiZWZvcmUuCgpOT1RFOiBU aGlzIGlzIGdvaW5nIHRvIGJlIHJlbW92ZWQgaW4gYSBmZXcgcGF0Y2hlcy4KClJldmlld2VkLWJ5 OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBCZW4gV2lkYXdza3kgPGJlbkBid2lkYXdzay5uZXQ+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIHwgNDIgKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAxMSAr KysrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IDMwNzZhOTku LmVhODFiNTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZm ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTY2 MywyMCArNjYzLDMyIEBAIHN0YXRpYyB2b2lkIHJlbmRlcl9yaW5nX2NsZWFudXAoc3RydWN0IGlu dGVsX3JpbmdfYnVmZmVyICpyaW5nKQogCXJpbmctPnNjcmF0Y2gub2JqID0gTlVMTDsKIH0KIAot c3RhdGljIHZvaWQKLXVwZGF0ZV9tYm94ZXMoc3RydWN0IGludGVsX3JpbmdfYnVmZmVyICpyaW5n LAotCSAgICAgIHUzMiBtbWlvX29mZnNldCkKK3N0YXRpYyB2b2lkIGdlbjZfc2lnbmFsKHN0cnVj dCBpbnRlbF9yaW5nX2J1ZmZlciAqc2lnbmFsbGVyKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHNpZ25hbGxlci0+ZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaW50 ZWxfcmluZ19idWZmZXIgKnVzZWxlc3M7CisJaW50IGk7CisKIC8qIE5COiBJbiBvcmRlciB0byBi ZSBhYmxlIHRvIGRvIHNlbWFwaG9yZSBNQk9YIHVwZGF0ZXMgZm9yIHZhcnlpbmcgbnVtYmVyCiAg KiBvZiByaW5ncywgaXQncyBlYXNpZXN0IGlmIHdlIHJvdW5kIHVwIGVhY2ggaW5kaXZpZHVhbCB1 cGRhdGUgdG8gYQogICogbXVsdGlwbGUgb2YgMiAoc2luY2UgcmluZyB1cGRhdGVzIG11c3QgYWx3 YXlzIGJlIGEgbXVsdGlwbGUgb2YgMikKICAqIGV2ZW4gdGhvdWdoIHRoZSBhY3R1YWwgdXBkYXRl IG9ubHkgcmVxdWlyZXMgMyBkd29yZHMuCiAgKi8KICNkZWZpbmUgTUJPWF9VUERBVEVfRFdPUkRT IDQKLQlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfTE9BRF9SRUdJU1RFUl9JTU0oMSkpOwotCWlu dGVsX3JpbmdfZW1pdChyaW5nLCBtbWlvX29mZnNldCk7Ci0JaW50ZWxfcmluZ19lbWl0KHJpbmcs IHJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8pOwotCWludGVsX3JpbmdfZW1pdChyaW5nLCBN SV9OT09QKTsKKwlmb3JfZWFjaF9yaW5nKHVzZWxlc3MsIGRldl9wcml2LCBpKSB7CisJCXUzMiBt Ym94X3JlZyA9IHNpZ25hbGxlci0+c2VtYXBob3JlLm1ib3guc2lnbmFsW2ldOworCQlpZiAobWJv eF9yZWcgIT0gR0VONl9OT1NZTkMpIHsKKwkJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIE1J X0xPQURfUkVHSVNURVJfSU1NKDEpKTsKKwkJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIG1i b3hfcmVnKTsKKwkJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIHNpZ25hbGxlci0+b3V0c3Rh bmRpbmdfbGF6eV9zZXFubyk7CisJCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBNSV9OT09Q KTsKKwkJfSBlbHNlIHsKKwkJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIE1JX05PT1ApOwor CQkJaW50ZWxfcmluZ19lbWl0KHNpZ25hbGxlciwgTUlfTk9PUCk7CisJCQlpbnRlbF9yaW5nX2Vt aXQoc2lnbmFsbGVyLCBNSV9OT09QKTsKKwkJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIE1J X05PT1ApOworCQl9CisJfQogfQogCiAvKioKQEAgLTY5Miw5ICs3MDQsNyBAQCBzdGF0aWMgaW50 CiBnZW42X2FkZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqcmluZykKIHsKIAlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcmluZy0+ZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGludGVsX3JpbmdfYnVm ZmVyICp1c2VsZXNzOwotCWludCBpLCByZXQsIG51bV9kd29yZHMgPSA0OworCWludCByZXQsIG51 bV9kd29yZHMgPSA0OwogCiAJaWYgKGk5MTVfc2VtYXBob3JlX2lzX2VuYWJsZWQoZGV2KSkKIAkJ bnVtX2R3b3JkcyArPSAoKEk5MTVfTlVNX1JJTkdTLTEpICogTUJPWF9VUERBVEVfRFdPUkRTKTsK QEAgLTcwNCwxMyArNzE0LDcgQEAgZ2VuNl9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfcmluZ19i dWZmZXIgKnJpbmcpCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCWlmIChpOTE1X3NlbWFw aG9yZV9pc19lbmFibGVkKGRldikpIHsKLQkJZm9yX2VhY2hfcmluZyh1c2VsZXNzLCBkZXZfcHJp diwgaSkgewotCQkJdTMyIG1ib3hfcmVnID0gcmluZy0+c2VtYXBob3JlLm1ib3guc2lnbmFsW2ld OwotCQkJaWYgKG1ib3hfcmVnICE9IEdFTjZfTk9TWU5DKQotCQkJCXVwZGF0ZV9tYm94ZXMocmlu ZywgbWJveF9yZWcpOwotCQl9Ci0JfQorCXJpbmctPnNlbWFwaG9yZS5zaWduYWwocmluZyk7CiAK IAlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfU1RPUkVfRFdPUkRfSU5ERVgpOwogCWludGVsX3Jp bmdfZW1pdChyaW5nLCBJOTE1X0dFTV9IV1NfSU5ERVggPDwgTUlfU1RPUkVfRFdPUkRfSU5ERVhf U0hJRlQpOwpAQCAtMTkyMCw2ICsxOTI0LDcgQEAgaW50IGludGVsX2luaXRfcmVuZGVyX3Jpbmdf YnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCXJpbmctPmdldF9zZXFubyA9IGdlbjZf cmluZ19nZXRfc2Vxbm87CiAJCXJpbmctPnNldF9zZXFubyA9IHJpbmdfc2V0X3NlcW5vOwogCQly aW5nLT5zZW1hcGhvcmUuc3luY190byA9IGdlbjZfcmluZ19zeW5jOworCQlyaW5nLT5zZW1hcGhv cmUuc2lnbmFsID0gZ2VuNl9zaWduYWw7CiAJCS8qCiAJCSAqIFRoZSBjdXJyZW50IHNlbWFwaG9y ZSBpcyBvbmx5IGFwcGxpZWQgb24gcHJlLWdlbjggcGxhdGZvcm0uCiAJCSAqIEFuZCB0aGVyZSBp cyBubyBWQ1MyIHJpbmcgb24gdGhlIHByZS1nZW44IHBsYXRmb3JtLiBTbyB0aGUKQEAgLTIxMDQs NiArMjEwOSw3IEBAIGludCBpbnRlbF9pbml0X2JzZF9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCQkJCWdlbjZfcmluZ19kaXNwYXRjaF9leGVjYnVmZmVyOwogCQl9CiAJCXJp bmctPnNlbWFwaG9yZS5zeW5jX3RvID0gZ2VuNl9yaW5nX3N5bmM7CisJCXJpbmctPnNlbWFwaG9y ZS5zaWduYWwgPSBnZW42X3NpZ25hbDsKIAkJLyoKIAkJICogVGhlIGN1cnJlbnQgc2VtYXBob3Jl IGlzIG9ubHkgYXBwbGllZCBvbiBwcmUtZ2VuOCBwbGF0Zm9ybS4KIAkJICogQW5kIHRoZXJlIGlz IG5vIFZDUzIgcmluZyBvbiB0aGUgcHJlLWdlbjggcGxhdGZvcm0uIFNvIHRoZQpAQCAtMjIyMSw2 ICsyMjI3LDcgQEAgaW50IGludGVsX2luaXRfYmx0X3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCiAJCXJpbmctPmRpc3BhdGNoX2V4ZWNidWZmZXIgPSBnZW42X3JpbmdfZGlzcGF0 Y2hfZXhlY2J1ZmZlcjsKIAl9CiAJcmluZy0+c2VtYXBob3JlLnN5bmNfdG8gPSBnZW42X3Jpbmdf c3luYzsKKwlyaW5nLT5zZW1hcGhvcmUuc2lnbmFsID0gZ2VuNl9zaWduYWw7CiAJLyoKIAkgKiBU aGUgY3VycmVudCBzZW1hcGhvcmUgaXMgb25seSBhcHBsaWVkIG9uIHByZS1nZW44IHBsYXRmb3Jt LiBBbmQKIAkgKiB0aGVyZSBpcyBubyBWQ1MyIHJpbmcgb24gdGhlIHByZS1nZW44IHBsYXRmb3Jt LiBTbyB0aGUgc2VtYXBob3JlCkBAIC0yMjcwLDYgKzIyNzcsNyBAQCBpbnQgaW50ZWxfaW5pdF92 ZWJveF9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlyaW5nLT5kaXNwYXRj aF9leGVjYnVmZmVyID0gZ2VuNl9yaW5nX2Rpc3BhdGNoX2V4ZWNidWZmZXI7CiAJfQogCXJpbmct PnNlbWFwaG9yZS5zeW5jX3RvID0gZ2VuNl9yaW5nX3N5bmM7CisJcmluZy0+c2VtYXBob3JlLnNp Z25hbCA9IGdlbjZfc2lnbmFsOwogCXJpbmctPnNlbWFwaG9yZS5tYm94LndhaXRbUkNTXSA9IE1J X1NFTUFQSE9SRV9TWU5DX1ZFUjsKIAlyaW5nLT5zZW1hcGhvcmUubWJveC53YWl0W1ZDU10gPSBN SV9TRU1BUEhPUkVfU1lOQ19WRVY7CiAJcmluZy0+c2VtYXBob3JlLm1ib3gud2FpdFtCQ1NdID0g TUlfU0VNQVBIT1JFX1NZTkNfVkVCOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5oCmluZGV4IDZhNDRhNjQuLjgzMGZmMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmgKQEAgLTEyMCwxNiArMTIwLDE5IEBAIHN0cnVjdCAgaW50ZWxfcmluZ19idWZm ZXIgewogCiAJc3RydWN0IHsKIAkJdTMyCXN5bmNfc2Vxbm9bSTkxNV9OVU1fUklOR1MtMV07Ci0J CS8qIEFLQSB3YWl0KCkgKi8KLQkJaW50CSgqc3luY190bykoc3RydWN0IGludGVsX3JpbmdfYnVm ZmVyICpyaW5nLAotCQkJCSAgIHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqdG8sCi0JCQkJICAg dTMyIHNlcW5vKTsKKwogCQlzdHJ1Y3QgewogCQkJLyogb3VyIG1ib3ggd3JpdHRlbiBieSBvdGhl cnMgKi8KIAkJCXUzMgkJd2FpdFtJOTE1X05VTV9SSU5HU107CiAJCQkvKiBtYm94ZXMgdGhpcyBy aW5nIHNpZ25hbHMgdG8gKi8KIAkJCXUzMgkJc2lnbmFsW0k5MTVfTlVNX1JJTkdTXTsKIAkJfSBt Ym94OworCisJCS8qIEFLQSB3YWl0KCkgKi8KKwkJaW50CSgqc3luY190bykoc3RydWN0IGludGVs X3JpbmdfYnVmZmVyICpyaW5nLAorCQkJCSAgIHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqdG8s CisJCQkJICAgdTMyIHNlcW5vKTsKKwkJdm9pZAkoKnNpZ25hbCkoc3RydWN0IGludGVsX3Jpbmdf YnVmZmVyICpzaWduYWxsZXIpOwogCX0gc2VtYXBob3JlOwogCiAJLyoqCi0tIAoxLjkuMgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK