From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King Subject: [PATCH v2 01/13] drm/i2c: tda998x: introduce tda998x_audio_settings Date: Thu, 13 Jun 2019 15:30:55 +0100 Message-ID: References: <20190613142943.vhgiy6yvyjz6uqlp@shell.armlinux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [IPv6:2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0EF8189AB2 for ; Thu, 13 Jun 2019 14:31:06 +0000 (UTC) In-Reply-To: <20190613142943.vhgiy6yvyjz6uqlp@shell.armlinux.org.uk> Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sven Van Asbroeck , Mark Brown , Peter Ujfalusi , Jyri Sarha Cc: David Airlie , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SW50cm9kdWNlIGEgc3RydWN0dXJlIHRvIGhvbGQgdGhlIHJlZ2lzdGVyIHZhbHVlcyB0byBiZSBw cm9ncmFtbWVkIHdoaWxlCnByb2dyYW1taW5nIHRoZSBUREE5OTh4IGF1ZGlvIHNldHRpbmdzLiAg VGhpcyBpcyBjdXJyZW50bHkgYSBzdHViCnN0cnVjdHVyZSwgd2hpY2ggd2lsbCBiZSBwb3B1bGF0 ZWQgaW4gc3Vic2VxdWVudCBjb21taXRzLgoKV2hlbiB3ZSBpbml0aWFsaXNlIHRoaXMgZnJvbSB0 aGUgcGxhdGZvcm0gZGF0YSwgb25seSBkbyBzbyBpZiB0aGVyZSBpcyBhCnZhbGlkIGF1ZGlvIGZv cm1hdCBzcGVjaWZpY2F0aW9uLgoKU2lnbmVkLW9mZi1ieTogUnVzc2VsbCBLaW5nIDxybWsra2Vy bmVsQGFybWxpbnV4Lm9yZy51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2 LmMgfCA2OCArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3Rk YTk5OHhfZHJ2LmMKaW5kZXggN2YzNDYwMWJiNTE1Li4wNjY4ZmIzNTM3ZjIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTJjL3RkYTk5OHhfZHJ2LmMKQEAgLTQwLDYgKzQwLDEwIEBAIHN0cnVjdCB0ZGE5OTh4X2F1ZGlv X3BvcnQgewogCXU4IGNvbmZpZzsJCS8qIEFQIHZhbHVlICovCiB9OwogCitzdHJ1Y3QgdGRhOTk4 eF9hdWRpb19zZXR0aW5ncyB7CisJc3RydWN0IHRkYTk5OHhfYXVkaW9fcGFyYW1zIHBhcmFtczsK K307CisKIHN0cnVjdCB0ZGE5OTh4X3ByaXYgewogCXN0cnVjdCBpMmNfY2xpZW50ICpjZWM7CiAJ c3RydWN0IGkyY19jbGllbnQgKmhkbWk7CkBAIC01NCw3ICs1OCw3IEBAIHN0cnVjdCB0ZGE5OTh4 X3ByaXYgewogCXU4IHZpcF9jbnRybF8xOwogCXU4IHZpcF9jbnRybF8yOwogCXVuc2lnbmVkIGxv bmcgdG1kc19jbG9jazsKLQlzdHJ1Y3QgdGRhOTk4eF9hdWRpb19wYXJhbXMgYXVkaW9fcGFyYW1z OworCXN0cnVjdCB0ZGE5OTh4X2F1ZGlvX3NldHRpbmdzIGF1ZGlvOwogCiAJc3RydWN0IHBsYXRm b3JtX2RldmljZSAqYXVkaW9fcGRldjsKIAlzdHJ1Y3QgbXV0ZXggYXVkaW9fbXV0ZXg7CkBAIC04 MzMsNyArODM3LDcgQEAgdGRhOTk4eF93cml0ZV9pZihzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2 LCB1OCBiaXQsIHUxNiBhZGRyLAogfQogCiBzdGF0aWMgaW50IHRkYTk5OHhfd3JpdGVfYWlmKHN0 cnVjdCB0ZGE5OTh4X3ByaXYgKnByaXYsCi0JCQkgICAgIHN0cnVjdCBoZG1pX2F1ZGlvX2luZm9m cmFtZSAqY2VhKQorCQkJICAgICBjb25zdCBzdHJ1Y3QgaGRtaV9hdWRpb19pbmZvZnJhbWUgKmNl YSkKIHsKIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKIApAQCAtODY5LDE4ICs4NzMsMTcg QEAgc3RhdGljIHZvaWQgdGRhOTk4eF9hdWRpb19tdXRlKHN0cnVjdCB0ZGE5OTh4X3ByaXYgKnBy aXYsIGJvb2wgb24pCiAJfQogfQogCi1zdGF0aWMgaW50Ci10ZGE5OTh4X2NvbmZpZ3VyZV9hdWRp byhzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2LAotCQkJc3RydWN0IHRkYTk5OHhfYXVkaW9fcGFy YW1zICpwYXJhbXMpCitzdGF0aWMgaW50IHRkYTk5OHhfY29uZmlndXJlX2F1ZGlvKHN0cnVjdCB0 ZGE5OTh4X3ByaXYgKnByaXYsCisJCQkJIGNvbnN0IHN0cnVjdCB0ZGE5OTh4X2F1ZGlvX3NldHRp bmdzICpzZXR0aW5ncykKIHsKIAl1OCBidWZbNl0sIGNsa3NlbF9haXAsIGNsa3NlbF9mcywgY3Rz X24sIGFkaXY7CiAJdTMyIG47CiAKIAkvKiBFbmFibGUgYXVkaW8gcG9ydHMgKi8KLQlyZWdfd3Jp dGUocHJpdiwgUkVHX0VOQV9BUCwgcGFyYW1zLT5jb25maWcpOworCXJlZ193cml0ZShwcml2LCBS RUdfRU5BX0FQLCBzZXR0aW5ncy0+cGFyYW1zLmNvbmZpZyk7CiAKIAkvKiBTZXQgYXVkaW8gaW5w dXQgc291cmNlICovCi0Jc3dpdGNoIChwYXJhbXMtPmZvcm1hdCkgeworCXN3aXRjaCAoc2V0dGlu Z3MtPnBhcmFtcy5mb3JtYXQpIHsKIAljYXNlIEFGTVRfU1BESUY6CiAJCXJlZ193cml0ZShwcml2 LCBSRUdfRU5BX0FDTEssIDApOwogCQlyZWdfd3JpdGUocHJpdiwgUkVHX01VWF9BUCwgTVVYX0FQ X1NFTEVDVF9TUERJRik7CkBAIC04OTQsNyArODk3LDcgQEAgdGRhOTk4eF9jb25maWd1cmVfYXVk aW8oc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdiwKIAkJcmVnX3dyaXRlKHByaXYsIFJFR19NVVhf QVAsIE1VWF9BUF9TRUxFQ1RfSTJTKTsKIAkJY2xrc2VsX2FpcCA9IEFJUF9DTEtTRUxfQUlQX0ky UzsKIAkJY2xrc2VsX2ZzID0gQUlQX0NMS1NFTF9GU19BQ0xLOwotCQlzd2l0Y2ggKHBhcmFtcy0+ c2FtcGxlX3dpZHRoKSB7CisJCXN3aXRjaCAoc2V0dGluZ3MtPnBhcmFtcy5zYW1wbGVfd2lkdGgp IHsKIAkJY2FzZSAxNjoKIAkJCWN0c19uID0gQ1RTX05fTSgzKSB8IENUU19OX0soMSk7CiAJCQli cmVhazsKQEAgLTkzMiw3ICs5MzUsNyBAQCB0ZGE5OTh4X2NvbmZpZ3VyZV9hdWRpbyhzdHJ1Y3Qg dGRhOTk4eF9wcml2ICpwcml2LAogCQlhZGl2Kys7CQkJLyogQVVESU9fRElWX1NFUkNMS18xNiAq LwogCiAJLyogUy9QRElGIGFza3MgZm9yIGEgbGFyZ2VyIGRpdmlkZXIgKi8KLQlpZiAocGFyYW1z LT5mb3JtYXQgPT0gQUZNVF9TUERJRikKKwlpZiAoc2V0dGluZ3MtPnBhcmFtcy5mb3JtYXQgPT0g QUZNVF9TUERJRikKIAkJYWRpdisrOwkJCS8qIEFVRElPX0RJVl9TRVJDTEtfMTYgb3IgXzMyICov CiAKIAlyZWdfd3JpdGUocHJpdiwgUkVHX0FVRElPX0RJViwgYWRpdik7CkBAIC05NDEsNyArOTQ0 LDcgQEAgdGRhOTk4eF9jb25maWd1cmVfYXVkaW8oc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdiwK IAkgKiBUaGlzIGlzIHRoZSBhcHByb3hpbWF0ZSB2YWx1ZSBvZiBOLCB3aGljaCBoYXBwZW5zIHRv IGJlCiAJICogdGhlIHJlY29tbWVuZGVkIHZhbHVlcyBmb3Igbm9uLWNvaGVyZW50IGNsb2Nrcy4K IAkgKi8KLQluID0gMTI4ICogcGFyYW1zLT5zYW1wbGVfcmF0ZSAvIDEwMDA7CisJbiA9IDEyOCAq IHNldHRpbmdzLT5wYXJhbXMuc2FtcGxlX3JhdGUgLyAxMDAwOwogCiAJLyogV3JpdGUgdGhlIENU UyBhbmQgTiB2YWx1ZXMgKi8KIAlidWZbMF0gPSAweDQ0OwpAQCAtOTYzLDE3ICs5NjYsMTcgQEAg dGRhOTk4eF9jb25maWd1cmVfYXVkaW8oc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdiwKIAkgKiBU aGUgUkVHX0NIX1NUQVRfQi1yZWdpc3RlcnMgc2tpcCBJRUM5NTggQUVTMiBieXRlLCBiZWNhdXNl CiAJICogdGhlcmUgaXMgYSBzZXBhcmF0ZSByZWdpc3RlciBmb3IgZWFjaCBJMlMgd2lyZS4KIAkg Ki8KLQlidWZbMF0gPSBwYXJhbXMtPnN0YXR1c1swXTsKLQlidWZbMV0gPSBwYXJhbXMtPnN0YXR1 c1sxXTsKLQlidWZbMl0gPSBwYXJhbXMtPnN0YXR1c1szXTsKLQlidWZbM10gPSBwYXJhbXMtPnN0 YXR1c1s0XTsKKwlidWZbMF0gPSBzZXR0aW5ncy0+cGFyYW1zLnN0YXR1c1swXTsKKwlidWZbMV0g PSBzZXR0aW5ncy0+cGFyYW1zLnN0YXR1c1sxXTsKKwlidWZbMl0gPSBzZXR0aW5ncy0+cGFyYW1z LnN0YXR1c1szXTsKKwlidWZbM10gPSBzZXR0aW5ncy0+cGFyYW1zLnN0YXR1c1s0XTsKIAlyZWdf d3JpdGVfcmFuZ2UocHJpdiwgUkVHX0NIX1NUQVRfQigwKSwgYnVmLCA0KTsKIAogCXRkYTk5OHhf YXVkaW9fbXV0ZShwcml2LCB0cnVlKTsKIAltc2xlZXAoMjApOwogCXRkYTk5OHhfYXVkaW9fbXV0 ZShwcml2LCBmYWxzZSk7CiAKLQlyZXR1cm4gdGRhOTk4eF93cml0ZV9haWYocHJpdiwgJnBhcmFt cy0+Y2VhKTsKKwlyZXR1cm4gdGRhOTk4eF93cml0ZV9haWYocHJpdiwgJnNldHRpbmdzLT5wYXJh bXMuY2VhKTsKIH0KIAogc3RhdGljIGludCB0ZGE5OTh4X2F1ZGlvX2h3X3BhcmFtcyhzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCkBAIC05ODIsMTQgKzk4NSwxNiBAQCBzdGF0aWMgaW50 IHRkYTk5OHhfYXVkaW9faHdfcGFyYW1zKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK IHsKIAlzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CiAJ aW50IGksIHJldDsKLQlzdHJ1Y3QgdGRhOTk4eF9hdWRpb19wYXJhbXMgYXVkaW8gPSB7Ci0JCS5z YW1wbGVfd2lkdGggPSBwYXJhbXMtPnNhbXBsZV93aWR0aCwKLQkJLnNhbXBsZV9yYXRlID0gcGFy YW1zLT5zYW1wbGVfcmF0ZSwKLQkJLmNlYSA9IHBhcmFtcy0+Y2VhLAorCXN0cnVjdCB0ZGE5OTh4 X2F1ZGlvX3NldHRpbmdzIGF1ZGlvID0geworCQkucGFyYW1zID0geworCQkJLnNhbXBsZV93aWR0 aCA9IHBhcmFtcy0+c2FtcGxlX3dpZHRoLAorCQkJLnNhbXBsZV9yYXRlID0gcGFyYW1zLT5zYW1w bGVfcmF0ZSwKKwkJCS5jZWEgPSBwYXJhbXMtPmNlYSwKKwkJfSwKIAl9OwogCi0JbWVtY3B5KGF1 ZGlvLnN0YXR1cywgcGFyYW1zLT5pZWMuc3RhdHVzLAotCSAgICAgICBtaW4oc2l6ZW9mKGF1ZGlv LnN0YXR1cyksIHNpemVvZihwYXJhbXMtPmllYy5zdGF0dXMpKSk7CisJbWVtY3B5KGF1ZGlvLnBh cmFtcy5zdGF0dXMsIHBhcmFtcy0+aWVjLnN0YXR1cywKKwkgICAgICAgbWluKHNpemVvZihhdWRp by5wYXJhbXMuc3RhdHVzKSwgc2l6ZW9mKHBhcmFtcy0+aWVjLnN0YXR1cykpKTsKIAogCXN3aXRj aCAoZGFpZm10LT5mbXQpIHsKIAljYXNlIEhETUlfSTJTOgpAQCAtMTAwMywyMSArMTAwOCwyMSBA QCBzdGF0aWMgaW50IHRkYTk5OHhfYXVkaW9faHdfcGFyYW1zKHN0cnVjdCBkZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwKIAkJfQogCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwcml2LT5hdWRp b19wb3J0KTsgaSsrKQogCQkJaWYgKHByaXYtPmF1ZGlvX3BvcnRbaV0uZm9ybWF0ID09IEFGTVRf STJTKQotCQkJCWF1ZGlvLmNvbmZpZyA9IHByaXYtPmF1ZGlvX3BvcnRbaV0uY29uZmlnOwotCQlh dWRpby5mb3JtYXQgPSBBRk1UX0kyUzsKKwkJCQlhdWRpby5wYXJhbXMuY29uZmlnID0gcHJpdi0+ YXVkaW9fcG9ydFtpXS5jb25maWc7CisJCWF1ZGlvLnBhcmFtcy5mb3JtYXQgPSBBRk1UX0kyUzsK IAkJYnJlYWs7CiAJY2FzZSBIRE1JX1NQRElGOgogCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0la RShwcml2LT5hdWRpb19wb3J0KTsgaSsrKQogCQkJaWYgKHByaXYtPmF1ZGlvX3BvcnRbaV0uZm9y bWF0ID09IEFGTVRfU1BESUYpCi0JCQkJYXVkaW8uY29uZmlnID0gcHJpdi0+YXVkaW9fcG9ydFtp XS5jb25maWc7Ci0JCWF1ZGlvLmZvcm1hdCA9IEFGTVRfU1BESUY7CisJCQkJYXVkaW8ucGFyYW1z LmNvbmZpZyA9IHByaXYtPmF1ZGlvX3BvcnRbaV0uY29uZmlnOworCQlhdWRpby5wYXJhbXMuZm9y bWF0ID0gQUZNVF9TUERJRjsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJZGV2X2VycihkZXYsICIl czogSW52YWxpZCBmb3JtYXQgJWRcbiIsIF9fZnVuY19fLCBkYWlmbXQtPmZtdCk7CiAJCXJldHVy biAtRUlOVkFMOwogCX0KIAotCWlmIChhdWRpby5jb25maWcgPT0gMCkgeworCWlmIChhdWRpby5w YXJhbXMuY29uZmlnID09IDApIHsKIAkJZGV2X2VycihkZXYsICIlczogTm8gYXVkaW8gY29uZmln dXJhdGlvbiBmb3VuZFxuIiwgX19mdW5jX18pOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0x MDI5LDcgKzEwMzQsNyBAQCBzdGF0aWMgaW50IHRkYTk5OHhfYXVkaW9faHdfcGFyYW1zKHN0cnVj dCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJcmV0ID0gMDsKIAogCWlmIChyZXQgPT0gMCkK LQkJcHJpdi0+YXVkaW9fcGFyYW1zID0gYXVkaW87CisJCXByaXYtPmF1ZGlvID0gYXVkaW87CiAJ bXV0ZXhfdW5sb2NrKCZwcml2LT5hdWRpb19tdXRleCk7CiAKIAlyZXR1cm4gcmV0OwpAQCAtMTA0 Myw3ICsxMDQ4LDcgQEAgc3RhdGljIHZvaWQgdGRhOTk4eF9hdWRpb19zaHV0ZG93bihzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCiAKIAlyZWdfd3JpdGUocHJpdiwgUkVHX0VOQV9BUCwg MCk7CiAKLQlwcml2LT5hdWRpb19wYXJhbXMuZm9ybWF0ID0gQUZNVF9VTlVTRUQ7CisJcHJpdi0+ YXVkaW8ucGFyYW1zLmZvcm1hdCA9IEFGTVRfVU5VU0VEOwogCiAJbXV0ZXhfdW5sb2NrKCZwcml2 LT5hdWRpb19tdXRleCk7CiB9CkBAIC0xNTQ5LDkgKzE1NTQsOSBAQCBzdGF0aWMgdm9pZCB0ZGE5 OTh4X2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAogCiAJCXRkYTk5 OHhfd3JpdGVfYXZpKHByaXYsIGFkanVzdGVkX21vZGUpOwogCi0JCWlmIChwcml2LT5hdWRpb19w YXJhbXMuZm9ybWF0ICE9IEFGTVRfVU5VU0VEICYmCisJCWlmIChwcml2LT5hdWRpby5wYXJhbXMu Zm9ybWF0ICE9IEFGTVRfVU5VU0VEICYmCiAJCSAgICBwcml2LT5zaW5rX2hhc19hdWRpbykKLQkJ CXRkYTk5OHhfY29uZmlndXJlX2F1ZGlvKHByaXYsICZwcml2LT5hdWRpb19wYXJhbXMpOworCQkJ dGRhOTk4eF9jb25maWd1cmVfYXVkaW8ocHJpdiwgJnByaXYtPmF1ZGlvKTsKIAl9CiAKIAltdXRl eF91bmxvY2soJnByaXYtPmF1ZGlvX211dGV4KTsKQEAgLTE2MjYsNyArMTYzMSw4IEBAIHN0YXRp YyB2b2lkIHRkYTk5OHhfc2V0X2NvbmZpZyhzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2LAogCQkJ ICAgIFZJUF9DTlRSTF8yX1NXQVBfRihwLT5zd2FwX2YpIHwKIAkJCSAgICAocC0+bWlycl9mID8g VklQX0NOVFJMXzJfTUlSUl9GIDogMCk7CiAKLQlwcml2LT5hdWRpb19wYXJhbXMgPSBwLT5hdWRp b19wYXJhbXM7CisJaWYgKHAtPmF1ZGlvX3BhcmFtcy5mb3JtYXQgIT0gQUZNVF9VTlVTRUQpCisJ CXByaXYtPmF1ZGlvLnBhcmFtcyA9IHAtPmF1ZGlvX3BhcmFtczsKIH0KIAogc3RhdGljIHZvaWQg dGRhOTk4eF9kZXN0cm95KHN0cnVjdCBkZXZpY2UgKmRldikKLS0gCjIuNy40CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=