From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v10 01/40] components: multiple components for a device Date: Thu, 31 Jan 2019 12:29:17 +0530 Message-ID: <1548917996-28081-2-git-send-email-ramalingam.c@intel.com> References: <1548917996-28081-1-git-send-email-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1548917996-28081-1-git-send-email-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, daniel.vetter@ffwll.ch, tomas.winkler@intel.com, uma.shankar@intel.com Cc: "Rafael J . Wysocki" , Rodrigo Vivi , Takashi Iwai , Jaroslav Kysela , Greg Kroah-Hartman , Russell King List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KCkNvbXBvbmVudCBm cmFtZXdvcmsgaXMgZXh0ZW5kZWQgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb21wb25lbnRzIGZvcgph IHN0cnVjdCBkZXZpY2UuIFRoZXNlIHdpbGwgYmUgbWF0Y2hlZCB3aXRoIGRpZmZlcmVudCBtYXN0 ZXJzIGJhc2VkIG9uCml0cyBzdWIgY29tcG9uZW50IHZhbHVlLgoKV2UgYXJlIGludHJvZHVjaW5n IHRoaXMsIGFzIEk5MTUgbmVlZHMgdHdvIGRpZmZlcmVudCBjb21wb25lbnRzCndpdGggZGlmZmVy ZW50IHN1YmNvbXBvbmVudCB2YWx1ZSwgd2hpY2ggd2lsbCBiZSBtYXRjaGVkIHRvIHR3bwpkaWZm ZXJlbnQgY29tcG9uZW50IG1hc3RlcnMoQXVkaW8gYW5kIEhEQ1ApIGJhc2VkIG9uIHRoZSBzdWJj b21wb25lbnQKdmFsdWVzLgoKU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBmZndsbC5jaD4KU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNA aW50ZWwuY29tPgpjYzogR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVna2hAbGludXhmb3VuZGF0aW9u Lm9yZz4KY2M6IFJ1c3NlbGwgS2luZyA8cm1rK2tlcm5lbEBhcm0ubGludXgub3JnLnVrPgpjYzog UmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbEBrZXJuZWwub3JnPgpjYzogSmFyb3NsYXYgS3lzZWxh IDxwZXJleEBwZXJleC5jej4KY2M6IFRha2FzaGkgSXdhaSA8dGl3YWlAc3VzZS5jb20+CmNjOiBS b2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+CmNjOiBKYW5pIE5pa3VsYSA8amFu aS5uaWt1bGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvYmFzZS9jb21wb25lbnQuYyAg fCA2NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogaW5j bHVkZS9saW51eC9jb21wb25lbnQuaCB8ICA1ICsrKysKIDIgZmlsZXMgY2hhbmdlZCwgNjEgaW5z ZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlL2Nv bXBvbmVudC5jIGIvZHJpdmVycy9iYXNlL2NvbXBvbmVudC5jCmluZGV4IGRkY2VhODczOWMxMi4u MzAzMDljMDQ0OWVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jhc2UvY29tcG9uZW50LmMKKysrIGIv ZHJpdmVycy9iYXNlL2NvbXBvbmVudC5jCkBAIC0yMSw2ICsyMSw3IEBAIHN0cnVjdCBjb21wb25l bnQ7CiBzdHJ1Y3QgY29tcG9uZW50X21hdGNoX2FycmF5IHsKIAl2b2lkICpkYXRhOwogCWludCAo KmNvbXBhcmUpKHN0cnVjdCBkZXZpY2UgKiwgdm9pZCAqKTsKKwlpbnQgKCpjb21wYXJlX3R5cGVk KShzdHJ1Y3QgZGV2aWNlICosIGludCwgdm9pZCAqKTsKIAl2b2lkICgqcmVsZWFzZSkoc3RydWN0 IGRldmljZSAqLCB2b2lkICopOwogCXN0cnVjdCBjb21wb25lbnQgKmNvbXBvbmVudDsKIAlib29s IGR1cGxpY2F0ZTsKQEAgLTQ4LDYgKzQ5LDcgQEAgc3RydWN0IGNvbXBvbmVudCB7CiAJYm9vbCBi b3VuZDsKIAogCWNvbnN0IHN0cnVjdCBjb21wb25lbnRfb3BzICpvcHM7CisJaW50IHN1YmNvbXBv bmVudDsKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7CiB9OwogCkBAIC0xMzIsNyArMTM0LDcgQEAgc3Rh dGljIHN0cnVjdCBtYXN0ZXIgKl9fbWFzdGVyX2ZpbmQoc3RydWN0IGRldmljZSAqZGV2LAogfQog CiBzdGF0aWMgc3RydWN0IGNvbXBvbmVudCAqZmluZF9jb21wb25lbnQoc3RydWN0IG1hc3RlciAq bWFzdGVyLAotCWludCAoKmNvbXBhcmUpKHN0cnVjdCBkZXZpY2UgKiwgdm9pZCAqKSwgdm9pZCAq Y29tcGFyZV9kYXRhKQorCXN0cnVjdCBjb21wb25lbnRfbWF0Y2hfYXJyYXkgKm1jKQogewogCXN0 cnVjdCBjb21wb25lbnQgKmM7CiAKQEAgLTE0MCw4ICsxNDIsMTMgQEAgc3RhdGljIHN0cnVjdCBj b21wb25lbnQgKmZpbmRfY29tcG9uZW50KHN0cnVjdCBtYXN0ZXIgKm1hc3RlciwKIAkJaWYgKGMt Pm1hc3RlciAmJiBjLT5tYXN0ZXIgIT0gbWFzdGVyKQogCQkJY29udGludWU7CiAKLQkJaWYgKGNv bXBhcmUoYy0+ZGV2LCBjb21wYXJlX2RhdGEpKQorCQlpZiAobWMtPmNvbXBhcmVfdHlwZWQpIHsK KwkJCWlmIChtYy0+Y29tcGFyZV90eXBlZChjLT5kZXYsIGMtPnN1YmNvbXBvbmVudCwKKwkJCQkJ ICAgICAgbWMtPmRhdGEpKQorCQkJCXJldHVybiBjOworCQl9IGVsc2UgaWYgKG1jLT5jb21wYXJl KGMtPmRldiwgbWMtPmRhdGEpKSB7CiAJCQlyZXR1cm4gYzsKKwkJfQogCX0KIAogCXJldHVybiBO VUxMOwpAQCAtMTY2LDcgKzE3Myw3IEBAIHN0YXRpYyBpbnQgZmluZF9jb21wb25lbnRzKHN0cnVj dCBtYXN0ZXIgKm1hc3RlcikKIAkJaWYgKG1hdGNoLT5jb21wYXJlW2ldLmNvbXBvbmVudCkKIAkJ CWNvbnRpbnVlOwogCi0JCWMgPSBmaW5kX2NvbXBvbmVudChtYXN0ZXIsIG1jLT5jb21wYXJlLCBt Yy0+ZGF0YSk7CisJCWMgPSBmaW5kX2NvbXBvbmVudChtYXN0ZXIsIG1jKTsKIAkJaWYgKCFjKSB7 CiAJCQlyZXQgPSAtRU5YSU87CiAJCQlicmVhazsKQEAgLTMwMSwxNSArMzA4LDEyIEBAIHN0YXRp YyBpbnQgY29tcG9uZW50X21hdGNoX3JlYWxsb2Moc3RydWN0IGRldmljZSAqZGV2LAogCXJldHVy biAwOwogfQogCi0vKgotICogQWRkIGEgY29tcG9uZW50IHRvIGJlIG1hdGNoZWQsIHdpdGggYSBy ZWxlYXNlIGZ1bmN0aW9uLgotICoKLSAqIFRoZSBtYXRjaCBhcnJheSBpcyBmaXJzdCBjcmVhdGVk IG9yIGV4dGVuZGVkIGlmIG5lY2Vzc2FyeS4KLSAqLwotdm9pZCBjb21wb25lbnRfbWF0Y2hfYWRk X3JlbGVhc2Uoc3RydWN0IGRldmljZSAqbWFzdGVyLAorc3RhdGljIHZvaWQgX19jb21wb25lbnRf bWF0Y2hfYWRkKHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKIAlzdHJ1Y3QgY29tcG9uZW50X21hdGNo ICoqbWF0Y2hwdHIsCiAJdm9pZCAoKnJlbGVhc2UpKHN0cnVjdCBkZXZpY2UgKiwgdm9pZCAqKSwK LQlpbnQgKCpjb21wYXJlKShzdHJ1Y3QgZGV2aWNlICosIHZvaWQgKiksIHZvaWQgKmNvbXBhcmVf ZGF0YSkKKwlpbnQgKCpjb21wYXJlKShzdHJ1Y3QgZGV2aWNlICosIHZvaWQgKiksCisJaW50ICgq Y29tcGFyZV90eXBlZCkoc3RydWN0IGRldmljZSAqLCBpbnQsIHZvaWQgKiksCisJdm9pZCAqY29t cGFyZV9kYXRhKQogewogCXN0cnVjdCBjb21wb25lbnRfbWF0Y2ggKm1hdGNoID0gKm1hdGNocHRy OwogCkBAIC0zNDEsMTMgKzM0NSwzNyBAQCB2b2lkIGNvbXBvbmVudF9tYXRjaF9hZGRfcmVsZWFz ZShzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsCiAJfQogCiAJbWF0Y2gtPmNvbXBhcmVbbWF0Y2gtPm51 bV0uY29tcGFyZSA9IGNvbXBhcmU7CisJbWF0Y2gtPmNvbXBhcmVbbWF0Y2gtPm51bV0uY29tcGFy ZV90eXBlZCA9IGNvbXBhcmVfdHlwZWQ7CiAJbWF0Y2gtPmNvbXBhcmVbbWF0Y2gtPm51bV0ucmVs ZWFzZSA9IHJlbGVhc2U7CiAJbWF0Y2gtPmNvbXBhcmVbbWF0Y2gtPm51bV0uZGF0YSA9IGNvbXBh cmVfZGF0YTsKIAltYXRjaC0+Y29tcGFyZVttYXRjaC0+bnVtXS5jb21wb25lbnQgPSBOVUxMOwog CW1hdGNoLT5udW0rKzsKIH0KKworLyoKKyAqIEFkZCBhIGNvbXBvbmVudCB0byBiZSBtYXRjaGVk LCB3aXRoIGEgcmVsZWFzZSBmdW5jdGlvbi4KKyAqCisgKiBUaGUgbWF0Y2ggYXJyYXkgaXMgZmly c3QgY3JlYXRlZCBvciBleHRlbmRlZCBpZiBuZWNlc3NhcnkuCisgKi8KK3ZvaWQgY29tcG9uZW50 X21hdGNoX2FkZF9yZWxlYXNlKHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKKwlzdHJ1Y3QgY29tcG9u ZW50X21hdGNoICoqbWF0Y2hwdHIsCisJdm9pZCAoKnJlbGVhc2UpKHN0cnVjdCBkZXZpY2UgKiwg dm9pZCAqKSwKKwlpbnQgKCpjb21wYXJlKShzdHJ1Y3QgZGV2aWNlICosIHZvaWQgKiksIHZvaWQg KmNvbXBhcmVfZGF0YSkKK3sKKwlfX2NvbXBvbmVudF9tYXRjaF9hZGQobWFzdGVyLCBtYXRjaHB0 ciwgcmVsZWFzZSwgY29tcGFyZSwgTlVMTCwKKwkJCSAgICAgIGNvbXBhcmVfZGF0YSk7Cit9CiBF WFBPUlRfU1lNQk9MKGNvbXBvbmVudF9tYXRjaF9hZGRfcmVsZWFzZSk7CiAKK3ZvaWQgY29tcG9u ZW50X21hdGNoX2FkZF90eXBlZChzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsCisJc3RydWN0IGNvbXBv bmVudF9tYXRjaCAqKm1hdGNocHRyLAorCWludCAoKmNvbXBhcmVfdHlwZWQpKHN0cnVjdCBkZXZp Y2UgKiwgaW50LCB2b2lkICopLCB2b2lkICpjb21wYXJlX2RhdGEpCit7CisJX19jb21wb25lbnRf bWF0Y2hfYWRkKG1hc3RlciwgbWF0Y2hwdHIsIE5VTEwsIE5VTEwsIGNvbXBhcmVfdHlwZWQsCisJ CQkgICAgICBjb21wYXJlX2RhdGEpOworfQorRVhQT1JUX1NZTUJPTChjb21wb25lbnRfbWF0Y2hf YWRkX3R5cGVkKTsKKwogc3RhdGljIHZvaWQgZnJlZV9tYXN0ZXIoc3RydWN0IG1hc3RlciAqbWFz dGVyKQogewogCXN0cnVjdCBjb21wb25lbnRfbWF0Y2ggKm1hdGNoID0gbWFzdGVyLT5tYXRjaDsK QEAgLTUzNyw3ICs1NjUsOCBAQCBpbnQgY29tcG9uZW50X2JpbmRfYWxsKHN0cnVjdCBkZXZpY2Ug Km1hc3Rlcl9kZXYsIHZvaWQgKmRhdGEpCiB9CiBFWFBPUlRfU1lNQk9MX0dQTChjb21wb25lbnRf YmluZF9hbGwpOwogCi1pbnQgY29tcG9uZW50X2FkZChzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0 IHN0cnVjdCBjb21wb25lbnRfb3BzICpvcHMpCitzdGF0aWMgaW50IF9fY29tcG9uZW50X2FkZChz dHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfb3BzICpvcHMsCisJaW50 IHN1YmNvbXBvbmVudCkKIHsKIAlzdHJ1Y3QgY29tcG9uZW50ICpjb21wb25lbnQ7CiAJaW50IHJl dDsKQEAgLTU0OCw2ICs1NzcsNyBAQCBpbnQgY29tcG9uZW50X2FkZChzdHJ1Y3QgZGV2aWNlICpk ZXYsIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfb3BzICpvcHMpCiAKIAljb21wb25lbnQtPm9wcyA9 IG9wczsKIAljb21wb25lbnQtPmRldiA9IGRldjsKKwljb21wb25lbnQtPnN1YmNvbXBvbmVudCA9 IHN1YmNvbXBvbmVudDsKIAogCWRldl9kYmcoZGV2LCAiYWRkaW5nIGNvbXBvbmVudCAob3BzICVw cylcbiIsIG9wcyk7CiAKQEAgLTU2Niw2ICs1OTYsMjEgQEAgaW50IGNvbXBvbmVudF9hZGQoc3Ry dWN0IGRldmljZSAqZGV2LCBjb25zdCBzdHJ1Y3QgY29tcG9uZW50X29wcyAqb3BzKQogCiAJcmV0 dXJuIHJldCA8IDAgPyByZXQgOiAwOwogfQorCitpbnQgY29tcG9uZW50X2FkZF90eXBlZChzdHJ1 Y3QgZGV2aWNlICpkZXYsIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfb3BzICpvcHMsCisJaW50IHN1 YmNvbXBvbmVudCkKK3sKKwlpZiAoV0FSTl9PTihzdWJjb21wb25lbnQgPT0gMCkpCisJCXJldHVy biAtRUlOVkFMOworCisJcmV0dXJuIF9fY29tcG9uZW50X2FkZChkZXYsIG9wcywgc3ViY29tcG9u ZW50KTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGNvbXBvbmVudF9hZGRfdHlwZWQpOworCitpbnQg Y29tcG9uZW50X2FkZChzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IHN0cnVjdCBjb21wb25lbnRf b3BzICpvcHMpCit7CisJcmV0dXJuIF9fY29tcG9uZW50X2FkZChkZXYsIG9wcywgMCk7Cit9CiBF WFBPUlRfU1lNQk9MX0dQTChjb21wb25lbnRfYWRkKTsKIAogdm9pZCBjb21wb25lbnRfZGVsKHN0 cnVjdCBkZXZpY2UgKmRldiwgY29uc3Qgc3RydWN0IGNvbXBvbmVudF9vcHMgKm9wcykKZGlmZiAt LWdpdCBhL2luY2x1ZGUvbGludXgvY29tcG9uZW50LmggYi9pbmNsdWRlL2xpbnV4L2NvbXBvbmVu dC5oCmluZGV4IGU3MWZiYmJjNzRlMi4uNmQ3NTE2ZjA1NDZlIDEwMDY0NAotLS0gYS9pbmNsdWRl L2xpbnV4L2NvbXBvbmVudC5oCisrKyBiL2luY2x1ZGUvbGludXgvY29tcG9uZW50LmgKQEAgLTE0 LDYgKzE0LDggQEAgc3RydWN0IGNvbXBvbmVudF9vcHMgewogfTsKIAogaW50IGNvbXBvbmVudF9h ZGQoc3RydWN0IGRldmljZSAqLCBjb25zdCBzdHJ1Y3QgY29tcG9uZW50X29wcyAqKTsKK2ludCBj b21wb25lbnRfYWRkX3R5cGVkKHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3Qgc3RydWN0IGNvbXBv bmVudF9vcHMgKm9wcywKKwlpbnQgc3ViY29tcG9uZW50KTsKIHZvaWQgY29tcG9uZW50X2RlbChz dHJ1Y3QgZGV2aWNlICosIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfb3BzICopOwogCiBpbnQgY29t cG9uZW50X2JpbmRfYWxsKHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqbWFzdGVyX2RhdGEp OwpAQCAtMzcsNiArMzksOSBAQCB2b2lkIGNvbXBvbmVudF9tYXRjaF9hZGRfcmVsZWFzZShzdHJ1 Y3QgZGV2aWNlICptYXN0ZXIsCiAJc3RydWN0IGNvbXBvbmVudF9tYXRjaCAqKm1hdGNocHRyLAog CXZvaWQgKCpyZWxlYXNlKShzdHJ1Y3QgZGV2aWNlICosIHZvaWQgKiksCiAJaW50ICgqY29tcGFy ZSkoc3RydWN0IGRldmljZSAqLCB2b2lkICopLCB2b2lkICpjb21wYXJlX2RhdGEpOwordm9pZCBj b21wb25lbnRfbWF0Y2hfYWRkX3R5cGVkKHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKKwlzdHJ1Y3Qg Y29tcG9uZW50X21hdGNoICoqbWF0Y2hwdHIsCisJaW50ICgqY29tcGFyZV90eXBlZCkoc3RydWN0 IGRldmljZSAqLCBpbnQsIHZvaWQgKiksIHZvaWQgKmNvbXBhcmVfZGF0YSk7CiAKIHN0YXRpYyBp bmxpbmUgdm9pZCBjb21wb25lbnRfbWF0Y2hfYWRkKHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKIAlz dHJ1Y3QgY29tcG9uZW50X21hdGNoICoqbWF0Y2hwdHIsCi0tIAoyLjcuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==