From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: EDAC, pnd2: Build in a minimal sideband driver for Apollo Lake From: "Luck, Tony" Message-Id: <20170803210536.5662-1-tony.luck@intel.com> Date: Thu, 3 Aug 2017 14:05:36 -0700 To: linux-edac@vger.kernel.org, Borislav Petkov , Mauro Carvalho Chehab Cc: Aristeu Rozanski , Patrick Geary , Qiuxu Zhuo , Tony Luck List-ID: RnJvbTogVG9ueSBMdWNrIDx0b255Lmx1Y2tAaW50ZWwuY29tPgoKSSd2ZSBiZWVuIHdhaW5nIGEg bG9uZyB0aW1lIGZvciB0aGUgZ2VuZXJpYyBzaWRlYmFuZCBkcml2ZXIgdG8KYXBwZWFyLiBQYXRp ZW5jZSBoYXMgcnVuIG91dCwgc28gaW5jbHVkZSB0aGUgbWluaW11bSBoZXJlIHRvCmp1c3QgcmVh ZCByZWdpc3RlcnMuCgpTaWduZWQtb2ZmLWJ5OiBUb255IEx1Y2sgPHRvbnkubHVja0BpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9lZGFjL3BuZDJfZWRhYy5jIHwgODggKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTkgaW5zZXJ0 aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9lZGFjL3BuZDJf ZWRhYy5jIGIvZHJpdmVycy9lZGFjL3BuZDJfZWRhYy5jCmluZGV4IDhlNTk5NDkwZjZkZS4uNGE4 MjcwMTFiMDBkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2VkYWMvcG5kMl9lZGFjLmMKKysrIGIvZHJp dmVycy9lZGFjL3BuZDJfZWRhYy5jCkBAIC0xMjksNDIgKzEyOSw2NiBAQCBzdGF0aWMgc3RydWN0 IG1lbV9jdGxfaW5mbyAqcG5kMl9tY2k7CiAjZGVmaW5lIEdFVF9CSVRGSUVMRCh2LCBsbywgaGkp CSgoKHYpICYgR0VOTUFTS19VTEwoaGksIGxvKSkgPj4gKGxvKSkKICNkZWZpbmUgVTY0X0xTSElG VCh2YWwsIHMpCSgodTY0KSh2YWwpIDw8IChzKSkKIAotI2lmZGVmIENPTkZJR19YODZfSU5URUxf U0JJX0FQTAotI2luY2x1ZGUgImxpbnV4L3BsYXRmb3JtX2RhdGEvc2JpX2FwbC5oIgotc3RhdGlj IGludCBzYmlfc2VuZChpbnQgcG9ydCwgaW50IG9mZiwgaW50IG9wLCB1MzIgKmRhdGEpCisvKgor ICogT24gQXBvbGxvIExha2Ugd2UgYWNjZXNzIG1lbW9yeSBjb250cm9sbGVyIHJlZ2lzdGVycyB2 aWEgYQorICogc2lkZS1iYW5kIG1haWxib3ggc3R5bGUgaW50ZXJmYWNlIGluIGEgaGlkZGVuIFBD SSBkZXZpY2UKKyAqIGNvbmZpZ3VyYXRpb24gc3BhY2UKKyAqLworc3RhdGljIHN0cnVjdCBwY2lf YnVzCSpwMnNiX2J1czsKKyNkZWZpbmUgUDJTQl9ERVZGTglQQ0lfREVWRk4oMHhkLCAwKQorI2Rl ZmluZSBQMlNCX0FERFJfT0ZGCTB4ZDAKKyNkZWZpbmUgUDJTQl9EQVRBX09GRgkweGQ0CisjZGVm aW5lIFAyU0JfU1RBVF9PRkYJMHhkOAorI2RlZmluZSBQMlNCX1JPVVRfT0ZGCTB4ZGEKKyNkZWZp bmUgUDJTQl9FQUREX09GRgkweGRjCisjZGVmaW5lIFAyU0JfSElERV9PRkYJMHhlMQorCisjZGVm aW5lIFAyU0JfQlVTWQkxCisKKyNkZWZpbmUgUDJTQl9SRUFEKHNpemUsIG9mZiwgcHRyKSBcCisJ cGNpX2J1c19yZWFkX2NvbmZpZ18jI3NpemUocDJzYl9idXMsIFAyU0JfREVWRk4sIG9mZiwgcHRy KQorI2RlZmluZSBQMlNCX1dSSVRFKHNpemUsIG9mZiwgdmFsKSBcCisJcGNpX2J1c193cml0ZV9j b25maWdfIyNzaXplKHAyc2JfYnVzLCBQMlNCX0RFVkZOLCBvZmYsIHZhbCkKKworc3RhdGljIGJv b2wgcDJzYl9pc19idXN5KHUxNiAqc3RhdHVzKQogewotCXN0cnVjdCBzYmlfYXBsX21lc3NhZ2Ug c2JpX2FyZzsKLQlpbnQgcmV0LCByZWFkID0gMDsKKwlQMlNCX1JFQUQod29yZCwgUDJTQl9TVEFU X09GRiwgc3RhdHVzKTsKIAotCW1lbXNldCgmc2JpX2FyZywgMCwgc2l6ZW9mKHNiaV9hcmcpKTsK KwlyZXR1cm4gISEoKnN0YXR1cyAmIFAyU0JfQlVTWSk7Cit9CiAKLQlpZiAob3AgPT0gMCB8fCBv cCA9PSA0IHx8IG9wID09IDYpCi0JCXJlYWQgPSAxOwotCWVsc2UKLQkJc2JpX2FyZy5kYXRhID0g KmRhdGE7CitzdGF0aWMgaW50IF9hcGxfcmRfcmVnKGludCBwb3J0LCBpbnQgb2ZmLCBpbnQgb3As IHUzMiAqZGF0YSkKK3sKKwlpbnQgcmV0cmllcyA9IDB4ZmYsIHJldDsKKwl1MTYgc3RhdHVzOwor CisJUDJTQl9XUklURShieXRlLCBQMlNCX0hJREVfT0ZGLCAwKTsKKworCWlmIChwMnNiX2lzX2J1 c3koJnN0YXR1cykpIHsKKwkJcmV0ID0gLUVBR0FJTjsKKwkJZ290byBvdXQ7CisJfQogCi0Jc2Jp X2FyZy5vcGNvZGUgPSBvcDsKLQlzYmlfYXJnLnBvcnRfYWRkcmVzcyA9IHBvcnQ7Ci0Jc2JpX2Fy Zy5yZWdpc3Rlcl9vZmZzZXQgPSBvZmY7Ci0JcmV0ID0gc2JpX2FwbF9jb21taXQoJnNiaV9hcmcp OwotCWlmIChyZXQgfHwgc2JpX2FyZy5zdGF0dXMpCi0JCWVkYWNfZGJnKDIsICJzYmlfc2VuZCBz dGF0dXM9JWQgcmV0PSVkIGRhdGE9JXhcbiIsCi0JCQkJIHNiaV9hcmcuc3RhdHVzLCByZXQsIHNi aV9hcmcuZGF0YSk7CisJUDJTQl9XUklURShkd29yZCwgUDJTQl9BRERSX09GRiwgKHBvcnQgPDwg MjQpIHwgb2ZmKTsKKwlQMlNCX1dSSVRFKGR3b3JkLCBQMlNCX0RBVEFfT0ZGLCAwKTsKKwlQMlNC X1dSSVRFKGR3b3JkLCBQMlNCX0VBRERfT0ZGLCAwKTsKKwlQMlNCX1dSSVRFKHdvcmQsIFAyU0Jf Uk9VVF9PRkYsIDApOworCVAyU0JfV1JJVEUod29yZCwgUDJTQl9TVEFUX09GRiwgKG9wIDw8IDgp IHwgUDJTQl9CVVNZKTsKIAotCWlmIChyZXQgPT0gMCkKLQkJcmV0ID0gc2JpX2FyZy5zdGF0dXM7 CisJd2hpbGUgKHAyc2JfaXNfYnVzeSgmc3RhdHVzKSkgeworCQlpZiAocmV0cmllcy0tID09IDAp IHsKKwkJCXJldCA9IC1FQlVTWTsKKwkJCWdvdG8gb3V0OworCQl9CisJfQogCi0JaWYgKHJldCA9 PSAwICYmIHJlYWQpCi0JCSpkYXRhID0gc2JpX2FyZy5kYXRhOworCVAyU0JfUkVBRChkd29yZCwg UDJTQl9EQVRBX09GRiwgZGF0YSk7CisJcmV0ID0gKHN0YXR1cyA+PiAxKSAmIDB4MzsKK291dDoK KwlQMlNCX1dSSVRFKGJ5dGUsIFAyU0JfSElERV9PRkYsIDEpOwogCiAJcmV0dXJuIHJldDsKIH0K LSNlbHNlCi1zdGF0aWMgaW50IHNiaV9zZW5kKGludCBwb3J0LCBpbnQgb2ZmLCBpbnQgb3AsIHUz MiAqZGF0YSkKLXsKLQlyZXR1cm4gLUVVTkFUQ0g7Ci19Ci0jZW5kaWYKIAogc3RhdGljIGludCBh cGxfcmRfcmVnKGludCBwb3J0LCBpbnQgb2ZmLCBpbnQgb3AsIHZvaWQgKmRhdGEsIHNpemVfdCBz eiwgY2hhciAqbmFtZSkKIHsKQEAgLTE3MywxMCArMTk3LDEwIEBAIHN0YXRpYyBpbnQgYXBsX3Jk X3JlZyhpbnQgcG9ydCwgaW50IG9mZiwgaW50IG9wLCB2b2lkICpkYXRhLCBzaXplX3Qgc3osIGNo YXIgKm5hCiAJZWRhY19kYmcoMiwgIlJlYWQgJXMgcG9ydD0leCBvZmY9JXggb3A9JXhcbiIsIG5h bWUsIHBvcnQsIG9mZiwgb3ApOwogCXN3aXRjaCAoc3opIHsKIAljYXNlIDg6Ci0JCXJldCA9IHNi aV9zZW5kKHBvcnQsIG9mZiArIDQsIG9wLCAodTMyICopKGRhdGEgKyA0KSk7CisJCXJldCA9IF9h cGxfcmRfcmVnKHBvcnQsIG9mZiArIDQsIG9wLCAodTMyICopKGRhdGEgKyA0KSk7CiAJCS8qIGZh bGwgdGhyb3VnaCAqLwogCWNhc2UgNDoKLQkJcmV0IHw9IHNiaV9zZW5kKHBvcnQsIG9mZiwgb3As ICh1MzIgKilkYXRhKTsKKwkJcmV0IHw9IF9hcGxfcmRfcmVnKHBvcnQsIG9mZiwgb3AsICh1MzIg KilkYXRhKTsKIAkJcG5kMl9wcmludGsoS0VSTl9ERUJVRywgIiVzPSV4JTA4eCByZXQ9JWRcbiIs IG5hbWUsCiAJCQkJCXN6ID09IDggPyAqKCh1MzIgKikoZGF0YSArIDQpKSA6IDAsICooKHUzMiAq KWRhdGEpLCByZXQpOwogCQlicmVhazsKQEAgLTE1MTUsNiArMTUzOSwxMiBAQCBzdGF0aWMgaW50 IF9faW5pdCBwbmQyX2luaXQodm9pZCkKIAogCW9wcyA9IChzdHJ1Y3QgZHVuaXRfb3BzICopaWQt PmRyaXZlcl9kYXRhOwogCisJaWYgKG9wcy0+dHlwZSA9PSBBUEwpIHsKKwkJcDJzYl9idXMgPSBw Y2lfZmluZF9idXMoMCwgMCk7CisJCWlmICghcDJzYl9idXMpCisJCQlyZXR1cm4gLUVOT0RFVjsK Kwl9CisKIAkvKiBFbnN1cmUgdGhhdCB0aGUgT1BTVEFURSBpcyBzZXQgY29ycmVjdGx5IGZvciBQ T0xMIG9yIE5NSSAqLwogCW9wc3RhdGVfaW5pdCgpOwogCg==