From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anssi Hannula Subject: [PATCH] drm/radeon/audio: fix missing multichannel PCM SAD in some cases Date: Tue, 29 Oct 2013 01:19:16 +0200 Message-ID: <1383002356-2479-1-git-send-email-anssi.hannula@iki.fi> References: <526EE844.4030608@iki.fi> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <526EE844.4030608@iki.fi> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Alex Deucher Cc: Takashi Iwai , alsa-devel@alsa-project.org, Andre Heider , =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhlIGN1cnJlbnQgY29kZSB3cml0aW5nIFNBRHMgdG8gdGhlIGF1ZGlvIHJlZ2lzdGVycyBzZWVt cyB0byBhc3N1bWUKdGhhdCB0aGVyZSBpcyBhdCBtb3N0IGEgc2luZ2xlIFNBRCBwZXIgYXVkaW8g Zm9ybWF0LgoKSG93ZXZlciwgdGhhdCBpcyBub3QgdGhlIGNhc2UuIEVzcGVjaWFsbHkgZm9yIFBD TSBpdCBpcyBzb21ld2hhdCBjb21tb24KZm9yIHNpbmtzIHRvIGhhdmUgdHdvIFNBRHMsIG9uZSBm b3IgOC1jaGFubmVsIGFuZCBvbmUgZm9yIDItY2hhbm5lbAphdWRpbywgd2hpY2ggbWF5IGhhdmUg ZGlmZmVyZW50IHN1cHBvcnRlZCBzYW1wbGUgcmF0ZXMgKGkuZS4gdGhlIHNpbmsKc3VwcG9ydHMg c3RlcmVvIGF1ZGlvIGF0IGhpZ2hlciBzYW1wbGUgcmF0ZXMgdGhhbiBtdWx0aWNoYW5uZWwgYXVk aW8pLgoKQmVjYXVzZSBvZiB0aGlzLCBvbmx5IHRoZSAyLWNoYW5uZWwgU0FEIG1heSBiZSB1c2Vk IGlmIGl0IGFwcGVhcnMgYmVmb3JlCnRoZSA4LWNoYW5uZWwgU0FELiBVbmxlc3Mgb3RoZXIgU0FE cyByZXF1aXJlIG90aGVyd2lzZSwgdGhpcyBtYXkgY2F1c2UKdGhlIEFMU0EgSERBIGRyaXZlciB0 byBhbGxvdyBzdGVyZW8gcGxheWJhY2sgb25seS4KCkZpeCB0aGUgY29kZSB0byBwaWNrIHRoZSBQ Q00gU0FEIHdpdGggdGhlIGhpZ2hlc3QgbnVtYmVyIG9mIGNoYW5uZWxzLAp3aGlsZSBtZXJnaW5n IHRoZSByYXRlIG1hc2tzIG9mIFBDTSBTQURzIHdpdGggbG93ZXIgYW1vdW50IG9mIGNoYW5uZWxz CmludG8gdGhlIGFkZGl0aW9uYWwgc3RlcmVvIHJhdGUgbWFzayBieXRlLgoKVGVjaG5pY2FsbHkg dGhlcmUgYXJlIGV2ZW4gbW9yZSBjYXNlcyB0byBoYW5kbGUgKG11bHRpcGxlIG5vbi1QQ00gU0FE cwpvZiB0aGUgc2FtZSB0eXBlLCBtb3JlIHRoYW4gdHdvIFBDTSBTQURzIHdpdGggdmFyeWluZyBj aGFubmVsIGNvdW50cywKZXRjKSwgYnV0IHRob3NlIGhhdmUgbm90IGFjdHVhbGx5IGJlZW4gZW5j b3VudGVyZWQgaW4gdGhlIGZpZWxkIGFuZApoYW5kbGluZyB0aGVtIHdvdWxkIGJlIG5vbi10cml2 aWFsLgoKRXhhbXBsZSBhZmZlY3RlZCBFRElEIGZyb20gT25reW8gVFgtU1I2NzQgc3BlY2lmeWlu ZyAxOTJrSHogc3RlcmVvCnN1cHBvcnQgYW5kIDk2a0h6IDgtY2hhbm5lbCBzdXBwb3J0IChhbmQg b3RoZXIgOC1jaGFubmVsIGNvbXByZXNzZWQKZm9ybWF0cyk6CjAwZmZmZmZmZmZmZmZmMDAzZGNi MDEwMDAwMDAwMDAxCmZmZmYwMTAzODAwMDAwNzgwYTBkYzlhMDU3NDc5ODI3CjEyNDg0YzAwMDAw MDAxMDEwMTAxMDEwMTAxMDEwMTAxCjAxMDEwMTAxMDEwMTAxMWQ4MDE4NzExYzE2MjA1ODJjCjI1 MDBjNDhlMjEwMDAwOWUwMTFkMDA3MjUxZDAxZTIwCjZlMjg1NTAwYzQ4ZTIxMDAwMDFlMDAwMDAw ZmMwMDU0CjU4MmQ1MzUyMzYzNzM0MjAyMDIwMjAyMDAwMDAwMGZkCjAwMzEzZDBmMmUwODAwMGEy MDIwMjAyMDIwMjAwMTliCjAyMDMyZjcyNGY4NTA0MDMwZjBlMDcwNjk0MTMxMjFlCjFkMTYxNTAx MmYwOTdmMDcwZjFmMDcxNzA3NTAzNzA3CjUwM2YwN2MwODM0ZjAwMDA2NjAzMGMwMGZmZmY4MDhj CjBhZDA4YTIwZTAyZDEwMTAzZTk2MDBjNDhlMjEwMDAwCjE4MDExZDgwZDA3MjFjMTYyMDEwMmMy NTgwYzQ4ZTIxCjAwMDA5ZTAxMWQwMGJjNTJkMDFlMjBiODI4NTU0MGM0CjhlMjEwMDAwMWU4YzBh ZDA5MDIwNDAzMTIwMGM0MDU1CjAwYzQ4ZTIxMDAwMDE4MDAwMDAwMDAwMDAwMDAwMGE4CgpTaWdu ZWQtb2ZmLWJ5OiBBbnNzaSBIYW5udWxhIDxhbnNzaS5oYW5udWxhQGlraS5maT4KVGVzdGVkLWJ5 OiBBbmRyZSBIZWlkZXIgPGEuaGVpZGVyQGdtYWlsLmNvbT4KQ2M6IFJhZmHFgiBNacWCZWNraSA8 emFqZWM1QGdtYWlsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2RjZTZfYWZtdC5j ICAgICAgfCAyMCArKysrKysrKysrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9l dmVyZ3JlZW5faGRtaS5jIHwgMjAgKysrKysrKysrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcjYwMF9oZG1pLmMgICAgICB8IDIwICsrKysrKysrKysrKysrKy0tLS0tCiAzIGZp bGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZGNlNl9hZm10LmMgYi9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL2RjZTZfYWZtdC5jCmluZGV4IDg1YTY5ZDIuLjBhMGZjZWUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vZGNlNl9hZm10LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9kY2U2X2FmbXQuYwpAQCAtMTk4LDIwICsxOTgsMzAgQEAgdm9pZCBkY2U2X2FmbXRfd3Jp dGVfc2FkX3JlZ3Moc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCiAJZm9yIChpID0gMDsg aSA8IEFSUkFZX1NJWkUoZWxkX3JlZ190b190eXBlKTsgaSsrKSB7CiAJCXUzMiB2YWx1ZSA9IDA7 CisJCXU4IHN0ZXJlb19mcmVxcyA9IDA7CisJCWludCBtYXhfY2hhbm5lbHMgPSAtMTsKIAkJaW50 IGo7CiAKIAkJZm9yIChqID0gMDsgaiA8IHNhZF9jb3VudDsgaisrKSB7CiAJCQlzdHJ1Y3QgY2Vh X3NhZCAqc2FkID0gJnNhZHNbal07CiAKIAkJCWlmIChzYWQtPmZvcm1hdCA9PSBlbGRfcmVnX3Rv X3R5cGVbaV1bMV0pIHsKLQkJCQl2YWx1ZSA9IE1BWF9DSEFOTkVMUyhzYWQtPmNoYW5uZWxzKSB8 Ci0JCQkJCURFU0NSSVBUT1JfQllURV8yKHNhZC0+Ynl0ZTIpIHwKLQkJCQkJU1VQUE9SVEVEX0ZS RVFVRU5DSUVTKHNhZC0+ZnJlcSk7CisJCQkJaWYgKHNhZC0+Y2hhbm5lbHMgPiBtYXhfY2hhbm5l bHMpIHsKKwkJCQkJdmFsdWUgPSBNQVhfQ0hBTk5FTFMoc2FkLT5jaGFubmVscykgfAorCQkJCQkJ REVTQ1JJUFRPUl9CWVRFXzIoc2FkLT5ieXRlMikgfAorCQkJCQkJU1VQUE9SVEVEX0ZSRVFVRU5D SUVTKHNhZC0+ZnJlcSk7CisJCQkJCW1heF9jaGFubmVscyA9IHNhZC0+Y2hhbm5lbHM7CisJCQkJ fQorCiAJCQkJaWYgKHNhZC0+Zm9ybWF0ID09IEhETUlfQVVESU9fQ09ESU5HX1RZUEVfUENNKQot CQkJCQl2YWx1ZSB8PSBTVVBQT1JURURfRlJFUVVFTkNJRVNfU1RFUkVPKHNhZC0+ZnJlcSk7Ci0J CQkJYnJlYWs7CisJCQkJCXN0ZXJlb19mcmVxcyB8PSBzYWQtPmZyZXE7CisJCQkJZWxzZQorCQkJ CQlicmVhazsKIAkJCX0KIAkJfQorCisJCXZhbHVlIHw9IFNVUFBPUlRFRF9GUkVRVUVOQ0lFU19T VEVSRU8oc3RlcmVvX2ZyZXFzKTsKKwogCQlXUkVHMzJfRU5EUE9JTlQob2Zmc2V0LCBlbGRfcmVn X3RvX3R5cGVbaV1bMF0sIHZhbHVlKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vZXZlcmdyZWVuX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdy ZWVuX2hkbWkuYwppbmRleCBmNzFjZTM5Li4yYTQ4MzdkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL2V2ZXJncmVlbl9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9ldmVyZ3JlZW5faGRtaS5jCkBAIC0xMzksMjAgKzEzOSwzMCBAQCBzdGF0aWMgdm9pZCBldmVy Z3JlZW5faGRtaV93cml0ZV9zYWRfcmVncyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAK IAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShlbGRfcmVnX3RvX3R5cGUpOyBpKyspIHsKIAkJ dTMyIHZhbHVlID0gMDsKKwkJdTggc3RlcmVvX2ZyZXFzID0gMDsKKwkJaW50IG1heF9jaGFubmVs cyA9IC0xOwogCQlpbnQgajsKIAogCQlmb3IgKGogPSAwOyBqIDwgc2FkX2NvdW50OyBqKyspIHsK IAkJCXN0cnVjdCBjZWFfc2FkICpzYWQgPSAmc2Fkc1tqXTsKIAogCQkJaWYgKHNhZC0+Zm9ybWF0 ID09IGVsZF9yZWdfdG9fdHlwZVtpXVsxXSkgewotCQkJCXZhbHVlID0gTUFYX0NIQU5ORUxTKHNh ZC0+Y2hhbm5lbHMpIHwKLQkJCQkJREVTQ1JJUFRPUl9CWVRFXzIoc2FkLT5ieXRlMikgfAotCQkJ CQlTVVBQT1JURURfRlJFUVVFTkNJRVMoc2FkLT5mcmVxKTsKKwkJCQlpZiAoc2FkLT5jaGFubmVs cyA+IG1heF9jaGFubmVscykgeworCQkJCQl2YWx1ZSA9IE1BWF9DSEFOTkVMUyhzYWQtPmNoYW5u ZWxzKSB8CisJCQkJCQlERVNDUklQVE9SX0JZVEVfMihzYWQtPmJ5dGUyKSB8CisJCQkJCQlTVVBQ T1JURURfRlJFUVVFTkNJRVMoc2FkLT5mcmVxKTsKKwkJCQkJbWF4X2NoYW5uZWxzID0gc2FkLT5j aGFubmVsczsKKwkJCQl9CisKIAkJCQlpZiAoc2FkLT5mb3JtYXQgPT0gSERNSV9BVURJT19DT0RJ TkdfVFlQRV9QQ00pCi0JCQkJCXZhbHVlIHw9IFNVUFBPUlRFRF9GUkVRVUVOQ0lFU19TVEVSRU8o c2FkLT5mcmVxKTsKLQkJCQlicmVhazsKKwkJCQkJc3RlcmVvX2ZyZXFzIHw9IHNhZC0+ZnJlcTsK KwkJCQllbHNlCisJCQkJCWJyZWFrOwogCQkJfQogCQl9CisKKwkJdmFsdWUgfD0gU1VQUE9SVEVE X0ZSRVFVRU5DSUVTX1NURVJFTyhzdGVyZW9fZnJlcXMpOworCiAJCVdSRUczMihlbGRfcmVnX3Rv X3R5cGVbaV1bMF0sIHZhbHVlKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcjYwMF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDBfaGRtaS5jCmlu ZGV4IGY0NDMwMTAuLmRhNWNmYTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cjYwMF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwX2hkbWkuYwpAQCAt MzY0LDIwICszNjQsMzAgQEAgc3RhdGljIHZvaWQgZGNlM18yX2FmbXRfd3JpdGVfc2FkX3JlZ3Mo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJ WkUoZWxkX3JlZ190b190eXBlKTsgaSsrKSB7CiAJCXUzMiB2YWx1ZSA9IDA7CisJCXU4IHN0ZXJl b19mcmVxcyA9IDA7CisJCWludCBtYXhfY2hhbm5lbHMgPSAtMTsKIAkJaW50IGo7CiAKIAkJZm9y IChqID0gMDsgaiA8IHNhZF9jb3VudDsgaisrKSB7CiAJCQlzdHJ1Y3QgY2VhX3NhZCAqc2FkID0g JnNhZHNbal07CiAKIAkJCWlmIChzYWQtPmZvcm1hdCA9PSBlbGRfcmVnX3RvX3R5cGVbaV1bMV0p IHsKLQkJCQl2YWx1ZSA9IE1BWF9DSEFOTkVMUyhzYWQtPmNoYW5uZWxzKSB8Ci0JCQkJCURFU0NS SVBUT1JfQllURV8yKHNhZC0+Ynl0ZTIpIHwKLQkJCQkJU1VQUE9SVEVEX0ZSRVFVRU5DSUVTKHNh ZC0+ZnJlcSk7CisJCQkJaWYgKHNhZC0+Y2hhbm5lbHMgPiBtYXhfY2hhbm5lbHMpIHsKKwkJCQkJ dmFsdWUgPSBNQVhfQ0hBTk5FTFMoc2FkLT5jaGFubmVscykgfAorCQkJCQkJREVTQ1JJUFRPUl9C WVRFXzIoc2FkLT5ieXRlMikgfAorCQkJCQkJU1VQUE9SVEVEX0ZSRVFVRU5DSUVTKHNhZC0+ZnJl cSk7CisJCQkJCW1heF9jaGFubmVscyA9IHNhZC0+Y2hhbm5lbHM7CisJCQkJfQorCiAJCQkJaWYg KHNhZC0+Zm9ybWF0ID09IEhETUlfQVVESU9fQ09ESU5HX1RZUEVfUENNKQotCQkJCQl2YWx1ZSB8 PSBTVVBQT1JURURfRlJFUVVFTkNJRVNfU1RFUkVPKHNhZC0+ZnJlcSk7Ci0JCQkJYnJlYWs7CisJ CQkJCXN0ZXJlb19mcmVxcyB8PSBzYWQtPmZyZXE7CisJCQkJZWxzZQorCQkJCQlicmVhazsKIAkJ CX0KIAkJfQorCisJCXZhbHVlIHw9IFNVUFBPUlRFRF9GUkVRVUVOQ0lFU19TVEVSRU8oc3RlcmVv X2ZyZXFzKTsKKwogCQlXUkVHMzIoZWxkX3JlZ190b190eXBlW2ldWzBdLCB2YWx1ZSk7CiAJfQog Ci0tIAoxLjguMS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpBbHNhLWRldmVsIG1haWxpbmcgbGlzdApBbHNhLWRldmVsQGFsc2EtcHJvamVjdC5vcmcK aHR0cDovL21haWxtYW4uYWxzYS1wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Fsc2EtZGV2 ZWwK