From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: [PATCH v3 06/12] i2c: designware-baytrail: Disallow the CPU to enter C6 or C7 while holding the punit semaphore Date: Fri, 10 Feb 2017 11:27:56 +0100 Message-ID: <20170210102802.20898-7-hdegoede@redhat.com> References: <20170210102802.20898-1-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170210102802.20898-1-hdegoede@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , Jani Nikula , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , Jarkko Nikula , Wolfram Sang , Len Brown , Andy Shevchenko , Thomas Gleixner , "H . Peter Anvin" Cc: "russianneuromancer @ ya . ru" , intel-gfx , dri-devel@lists.freedesktop.org, Hans de Goede , linux-i2c@vger.kernel.org, Mika Westerberg List-Id: linux-i2c@vger.kernel.org T24gbXkgY2hlcnJ5dHJhaWwgdGFibGV0IHdpdGggYXhwMjg4IHBtaWMsIGp1c3QgZG9pbmcgYSBi dW5jaCBvZiByZXBlYXRlZApyZWFkcyBmcm9tIHRoZSBwbWljLCBlLmcuICJpMmNkdW1wIC15IDE0 IDB4MzQiIHdvdWxkIGxvb2t1cCB0aGUgdGFibGV0IGluCjEgLSAzIHJ1bnMgZ3VhcmFudGVlZC4K ClRoaXMgc2VlbXMgdG8gYmUgY2F1c2VzIGJ5IHRoZSBjcHUgdHJ5aW5nIHRvIGVudGVyIEM2IG9y IEM3IHdoaWxlIHdlIGhvbGQKdGhlIHB1bml0IGJ1cyBzZW1hcGhvcmUsIGF0IHdoaWNoIHBvaW50 IGV2ZXJ5dGhpbmcganVzdCBoYW5ncy4KCkF2b2lkIHRoaXMgYnkgZGlzYWxsb3dpbmcgdGhlIENQ VSB0byBlbnRlciBDNiBvciBDNyBiZWZvcmUgYWNxdWlyaW5nIHRoZQpwdW5pdCBidXMgc2VtYXBo b3JlLgoKQnVnTGluazogaHR0cHM6Ly9idWd6aWxsYS5rZXJuZWwub3JnL3Nob3dfYnVnLmNnaT9p ZD0xMDkwNTEKU2lnbmVkLW9mZi1ieTogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNv bT4KVGVzdGVkLWJ5OiBUYWthc2hpIEl3YWkgPHRpd2FpQHN1c2UuZGU+ClJldmlld2VkLWJ5OiBB bmR5IFNoZXZjaGVua28gPGFuZHJpeS5zaGV2Y2hlbmtvQGxpbnV4LmludGVsLmNvbT4KQWNrZWQt Ynk6IEphcmtrbyBOaWt1bGEgPGphcmtrby5uaWt1bGFAbGludXguaW50ZWwuY29tPgpBY2tlZC1i eTogV29sZnJhbSBTYW5nIDx3c2FAdGhlLWRyZWFtcy5kZT4KLS0tCkNoYW5nZXMgaW4gdjI6Ci1O ZXcgcGF0Y2ggaW4gdjIgb2YgdGhpcyBzZXQKQ2hhbmdlcyBpbiB2MzoKLUNoYW5nZSBjb21taXQg bWVzc2FnZSBhbmQgY29tbWVudCBpbiB0aGUgY29kZSBmcm9tICJmb3JjZSB0aGUgQ1BVIHRvIEMx IgogdG8gIkRpc2FsbG93IHRoZSBDUFUgdG8gZW50ZXIgQzYgb3IgQzciLCBhcyB0aGUgQ1BVIG1h eSBzdGlsbCBiZSBpbiBlaXRoZXIKIEMwIG9yIEMxIHdpdGggdGhlIHJlcXVlc3QgcG1fcW9zCkNo YW5nZXMgaW4gdjQ6Ci1SZW5hbWUgaTJjX2R3X2V2YWxfbG9ja19zdXBwb3J0IHRvIGkyY19kd19w cm9iZV9sb2NrX3N1cHBvcnQgc28gdGhhdCB3ZSBjYW4KIGFkZCBhIG1hdGNoaW5nIGkyY19kd19y ZW1vdmVfbG9ja19zdXBwb3J0IGNsZWFudXAgZnVuY3Rpb24KLU1vdmUgcW1fcG9zIHJlbW92YWwg dG8gbmV3IGkyY19kd19yZW1vdmVfbG9ja19zdXBwb3J0IGZ1bmN0aW9uCi1Nb3ZlIHBtX3Fvc19h ZGRfcmVxdWVzdCB0byB0aGUgZW5kIG9mIGkyY19kd19wcm9iZV9sb2NrX3N1cHBvcnQKQ2hhbmdl cyBpbiB2NToKLVVwZGF0ZSB0aGUgcG1fcW9zIGZvciBhIGxhdGVuY3kgb2YgMCAqYmVmb3JlKiBy ZXF1ZXN0aW5nIHRoZSBzZW1hcGhvcmUsCiBpbnN0ZWFkIG9mIGRvaW5nIGl0IHdoaWxlIHdhaXRp bmcgZm9yIHRoZSByZXF1ZXN0IHRvIGJlIGFja2VkCi0tLQogZHJpdmVycy9pMmMvYnVzc2VzL2ky Yy1kZXNpZ253YXJlLWJheXRyYWlsLmMgfCAyNCArKysrKysrKysrKysrKysrKysrKysrLS0KIGRy aXZlcnMvaTJjL2J1c3Nlcy9pMmMtZGVzaWdud2FyZS1jb3JlLmggICAgIHwgIDkgKysrKysrKy0t CiBkcml2ZXJzL2kyYy9idXNzZXMvaTJjLWRlc2lnbndhcmUtcGxhdGRydi5jICB8ICA0ICsrKy0K IDMgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWRlc2lnbndhcmUtYmF5dHJhaWwuYyBiL2Ry aXZlcnMvaTJjL2J1c3Nlcy9pMmMtZGVzaWdud2FyZS1iYXl0cmFpbC5jCmluZGV4IGNmMDIyMjIu LjY1MGE3MDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZGVzaWdud2FyZS1i YXl0cmFpbC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZGVzaWdud2FyZS1iYXl0cmFp bC5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUg PGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxp bnV4L3BtX3Fvcy5oPgogCiAjaW5jbHVkZSA8YXNtL2lvc2ZfbWJpLmg+CiAKQEAgLTU2LDYgKzU3 LDggQEAgc3RhdGljIHZvaWQgcmVzZXRfc2VtYXBob3JlKHN0cnVjdCBkd19pMmNfZGV2ICpkZXYp CiAJZGF0YSAmPSB+UFVOSVRfU0VNQVBIT1JFX0JJVDsKIAlpZiAoaW9zZl9tYmlfd3JpdGUoQlRf TUJJX1VOSVRfUE1DLCBNQklfUkVHX1dSSVRFLCBQVU5JVF9TRU1BUEhPUkUsIGRhdGEpKQogCQlk ZXZfZXJyKGRldi0+ZGV2LCAiaW9zZiBmYWlsZWQgdG8gcmVzZXQgcHVuaXQgc2VtYXBob3JlIGR1 cmluZyB3cml0ZVxuIik7CisKKwlwbV9xb3NfdXBkYXRlX3JlcXVlc3QoJmRldi0+cG1fcW9zLCBQ TV9RT1NfREVGQVVMVF9WQUxVRSk7CiB9CiAKIHN0YXRpYyBpbnQgYmF5dHJhaWxfaTJjX2FjcXVp cmUoc3RydWN0IGR3X2kyY19kZXYgKmRldikKQEAgLTcyLDExICs3NSwxOCBAQCBzdGF0aWMgaW50 IGJheXRyYWlsX2kyY19hY3F1aXJlKHN0cnVjdCBkd19pMmNfZGV2ICpkZXYpCiAJaWYgKCFkZXYt PnJlbGVhc2VfbG9jaykKIAkJcmV0dXJuIDA7CiAKKwkvKgorCSAqIERpc2FsbG93IHRoZSBDUFUg dG8gZW50ZXIgQzYgb3IgQzcgc3RhdGUsIGVudGVyaW5nIHRoZXNlIHN0YXRlcworCSAqIHJlcXVp cmVzIHRoZSBwdW5pdCB0byB0YWxrIHRvIHRoZSBwbWljIGFuZCBpZiB0aGlzIGhhcHBlbnMgd2hp bGUKKwkgKiB3ZSdyZSBob2xkaW5nIHRoZSBzZW1hcGhvcmUsIHRoZSBTb0MgaGFuZ3MuCisJICov CisJcG1fcW9zX3VwZGF0ZV9yZXF1ZXN0KCZkZXYtPnBtX3FvcywgMCk7CisKIAkvKiBob3N0IGRy aXZlciB3cml0ZXMgdG8gc2lkZSBiYW5kIHNlbWFwaG9yZSByZWdpc3RlciAqLwogCXJldCA9IGlv c2ZfbWJpX3dyaXRlKEJUX01CSV9VTklUX1BNQywgTUJJX1JFR19XUklURSwgUFVOSVRfU0VNQVBI T1JFLCBzZW0pOwogCWlmIChyZXQpIHsKIAkJZGV2X2VycihkZXYtPmRldiwgImlvc2YgcHVuaXQg c2VtYXBob3JlIHJlcXVlc3QgZmFpbGVkXG4iKTsKLQkJcmV0dXJuIHJldDsKKwkJZ290byBvdXQ7 CiAJfQogCiAJLyogaG9zdCBkcml2ZXIgd2FpdHMgZm9yIGJpdCAwIHRvIGJlIHNldCBpbiBzZW1h cGhvcmUgcmVnaXN0ZXIgKi8KQEAgLTk1LDYgKzEwNSw3IEBAIHN0YXRpYyBpbnQgYmF5dHJhaWxf aTJjX2FjcXVpcmUoc3RydWN0IGR3X2kyY19kZXYgKmRldikKIAl9IHdoaWxlICh0aW1lX2JlZm9y ZShqaWZmaWVzLCBlbmQpKTsKIAogCWRldl9lcnIoZGV2LT5kZXYsICJwdW5pdCBzZW1hcGhvcmUg dGltZWQgb3V0LCByZXNldHRpbmdcbiIpOworb3V0OgogCXJlc2V0X3NlbWFwaG9yZShkZXYpOwog CiAJcmV0ID0gaW9zZl9tYmlfcmVhZChCVF9NQklfVU5JVF9QTUMsIE1CSV9SRUdfUkVBRCwgUFVO SVRfU0VNQVBIT1JFLCAmc2VtKTsKQEAgLTEyMSw3ICsxMzIsNyBAQCBzdGF0aWMgdm9pZCBiYXl0 cmFpbF9pMmNfcmVsZWFzZShzdHJ1Y3QgZHdfaTJjX2RldiAqZGV2KQogCQlqaWZmaWVzX3RvX21z ZWNzKGppZmZpZXMgLSBhY3F1aXJlZCkpOwogfQogCi1pbnQgaTJjX2R3X2V2YWxfbG9ja19zdXBw b3J0KHN0cnVjdCBkd19pMmNfZGV2ICpkZXYpCitpbnQgaTJjX2R3X3Byb2JlX2xvY2tfc3VwcG9y dChzdHJ1Y3QgZHdfaTJjX2RldiAqZGV2KQogewogCWFjcGlfc3RhdHVzIHN0YXR1czsKIAl1bnNp Z25lZCBsb25nIGxvbmcgc2hhcmVkX2hvc3QgPSAwOwpAQCAtMTQ5LDUgKzE2MCwxNCBAQCBpbnQg aTJjX2R3X2V2YWxfbG9ja19zdXBwb3J0KHN0cnVjdCBkd19pMmNfZGV2ICpkZXYpCiAJZGV2LT5y ZWxlYXNlX2xvY2sgPSBiYXl0cmFpbF9pMmNfcmVsZWFzZTsKIAlkZXYtPnBtX3J1bnRpbWVfZGlz YWJsZWQgPSB0cnVlOwogCisJcG1fcW9zX2FkZF9yZXF1ZXN0KCZkZXYtPnBtX3FvcywgUE1fUU9T X0NQVV9ETUFfTEFURU5DWSwKKwkJCSAgIFBNX1FPU19ERUZBVUxUX1ZBTFVFKTsKKwogCXJldHVy biAwOwogfQorCit2b2lkIGkyY19kd19yZW1vdmVfbG9ja19zdXBwb3J0KHN0cnVjdCBkd19pMmNf ZGV2ICpkZXYpCit7CisJaWYgKGRldi0+YWNxdWlyZV9sb2NrKQorCQlwbV9xb3NfcmVtb3ZlX3Jl cXVlc3QoJmRldi0+cG1fcW9zKTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9p MmMtZGVzaWdud2FyZS1jb3JlLmggYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWRlc2lnbndhcmUt Y29yZS5oCmluZGV4IDJjNTA1NzEuLjk0YTVmZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1 c3Nlcy9pMmMtZGVzaWdud2FyZS1jb3JlLmgKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1k ZXNpZ253YXJlLWNvcmUuaApAQCAtMjMsNiArMjMsNyBAQAogICovCiAKICNpbmNsdWRlIDxsaW51 eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9wbV9xb3MuaD4KIAogI2RlZmluZSBEV19JQ19ERUZB VUxUX0ZVTkNUSU9OQUxJVFkgKEkyQ19GVU5DX0kyQyB8CQkJXAogCQkJCQlJMkNfRlVOQ19TTUJV U19CWVRFIHwJCVwKQEAgLTc1LDYgKzc2LDcgQEAKICAqIEBmcF9sY250OiBmYXN0IHBsdXMgTENO VCB2YWx1ZQogICogQGhzX2hjbnQ6IGhpZ2ggc3BlZWQgSENOVCB2YWx1ZQogICogQGhzX2xjbnQ6 IGhpZ2ggc3BlZWQgTENOVCB2YWx1ZQorICogQHBtX3FvczogcG1fcW9zX3JlcXVlc3QgdXNlZCB3 aGlsZSBob2xkaW5nIGEgaGFyZHdhcmUgbG9jayBvbiB0aGUgYnVzCiAgKiBAYWNxdWlyZV9sb2Nr OiBmdW5jdGlvbiB0byBhY3F1aXJlIGEgaGFyZHdhcmUgbG9jayBvbiB0aGUgYnVzCiAgKiBAcmVs ZWFzZV9sb2NrOiBmdW5jdGlvbiB0byByZWxlYXNlIGEgaGFyZHdhcmUgbG9jayBvbiB0aGUgYnVz CiAgKiBAcG1fcnVudGltZV9kaXNhYmxlZDogdHJ1ZSBpZiBwbSBydW50aW1lIGlzIGRpc2FibGVk CkBAIC0xMjIsNiArMTI0LDcgQEAgc3RydWN0IGR3X2kyY19kZXYgewogCXUxNgkJCWZwX2xjbnQ7 CiAJdTE2CQkJaHNfaGNudDsKIAl1MTYJCQloc19sY250OworCXN0cnVjdCBwbV9xb3NfcmVxdWVz dAlwbV9xb3M7CiAJaW50CQkJKCphY3F1aXJlX2xvY2spKHN0cnVjdCBkd19pMmNfZGV2ICpkZXYp OwogCXZvaWQJCQkoKnJlbGVhc2VfbG9jaykoc3RydWN0IGR3X2kyY19kZXYgKmRldik7CiAJYm9v bAkJCXBtX3J1bnRpbWVfZGlzYWJsZWQ7CkBAIC0xMzksNyArMTQyLDkgQEAgZXh0ZXJuIHUzMiBp MmNfZHdfcmVhZF9jb21wX3BhcmFtKHN0cnVjdCBkd19pMmNfZGV2ICpkZXYpOwogZXh0ZXJuIGlu dCBpMmNfZHdfcHJvYmUoc3RydWN0IGR3X2kyY19kZXYgKmRldik7CiAKICNpZiBJU19FTkFCTEVE KENPTkZJR19JMkNfREVTSUdOV0FSRV9CQVlUUkFJTCkKLWV4dGVybiBpbnQgaTJjX2R3X2V2YWxf bG9ja19zdXBwb3J0KHN0cnVjdCBkd19pMmNfZGV2ICpkZXYpOworZXh0ZXJuIGludCBpMmNfZHdf cHJvYmVfbG9ja19zdXBwb3J0KHN0cnVjdCBkd19pMmNfZGV2ICpkZXYpOworZXh0ZXJuIHZvaWQg aTJjX2R3X3JlbW92ZV9sb2NrX3N1cHBvcnQoc3RydWN0IGR3X2kyY19kZXYgKmRldik7CiAjZWxz ZQotc3RhdGljIGlubGluZSBpbnQgaTJjX2R3X2V2YWxfbG9ja19zdXBwb3J0KHN0cnVjdCBkd19p MmNfZGV2ICpkZXYpIHsgcmV0dXJuIDA7IH0KK3N0YXRpYyBpbmxpbmUgaW50IGkyY19kd19wcm9i ZV9sb2NrX3N1cHBvcnQoc3RydWN0IGR3X2kyY19kZXYgKmRldikgeyByZXR1cm4gMDsgfQorc3Rh dGljIGlubGluZSB2b2lkIGkyY19kd19yZW1vdmVfbG9ja19zdXBwb3J0KHN0cnVjdCBkd19pMmNf ZGV2ICpkZXYpIHt9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMt ZGVzaWdud2FyZS1wbGF0ZHJ2LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWRlc2lnbndhcmUt cGxhdGRydi5jCmluZGV4IDNlZWRlN2IuLmQ0NzRkYjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJj L2J1c3Nlcy9pMmMtZGVzaWdud2FyZS1wbGF0ZHJ2LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2Vz L2kyYy1kZXNpZ253YXJlLXBsYXRkcnYuYwpAQCAtMjM4LDcgKzIzOCw3IEBAIHN0YXRpYyBpbnQg ZHdfaTJjX3BsYXRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJcmV0dXJu IC1FSU5WQUw7CiAJfQogCi0JciA9IGkyY19kd19ldmFsX2xvY2tfc3VwcG9ydChkZXYpOworCXIg PSBpMmNfZHdfcHJvYmVfbG9ja19zdXBwb3J0KGRldik7CiAJaWYgKHIpCiAJCXJldHVybiByOwog CkBAIC0zMDcsNiArMzA3LDggQEAgc3RhdGljIGludCBkd19pMmNfcGxhdF9yZW1vdmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlpZiAoIWRldi0+cG1fcnVudGltZV9kaXNhYmxlZCkK IAkJcG1fcnVudGltZV9kaXNhYmxlKCZwZGV2LT5kZXYpOwogCisJaTJjX2R3X3JlbW92ZV9sb2Nr X3N1cHBvcnQoZGV2KTsKKwogCXJldHVybiAwOwogfQogCi0tIAoyLjkuMwoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==