From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v7 21/25] xen/arm: refactor vpl011_data_avail Date: Mon, 12 Nov 2018 14:59:54 -0800 Message-ID: <1542063598-23767-21-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: julien.grall@arm.com Cc: Stefano Stabellini , Achin.Gupta@arm.com, sstabellini@kernel.org, andrii_anisov@epam.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org TW92ZSB0aGUgY29kZSB0byBjYWxjdWxhdGUgaW5fZmlmb19sZXZlbCBhbmQgb3V0X2ZpZm9fbGV2 ZWwgb3V0IG9mCnZwbDAxMV9kYXRhX2F2YWlsLCB0byB0aGUgY2FsbGVyLgpUaGlzIGNoYW5nZSB3 aWxsIG1ha2UgaXQgcG9zc2libGUgdG8gcmV1c2UgdnBsMDExX2RhdGFfYXZhaWwgd2l0aApkaWZm ZXJlbnQgcmluZyBzdHJ1Y3R1cmVzIGluIGEgbGF0ZXIgcGF0Y2guCgpTaWduZWQtb2ZmLWJ5OiBT dGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+CkFja2VkLWJ5OiBKdWxpZW4g R3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgoKLS0tCkNoYW5nZXMgaW4gdjM6Ci0gcmVtb3Zl IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgdnBsMDExX2RhdGFfYXZhaWwKCkNoYW5nZXMgaW4gdjI6 Ci0gbmV3IHBhdGNoCi0tLQogeGVuL2FyY2gvYXJtL3ZwbDAxMS5jIHwgNjQgKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MzYgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv YXJtL3ZwbDAxMS5jIGIveGVuL2FyY2gvYXJtL3ZwbDAxMS5jCmluZGV4IGViYzA0NWUuLjY4NDUy YTggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS92cGwwMTEuYworKysgYi94ZW4vYXJjaC9hcm0v dnBsMDExLmMKQEAgLTM3OCwzMCArMzc4LDEzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbW1pb19o YW5kbGVyX29wcyB2cGwwMTFfbW1pb19oYW5kbGVyID0gewogICAgIC53cml0ZSA9IHZwbDAxMV9t bWlvX3dyaXRlLAogfTsKIAotc3RhdGljIHZvaWQgdnBsMDExX2RhdGFfYXZhaWwoc3RydWN0IGRv bWFpbiAqZCkKK3N0YXRpYyB2b2lkIHZwbDAxMV9kYXRhX2F2YWlsKHN0cnVjdCBkb21haW4gKmQs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5DT05TX1JJTkdfSURYIGluX2ZpZm9f bGV2ZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5DT05TX1JJTkdfSURYIGlu X3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5DT05TX1JJTkdfSURYIG91 dF9maWZvX2xldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOQ09OU19SSU5H X0lEWCBvdXRfc2l6ZSkKIHsKLSAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgIHN0cnVjdCB2 cGwwMTEgKnZwbDAxMSA9ICZkLT5hcmNoLnZwbDAxMTsKLSAgICBzdHJ1Y3QgeGVuY29uc19pbnRl cmZhY2UgKmludGYgPSB2cGwwMTEtPmJhY2tlbmQuZG9tLnJpbmdfYnVmOwotICAgIFhFTkNPTlNf UklOR19JRFggaW5fY29ucywgaW5fcHJvZCwgb3V0X2NvbnMsIG91dF9wcm9kOwotICAgIFhFTkNP TlNfUklOR19JRFggaW5fZmlmb19sZXZlbCwgb3V0X2ZpZm9fbGV2ZWw7Ci0KLSAgICBWUEwwMTFf TE9DSyhkLCBmbGFncyk7Ci0KLSAgICBpbl9jb25zID0gaW50Zi0+aW5fY29uczsKLSAgICBpbl9w cm9kID0gaW50Zi0+aW5fcHJvZDsKLSAgICBvdXRfY29ucyA9IGludGYtPm91dF9jb25zOwotICAg IG91dF9wcm9kID0gaW50Zi0+b3V0X3Byb2Q7Ci0KLSAgICBzbXBfcm1iKCk7Ci0KLSAgICBpbl9m aWZvX2xldmVsID0geGVuY29uc19xdWV1ZWQoaW5fcHJvZCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW5fY29ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2l6ZW9mKGludGYtPmluKSk7Ci0KLSAgICBvdXRfZmlmb19sZXZlbCA9IHhlbmNvbnNfcXVl dWVkKG91dF9wcm9kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0X2Nv bnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoaW50Zi0+b3V0 KSk7CiAKICAgICAvKioqKiBVcGRhdGUgdGhlIFVBUlQgUlggc3RhdGUgKioqKi8KIApAQCAtNDEw LDExICszOTMsMTEgQEAgc3RhdGljIHZvaWQgdnBsMDExX2RhdGFfYXZhaWwoc3RydWN0IGRvbWFp biAqZCkKICAgICAgICAgdnBsMDExLT51YXJ0ZnIgJj0gflJYRkU7CiAKICAgICAvKiBTZXQgdGhl IEZJRk9fRlVMTCBiaXQgaWYgdGhlIFhlbiBidWZmZXIgaXMgZnVsbC4gKi8KLSAgICBpZiAoIGlu X2ZpZm9fbGV2ZWwgPT0gc2l6ZW9mKGludGYtPmluKSApCisgICAgaWYgKCBpbl9maWZvX2xldmVs ID09IGluX3NpemUgKQogICAgICAgICB2cGwwMTEtPnVhcnRmciB8PSBSWEZGOwogCiAgICAgLyog QXNzZXJ0IHRoZSBSWCBpbnRlcnJ1cHQgaWYgdGhlIEZJRk8gaXMgbW9yZSB0aGFuIGhhbGYgd2F5 IGZpbGxlZC4gKi8KLSAgICBpZiAoIGluX2ZpZm9fbGV2ZWwgPj0gc2l6ZW9mKGludGYtPmluKSAt IFNCU0FfVUFSVF9GSUZPX0xFVkVMICkKKyAgICBpZiAoIGluX2ZpZm9fbGV2ZWwgPj0gaW5fc2l6 ZSAtIFNCU0FfVUFSVF9GSUZPX0xFVkVMICkKICAgICAgICAgdnBsMDExLT51YXJ0cmlzIHw9IFJY STsKIAogICAgIC8qCkBAIC00MjcsNyArNDEwLDcgQEAgc3RhdGljIHZvaWQgdnBsMDExX2RhdGFf YXZhaWwoc3RydWN0IGRvbWFpbiAqZCkKIAogICAgIC8qKioqIFVwZGF0ZSB0aGUgVUFSVCBUWCBz dGF0ZSAqKioqLwogCi0gICAgaWYgKCBvdXRfZmlmb19sZXZlbCAhPSBzaXplb2YoaW50Zi0+b3V0 KSApCisgICAgaWYgKCBvdXRfZmlmb19sZXZlbCAhPSBvdXRfc2l6ZSApCiAgICAgewogICAgICAg ICB2cGwwMTEtPnVhcnRmciAmPSB+VFhGRjsKIApAQCAtNDQ1LDEzICs0MjgsMzggQEAgc3RhdGlj IHZvaWQgdnBsMDExX2RhdGFfYXZhaWwoc3RydWN0IGRvbWFpbiAqZCkKIAogICAgIGlmICggb3V0 X2ZpZm9fbGV2ZWwgPT0gMCApCiAgICAgICAgIHZwbDAxMS0+dWFydGZyIHw9IFRYRkU7Ci0KLSAg ICBWUEwwMTFfVU5MT0NLKGQsIGZsYWdzKTsKIH0KIAogc3RhdGljIHZvaWQgdnBsMDExX25vdGlm aWNhdGlvbihzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IHBvcnQpCiB7Ci0gICAgdnBsMDEx X2RhdGFfYXZhaWwodi0+ZG9tYWluKTsKKyAgICB1bnNpZ25lZCBsb25nIGZsYWdzOworICAgIHN0 cnVjdCBkb21haW4gKmQgPSB2LT5kb21haW47CisgICAgc3RydWN0IHZwbDAxMSAqdnBsMDExID0g JmQtPmFyY2gudnBsMDExOworICAgIHN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqaW50ZiA9IHZw bDAxMS0+YmFja2VuZC5kb20ucmluZ19idWY7CisgICAgWEVOQ09OU19SSU5HX0lEWCBpbl9jb25z LCBpbl9wcm9kLCBvdXRfY29ucywgb3V0X3Byb2Q7CisgICAgWEVOQ09OU19SSU5HX0lEWCBpbl9m aWZvX2xldmVsLCBvdXRfZmlmb19sZXZlbDsKKworICAgIFZQTDAxMV9MT0NLKGQsIGZsYWdzKTsK KworICAgIGluX2NvbnMgPSBpbnRmLT5pbl9jb25zOworICAgIGluX3Byb2QgPSBpbnRmLT5pbl9w cm9kOworICAgIG91dF9jb25zID0gaW50Zi0+b3V0X2NvbnM7CisgICAgb3V0X3Byb2QgPSBpbnRm LT5vdXRfcHJvZDsKKworICAgIHNtcF9ybWIoKTsKKworICAgIGluX2ZpZm9fbGV2ZWwgPSB4ZW5j b25zX3F1ZXVlZChpbl9wcm9kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bl9jb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoaW50Zi0+ aW4pKTsKKworICAgIG91dF9maWZvX2xldmVsID0geGVuY29uc19xdWV1ZWQob3V0X3Byb2QsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRfY29ucywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihpbnRmLT5vdXQpKTsKKworICAgIHZwbDAx MV9kYXRhX2F2YWlsKHYtPmRvbWFpbiwgaW5fZmlmb19sZXZlbCwgc2l6ZW9mKGludGYtPmluKSwK KyAgICAgICAgICAgICAgICAgICAgICBvdXRfZmlmb19sZXZlbCwgc2l6ZW9mKGludGYtPm91dCkp OworCisgICAgVlBMMDExX1VOTE9DSyhkLCBmbGFncyk7CiB9CiAKIGludCBkb21haW5fdnBsMDEx X2luaXQoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHZwbDAxMV9pbml0X2luZm8gKmluZm8pCi0t IAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=