From mboxrd@z Thu Jan 1 00:00:00 1970 From: deepak.s@linux.intel.com Subject: [PATCH 04/10] drm/i915/chv: Added CHV specific register read and write Date: Mon, 21 Apr 2014 13:34:08 +0530 Message-ID: <1398067454-7581-5-git-send-email-deepak.s@linux.intel.com> References: <1398067454-7581-2-git-send-email-deepak.s@linux.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 ESMTP id A82046E2D6 for ; Mon, 21 Apr 2014 01:04:47 -0700 (PDT) In-Reply-To: <1398067454-7581-2-git-send-email-deepak.s@linux.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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogRGVlcGFrIFMgPGRlZXBhay5zQGxpbnV4LmludGVsLmNvbT4KClN1cHBvcnQgdG8gaW5k aXZpZHVhbGx5IGNvbnRyb2wgTWVkaWEvUmVuZGVyIHdlbGwgYmFzZWQgb24gdGhlIHJlZ2lzdGVy IGFjY2Vzcy4KQWRkIENIViBzcGVjaWZpYyB3cml0ZSBmdW5jdGlvbiB0byBoYWJkbGUgZGlmZmVy ZW5jZSBiZXR3ZWVuIHJlZ2lzdGVycwp0aGF0IGFyZSBzYWRvd2VkIHZzIHRob3NlIHRoYXQgbmVl ZCBmb3JjZXdha2UgZXZlbiBmb3Igd3JpdGVzLgoKdjI6IERyb3Agd3JpdGUgRklGTyBmb3IgQ0hW IGFuZCBhZGQgY29tbWFuIHdlbGwgZm9yY2V3YWtlIChWaWxsZSkKCnYzOiBGaXggZm9yIGRlY3Jl bWVudGluZyBmdyBjb3VudCBpbiBjaHYgcmVhZC93cml0ZS4gKERlZXBhaykKClNpZ25lZC1vZmYt Ynk6IERlZXBhayBTIDxkZWVwYWsuc0BsaW51eC5pbnRlbC5jb20+Clt2c3lyamFsYTogTW92ZSB0 aGUgcmVnaXN0ZXIgcmFuZ2UgbWFjcm9zIGludG8gaW50ZWxfdW5jb3JlLmNdClNpZ25lZC1vZmYt Ynk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgfCAxMzkgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTMxIGluc2VydGlvbnMoKyks IDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf dW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwppbmRleCAyYTcy YmFiLi4xMTc0MWU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNv cmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwpAQCAtNDk1LDYg KzQ5NSwzMSBAQCB2b2lkIGFzc2VydF9mb3JjZV93YWtlX2luYWN0aXZlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIAkoKHJlZykgPj0gMHgyMjAwMCAmJiAocmVnKSA8IDB4MjQw MDApIHx8XAogCSgocmVnKSA+PSAweDMwMDAwICYmIChyZWcpIDwgMHg0MDAwMCkpCiAKKyNkZWZp bmUgRk9SQ0VXQUtFX0NIVl9SRU5ERVJfUkFOR0VfT0ZGU0VUKHJlZykgXAorCSgoKHJlZykgPj0g MHgyMDAwICYmIChyZWcpIDwgMHg0MDAwKSB8fFwKKwkoKHJlZykgPj0gMHg1MDAwICYmIChyZWcp IDwgMHg4MDAwKSB8fFwKKwkoKHJlZykgPj0gMHg4MzAwICYmIChyZWcpIDwgMHg4NTAwKSB8fFwK KwkoKHJlZykgPj0gMHhCMDAwICYmIChyZWcpIDwgMHhDMDAwKSB8fFwKKwkoKHJlZykgPj0gMHhF MDAwICYmIChyZWcpIDwgMHhFODAwKSkKKworI2RlZmluZSBGT1JDRVdBS0VfQ0hWX01FRElBX1JB TkdFX09GRlNFVChyZWcpXAorCSgoKHJlZykgPj0gMHg4ODAwICYmIChyZWcpIDwgMHg4OTAwKSB8 fFwKKwkoKHJlZykgPj0gMHhEMDAwICYmIChyZWcpIDwgMHhEODAwKSB8fFwKKwkoKHJlZykgPj0g MHgxMjAwMCAmJiAocmVnKSA8IDB4MTQwMDApIHx8XAorCSgocmVnKSA+PSAweDFBMDAwICYmIChy ZWcpIDwgMHgxQzAwMCkgfHxcCisJKChyZWcpID49IDB4MUU4MDAgJiYgKHJlZykgPCAweDFFQTAw KSB8fFwKKwkoKHJlZykgPj0gMHgzMDAwMCAmJiAocmVnKSA8IDB4NDAwMDApKQorCisjZGVmaW5l IEZPUkNFV0FLRV9DSFZfQ09NTU9OX1JBTkdFX09GRlNFVChyZWcpXAorCSgoKHJlZykgPj0gMHg0 MDAwICYmIChyZWcpIDwgMHg1MDAwKSB8fFwKKwkoKHJlZykgPj0gMHg4MDAwICYmIChyZWcpIDwg MHg4MzAwKSB8fFwKKwkoKHJlZykgPj0gMHg4NTAwICYmIChyZWcpIDwgMHg4NjAwKSB8fFwKKwko KHJlZykgPj0gMHg5MDAwICYmIChyZWcpIDwgMHhCMDAwKSB8fFwKKwkoKHJlZykgPj0gMHhDMDAw ICYmIChyZWcpIDwgMHhjODAwKSB8fFwKKwkoKHJlZykgPj0gMHhGMDAwICYmIChyZWcpIDwgMHgx MDAwMCkgfHxcCisJKChyZWcpID49IDB4MTQwMDAgJiYgKHJlZykgPCAweDE0NDAwKSB8fFwKKwko KHJlZykgPj0gMHgyMjAwMCAmJiAocmVnKSA8IDB4MjQwMDApKQorCiBzdGF0aWMgdm9pZAogaWxr X2R1bW15X3dyaXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKQEAgLTU4 OCw3ICs2MTMsNDggQEAgdmx2X3JlYWQjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBvZmZfdCByZWcsIGJvb2wgdHJhY2UpIHsgXAogCVJFR19SRUFEX0ZPT1RFUjsgXAogfQog CisjZGVmaW5lIF9fY2h2X3JlYWQoeCkgXAorc3RhdGljIHUjI3ggXAorY2h2X3JlYWQjI3goc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBvZmZfdCByZWcsIGJvb2wgdHJhY2UpIHsg XAorCXVuc2lnbmVkIGZ3ZW5naW5lID0gMDsgXAorCVJFR19SRUFEX0hFQURFUih4KTsgXAorCWlm IChGT1JDRVdBS0VfQ0hWX1JFTkRFUl9SQU5HRV9PRkZTRVQocmVnKSkgeyBcCisJCWZ3ZW5naW5l ID0gRk9SQ0VXQUtFX1JFTkRFUjsgXAorCX0gXAorCWVsc2UgaWYgKEZPUkNFV0FLRV9DSFZfTUVE SUFfUkFOR0VfT0ZGU0VUKHJlZykpIHsgXAorCQlmd2VuZ2luZSA9IEZPUkNFV0FLRV9NRURJQTsg XAorCX0gXAorCWVsc2UgaWYgKEZPUkNFV0FLRV9DSFZfQ09NTU9OX1JBTkdFX09GRlNFVChyZWcp KSB7IFwKKwkJZndlbmdpbmUgPSBGT1JDRVdBS0VfQUxMOyBcCisJfSBcCisJaWYgKEZPUkNFV0FL RV9SRU5ERVIgJiBmd2VuZ2luZSkgeyBcCisJCWlmIChkZXZfcHJpdi0+dW5jb3JlLmZ3X3JlbmRl cmNvdW50KysgPT0gMCkgXAorCQkJKGRldl9wcml2KS0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2Vf Z2V0KGRldl9wcml2LCBcCisJCQkJCQkJCWZ3ZW5naW5lKTsgXAorCX0gXAorCWlmIChGT1JDRVdB S0VfTUVESUEgJiBmd2VuZ2luZSkgeyBcCisJCWlmIChkZXZfcHJpdi0+dW5jb3JlLmZ3X21lZGlh Y291bnQrKyA9PSAwKSBcCisJCQkoZGV2X3ByaXYpLT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9n ZXQoZGV2X3ByaXYsIFwKKwkJCQkJCQkJZndlbmdpbmUpOyBcCisJfSBcCisJdmFsID0gX19yYXdf aTkxNV9yZWFkIyN4KGRldl9wcml2LCByZWcpOyBcCisJaWYgKEZPUkNFV0FLRV9SRU5ERVIgJiBm d2VuZ2luZSkgeyBcCisJCWlmICgtLWRldl9wcml2LT51bmNvcmUuZndfcmVuZGVyY291bnQgPT0g MCkgXAorCQkJKGRldl9wcml2KS0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2VfcHV0KGRldl9wcml2 LCBcCisJCQkJCQkJCWZ3ZW5naW5lKTsgXAorCX0gXAorCWlmIChGT1JDRVdBS0VfTUVESUEgJiBm d2VuZ2luZSkgeyBcCisJCWlmICgtLWRldl9wcml2LT51bmNvcmUuZndfbWVkaWFjb3VudCA9PSAw KSBcCisJCQkoZGV2X3ByaXYpLT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9wdXQoZGV2X3ByaXYs IFwKKwkJCQkJCQkJZndlbmdpbmUpOyBcCisJfSBcCisJUkVHX1JFQURfRk9PVEVSOyBcCit9CiAK K19fY2h2X3JlYWQoOCkKK19fY2h2X3JlYWQoMTYpCitfX2Nodl9yZWFkKDMyKQorX19jaHZfcmVh ZCg2NCkKIF9fdmx2X3JlYWQoOCkKIF9fdmx2X3JlYWQoMTYpCiBfX3Zsdl9yZWFkKDMyKQpAQCAt NjA2LDYgKzY3Miw3IEBAIF9fZ2VuNF9yZWFkKDE2KQogX19nZW40X3JlYWQoMzIpCiBfX2dlbjRf cmVhZCg2NCkKIAorI3VuZGVmIF9fY2h2X3JlYWQKICN1bmRlZiBfX3Zsdl9yZWFkCiAjdW5kZWYg X19nZW42X3JlYWQKICN1bmRlZiBfX2dlbjVfcmVhZApAQCAtNzEwLDYgKzc3Nyw0OSBAQCBnZW44 X3dyaXRlIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgb2ZmX3QgcmVnLCB1 IyN4IHZhbCwgYm9vbCB0cmFjZQogCVJFR19XUklURV9GT09URVI7IFwKIH0KIAorI2RlZmluZSBf X2Nodl93cml0ZSh4KSBcCitzdGF0aWMgdm9pZCBcCitjaHZfd3JpdGUjI3goc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LCBvZmZfdCByZWcsIHUjI3ggdmFsLCBib29sIHRyYWNlKSB7 IFwKKwl1bnNpZ25lZCBmd2VuZ2luZSA9IDA7IFwKKwlib29sIF9fbmVlZHNfcHV0ID0gIWlzX2dl bjhfc2hhZG93ZWQoZGV2X3ByaXYsIHJlZyk7IFwKKwlSRUdfV1JJVEVfSEVBREVSOyBcCisJaWYg KEZPUkNFV0FLRV9DSFZfUkVOREVSX1JBTkdFX09GRlNFVChyZWcpKSB7IFwKKwkJZndlbmdpbmUg PSBGT1JDRVdBS0VfUkVOREVSOyBcCisJfSBcCisJZWxzZSBpZiAoRk9SQ0VXQUtFX0NIVl9NRURJ QV9SQU5HRV9PRkZTRVQocmVnKSkgeyBcCisJCWZ3ZW5naW5lID0gRk9SQ0VXQUtFX01FRElBOyBc CisJfSBcCisJZWxzZSBpZiAoRk9SQ0VXQUtFX0NIVl9DT01NT05fUkFOR0VfT0ZGU0VUKHJlZykp IHsgXAorCQlmd2VuZ2luZSA9IEZPUkNFV0FLRV9BTEw7IFwKKwl9IFwKKwlpZiAoX19uZWVkc19w dXQgJiYgKEZPUkNFV0FLRV9SRU5ERVIgJiBmd2VuZ2luZSkpIHsgXAorCQkJaWYgKGRldl9wcml2 LT51bmNvcmUuZndfcmVuZGVyY291bnQrKyA9PSAwKSBcCisJCQkJKGRldl9wcml2KS0+dW5jb3Jl LmZ1bmNzLmZvcmNlX3dha2VfZ2V0KGRldl9wcml2LCBcCisJCQkJCQkJCQlmd2VuZ2luZSk7IFwK Kwl9IFwKKwlpZiAoX19uZWVkc19wdXQgJiYgKEZPUkNFV0FLRV9NRURJQSAmIGZ3ZW5naW5lKSkg eyBcCisJCWlmIChkZXZfcHJpdi0+dW5jb3JlLmZ3X21lZGlhY291bnQrKyA9PSAwKSBcCisJCQko ZGV2X3ByaXYpLT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9nZXQoZGV2X3ByaXYsIFwKKwkJCQkJ CQkJZndlbmdpbmUpOyBcCisJfSBcCisJX19yYXdfaTkxNV93cml0ZSMjeChkZXZfcHJpdiwgcmVn LCB2YWwpOyBcCisJaWYgKF9fbmVlZHNfcHV0ICYmIChGT1JDRVdBS0VfUkVOREVSICYgZndlbmdp bmUpKSB7IFwKKwkJCWlmICgtLWRldl9wcml2LT51bmNvcmUuZndfcmVuZGVyY291bnQgPT0gMCkg XAorCQkJCShkZXZfcHJpdiktPnVuY29yZS5mdW5jcy5mb3JjZV93YWtlX3B1dChkZXZfcHJpdiwg XAorCQkJCQkJCQkJZndlbmdpbmUpOyBcCisJfSBcCisJaWYgKF9fbmVlZHNfcHV0ICYmIChGT1JD RVdBS0VfTUVESUEgJiBmd2VuZ2luZSkpIHsgXAorCQlpZiAoLS1kZXZfcHJpdi0+dW5jb3JlLmZ3 X21lZGlhY291bnQgPT0gMCkgXAorCQkJKGRldl9wcml2KS0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dh a2VfcHV0KGRldl9wcml2LCBcCisJCQkJCQkJCWZ3ZW5naW5lKTsgXAorCX0gXAorCVJFR19XUklU RV9GT09URVI7IFwKK30KKworX19jaHZfd3JpdGUoOCkKK19fY2h2X3dyaXRlKDE2KQorX19jaHZf d3JpdGUoMzIpCitfX2Nodl93cml0ZSg2NCkKIF9fZ2VuOF93cml0ZSg4KQogX19nZW44X3dyaXRl KDE2KQogX19nZW44X3dyaXRlKDMyKQpAQCAtNzMxLDYgKzg0MSw3IEBAIF9fZ2VuNF93cml0ZSgx NikKIF9fZ2VuNF93cml0ZSgzMikKIF9fZ2VuNF93cml0ZSg2NCkKIAorI3VuZGVmIF9fY2h2X3dy aXRlCiAjdW5kZWYgX19nZW44X3dyaXRlCiAjdW5kZWYgX19oc3dfd3JpdGUKICN1bmRlZiBfX2dl bjZfd3JpdGUKQEAgLTc5NCwxNCArOTA1LDI2IEBAIHZvaWQgaW50ZWxfdW5jb3JlX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIAogCXN3aXRjaCAoSU5URUxfSU5GTyhkZXYpLT5nZW4pIHsK IAlkZWZhdWx0OgotCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGViICA9IGdlbjhf d3JpdGU4OwotCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGV3ICA9IGdlbjhfd3Jp dGUxNjsKLQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRlbCAgPSBnZW44X3dyaXRl MzI7Ci0JCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb193cml0ZXEgID0gZ2VuOF93cml0ZTY0 OwotCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fcmVhZGIgID0gZ2VuNl9yZWFkODsKLQkJ ZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWR3ICA9IGdlbjZfcmVhZDE2OwotCQlkZXZf cHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fcmVhZGwgID0gZ2VuNl9yZWFkMzI7Ci0JCWRldl9wcml2 LT51bmNvcmUuZnVuY3MubW1pb19yZWFkcSAgPSBnZW42X3JlYWQ2NDsKKwkJaWYgKElTX0NIRVJS WVZJRVcoZGV2KSkgeworCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRlYiAgPSBj aHZfd3JpdGU4OworCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRldyAgPSBjaHZf d3JpdGUxNjsKKwkJCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb193cml0ZWwgID0gY2h2X3dy aXRlMzI7CisJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGVxICA9IGNodl93cml0 ZTY0OworCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWRiICA9IGNodl9yZWFkODsK KwkJCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb19yZWFkdyAgPSBjaHZfcmVhZDE2OworCQkJ ZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWRsICA9IGNodl9yZWFkMzI7CisJCQlkZXZf cHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fcmVhZHEgID0gY2h2X3JlYWQ2NDsKKworCQl9IGVsc2Ug eworCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRlYiAgPSBnZW44X3dyaXRlODsK KwkJCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb193cml0ZXcgID0gZ2VuOF93cml0ZTE2Owor CQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRlbCAgPSBnZW44X3dyaXRlMzI7CisJ CQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGVxICA9IGdlbjhfd3JpdGU2NDsKKwkJ CWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb19yZWFkYiAgPSBnZW42X3JlYWQ4OworCQkJZGV2 X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWR3ICA9IGdlbjZfcmVhZDE2OworCQkJZGV2X3By aXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWRsICA9IGdlbjZfcmVhZDMyOworCQkJZGV2X3ByaXYt PnVuY29yZS5mdW5jcy5tbWlvX3JlYWRxICA9IGdlbjZfcmVhZDY0OworCQl9CiAJCWJyZWFrOwog CWNhc2UgNzoKIAljYXNlIDY6Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK