From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: [PATCH 2/2] drm/nouveau: Add HD-audio component notifier support Date: Mon, 22 Jul 2019 16:38:15 +0200 Message-ID: <20190722143815.7339-3-tiwai@suse.de> References: <20190722143815.7339-1-tiwai@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id A3478898C0 for ; Mon, 22 Jul 2019 14:38:26 +0000 (UTC) In-Reply-To: <20190722143815.7339-1-tiwai@suse.de> 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: Maxime Ripard , Ben Skeggs , Alex Deucher , Sean Paul , =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIHRoZSBzdXBwb3J0IGZvciB0aGUgbm90aWZpY2F0aW9uIG9mIEhELWF1 ZGlvIGhvdHBsdWcKdmlhIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGRybV9hdWRpb19jb21wb25lbnQg ZnJhbWV3b3JrLiAgVGhpcyBhbGxvd3MKdXMgbW9yZSByZWxpYWJsZSBob3RwbHVnIG5vdGlmaWNh dGlvbiBhbmQgRUxEIHRyYW5zZmVyIHdpdGhvdXQKYWNjZXNzaW5nIEhELWF1ZGlvIGJ1czsgaXQn cyBtb3JlIGVmZmljaWVudCwgYW5kIG1vcmUgaW1wb3J0YW50bHksIGl0CndvcmtzIHdpdGhvdXQg d2FraW5nIHVwIHRoZSBydW50aW1lIFBNLgoKVGhlIGltcGxlbWVudGF0aW9uIGlzIHJhdGhlciBz aW1wbGlzdGljOiBub3V2ZWF1IGRyaXZlciBwcm92aWRlcyB0aGUKZ2V0X2VsZCBvcHMgZm9yIEhE LWF1ZGlvLCBhbmQgaXQgbm90aWZpZXMgdGhlIGF1ZGlvIGhvdHBsdWcgdmlhCnBpbl9lbGRfbm90 aWZ5IGNhbGxiYWNrIHVwb24gZWFjaCBudjUwX2F1ZGlvX2VuYWJsZSgpIGFuZCBfZGlzYWJsZSgp CmNhbGwuICBBcyB0aGUgSEQtYXVkaW8gcGluIGFzc2lnbm1lbnQgc2VlbXMgY29ycmVzcG9uZGlu ZyB0byB0aGUgQ1JUQywKdGhlIGNydGMtPmluZGV4IG51bWJlciBpcyBwYXNzZWQgZGlyZWN0bHkg YXMgdGhlIHplcm8tYmFzZWQgcG9ydApudW1iZXIuCgpUaGUgYmluZCBhbmQgdW5iaW5kIGNhbGxi YWNrcyBoYW5kbGUgdGhlIGRldmljZS1saW5rIHNvIHRoYXQgaXQKYXNzdXJlcyB0aGUgUE0gY2Fs bCBvcmRlci4KClNpZ25lZC1vZmYtYnk6IFRha2FzaGkgSXdhaSA8dGl3YWlAc3VzZS5kZT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9LY29uZmlnICAgICAgICAgfCAgIDEgKwogZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jIHwgMTExICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rydi5oICAg fCAgIDcgKysKIDMgZmlsZXMgY2hhbmdlZCwgMTE5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9LY29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvS2NvbmZpZwppbmRleCA5NmI5ODE0ZTZkMDYuLjMzY2NmMTFiZDcwZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvS2NvbmZpZworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9LY29uZmlnCkBAIC0xNiw2ICsxNiw3IEBAIGNvbmZpZyBEUk1fTk9VVkVBVQogCXNlbGVj dCBJTlBVVCBpZiBBQ1BJICYmIFg4NgogCXNlbGVjdCBUSEVSTUFMIGlmIEFDUEkgJiYgWDg2CiAJ c2VsZWN0IEFDUElfVklERU8gaWYgQUNQSSAmJiBYODYKKwlzZWxlY3QgU05EX0hEQV9DT01QT05F TlQgaWYgU05EX0hEQV9DT1JFCiAJaGVscAogCSAgQ2hvb3NlIHRoaXMgb3B0aW9uIGZvciBvcGVu LXNvdXJjZSBOVklESUEgc3VwcG9ydC4KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvZGlzcG52NTAvZGlzcC5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAv ZGlzcC5jCmluZGV4IDg0OTc3NjhmMWI0MS4uOTE5ZjNkM2RiMTYxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9kaXNwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L25vdXZlYXUvZGlzcG52NTAvZGlzcC5jCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlIDxs aW51eC9kbWEtbWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2hkbWkuaD4KKyNpbmNsdWRlIDxs aW51eC9jb21wb25lbnQuaD4KIAogI2luY2x1ZGUgPGRybS9kcm1QLmg+CiAjaW5jbHVkZSA8ZHJt L2RybV9hdG9taWNfaGVscGVyLmg+CkBAIC00NjYsMTIgKzQ2NywxMTMgQEAgbnY1MF9kYWNfY3Jl YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIHN0cnVjdCBkY2Jfb3V0cHV0ICpk Y2JlKQogCXJldHVybiAwOwogfQogCisvKgorICogYXVkaW8gY29tcG9uZW50IGJpbmRpbmcgZm9y IEVMRCBub3RpZmljYXRpb24KKyAqLworc3RhdGljIHZvaWQKK252NTBfYXVkaW9fY29tcG9uZW50 X2VsZF9ub3RpZnkoc3RydWN0IGRybV9hdWRpb19jb21wb25lbnQgKmFjb21wLCBpbnQgcG9ydCkK K3sKKwlpZiAoYWNvbXAgJiYgYWNvbXAtPmF1ZGlvX29wcyAmJiBhY29tcC0+YXVkaW9fb3BzLT5w aW5fZWxkX25vdGlmeSkKKwkJYWNvbXAtPmF1ZGlvX29wcy0+cGluX2VsZF9ub3RpZnkoYWNvbXAt PmF1ZGlvX29wcy0+YXVkaW9fcHRyLAorCQkJCQkJIHBvcnQsIC0xKTsKK30KKworc3RhdGljIGlu dAorbnY1MF9hdWRpb19jb21wb25lbnRfZ2V0X2VsZChzdHJ1Y3QgZGV2aWNlICprZGV2LCBpbnQg cG9ydCwgaW50IHBpcGUsCisJCQkgICAgIGJvb2wgKmVuYWJsZWQsIHVuc2lnbmVkIGNoYXIgKmJ1 ZiwgaW50IG1heF9ieXRlcykKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiA9IGRldl9n ZXRfZHJ2ZGF0YShrZGV2KTsKKwlzdHJ1Y3Qgbm91dmVhdV9kcm0gKmRybSA9IG5vdXZlYXVfZHJt KGRybV9kZXYpOworCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKKwlzdHJ1Y3Qgbm91dmVh dV9lbmNvZGVyICpudl9lbmNvZGVyOworCXN0cnVjdCBub3V2ZWF1X2Nvbm5lY3RvciAqbnZfY29u bmVjdG9yOworCXN0cnVjdCBub3V2ZWF1X2NydGMgKm52X2NydGM7CisJaW50IHJldCA9IDA7CisK KwkqZW5hYmxlZCA9IGZhbHNlOworCWRybV9mb3JfZWFjaF9lbmNvZGVyKGVuY29kZXIsIGRybS0+ ZGV2KSB7CisJCW52X2VuY29kZXIgPSBub3V2ZWF1X2VuY29kZXIoZW5jb2Rlcik7CisJCW52X2Nv bm5lY3RvciA9IG5vdXZlYXVfZW5jb2Rlcl9jb25uZWN0b3JfZ2V0KG52X2VuY29kZXIpOworCQlu dl9jcnRjID0gbm91dmVhdV9jcnRjKGVuY29kZXItPmNydGMpOworCQlpZiAoIW52X2Nvbm5lY3Rv ciB8fCAhbnZfY3J0YyB8fCBudl9jcnRjLT5pbmRleCAhPSBwb3J0KQorCQkJY29udGludWU7CisJ CSplbmFibGVkID0gZHJtX2RldGVjdF9tb25pdG9yX2F1ZGlvKG52X2Nvbm5lY3Rvci0+ZWRpZCk7 CisJCWlmICgqZW5hYmxlZCkgeworCQkJcmV0ID0gZHJtX2VsZF9zaXplKG52X2Nvbm5lY3Rvci0+ YmFzZS5lbGQpOworCQkJbWVtY3B5KGJ1ZiwgbnZfY29ubmVjdG9yLT5iYXNlLmVsZCwKKwkJCSAg ICAgICBtaW4obWF4X2J5dGVzLCByZXQpKTsKKwkJfQorCQlicmVhazsKKwl9CisJcmV0dXJuIHJl dDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fYXVkaW9fY29tcG9uZW50X29wcyBudjUw X2F1ZGlvX2NvbXBvbmVudF9vcHMgPSB7CisJLmdldF9lbGQgPSBudjUwX2F1ZGlvX2NvbXBvbmVu dF9nZXRfZWxkLAorfTsKKworc3RhdGljIGludAorbnY1MF9hdWRpb19jb21wb25lbnRfYmluZChz dHJ1Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlICpoZGFfa2RldiwKKwkJCSAgdm9pZCAq ZGF0YSkKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiA9IGRldl9nZXRfZHJ2ZGF0YShr ZGV2KTsKKwlzdHJ1Y3Qgbm91dmVhdV9kcm0gKmRybSA9IG5vdXZlYXVfZHJtKGRybV9kZXYpOwor CXN0cnVjdCBkcm1fYXVkaW9fY29tcG9uZW50ICphY29tcCA9IGRhdGE7CisKKwlpZiAoV0FSTl9P TighZGV2aWNlX2xpbmtfYWRkKGhkYV9rZGV2LCBrZGV2LCBETF9GTEFHX1NUQVRFTEVTUykpKQor CQlyZXR1cm4gLUVOT01FTTsKKworCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGRybV9kZXYpOworCWFj b21wLT5vcHMgPSAmbnY1MF9hdWRpb19jb21wb25lbnRfb3BzOworCWFjb21wLT5kZXYgPSBrZGV2 OworCWRybS0+YXVkaW8uY29tcG9uZW50ID0gYWNvbXA7CisJZHJtX21vZGVzZXRfdW5sb2NrX2Fs bChkcm1fZGV2KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK252NTBfYXVkaW9fY29t cG9uZW50X3VuYmluZChzdHJ1Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlICpoZGFfa2Rl diwKKwkJCSAgICB2b2lkICpkYXRhKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0g ZGV2X2dldF9kcnZkYXRhKGtkZXYpOworCXN0cnVjdCBub3V2ZWF1X2RybSAqZHJtID0gbm91dmVh dV9kcm0oZHJtX2Rldik7CisJc3RydWN0IGRybV9hdWRpb19jb21wb25lbnQgKmFjb21wID0gZGF0 YTsKKworCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGRybV9kZXYpOworCWRybS0+YXVkaW8uY29tcG9u ZW50ID0gTlVMTDsKKwlhY29tcC0+b3BzID0gTlVMTDsKKwlhY29tcC0+ZGV2ID0gTlVMTDsKKwlk cm1fbW9kZXNldF91bmxvY2tfYWxsKGRybV9kZXYpOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0 IGNvbXBvbmVudF9vcHMgbnY1MF9hdWRpb19jb21wb25lbnRfYmluZF9vcHMgPSB7CisJLmJpbmQg ICA9IG52NTBfYXVkaW9fY29tcG9uZW50X2JpbmQsCisJLnVuYmluZCA9IG52NTBfYXVkaW9fY29t cG9uZW50X3VuYmluZCwKK307CisKK3N0YXRpYyB2b2lkCitudjUwX2F1ZGlvX2NvbXBvbmVudF9p bml0KHN0cnVjdCBub3V2ZWF1X2RybSAqZHJtKQoreworCWlmICghY29tcG9uZW50X2FkZChkcm0t PmRldi0+ZGV2LCAmbnY1MF9hdWRpb19jb21wb25lbnRfYmluZF9vcHMpKQorCQlkcm0tPmF1ZGlv LmNvbXBvbmVudF9yZWdpc3RlcmVkID0gdHJ1ZTsKK30KKworc3RhdGljIHZvaWQKK252NTBfYXVk aW9fY29tcG9uZW50X2Zpbmkoc3RydWN0IG5vdXZlYXVfZHJtICpkcm0pCit7CisJaWYgKGRybS0+ YXVkaW8uY29tcG9uZW50X3JlZ2lzdGVyZWQpIHsKKwkJY29tcG9uZW50X2RlbChkcm0tPmRldi0+ ZGV2LCAmbnY1MF9hdWRpb19jb21wb25lbnRfYmluZF9vcHMpOworCQlkcm0tPmF1ZGlvLmNvbXBv bmVudF9yZWdpc3RlcmVkID0gZmFsc2U7CisJfQorfQorCiAvKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq CiAgKiBBdWRpbwogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIHZvaWQKIG52NTBfYXVk aW9fZGlzYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHN0cnVjdCBub3V2ZWF1X2Ny dGMgKm52X2NydGMpCiB7CisJc3RydWN0IG5vdXZlYXVfZHJtICpkcm0gPSBub3V2ZWF1X2RybShl bmNvZGVyLT5kZXYpOwogCXN0cnVjdCBub3V2ZWF1X2VuY29kZXIgKm52X2VuY29kZXIgPSBub3V2 ZWF1X2VuY29kZXIoZW5jb2Rlcik7CiAJc3RydWN0IG52NTBfZGlzcCAqZGlzcCA9IG52NTBfZGlz cChlbmNvZGVyLT5kZXYpOwogCXN0cnVjdCB7CkBAIC00ODYsMTEgKzU4OCwxNCBAQCBudjUwX2F1 ZGlvX2Rpc2FibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBzdHJ1Y3Qgbm91dmVhdV9j cnRjICpudl9jcnRjKQogCX07CiAKIAludmlmX210aGQoJmRpc3AtPmRpc3AtPm9iamVjdCwgMCwg JmFyZ3MsIHNpemVvZihhcmdzKSk7CisKKwludjUwX2F1ZGlvX2NvbXBvbmVudF9lbGRfbm90aWZ5 KGRybS0+YXVkaW8uY29tcG9uZW50LCBudl9jcnRjLT5pbmRleCk7CiB9CiAKIHN0YXRpYyB2b2lk CiBudjUwX2F1ZGlvX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlKQogeworCXN0cnVjdCBub3V2ZWF1X2RybSAqZHJtID0gbm91 dmVhdV9kcm0oZW5jb2Rlci0+ZGV2KTsKIAlzdHJ1Y3Qgbm91dmVhdV9lbmNvZGVyICpudl9lbmNv ZGVyID0gbm91dmVhdV9lbmNvZGVyKGVuY29kZXIpOwogCXN0cnVjdCBub3V2ZWF1X2NydGMgKm52 X2NydGMgPSBub3V2ZWF1X2NydGMoZW5jb2Rlci0+Y3J0Yyk7CiAJc3RydWN0IG5vdXZlYXVfY29u bmVjdG9yICpudl9jb25uZWN0b3I7CkBAIC01MTcsNiArNjIyLDggQEAgbnY1MF9hdWRpb19lbmFi bGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSkKIAogCW52aWZfbXRoZCgmZGlzcC0+ZGlzcC0+b2JqZWN0LCAwLCAmYXJncywKIAkJICBz aXplb2YoYXJncy5iYXNlKSArIGRybV9lbGRfc2l6ZShhcmdzLmRhdGEpKTsKKworCW52NTBfYXVk aW9fY29tcG9uZW50X2VsZF9ub3RpZnkoZHJtLT5hdWRpby5jb21wb25lbnQsIG52X2NydGMtPmlu ZGV4KTsKIH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMjI4MSw2ICsyMzg4LDggQEAg bnY1MF9kaXNwbGF5X2Rlc3Ryb3koc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3Qg bnY1MF9kaXNwICpkaXNwID0gbnY1MF9kaXNwKGRldik7CiAKKwludjUwX2F1ZGlvX2NvbXBvbmVu dF9maW5pKG5vdXZlYXVfZHJtKGRldikpOworCiAJbnY1MF9jb3JlX2RlbCgmZGlzcC0+Y29yZSk7 CiAKIAlub3V2ZWF1X2JvX3VubWFwKGRpc3AtPnN5bmMpOwpAQCAtMjQwMSw2ICsyNTEwLDggQEAg bnY1MF9kaXNwbGF5X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCS8qIERpc2FibGUg dmJsYW5rIGlycXMgYWdncmVzc2l2ZWx5IGZvciBwb3dlci1zYXZpbmcsIHNhZmUgb24gbnY1MCsg Ki8KIAlkZXYtPnZibGFua19kaXNhYmxlX2ltbWVkaWF0ZSA9IHRydWU7CiAKKwludjUwX2F1ZGlv X2NvbXBvbmVudF9pbml0KGRybSk7CisKIG91dDoKIAlpZiAocmV0KQogCQludjUwX2Rpc3BsYXlf ZGVzdHJveShkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVh dV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJ2LmgKaW5kZXggYWFl MDM1ODE2MzgzLi4xNWU0ZjJhYTE5YmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L25vdXZlYXVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9k cnYuaApAQCAtNTUsNiArNTUsOCBAQAogI2luY2x1ZGUgPGRybS90dG0vdHRtX21vZHVsZS5oPgog I2luY2x1ZGUgPGRybS90dG0vdHRtX3BhZ2VfYWxsb2MuaD4KIAorI2luY2x1ZGUgPGRybS9kcm1f YXVkaW9fY29tcG9uZW50Lmg+CisKICNpbmNsdWRlICJ1YXBpL2RybS9ub3V2ZWF1X2RybS5oIgog CiBzdHJ1Y3Qgbm91dmVhdV9jaGFubmVsOwpAQCAtMjEyLDYgKzIxNCwxMSBAQCBzdHJ1Y3Qgbm91 dmVhdV9kcm0gewogCXN0cnVjdCBub3V2ZWF1X3N2bSAqc3ZtOwogCiAJc3RydWN0IG5vdXZlYXVf ZG1lbSAqZG1lbTsKKworCXN0cnVjdCB7CisJCXN0cnVjdCBkcm1fYXVkaW9fY29tcG9uZW50ICpj b21wb25lbnQ7CisJCWJvb2wgY29tcG9uZW50X3JlZ2lzdGVyZWQ7CisJfSBhdWRpbzsKIH07CiAK IHN0YXRpYyBpbmxpbmUgc3RydWN0IG5vdXZlYXVfZHJtICoKLS0gCjIuMTYuNAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs