From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 22/24] radeon/audio: moved audio caps programming to audio_hotplug() function Date: Tue, 13 Jan 2015 12:46:51 -0500 Message-ID: <1421171213-23977-23-git-send-email-alexander.deucher@amd.com> References: <1421171213-23977-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: Received: from mail-qa0-f46.google.com (mail-qa0-f46.google.com [209.85.216.46]) by gabe.freedesktop.org (Postfix) with ESMTP id 99D5F6E640 for ; Tue, 13 Jan 2015 09:47:14 -0800 (PST) Received: by mail-qa0-f46.google.com with SMTP id j7so3138963qaq.5 for ; Tue, 13 Jan 2015 09:47:14 -0800 (PST) In-Reply-To: <1421171213-23977-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: dri-devel@lists.freedesktop.org Cc: Alex Deucher , slava.grigorev@amd.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogU2xhdmEgR3JpZ29yZXYgPHNsYXZhLmdyaWdvcmV2QGFtZC5jb20+CgpTaWduZWQtb2Zm LWJ5OiBTbGF2YSBHcmlnb3JldiA8c2xhdmEuZ3JpZ29yZXZAYW1kLmNvbT4KU2lnbmVkLW9mZi1i eTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMgfCA3OCArKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDM1IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlv LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jCmluZGV4IDZjNDYzMWIu LmZjN2E5NzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlv LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwpAQCAtMzAxLDM4 ICszMDEsNiBAQCBpbnQgcmFkZW9uX2F1ZGlvX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJk ZXYpCiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgcmFkZW9uX2F1ZGlvX2RldGVjdChzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAotCWVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgc3RhdHVz KQotewotCWlmICghY29ubmVjdG9yIHx8ICFjb25uZWN0b3ItPmVuY29kZXIpCi0JCXJldHVybjsK LQotCWlmIChzdGF0dXMgPT0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQpIHsKLQkJaW50IHNp bmtfdHlwZTsKLQkJc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBjb25uZWN0b3ItPmVuY29k ZXItPmRldi0+ZGV2X3ByaXZhdGU7Ci0JCXN0cnVjdCByYWRlb25fY29ubmVjdG9yICpyYWRlb25f Y29ubmVjdG9yOwotCQlzdHJ1Y3QgcmFkZW9uX2VuY29kZXIgKnJhZGVvbl9lbmNvZGVyID0KLQkJ CXRvX3JhZGVvbl9lbmNvZGVyKGNvbm5lY3Rvci0+ZW5jb2Rlcik7Ci0KLQkJaWYgKCFkcm1fZGV0 ZWN0X21vbml0b3JfYXVkaW8ocmFkZW9uX2Nvbm5lY3Rvcl9lZGlkKGNvbm5lY3RvcikpKSB7Ci0J CQlyYWRlb25fZW5jb2Rlci0+YXVkaW8gPSAwOwotCQkJcmV0dXJuOwotCQl9Ci0KLQkJcmFkZW9u X2Nvbm5lY3RvciA9IHRvX3JhZGVvbl9jb25uZWN0b3IoY29ubmVjdG9yKTsKLQkJc2lua190eXBl ID0gcmFkZW9uX2RwX2dldHNpbmt0eXBlKHJhZGVvbl9jb25uZWN0b3IpOwotCi0JCWlmIChjb25u ZWN0b3ItPmNvbm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydCAm JgotCQkJc2lua190eXBlID09IENPTk5FQ1RPUl9PQkpFQ1RfSURfRElTUExBWVBPUlQpCi0JCQly YWRlb25fZW5jb2Rlci0+YXVkaW8gPSByZGV2LT5hdWRpby5kcF9mdW5jczsKLQkJZWxzZQotCQkJ cmFkZW9uX2VuY29kZXItPmF1ZGlvID0gcmRldi0+YXVkaW8uaGRtaV9mdW5jczsKLQkJLyogVE9E Tzogc2V0IHVwIHRoZSBzYWRzLCBldGMuIGFuZCBzZXQgdGhlIGF1ZGlvIGVuYWJsZV9tYXNrICov Ci0JfSBlbHNlIHsKLQkJLyogVE9ETzogcmVzZXQgdGhlIGF1ZGlvIGVuYWJsZV9tYXNrICovCi0J fQotfQotCiB1MzIgcmFkZW9uX2F1ZGlvX2VuZHBvaW50X3JyZWcoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYsIHUzMiBvZmZzZXQsIHUzMiByZWcpCiB7CiAJaWYgKHJkZXYtPmF1ZGlvLmZ1bmNz LT5lbmRwb2ludF9ycmVnKQpAQCAtNDcxLDYgKzQzOSw0OSBAQCB2b2lkIHJhZGVvbl9hdWRpb19l bmFibGUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiAJCXJkZXYtPmF1ZGlvLmZ1bmNzLT5l bmFibGUocmRldiwgcGluLCBlbmFibGVfbWFzayk7CiB9CiAKK3ZvaWQgcmFkZW9uX2F1ZGlvX2Rl dGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCWVudW0gZHJtX2Nvbm5lY3Rv cl9zdGF0dXMgc3RhdHVzKQoreworCXN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2OworCXN0cnVj dCByYWRlb25fZW5jb2RlciAqcmFkZW9uX2VuY29kZXI7CisJc3RydWN0IHJhZGVvbl9lbmNvZGVy X2F0b21fZGlnICpkaWc7CisKKwlpZiAoIWNvbm5lY3RvciB8fCAhY29ubmVjdG9yLT5lbmNvZGVy KQorCQlyZXR1cm47CisKKwlyZGV2ID0gY29ubmVjdG9yLT5lbmNvZGVyLT5kZXYtPmRldl9wcml2 YXRlOworCXJhZGVvbl9lbmNvZGVyID0gdG9fcmFkZW9uX2VuY29kZXIoY29ubmVjdG9yLT5lbmNv ZGVyKTsKKwlkaWcgPSByYWRlb25fZW5jb2Rlci0+ZW5jX3ByaXY7CisKKwlpZiAoc3RhdHVzID09 IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkKSB7CisJCXN0cnVjdCByYWRlb25fY29ubmVjdG9y ICpyYWRlb25fY29ubmVjdG9yOworCQlpbnQgc2lua190eXBlOworCisJCWlmICghZHJtX2RldGVj dF9tb25pdG9yX2F1ZGlvKHJhZGVvbl9jb25uZWN0b3JfZWRpZChjb25uZWN0b3IpKSkgeworCQkJ cmFkZW9uX2VuY29kZXItPmF1ZGlvID0gMDsKKwkJCXJldHVybjsKKwkJfQorCisJCXJhZGVvbl9j b25uZWN0b3IgPSB0b19yYWRlb25fY29ubmVjdG9yKGNvbm5lY3Rvcik7CisJCXNpbmtfdHlwZSA9 IHJhZGVvbl9kcF9nZXRzaW5rdHlwZShyYWRlb25fY29ubmVjdG9yKTsKKworCQlpZiAoY29ubmVj dG9yLT5jb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfRGlzcGxheVBvcnQgJiYK KwkJCXNpbmtfdHlwZSA9PSBDT05ORUNUT1JfT0JKRUNUX0lEX0RJU1BMQVlQT1JUKQorCQkJcmFk ZW9uX2VuY29kZXItPmF1ZGlvID0gcmRldi0+YXVkaW8uZHBfZnVuY3M7CisJCWVsc2UKKwkJCXJh ZGVvbl9lbmNvZGVyLT5hdWRpbyA9IHJkZXYtPmF1ZGlvLmhkbWlfZnVuY3M7CisKKwkJcmFkZW9u X2F1ZGlvX3dyaXRlX3NwZWFrZXJfYWxsb2NhdGlvbihjb25uZWN0b3ItPmVuY29kZXIpOworCQly YWRlb25fYXVkaW9fd3JpdGVfc2FkX3JlZ3MoY29ubmVjdG9yLT5lbmNvZGVyKTsKKwkJaWYgKGNv bm5lY3Rvci0+ZW5jb2Rlci0+Y3J0YykKKwkJCXJhZGVvbl9hdWRpb193cml0ZV9sYXRlbmN5X2Zp ZWxkcyhjb25uZWN0b3ItPmVuY29kZXIsCisJCQkJJmNvbm5lY3Rvci0+ZW5jb2Rlci0+Y3J0Yy0+ bW9kZSk7CisJCXJhZGVvbl9hdWRpb19lbmFibGUocmRldiwgZGlnLT5hZm10LT5waW4sIDB4Zik7 CisJfSBlbHNlIHsKKwkJcmFkZW9uX2F1ZGlvX2VuYWJsZShyZGV2LCBkaWctPmFmbXQtPnBpbiwg MCk7CisJfQorfQorCiB2b2lkIHJhZGVvbl9hdWRpb19maW5pKHN0cnVjdCByYWRlb25fZGV2aWNl ICpyZGV2KQogewogCWludCBpOwpAQCAtNjg5LDExICs3MDAsOCBAQCBzdGF0aWMgdm9pZCByYWRl b25fYXVkaW9faGRtaV9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJcmFk ZW9uX2hkbWlfc2V0X2NvbG9yX2RlcHRoKGVuY29kZXIpOwogCXJhZGVvbl9hdWRpb19zZXRfbXV0 ZShlbmNvZGVyLCBmYWxzZSk7CiAJcmFkZW9uX2F1ZGlvX3VwZGF0ZV9hY3IoZW5jb2RlciwgbW9k ZS0+Y2xvY2spOwotCXJhZGVvbl9hdWRpb193cml0ZV9zcGVha2VyX2FsbG9jYXRpb24oZW5jb2Rl cik7CiAJcmFkZW9uX2F1ZGlvX3NldF9hdWRpb19wYWNrZXQoZW5jb2Rlcik7CiAJcmFkZW9uX2F1 ZGlvX3NlbGVjdF9waW4oZW5jb2Rlcik7Ci0JcmFkZW9uX2F1ZGlvX3dyaXRlX3NhZF9yZWdzKGVu Y29kZXIpOwotCXJhZGVvbl9hdWRpb193cml0ZV9sYXRlbmN5X2ZpZWxkcyhlbmNvZGVyLCBtb2Rl KTsKIAogCWlmIChyYWRlb25fYXVkaW9fc2V0X2F2aV9wYWNrZXQoZW5jb2RlciwgbW9kZSkgPCAw KQogCQlyZXR1cm47Ci0tIAoxLjguMy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=