From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: [PATCH RESEND 02/11] ALSA: vsnd: Implement Xen bus state handling Date: Mon, 7 Aug 2017 14:50:36 +0300 Message-ID: <1502106645-6731-3-git-send-email-andr2000@gmail.com> References: <1502106645-6731-1-git-send-email-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1502106645-6731-1-git-send-email-andr2000@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: alsa-devel@alsa-project.org, xen-devel@lists.xen.org, linux-kernel@vger.kernel.org Cc: andr2000@gmail.com, Oleksandr Andrushchenko , tiwai@suse.com, perex@perex.cz List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw YW0uY29tPgoKSW5pdGlhbCBoYW5kbGluZyBmb3IgWGVuIGJ1cyBzdGF0ZXM6IGltcGxlbWVudApY ZW4gYnVzIHN0YXRlIG1hY2hpbmUgZm9yIHRoZSBmcm9udCBkcml2ZXIgYWNjb3JkaW5nIHRvCnRo ZSBzdGF0ZSBkaWFncmFtIGFuZCByZWNvdmVyeSBmbG93IGZyb20gc291bmQgcGFyYS12aXJ0dWFs aXplZApwcm90b2NvbDogeGVuL2ludGVyZmFjZS9pby9zbmRpZi5oLgoKU2lnbmVkLW9mZi1ieTog T2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29t PgotLS0KIHNvdW5kL2RyaXZlcnMveGVuLWZyb250LmMgfCA5MiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDkyIGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9zb3VuZC9kcml2ZXJzL3hlbi1mcm9udC5jIGIvc291bmQvZHJp dmVycy94ZW4tZnJvbnQuYwppbmRleCA4YzVkZTdiMGU3YjUuLmM0ZmQyMWNhYzNhNyAxMDA2NDQK LS0tIGEvc291bmQvZHJpdmVycy94ZW4tZnJvbnQuYworKysgYi9zb3VuZC9kcml2ZXJzL3hlbi1m cm9udC5jCkBAIC0zNiw5ICszNiw5OSBAQCBzdGF0aWMgdm9pZCB4ZHJ2X3JlbW92ZV9pbnRlcm5h bChzdHJ1Y3QgeGRydl9pbmZvICpkcnZfaW5mbykKIHsKIH0KIAorc3RhdGljIGludCB4ZHJ2X2Jl X29uX2luaXR3YWl0KHN0cnVjdCB4ZHJ2X2luZm8gKmRydl9pbmZvKQoreworCXJldHVybiAwOwor fQorCitzdGF0aWMgaW5saW5lIGludCB4ZHJ2X2JlX29uX2Nvbm5lY3RlZChzdHJ1Y3QgeGRydl9p bmZvICpkcnZfaW5mbykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHhk cnZfYmVfb25fZGlzY29ubmVjdGVkKHN0cnVjdCB4ZHJ2X2luZm8gKmRydl9pbmZvKQoreworCXhk cnZfcmVtb3ZlX2ludGVybmFsKGRydl9pbmZvKTsKK30KKwogc3RhdGljIHZvaWQgeGRydl9iZV9v bl9jaGFuZ2VkKHN0cnVjdCB4ZW5idXNfZGV2aWNlICp4Yl9kZXYsCiAJZW51bSB4ZW5idXNfc3Rh dGUgYmFja2VuZF9zdGF0ZSkKIHsKKwlzdHJ1Y3QgeGRydl9pbmZvICpkcnZfaW5mbyA9IGRldl9n ZXRfZHJ2ZGF0YSgmeGJfZGV2LT5kZXYpOworCWludCByZXQ7CisKKwlzd2l0Y2ggKGJhY2tlbmRf c3RhdGUpIHsKKwljYXNlIFhlbmJ1c1N0YXRlUmVjb25maWd1cmluZzoKKwkJLyogZmFsbCB0aHJv dWdoICovCisJY2FzZSBYZW5idXNTdGF0ZVJlY29uZmlndXJlZDoKKwkJLyogZmFsbCB0aHJvdWdo ICovCisJY2FzZSBYZW5idXNTdGF0ZUluaXRpYWxpc2VkOgorCQkvKiBmYWxsIHRocm91Z2ggKi8K KwkJYnJlYWs7CisKKwljYXNlIFhlbmJ1c1N0YXRlSW5pdGlhbGlzaW5nOgorCQlpZiAoeGJfZGV2 LT5zdGF0ZSA9PSBYZW5idXNTdGF0ZUluaXRpYWxpc2luZykKKwkJCWJyZWFrOworCisJCS8qIHJl Y292ZXJpbmcgYWZ0ZXIgYmFja2VuZCB1bmV4cGVjdGVkIGNsb3N1cmUgKi8KKwkJbXV0ZXhfbG9j aygmZHJ2X2luZm8tPm11dGV4KTsKKwkJeGRydl9iZV9vbl9kaXNjb25uZWN0ZWQoZHJ2X2luZm8p OworCQltdXRleF91bmxvY2soJmRydl9pbmZvLT5tdXRleCk7CisJCXhlbmJ1c19zd2l0Y2hfc3Rh dGUoeGJfZGV2LCBYZW5idXNTdGF0ZUluaXRpYWxpc2luZyk7CisJCWJyZWFrOworCisJY2FzZSBY ZW5idXNTdGF0ZUluaXRXYWl0OgorCQlpZiAoeGJfZGV2LT5zdGF0ZSAhPSBYZW5idXNTdGF0ZUlu aXRpYWxpc2luZykKKwkJCWJyZWFrOworCisJCW11dGV4X2xvY2soJmRydl9pbmZvLT5tdXRleCk7 CisJCXJldCA9IHhkcnZfYmVfb25faW5pdHdhaXQoZHJ2X2luZm8pOworCQltdXRleF91bmxvY2so JmRydl9pbmZvLT5tdXRleCk7CisJCWlmIChyZXQgPCAwKSB7CisJCQl4ZW5idXNfZGV2X2ZhdGFs KHhiX2RldiwgcmV0LAorCQkJCSJpbml0aWFsaXppbmcgIiBYRU5TTkRfRFJJVkVSX05BTUUpOwor CQkJYnJlYWs7CisJCX0KKworCQl4ZW5idXNfc3dpdGNoX3N0YXRlKHhiX2RldiwgWGVuYnVzU3Rh dGVJbml0aWFsaXNlZCk7CisJCWJyZWFrOworCisJY2FzZSBYZW5idXNTdGF0ZUNvbm5lY3RlZDoK KwkJaWYgKHhiX2Rldi0+c3RhdGUgIT0gWGVuYnVzU3RhdGVJbml0aWFsaXNlZCkKKwkJCWJyZWFr OworCisJCW11dGV4X2xvY2soJmRydl9pbmZvLT5tdXRleCk7CisJCXJldCA9IHhkcnZfYmVfb25f Y29ubmVjdGVkKGRydl9pbmZvKTsKKwkJbXV0ZXhfdW5sb2NrKCZkcnZfaW5mby0+bXV0ZXgpOwor CQlpZiAocmV0IDwgMCkgeworCQkJeGVuYnVzX2Rldl9mYXRhbCh4Yl9kZXYsIHJldCwKKwkJCQki Y29ubmVjdGluZyAiIFhFTlNORF9EUklWRVJfTkFNRSk7CisJCQlicmVhazsKKwkJfQorCisJCXhl bmJ1c19zd2l0Y2hfc3RhdGUoeGJfZGV2LCBYZW5idXNTdGF0ZUNvbm5lY3RlZCk7CisJCWJyZWFr OworCisJY2FzZSBYZW5idXNTdGF0ZUNsb3Npbmc6CisJCS8qCisJCSAqIGluIHRoaXMgc3RhdGUg YmFja2VuZCBzdGFydHMgZnJlZWluZyByZXNvdXJjZXMsCisJCSAqIHNvIGxldCBpdCBnbyBpbnRv IGNsb3NlZCBzdGF0ZSBmaXJzdCwgc28gd2UgY2FuIGFsc28KKwkJICogcmVtb3ZlIG91cnMKKwkJ ICovCisJCWJyZWFrOworCisJY2FzZSBYZW5idXNTdGF0ZVVua25vd246CisJCS8qIGZhbGwgdGhy b3VnaCAqLworCWNhc2UgWGVuYnVzU3RhdGVDbG9zZWQ6CisJCWlmICh4Yl9kZXYtPnN0YXRlID09 IFhlbmJ1c1N0YXRlQ2xvc2VkKQorCQkJYnJlYWs7CisKKwkJbXV0ZXhfbG9jaygmZHJ2X2luZm8t Pm11dGV4KTsKKwkJeGRydl9iZV9vbl9kaXNjb25uZWN0ZWQoZHJ2X2luZm8pOworCQltdXRleF91 bmxvY2soJmRydl9pbmZvLT5tdXRleCk7CisJCXhlbmJ1c19zd2l0Y2hfc3RhdGUoeGJfZGV2LCBY ZW5idXNTdGF0ZUluaXRpYWxpc2luZyk7CisJCWJyZWFrOworCX0KIH0KIAogc3RhdGljIGludCB4 ZHJ2X3Byb2JlKHN0cnVjdCB4ZW5idXNfZGV2aWNlICp4Yl9kZXYsCkBAIC01Niw2ICsxNDYsNyBA QCBzdGF0aWMgaW50IHhkcnZfcHJvYmUoc3RydWN0IHhlbmJ1c19kZXZpY2UgKnhiX2RldiwKIAlz cGluX2xvY2tfaW5pdCgmZHJ2X2luZm8tPmlvX2xvY2spOwogCW11dGV4X2luaXQoJmRydl9pbmZv LT5tdXRleCk7CiAJZGV2X3NldF9kcnZkYXRhKCZ4Yl9kZXYtPmRldiwgZHJ2X2luZm8pOworCXhl bmJ1c19zd2l0Y2hfc3RhdGUoeGJfZGV2LCBYZW5idXNTdGF0ZUluaXRpYWxpc2luZyk7CiAJcmV0 dXJuIDA7CiB9CiAKQEAgLTYzLDYgKzE1NCw3IEBAIHN0YXRpYyBpbnQgeGRydl9yZW1vdmUoc3Ry dWN0IHhlbmJ1c19kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgeGRydl9pbmZvICpkcnZfaW5mbyA9 IGRldl9nZXRfZHJ2ZGF0YSgmZGV2LT5kZXYpOwogCisJeGVuYnVzX3N3aXRjaF9zdGF0ZShkZXYs IFhlbmJ1c1N0YXRlQ2xvc2VkKTsKIAltdXRleF9sb2NrKCZkcnZfaW5mby0+bXV0ZXgpOwogCXhk cnZfcmVtb3ZlX2ludGVybmFsKGRydl9pbmZvKTsKIAltdXRleF91bmxvY2soJmRydl9pbmZvLT5t dXRleCk7Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=