From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v3 21/25] xen/arm: refactor vpl011_data_avail Date: Tue, 31 Jul 2018 16:28:04 -0700 Message-ID: <1533079688-9541-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 , sstabellini@kernel.org, andrii_anisov@epam.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org TW92ZSB0aGUgY29kZSB0byBjYWxjdWxhdGUgaW5fZmlmb19sZXZlbCBhbmQgb3V0X2ZpZm9fbGV2 ZWwgb3V0IG9mCnZwbDAxMV9kYXRhX2F2YWlsLCB0byB0aGUgY2FsbGVyLgpUaGlzIGNoYW5nZSB3 aWxsIG1ha2UgaXQgcG9zc2libGUgdG8gcmV1c2UgdnBsMDExX2RhdGFfYXZhaWwgd2l0aApkaWZm ZXJlbnQgcmluZyBzdHJ1Y3R1cmVzIGluIGEgbGF0ZXIgcGF0Y2guCgpTaWduZWQtb2ZmLWJ5OiBT dGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+CgotLS0KQ2hhbmdlcyBpbiB2 MzoKLSByZW1vdmUgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiB2cGwwMTFfZGF0YV9hdmFpbAoKQ2hh bmdlcyBpbiB2MjoKLSBuZXcgcGF0Y2gKLS0tCiB4ZW4vYXJjaC9hcm0vdnBsMDExLmMgfCA2NCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4vYXJjaC9hcm0vdnBsMDExLmMgYi94ZW4vYXJjaC9hcm0vdnBsMDExLmMKaW5kZXggZTcw YzVlYy4uNzI1YTIwMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3ZwbDAxMS5jCisrKyBiL3hl bi9hcmNoL2FybS92cGwwMTEuYwpAQCAtMzc4LDMwICszNzgsMTMgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBtbWlvX2hhbmRsZXJfb3BzIHZwbDAxMV9tbWlvX2hhbmRsZXIgPSB7CiAgICAgLndyaXRl ID0gdnBsMDExX21taW9fd3JpdGUsCiB9OwogCi1zdGF0aWMgdm9pZCB2cGwwMTFfZGF0YV9hdmFp bChzdHJ1Y3QgZG9tYWluICpkKQorc3RhdGljIHZvaWQgdnBsMDExX2RhdGFfYXZhaWwoc3RydWN0 IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkNPTlNfUklOR19J RFggaW5fZmlmb19sZXZlbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkNPTlNf UklOR19JRFggaW5fc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkNPTlNf UklOR19JRFggb3V0X2ZpZm9fbGV2ZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBY RU5DT05TX1JJTkdfSURYIG91dF9zaXplKQogewotICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAg ICAgc3RydWN0IHZwbDAxMSAqdnBsMDExID0gJmQtPmFyY2gudnBsMDExOwotICAgIHN0cnVjdCB4 ZW5jb25zX2ludGVyZmFjZSAqaW50ZiA9IHZwbDAxMS0+ZG9tLnJpbmdfYnVmOwotICAgIFhFTkNP TlNfUklOR19JRFggaW5fY29ucywgaW5fcHJvZCwgb3V0X2NvbnMsIG91dF9wcm9kOwotICAgIFhF TkNPTlNfUklOR19JRFggaW5fZmlmb19sZXZlbCwgb3V0X2ZpZm9fbGV2ZWw7Ci0KLSAgICBWUEww MTFfTE9DSyhkLCBmbGFncyk7Ci0KLSAgICBpbl9jb25zID0gaW50Zi0+aW5fY29uczsKLSAgICBp bl9wcm9kID0gaW50Zi0+aW5fcHJvZDsKLSAgICBvdXRfY29ucyA9IGludGYtPm91dF9jb25zOwot ICAgIG91dF9wcm9kID0gaW50Zi0+b3V0X3Byb2Q7Ci0KLSAgICBzbXBfcm1iKCk7Ci0KLSAgICBp bl9maWZvX2xldmVsID0geGVuY29uc19xdWV1ZWQoaW5fcHJvZCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW5fY29ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZW9mKGludGYtPmluKSk7Ci0KLSAgICBvdXRfZmlmb19sZXZlbCA9IHhlbmNvbnNf cXVldWVkKG91dF9wcm9kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0 X2NvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoaW50Zi0+ b3V0KSk7CiAKICAgICAvKioqKiBVcGRhdGUgdGhlIFVBUlQgUlggc3RhdGUgKioqKi8KIApAQCAt NDEwLDExICszOTMsMTEgQEAgc3RhdGljIHZvaWQgdnBsMDExX2RhdGFfYXZhaWwoc3RydWN0IGRv bWFpbiAqZCkKICAgICAgICAgdnBsMDExLT51YXJ0ZnIgJj0gflJYRkU7CiAKICAgICAvKiBTZXQg dGhlIEZJRk9fRlVMTCBiaXQgaWYgdGhlIFhlbiBidWZmZXIgaXMgZnVsbC4gKi8KLSAgICBpZiAo IGluX2ZpZm9fbGV2ZWwgPT0gc2l6ZW9mKGludGYtPmluKSApCisgICAgaWYgKCBpbl9maWZvX2xl dmVsID09IGluX3NpemUgKQogICAgICAgICB2cGwwMTEtPnVhcnRmciB8PSBSWEZGOwogCiAgICAg LyogQXNzZXJ0IHRoZSBSWCBpbnRlcnJ1cHQgaWYgdGhlIEZJRk8gaXMgbW9yZSB0aGFuIGhhbGYg d2F5IGZpbGxlZC4gKi8KLSAgICBpZiAoIGluX2ZpZm9fbGV2ZWwgPj0gc2l6ZW9mKGludGYtPmlu KSAtIFNCU0FfVUFSVF9GSUZPX0xFVkVMICkKKyAgICBpZiAoIGluX2ZpZm9fbGV2ZWwgPj0gaW5f c2l6ZSAtIFNCU0FfVUFSVF9GSUZPX0xFVkVMICkKICAgICAgICAgdnBsMDExLT51YXJ0cmlzIHw9 IFJYSTsKIAogICAgIC8qCkBAIC00MjcsNyArNDEwLDcgQEAgc3RhdGljIHZvaWQgdnBsMDExX2Rh dGFfYXZhaWwoc3RydWN0IGRvbWFpbiAqZCkKIAogICAgIC8qKioqIFVwZGF0ZSB0aGUgVUFSVCBU WCBzdGF0ZSAqKioqLwogCi0gICAgaWYgKCBvdXRfZmlmb19sZXZlbCAhPSBzaXplb2YoaW50Zi0+ b3V0KSApCisgICAgaWYgKCBvdXRfZmlmb19sZXZlbCAhPSBvdXRfc2l6ZSApCiAgICAgewogICAg ICAgICB2cGwwMTEtPnVhcnRmciAmPSB+VFhGRjsKIApAQCAtNDQ1LDEzICs0MjgsMzggQEAgc3Rh dGljIHZvaWQgdnBsMDExX2RhdGFfYXZhaWwoc3RydWN0IGRvbWFpbiAqZCkKIAogICAgIGlmICgg b3V0X2ZpZm9fbGV2ZWwgPT0gMCApCiAgICAgICAgIHZwbDAxMS0+dWFydGZyIHw9IFRYRkU7Ci0K LSAgICBWUEwwMTFfVU5MT0NLKGQsIGZsYWdzKTsKIH0KIAogc3RhdGljIHZvaWQgdnBsMDExX25v dGlmaWNhdGlvbihzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IHBvcnQpCiB7Ci0gICAgdnBs MDExX2RhdGFfYXZhaWwodi0+ZG9tYWluKTsKKyAgICB1bnNpZ25lZCBsb25nIGZsYWdzOworICAg IHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21haW47CisgICAgc3RydWN0IHZwbDAxMSAqdnBsMDEx ID0gJmQtPmFyY2gudnBsMDExOworICAgIHN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqaW50ZiA9 IHZwbDAxMS0+ZG9tLnJpbmdfYnVmOworICAgIFhFTkNPTlNfUklOR19JRFggaW5fY29ucywgaW5f cHJvZCwgb3V0X2NvbnMsIG91dF9wcm9kOworICAgIFhFTkNPTlNfUklOR19JRFggaW5fZmlmb19s ZXZlbCwgb3V0X2ZpZm9fbGV2ZWw7CisKKyAgICBWUEwwMTFfTE9DSyhkLCBmbGFncyk7CisKKyAg ICBpbl9jb25zID0gaW50Zi0+aW5fY29uczsKKyAgICBpbl9wcm9kID0gaW50Zi0+aW5fcHJvZDsK KyAgICBvdXRfY29ucyA9IGludGYtPm91dF9jb25zOworICAgIG91dF9wcm9kID0gaW50Zi0+b3V0 X3Byb2Q7CisKKyAgICBzbXBfcm1iKCk7CisKKyAgICBpbl9maWZvX2xldmVsID0geGVuY29uc19x dWV1ZWQoaW5fcHJvZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5fY29u cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGludGYtPmluKSk7 CisKKyAgICBvdXRfZmlmb19sZXZlbCA9IHhlbmNvbnNfcXVldWVkKG91dF9wcm9kLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0X2NvbnMsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzaXplb2YoaW50Zi0+b3V0KSk7CisKKyAgICB2cGwwMTFfZGF0 YV9hdmFpbCh2LT5kb21haW4sIGluX2ZpZm9fbGV2ZWwsIHNpemVvZihpbnRmLT5pbiksCisgICAg ICAgICAgICAgICAgICAgICAgb3V0X2ZpZm9fbGV2ZWwsIHNpemVvZihpbnRmLT5vdXQpKTsKKwor ICAgIFZQTDAxMV9VTkxPQ0soZCwgZmxhZ3MpOwogfQogCiBpbnQgZG9tYWluX3ZwbDAxMV9pbml0 KHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB2cGwwMTFfaW5pdF9pbmZvICppbmZvKQotLSAKMS45 LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs