From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: [PATCH v2 1/2] drm/i915: Dynamically allocate s0ix struct for VLV Date: Mon, 19 Aug 2019 19:01:46 -0700 Message-ID: <20190820020147.5667-1-daniele.ceraolospurio@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id A361D6E5AA for ; Tue, 20 Aug 2019 02:01:51 +0000 (UTC) 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 VGhpcyBpcyBvbmx5IHJlcXVpcmVkIGZvciBhIHNpbmdsZSBwbGF0Zm9ybSBzbyBubyBuZWVkIHRv IHJlc2VydmUgdGhlCm1lbW9yeSBvbiBhbGwgb2YgdGhlbS4KClRoaXMgcmVtb3ZlcyB0aGUgbGFz dCBkaXJlY3QgZGVwZW5kZW5jeSBvZiBpOTE1X2Rydi5oIG9uIGk5MTVfcmVnLmgKKGFwYXJ0IGZy b20gdGhlIGk5MTVfcmVnX3QgZGVmaW5pdGlvbikuCgp2MjogZHJvcCB1bm5lZWRlZCBkaWZmLCBr ZWVwIHRoZSB2bHYgcHJlZml4LCBjYWxsIGZ1bmN0aW9ucwogICAgdW5jb25kaXRpb25hbGx5IChK YW5pKSwgZndkIGRlY2xhcmF0aW9uIG9mIHRoZSBzdHJ1Y3QgKENocmlzKQoKU2lnbmVkLW9mZi1i eTogRGFuaWVsZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNv bT4KQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KQ2M6IEphbmkgTmlrdWxhIDxq YW5pLm5pa3VsYUBpbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIHwgMTEyICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oIHwgIDY0ICstLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0 aW9ucygrKSwgNzAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggMjU0 MWEzYTFjMjI5Li5iNWIyYTY0NzUzZTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtODAs NiArODAsNjggQEAKIAogc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIGRyaXZlcjsKIAorc3RydWN0 IHZsdl9zMGl4X3N0YXRlIHsKKwkvKiBHQU0gKi8KKwl1MzIgd3Jfd2F0ZXJtYXJrOworCXUzMiBn ZnhfcHJpb19jdHJsOworCXUzMiBhcmJfbW9kZTsKKwl1MzIgZ2Z4X3BlbmRfdGxiMDsKKwl1MzIg Z2Z4X3BlbmRfdGxiMTsKKwl1MzIgbHJhX2xpbWl0c1tHRU43X0xSQV9MSU1JVFNfUkVHX05VTV07 CisJdTMyIG1lZGlhX21heF9yZXFfY291bnQ7CisJdTMyIGdmeF9tYXhfcmVxX2NvdW50OworCXUz MiByZW5kZXJfaHdzcDsKKwl1MzIgZWNvY2hrOworCXUzMiBic2RfaHdzcDsKKwl1MzIgYmx0X2h3 c3A7CisJdTMyIHRsYl9yZF9hZGRyOworCisJLyogTUJDICovCisJdTMyIGczZGN0bDsKKwl1MzIg Z3Nja2djdGw7CisJdTMyIG1iY3RsOworCisJLyogR0NQICovCisJdTMyIHVjZ2N0bDE7CisJdTMy IHVjZ2N0bDM7CisJdTMyIHJjZ2N0bDE7CisJdTMyIHJjZ2N0bDI7CisJdTMyIHJzdGN0bDsKKwl1 MzIgbWlzY2NwY3RsOworCisJLyogR1BNICovCisJdTMyIGdmeHBhdXNlOworCXUzMiBycGRldWh3 dGM7CisJdTMyIHJwZGV1YzsKKwl1MzIgZWNvYnVzOworCXUzMiBwd3Jkd251cGN0bDsKKwl1MzIg cnBfZG93bl90aW1lb3V0OworCXUzMiBycF9kZXVjc3c7CisJdTMyIHJjdWJtYWJkdG1yOworCXUz MiByY2VkYXRhOworCXUzMiBzcGFyZTJnaDsKKworCS8qIERpc3BsYXkgMSBDWiBkb21haW4gKi8K Kwl1MzIgZ3RfaW1yOworCXUzMiBndF9pZXI7CisJdTMyIHBtX2ltcjsKKwl1MzIgcG1faWVyOwor CXUzMiBndF9zY3JhdGNoW0dFTjdfR1RfU0NSQVRDSF9SRUdfTlVNXTsKKworCS8qIEdUIFNBIENa IGRvbWFpbiAqLworCXUzMiB0aWxlY3RsOworCXUzMiBndF9maWZvY3RsOworCXUzMiBndGxjX3dh a2VfY3RybDsKKwl1MzIgZ3RsY19zdXJ2aXZlOworCXUzMiBwbXdnaWN6OworCisJLyogRGlzcGxh eSAyIENaIGRvbWFpbiAqLworCXUzMiBndV9jdGwwOworCXUzMiBndV9jdGwxOworCXUzMiBwY2Jy OworCXUzMiBjbG9ja19nYXRlX2RpczI7Cit9OworCiBzdGF0aWMgaW50IGk5MTVfZ2V0X2JyaWRn ZV9kZXYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCWludCBkb21haW4g PSBwY2lfZG9tYWluX25yKGRldl9wcml2LT5kcm0ucGRldi0+YnVzKTsKQEAgLTQ2Niw2ICs1Mjgs MjkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGV0ZWN0X3ByZXByb2R1Y3Rpb25faHcoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCX0KIH0KIAorc3RhdGljIGludCB2bHZfYWxsb2Nf czBpeF9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlpZiAoIUlTX1ZB TExFWVZJRVcoaTkxNSkpCisJCXJldHVybiAwOworCisJLyogd2Ugd3JpdGUgYWxsIHRoZSB2YWx1 ZXMgaW4gdGhlIHN0cnVjdCwgc28gbm8gbmVlZCB0byB6ZXJvIGl0IG91dCAqLworCWk5MTUtPnZs dl9zMGl4X3N0YXRlID0ga21hbGxvYyhzaXplb2YoKmk5MTUtPnZsdl9zMGl4X3N0YXRlKSwKKwkJ CQkgICAgICAgR0ZQX0tFUk5FTCk7CisJaWYgKCFpOTE1LT52bHZfczBpeF9zdGF0ZSkKKwkJcmV0 dXJuIC1FTk9NRU07CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdmx2X2ZyZWVfczBp eF9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlpZiAoIWk5MTUtPnZs dl9zMGl4X3N0YXRlKQorCQlyZXR1cm47CisKKwlrZnJlZShpOTE1LT52bHZfczBpeF9zdGF0ZSk7 CisJaTkxNS0+dmx2X3MwaXhfc3RhdGUgPSBOVUxMOworfQorCiAvKioKICAqIGk5MTVfZHJpdmVy X2Vhcmx5X3Byb2JlIC0gc2V0dXAgc3RhdGUgbm90IHJlcXVpcmluZyBkZXZpY2UgYWNjZXNzCiAg KiBAZGV2X3ByaXY6IGRldmljZSBwcml2YXRlCkBAIC01MDgsMTMgKzU5MywxNyBAQCBzdGF0aWMg aW50IGk5MTVfZHJpdmVyX2Vhcmx5X3Byb2JlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAorCXJldCA9IHZsdl9hbGxvY19z MGl4X3N0YXRlKGRldl9wcml2KTsKKwlpZiAocmV0IDwgMCkKKwkJZ290byBlcnJfd29ya3F1ZXVl czsKKwogCWludGVsX3dvcGNtX2luaXRfZWFybHkoJmRldl9wcml2LT53b3BjbSk7CiAKIAlpbnRl bF9ndF9pbml0X2Vhcmx5KCZkZXZfcHJpdi0+Z3QsIGRldl9wcml2KTsKIAogCXJldCA9IGk5MTVf Z2VtX2luaXRfZWFybHkoZGV2X3ByaXYpOwogCWlmIChyZXQgPCAwKQotCQlnb3RvIGVycl93b3Jr cXVldWVzOworCQlnb3RvIGVycl9ndDsKIAogCS8qIFRoaXMgbXVzdCBiZSBjYWxsZWQgYmVmb3Jl IGFueSBjYWxscyB0byBIQVNfUENIXyogKi8KIAlpbnRlbF9kZXRlY3RfcGNoKGRldl9wcml2KTsK QEAgLTUzNiw4ICs2MjUsMTAgQEAgc3RhdGljIGludCBpOTE1X2RyaXZlcl9lYXJseV9wcm9iZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIGVycl9nZW06CiAJaTkxNV9nZW1f Y2xlYW51cF9lYXJseShkZXZfcHJpdik7Ci1lcnJfd29ya3F1ZXVlczoKK2Vycl9ndDoKIAlpbnRl bF9ndF9kcml2ZXJfbGF0ZV9yZWxlYXNlKCZkZXZfcHJpdi0+Z3QpOworCXZsdl9mcmVlX3MwaXhf c3RhdGUoZGV2X3ByaXYpOworZXJyX3dvcmtxdWV1ZXM6CiAJaTkxNV93b3JrcXVldWVzX2NsZWFu dXAoZGV2X3ByaXYpOwogCXJldHVybiByZXQ7CiB9CkBAIC01NTMsNiArNjQ0LDcgQEAgc3RhdGlj IHZvaWQgaTkxNV9kcml2ZXJfbGF0ZV9yZWxlYXNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAlpbnRlbF9wb3dlcl9kb21haW5zX2NsZWFudXAoZGV2X3ByaXYpOwogCWk5MTVf Z2VtX2NsZWFudXBfZWFybHkoZGV2X3ByaXYpOwogCWludGVsX2d0X2RyaXZlcl9sYXRlX3JlbGVh c2UoJmRldl9wcml2LT5ndCk7CisJdmx2X2ZyZWVfczBpeF9zdGF0ZShkZXZfcHJpdik7CiAJaTkx NV93b3JrcXVldWVzX2NsZWFudXAoZGV2X3ByaXYpOwogCiAJcG1fcW9zX3JlbW92ZV9yZXF1ZXN0 KCZkZXZfcHJpdi0+c2JfcW9zKTsKQEAgLTIxMzcsOSArMjIyOSwxMiBAQCBzdGF0aWMgaW50IGk5 MTVfcG1fcmVzdG9yZShzdHJ1Y3QgZGV2aWNlICprZGV2KQogICovCiBzdGF0aWMgdm9pZCB2bHZf c2F2ZV9ndW5pdF9zMGl4X3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK IHsKLQlzdHJ1Y3Qgdmx2X3MwaXhfc3RhdGUgKnMgPSAmZGV2X3ByaXYtPnZsdl9zMGl4X3N0YXRl OworCXN0cnVjdCB2bHZfczBpeF9zdGF0ZSAqcyA9IGRldl9wcml2LT52bHZfczBpeF9zdGF0ZTsK IAlpbnQgaTsKIAorCWlmICghcykKKwkJcmV0dXJuOworCiAJLyogR0FNIDB4NDAwMC0weDQ3NzAg Ki8KIAlzLT53cl93YXRlcm1hcmsJCT0gSTkxNV9SRUFEKEdFTjdfV1JfV0FURVJNQVJLKTsKIAlz LT5nZnhfcHJpb19jdHJsCT0gSTkxNV9SRUFEKEdFTjdfR0ZYX1BSSU9fQ1RSTCk7CkBAIC0yMjE4 LDEwICsyMzEzLDEzIEBAIHN0YXRpYyB2b2lkIHZsdl9zYXZlX2d1bml0X3MwaXhfc3RhdGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiBzdGF0aWMgdm9pZCB2bHZfcmVzdG9y ZV9ndW5pdF9zMGl4X3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsK LQlzdHJ1Y3Qgdmx2X3MwaXhfc3RhdGUgKnMgPSAmZGV2X3ByaXYtPnZsdl9zMGl4X3N0YXRlOwor CXN0cnVjdCB2bHZfczBpeF9zdGF0ZSAqcyA9IGRldl9wcml2LT52bHZfczBpeF9zdGF0ZTsKIAl1 MzIgdmFsOwogCWludCBpOwogCisJaWYgKCFzKQorCQlyZXR1cm47CisKIAkvKiBHQU0gMHg0MDAw LTB4NDc3MCAqLwogCUk5MTVfV1JJVEUoR0VON19XUl9XQVRFUk1BUkssCXMtPndyX3dhdGVybWFy ayk7CiAJSTkxNV9XUklURShHRU43X0dGWF9QUklPX0NUUkwsCXMtPmdmeF9wcmlvX2N0cmwpOwpA QCAtMjQzMCw4ICsyNTI4LDcgQEAgc3RhdGljIGludCB2bHZfc3VzcGVuZF9jb21wbGV0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaWYgKGVycikKIAkJZ290byBlcnIyOwog Ci0JaWYgKCFJU19DSEVSUllWSUVXKGRldl9wcml2KSkKLQkJdmx2X3NhdmVfZ3VuaXRfczBpeF9z dGF0ZShkZXZfcHJpdik7CisJdmx2X3NhdmVfZ3VuaXRfczBpeF9zdGF0ZShkZXZfcHJpdik7CiAK IAllcnIgPSB2bHZfZm9yY2VfZ2Z4X2Nsb2NrKGRldl9wcml2LCBmYWxzZSk7CiAJaWYgKGVycikK QEAgLTI0NjEsOCArMjU1OCw3IEBAIHN0YXRpYyBpbnQgdmx2X3Jlc3VtZV9wcmVwYXJlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkgKi8KIAlyZXQgPSB2bHZfZm9yY2VfZ2Z4 X2Nsb2NrKGRldl9wcml2LCB0cnVlKTsKIAotCWlmICghSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikp Ci0JCXZsdl9yZXN0b3JlX2d1bml0X3MwaXhfc3RhdGUoZGV2X3ByaXYpOworCXZsdl9yZXN0b3Jl X2d1bml0X3MwaXhfc3RhdGUoZGV2X3ByaXYpOwogCiAJZXJyID0gdmx2X2FsbG93X2d0X3dha2Uo ZGV2X3ByaXYsIHRydWUpOwogCWlmICghcmV0KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXgg YjYwMzJhZjkwNGJjLi5iYTZkOWJiMTI3ZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAt NTI3LDY3ICs1MjcsNyBAQCBzdHJ1Y3QgaTkxNV9zdXNwZW5kX3NhdmVkX3JlZ2lzdGVycyB7CiAJ dTE2IHNhdmVHQ0RHTUJVUzsKIH07CiAKLXN0cnVjdCB2bHZfczBpeF9zdGF0ZSB7Ci0JLyogR0FN ICovCi0JdTMyIHdyX3dhdGVybWFyazsKLQl1MzIgZ2Z4X3ByaW9fY3RybDsKLQl1MzIgYXJiX21v ZGU7Ci0JdTMyIGdmeF9wZW5kX3RsYjA7Ci0JdTMyIGdmeF9wZW5kX3RsYjE7Ci0JdTMyIGxyYV9s aW1pdHNbR0VON19MUkFfTElNSVRTX1JFR19OVU1dOwotCXUzMiBtZWRpYV9tYXhfcmVxX2NvdW50 OwotCXUzMiBnZnhfbWF4X3JlcV9jb3VudDsKLQl1MzIgcmVuZGVyX2h3c3A7Ci0JdTMyIGVjb2No azsKLQl1MzIgYnNkX2h3c3A7Ci0JdTMyIGJsdF9od3NwOwotCXUzMiB0bGJfcmRfYWRkcjsKLQot CS8qIE1CQyAqLwotCXUzMiBnM2RjdGw7Ci0JdTMyIGdzY2tnY3RsOwotCXUzMiBtYmN0bDsKLQot CS8qIEdDUCAqLwotCXUzMiB1Y2djdGwxOwotCXUzMiB1Y2djdGwzOwotCXUzMiByY2djdGwxOwot CXUzMiByY2djdGwyOwotCXUzMiByc3RjdGw7Ci0JdTMyIG1pc2NjcGN0bDsKLQotCS8qIEdQTSAq LwotCXUzMiBnZnhwYXVzZTsKLQl1MzIgcnBkZXVod3RjOwotCXUzMiBycGRldWM7Ci0JdTMyIGVj b2J1czsKLQl1MzIgcHdyZHdudXBjdGw7Ci0JdTMyIHJwX2Rvd25fdGltZW91dDsKLQl1MzIgcnBf ZGV1Y3N3OwotCXUzMiByY3VibWFiZHRtcjsKLQl1MzIgcmNlZGF0YTsKLQl1MzIgc3BhcmUyZ2g7 Ci0KLQkvKiBEaXNwbGF5IDEgQ1ogZG9tYWluICovCi0JdTMyIGd0X2ltcjsKLQl1MzIgZ3RfaWVy OwotCXUzMiBwbV9pbXI7Ci0JdTMyIHBtX2llcjsKLQl1MzIgZ3Rfc2NyYXRjaFtHRU43X0dUX1ND UkFUQ0hfUkVHX05VTV07Ci0KLQkvKiBHVCBTQSBDWiBkb21haW4gKi8KLQl1MzIgdGlsZWN0bDsK LQl1MzIgZ3RfZmlmb2N0bDsKLQl1MzIgZ3RsY193YWtlX2N0cmw7Ci0JdTMyIGd0bGNfc3Vydml2 ZTsKLQl1MzIgcG13Z2ljejsKLQotCS8qIERpc3BsYXkgMiBDWiBkb21haW4gKi8KLQl1MzIgZ3Vf Y3RsMDsKLQl1MzIgZ3VfY3RsMTsKLQl1MzIgcGNicjsKLQl1MzIgY2xvY2tfZ2F0ZV9kaXMyOwot fTsKK3N0cnVjdCB2bHZfczBpeF9zdGF0ZTsKIAogc3RydWN0IGludGVsX3Jwc19laSB7CiAJa3Rp bWVfdCBrdGltZTsKQEAgLTE2MjAsNyArMTU2MCw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRl IHsKIAl1MzIgc3VzcGVuZF9jb3VudDsKIAlib29sIHBvd2VyX2RvbWFpbnNfc3VzcGVuZGVkOwog CXN0cnVjdCBpOTE1X3N1c3BlbmRfc2F2ZWRfcmVnaXN0ZXJzIHJlZ2ZpbGU7Ci0Jc3RydWN0IHZs dl9zMGl4X3N0YXRlIHZsdl9zMGl4X3N0YXRlOworCXN0cnVjdCB2bHZfczBpeF9zdGF0ZSAqdmx2 X3MwaXhfc3RhdGU7CiAKIAllbnVtIHsKIAkJSTkxNV9TQUdWX1VOS05PV04gPSAwLAotLSAKMi4y Mi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=