From mboxrd@z Thu Jan 1 00:00:00 1970 From: Animesh Manna Subject: [PATCH v3 04/11] drm/i915/dsb: Indexed register write function for DSB. Date: Wed, 28 Aug 2019 00:40:18 +0530 Message-ID: <20190827191026.26175-5-animesh.manna@intel.com> References: <20190827191026.26175-1-animesh.manna@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id DB15C89BA9 for ; Tue, 27 Aug 2019 19:18:07 +0000 (UTC) In-Reply-To: <20190827191026.26175-1-animesh.manna@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Jani Nikula List-Id: intel-gfx@lists.freedesktop.org RFNCIGNhbiBwcm9ncmFtIGxhcmdlIHNldCBvZiBkYXRhIHRocm91Z2ggaW5kZXhlZCByZWdpc3Rl ciB3cml0ZQoob3Bjb2RlIDB4OSkgaW4gb25lIHNob3QuIFdpbGwgYmUgdXNpbmcgZm9yIGJ1bGsg cmVnaXN0ZXIgcHJvZ3JhbW1pbmcKZS5nLiBnYW1tYSBsdXQgcHJvZ3JhbW1pbmcsIEhEUiBtZXRh IGRhdGEgcHJvZ3JhbW1pbmcuCgp2MTogSW5pdGlhbCB2ZXJzaW9uLgoKdjI6IHNpbXBsaWZpZWQg Y29kZSBieSB1c2luZyBBTElHTigpLiAoQ2hyaXMpCgpDYzogU2hhc2hhbmsgU2hhcm1hIDxzaGFz aGFuay5zaGFybWFAaW50ZWwuY29tPgpDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29t PgpDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KQ2M6IFJvZHJpZ28gVml2 aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5pbWVzaCBNYW5uYSA8 YW5pbWVzaC5tYW5uYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kc2IuYyB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kc2IuaCB8ICA4ICsrKysKIDIgZmlsZXMgY2hhbmdlZCwg NTYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZHNiLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzYi5j CmluZGV4IGRmMjg4NDQ2Y2FlYi4uNTIwZjJiYmNjOGFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZHNiLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNkZWZpbmUgRFNCX09QQ09E RV9JTkRFWEVEX1dSSVRFCTB4OQogI2RlZmluZSBEU0JfT1BDT0RFX1BPTEwJCQkweEEKICNkZWZp bmUgRFNCX0JZVEVfRU4JCQkoMHhmIDw8IDIwKQorI2RlZmluZSBEU0JfUkVHX1ZBTFVFX01BU0sJ CTB4ZmZmZmYKIAogc3RydWN0IGludGVsX2RzYiAqCiBpbnRlbF9kc2JfZ2V0KHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjKQpAQCAtOTYsNiArOTcsNTMgQEAgdm9pZCBpbnRlbF9kc2JfcHV0KHN0cnVj dCBpbnRlbF9kc2IgKmRzYikKIAl9CiB9CiAKK3ZvaWQgaW50ZWxfZHNiX2luZGV4ZWRfcmVnX3dy aXRlKHN0cnVjdCBpbnRlbF9kc2IgKmRzYiwgaTkxNV9yZWdfdCByZWcsCisJCQkJIHUzMiB2YWwp Cit7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSBkc2ItPmNydGM7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CisJdTMyICpi dWYgPSBkc2ItPmNtZF9idWY7CisJdTMyIHJlZ192YWw7CisKKwlpZiAoIWJ1ZikgeworCQlJOTE1 X1dSSVRFKHJlZywgdmFsKTsKKwkJcmV0dXJuOworCX0KKworCWlmIChXQVJOX09OKGRzYi0+ZnJl ZV9wb3MgPj0gRFNCX0JVRl9TSVpFKSkgeworCQlEUk1fREVCVUdfS01TKCJEU0IgYnVmZmVyIG92 ZXJmbG93LlxuIik7CisJCXJldHVybjsKKwl9CisKKwlyZWdfdmFsID0gYnVmW2RzYi0+aW5zX3N0 YXJ0X29mZnNldCArIDFdICYgRFNCX1JFR19WQUxVRV9NQVNLOworCWlmIChyZWdfdmFsICE9IGk5 MTVfbW1pb19yZWdfb2Zmc2V0KHJlZykpIHsKKwkJLyogRXZlcnkgaW5zdHJ1Y3Rpb24gc2hvdWxk IGJlIDggYnl0ZSBhbGlnbmVkLiAqLworCQlkc2ItPmZyZWVfcG9zID0gQUxJR04oZHNiLT5mcmVl X3BvcywgMik7CisKKwkJLyogVXBkYXRlIHRoZSBzaXplLiAqLworCQlkc2ItPmluc19zdGFydF9v ZmZzZXQgPSBkc2ItPmZyZWVfcG9zOworCQlidWZbZHNiLT5mcmVlX3BvcysrXSA9IDE7CisKKwkJ LyogVXBkYXRlIHRoZSBvcGNvZGUgYW5kIHJlZy4gKi8KKwkJYnVmW2RzYi0+ZnJlZV9wb3MrK10g PSAoRFNCX09QQ09ERV9JTkRFWEVEX1dSSVRFICA8PAorCQkJCQlEU0JfT1BDT0RFX1NISUZUKSB8 CisJCQkJCWk5MTVfbW1pb19yZWdfb2Zmc2V0KHJlZyk7CisKKwkJLyogVXBkYXRlIHRoZSB2YWx1 ZS4gKi8KKwkJYnVmW2RzYi0+ZnJlZV9wb3MrK10gPSB2YWw7CisJfSBlbHNlIHsKKwkJLyogVXBk YXRlIHRoZSBuZXcgdmFsdWUuICovCisJCWJ1Zltkc2ItPmZyZWVfcG9zKytdID0gdmFsOworCisJ CS8qIFVwZGF0ZSB0aGUgc2l6ZS4gKi8KKwkJYnVmW2RzYi0+aW5zX3N0YXJ0X29mZnNldF0rKzsK Kwl9CisKKwkvKiBpZiBudW1iZXIgb2YgZGF0YSB3b3JkcyBpcyBvZGQsIHRoZW4gdGhlIGxhc3Qg ZHdvcmQgc2hvdWxkIGJlIDAuKi8KKwlpZiAoZHNiLT5mcmVlX3BvcyAmIDB4MSkKKwkJYnVmW2Rz Yi0+ZnJlZV9wb3NdID0gMDsKK30KKwogdm9pZCBpbnRlbF9kc2JfcmVnX3dyaXRlKHN0cnVjdCBp bnRlbF9kc2IgKmRzYiwgaTkxNV9yZWdfdCByZWcsIHUzMiB2YWwpCiB7CiAJc3RydWN0IGludGVs X2NydGMgKmNydGMgPSBkc2ItPmNydGM7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2RzYi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kc2IuaAppbmRleCAxYjMzYWIxMTg2NDAuLmM4NDg3NDdmNTJkOSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kc2IuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzYi5oCkBAIC0zMCwxMSArMzAsMTkgQEAgc3RydWN0IGlu dGVsX2RzYiB7CiAJICogYW5kIGhlbHAgaW4gY2FsY3VsYXRpbmcgY21kX2J1Zl90YWlsLgogCSAq LwogCWludCBmcmVlX3BvczsKKworCS8qCisJICogaW5zX3N0YXJ0X29mZnNldCB3aWxsIGhlbHAg dG8gc3RvcmUgc3RhcnQgYWRkcmVzcworCSAqIG9mIHRoZSBkc2IgaW5zdHVjdGlvbiBvZiBhdXRv LWluY3JlbWVudCByZWdpc3Rlci4KKwkgKi8KKwl1MzIgaW5zX3N0YXJ0X29mZnNldDsKIH07CiAK IHN0cnVjdCBpbnRlbF9kc2IgKgogaW50ZWxfZHNiX2dldChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 Yyk7CiB2b2lkIGludGVsX2RzYl9wdXQoc3RydWN0IGludGVsX2RzYiAqZHNiKTsKIHZvaWQgaW50 ZWxfZHNiX3JlZ193cml0ZShzdHJ1Y3QgaW50ZWxfZHNiICpkc2IsIGk5MTVfcmVnX3QgcmVnLCB1 MzIgdmFsKTsKK3ZvaWQgaW50ZWxfZHNiX2luZGV4ZWRfcmVnX3dyaXRlKHN0cnVjdCBpbnRlbF9k c2IgKmRzYiwgaTkxNV9yZWdfdCByZWcsCisJCQkJIHUzMiB2YWwpOwogCiAjZW5kaWYKLS0gCjIu MjIuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4