From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 1/3] ASoC: amd: Report accurate hw_ptr during dma Date: Fri, 3 Nov 2017 16:35:43 -0400 Message-ID: <1509741345-1589-2-git-send-email-alexander.deucher@amd.com> References: <1509741345-1589-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1509741345-1589-1-git-send-email-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, airlied@gmail.com, alsa-devel@alsa-project.org, broonie@kernel.org, Vijendar.Mukunda@amd.com Cc: Alex Deucher , lgirdwood@gmail.com, Akshu Agrawal List-Id: alsa-devel@alsa-project.org RnJvbTogVmlqZW5kYXIgTXVrdW5kYSA8VmlqZW5kYXIuTXVrdW5kYUBhbWQuY29tPgoKVXNpbmcg aHcgcmVnaXN0ZXIgdG8gcmVhZCB0cmFuc21pdHRlZCBieXRlIGNvdW50IGFuZCByZXBvcnQKYWNj b3JkaW5nbHkgdGhlIGh3IHBvaW50ZXIuCgpCVUc9Yjo2MzEyMTcxNgpURVNUPQptb2Rwcm9iZSBz bmQtc29jLWFjcC1wY20ua28KbW9kcHJvYmUgc25kLXNvYy1hY3AtcnQ1NjQ1LmtvCmFwbGF5IDxm aWxlPgoKU2lnbmVkLW9mZi1ieTogVmlqZW5kYXIgTXVrdW5kYSA8VmlqZW5kYXIuTXVrdW5kYUBh bWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBBa3NodSBBZ3Jhd2FsIDxBa3NodS5BZ3Jhd2FsQGFtZC5j b20+ClJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29t LzY1OTY5OQpDb21taXQtUmVhZHk6IEFrc2h1IEFncmF3YWwgPGFrc2h1LmFncmF3YWxAYW1kLmNv bT4KVGVzdGVkLWJ5OiBBa3NodSBBZ3Jhd2FsIDxha3NodS5hZ3Jhd2FsQGFtZC5jb20+ClJldmll d2VkLWJ5OiBKYXNvbiBDbGludG9uIDxqY2xpbnRvbkBjaHJvbWl1bS5vcmc+ClJldmlld2VkLW9u OiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tLzY3NjYyNwpTaWduZWQt b2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Ci0tLQogc291 bmQvc29jL2FtZC9hY3AtcGNtLWRtYS5jIHwgNzEgKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tCiBzb3VuZC9zb2MvYW1kL2FjcC5oICAgICAgICAgfCAxMCArKysr KysrCiAyIGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hbWQvYWNwLXBjbS1kbWEuYyBiL3NvdW5kL3NvYy9hbWQv YWNwLXBjbS1kbWEuYwppbmRleCA3M2I1OGVlLi5lMTlmMjgxIDEwMDY0NAotLS0gYS9zb3VuZC9z b2MvYW1kL2FjcC1wY20tZG1hLmMKKysrIGIvc291bmQvc29jL2FtZC9hY3AtcGNtLWRtYS5jCkBA IC04MTcsMzkgKzgxNyw0OCBAQCBzdGF0aWMgaW50IGFjcF9kbWFfaHdfZnJlZShzdHJ1Y3Qgc25k X3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKIAlyZXR1cm4gc25kX3BjbV9saWJfZnJlZV9wYWdl cyhzdWJzdHJlYW0pOwogfQogCitzdGF0aWMgdTY0IGFjcF9nZXRfYnl0ZV9jb3VudCh2b2lkIF9f aW9tZW0gKmFjcF9tbWlvLCBpbnQgc3RyZWFtKQoreworCXVuaW9uIGFjcF9kbWFfY291bnQgcGxh eWJhY2tfZG1hX2NvdW50OworCXVuaW9uIGFjcF9kbWFfY291bnQgY2FwdHVyZV9kbWFfY291bnQ7 CisJdTY0IGJ5dGVzY291bnQgPSAwOworCisJaWYgKHN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFN X1BMQVlCQUNLKSB7CisJCXBsYXliYWNrX2RtYV9jb3VudC5iY291bnQuaGlnaCA9IGFjcF9yZWdf cmVhZChhY3BfbW1pbywKKwkJCQkJbW1BQ1BfSTJTX1RSQU5TTUlUX0JZVEVfQ05UX0hJR0gpOwor CQlwbGF5YmFja19kbWFfY291bnQuYmNvdW50LmxvdyAgPSBhY3BfcmVnX3JlYWQoYWNwX21taW8s CisJCQkJCW1tQUNQX0kyU19UUkFOU01JVF9CWVRFX0NOVF9MT1cpOworCQlieXRlc2NvdW50ID0g cGxheWJhY2tfZG1hX2NvdW50LmJ5dGVzY291bnQ7CisJfSBlbHNlIHsKKwkJY2FwdHVyZV9kbWFf Y291bnQuYmNvdW50LmhpZ2ggPSBhY3BfcmVnX3JlYWQoYWNwX21taW8sCisJCQkJCW1tQUNQX0ky U19SRUNFSVZFRF9CWVRFX0NOVF9ISUdIKTsKKwkJY2FwdHVyZV9kbWFfY291bnQuYmNvdW50Lmxv dyAgPSBhY3BfcmVnX3JlYWQoYWNwX21taW8sCisJCQkJCW1tQUNQX0kyU19SRUNFSVZFRF9CWVRF X0NOVF9MT1cpOworCQlieXRlc2NvdW50ID0gY2FwdHVyZV9kbWFfY291bnQuYnl0ZXNjb3VudDsK Kwl9CisJcmV0dXJuIGJ5dGVzY291bnQ7Cit9CisKIHN0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdCBh Y3BfZG1hX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7Ci0J dTE2IGRzY3I7Ci0JdTMyIG11bCwgZG1hX2NvbmZpZywgcGVyaW9kX2J5dGVzOworCXUzMiBidWZm ZXJzaXplOwogCXUzMiBwb3MgPSAwOworCXU2NCBieXRlc2NvdW50ID0gMDsKIAogCXN0cnVjdCBz bmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CiAJc3RydWN0IGF1 ZGlvX3N1YnN0cmVhbV9kYXRhICpydGQgPSBydW50aW1lLT5wcml2YXRlX2RhdGE7CiAKLQlwZXJp b2RfYnl0ZXMgPSBmcmFtZXNfdG9fYnl0ZXMocnVudGltZSwgcnVudGltZS0+cGVyaW9kX3NpemUp OwotCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKSB7 Ci0JCWRzY3IgPSBhY3BfcmVnX3JlYWQocnRkLT5hY3BfbW1pbywgbW1BQ1BfRE1BX0NVUl9EU0NS XzEzKTsKKwlidWZmZXJzaXplID0gZnJhbWVzX3RvX2J5dGVzKHJ1bnRpbWUsIHJ1bnRpbWUtPmJ1 ZmZlcl9zaXplKTsKKwlieXRlc2NvdW50ID0gYWNwX2dldF9ieXRlX2NvdW50KHJ0ZC0+YWNwX21t aW8sIHN1YnN0cmVhbS0+c3RyZWFtKTsKIAotCQlpZiAoZHNjciA9PSBQTEFZQkFDS19TVEFSVF9E TUFfREVTQ1JfQ0gxMykKLQkJCW11bCA9IDA7Ci0JCWVsc2UKLQkJCW11bCA9IDE7Ci0JCXBvcyA9 ICAobXVsICogcGVyaW9kX2J5dGVzKTsKKwlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZf UENNX1NUUkVBTV9QTEFZQkFDSykgeworCQlpZiAoYnl0ZXNjb3VudCA+IHJ0ZC0+cmVuZGVyYnl0 ZXNjb3VudCkKKwkJCWJ5dGVzY291bnQgPSBieXRlc2NvdW50IC0gcnRkLT5yZW5kZXJieXRlc2Nv dW50OworCQlwb3MgPSAgYnl0ZXNjb3VudCAlIGJ1ZmZlcnNpemU7CiAJfSBlbHNlIHsKLQkJZG1h X2NvbmZpZyA9IGFjcF9yZWdfcmVhZChydGQtPmFjcF9tbWlvLCBtbUFDUF9ETUFfQ05UTF8xNCk7 Ci0JCWlmIChkbWFfY29uZmlnICE9IDApIHsKLQkJCWRzY3IgPSBhY3BfcmVnX3JlYWQocnRkLT5h Y3BfbW1pbywKLQkJCQkJCW1tQUNQX0RNQV9DVVJfRFNDUl8xNCk7Ci0JCQlpZiAoZHNjciA9PSBD QVBUVVJFX1NUQVJUX0RNQV9ERVNDUl9DSDE0KQotCQkJCW11bCA9IDE7Ci0JCQllbHNlCi0JCQkJ bXVsID0gMjsKLQkJCXBvcyA9IChtdWwgKiBwZXJpb2RfYnl0ZXMpOwotCQl9Ci0KLQkJaWYgKHBv cyA+PSAoMiAqIHBlcmlvZF9ieXRlcykpCi0JCQlwb3MgPSAwOwotCisJCWlmIChieXRlc2NvdW50 ID4gcnRkLT5jYXB0dXJlYnl0ZXNjb3VudCkKKwkJCWJ5dGVzY291bnQgPSBieXRlc2NvdW50IC0g cnRkLT5jYXB0dXJlYnl0ZXNjb3VudDsKKwkJcG9zID0gYnl0ZXNjb3VudCAlIGJ1ZmZlcnNpemU7 CiAJfQogCXJldHVybiBieXRlc190b19mcmFtZXMocnVudGltZSwgcG9zKTsKIH0KQEAgLTkwNCw2 ICs5MTMsNyBAQCBzdGF0aWMgaW50IGFjcF9kbWFfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJz dHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKIHsKIAlpbnQgcmV0OwogCXUzMiBsb29wcyA9IDEw MDA7CisJdTY0IGJ5dGVzY291bnQgPSAwOwogCiAJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVu dGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAq cHJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwpAQCAtOTE1LDcgKzkyNSwxMSBAQCBzdGF0 aWMgaW50IGFjcF9kbWFfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVh bSwgaW50IGNtZCkKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgogCWNhc2UgU05EUlZf UENNX1RSSUdHRVJfUEFVU0VfUkVMRUFTRToKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1JFU1VN RToKKwkJYnl0ZXNjb3VudCA9IGFjcF9nZXRfYnl0ZV9jb3VudChydGQtPmFjcF9tbWlvLAorCQkJ CQkJc3Vic3RyZWFtLT5zdHJlYW0pOwogCQlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZf UENNX1NUUkVBTV9QTEFZQkFDSykgeworCQkJaWYgKHJ0ZC0+cmVuZGVyYnl0ZXNjb3VudCA9PSAw KQorCQkJCXJ0ZC0+cmVuZGVyYnl0ZXNjb3VudCA9IGJ5dGVzY291bnQ7CiAJCQlhY3BfZG1hX3N0 YXJ0KHJ0ZC0+YWNwX21taW8sCiAJCQkJCQlTWVNSQU1fVE9fQUNQX0NIX05VTSwgZmFsc2UpOwog CQkJd2hpbGUgKGFjcF9yZWdfcmVhZChydGQtPmFjcF9tbWlvLCBtbUFDUF9ETUFfQ0hfU1RTKSAm CkBAIC05MzIsNiArOTQ2LDggQEAgc3RhdGljIGludCBhY3BfZG1hX3RyaWdnZXIoc3RydWN0IHNu ZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCiAJCQkJCUFDUF9UT19JMlNfRE1B X0NIX05VTSwgdHJ1ZSk7CiAKIAkJfSBlbHNlIHsKKwkJCWlmIChydGQtPmNhcHR1cmVieXRlc2Nv dW50ID09IDApCisJCQkJcnRkLT5jYXB0dXJlYnl0ZXNjb3VudCA9IGJ5dGVzY291bnQ7CiAJCQlh Y3BfZG1hX3N0YXJ0KHJ0ZC0+YWNwX21taW8sCiAJCQkJCSAgICBJMlNfVE9fQUNQX0RNQV9DSF9O VU0sIHRydWUpOwogCQl9CkBAIC05NDUsMTIgKzk2MSwxNSBAQCBzdGF0aWMgaW50IGFjcF9kbWFf dHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKIAkJ ICogY2hhbm5lbHMgd2lsbCBzdG9wcGVkIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgaXRzIHRyYW5zZmVy CiAJCSAqIGNvbXBsZXRlcyA6IFNZU1JBTV9UT19BQ1BfQ0hfTlVNIC8gQUNQX1RPX1NZU1JBTV9D SF9OVU0KIAkJICovCi0JCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFN X1BMQVlCQUNLKQorCQlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9Q TEFZQkFDSykgewogCQkJcmV0ID0gYWNwX2RtYV9zdG9wKHJ0ZC0+YWNwX21taW8sCiAJCQkJCUFD UF9UT19JMlNfRE1BX0NIX05VTSk7Ci0JCWVsc2UKKwkJCXJ0ZC0+cmVuZGVyYnl0ZXNjb3VudCA9 IDA7CisJCX0gZWxzZSB7CiAJCQlyZXQgPSBhY3BfZG1hX3N0b3AocnRkLT5hY3BfbW1pbywKIAkJ CQkJSTJTX1RPX0FDUF9ETUFfQ0hfTlVNKTsKKwkJCXJ0ZC0+Y2FwdHVyZWJ5dGVzY291bnQgPSAw OworCQl9CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXJldCA9IC1FSU5WQUw7CmRpZmYgLS1naXQg YS9zb3VuZC9zb2MvYW1kL2FjcC5oIGIvc291bmQvc29jL2FtZC9hY3AuaAppbmRleCBhMzMwYTk5 Li5kZTA4ZmYwIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvYW1kL2FjcC5oCisrKyBiL3NvdW5kL3Nv Yy9hbWQvYWNwLmgKQEAgLTgzLDYgKzgzLDggQEAgc3RydWN0IGF1ZGlvX3N1YnN0cmVhbV9kYXRh IHsKIAl1MTYgbnVtX29mX3BhZ2VzOwogCXUxNiBkaXJlY3Rpb247CiAJdWludDY0X3Qgc2l6ZTsK Kwl1NjQgcmVuZGVyYnl0ZXNjb3VudDsKKwl1NjQgY2FwdHVyZWJ5dGVzY291bnQ7CiAJdm9pZCBf X2lvbWVtICphY3BfbW1pbzsKIH07CiAKQEAgLTkzLDYgKzk1LDE0IEBAIHN0cnVjdCBhdWRpb19k cnZfZGF0YSB7CiAJdTMyIGFzaWNfdHlwZTsKIH07CiAKK3VuaW9uIGFjcF9kbWFfY291bnQgewor CXN0cnVjdCB7CisJdTMyIGxvdzsKKwl1MzIgaGlnaDsKKwl9IGJjb3VudDsKKwl1NjQgYnl0ZXNj b3VudDsKK307CisKIGVudW0gewogCUFDUF9USUxFX1AxID0gMCwKIAlBQ1BfVElMRV9QMiwKLS0g CjIuNS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK