From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UPPERCASE_50_75,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3CC25C4320E for ; Wed, 28 Jul 2021 21:12:12 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 09FFB6101C for ; Wed, 28 Jul 2021 21:12:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 09FFB6101C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 54A3C6E5A0; Wed, 28 Jul 2021 21:12:07 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 05C4B6E138; Wed, 28 Jul 2021 21:12:05 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10059"; a="212740392" X-IronPort-AV: E=Sophos;i="5.84,276,1620716400"; d="scan'208";a="212740392" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jul 2021 14:12:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,276,1620716400"; d="scan'208";a="580995389" Received: from vbelgaum-ubuntu.fm.intel.com ([10.1.27.27]) by fmsmga001.fm.intel.com with ESMTP; 28 Jul 2021 14:12:03 -0700 From: Vinay Belgaumkar To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Date: Wed, 28 Jul 2021 14:11:33 -0700 Message-Id: <20210728211144.15322-4-vinay.belgaumkar@intel.com> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20210728211144.15322-1-vinay.belgaumkar@intel.com> References: <20210728211144.15322-1-vinay.belgaumkar@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 03/14] drm/i915/guc/slpc: Adding SLPC communication interfaces X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" QWRkIGNvbnN0YW50cyBhbmQgcGFyYW1zIHRoYXQgYXJlIG5lZWRlZCB0byBjb25maWd1cmUgU0xQ Qy4KCnYyOiBBZGQgYSBuZXcgYWJpIGhlYWRlciBmb3IgU0xQQy4gUmVwbGFjZSBiaXRmaWVsZHMg d2l0aApnZW5tYXNrcy4gQWRkcmVzcyBvdGhlciBjb21tZW50cyBmcm9tIE1pY2hhbCBXLgoKdjM6 IEFkZCBzbHBjIEgyRyBmb3JtYXQgaW4gYWJpLCBvdGhlciByZXZpZXcgY29tbW1lbnRzIChNaWNo YWwgVykKCnY0OiBVcGRhdGUgc3RhdHVzIGJpdHMgYWNjb3JkaW5nIHRvIGxhdGVzdCBzcGVjCgpT aWduZWQtb2ZmLWJ5OiBWaW5heSBCZWxnYXVta2FyIDx2aW5heS5iZWxnYXVta2FyQGludGVsLmNv bT4KU2lnbmVkLW9mZi1ieTogU3VuZGFyZXNhbiBTdWphcml0aGEgPHN1amFyaXRoYS5zdW5kYXJl c2FuQGludGVsLmNvbT4KLS0tCiAuLi4vZ3B1L2RybS9pOTE1L2d0L3VjL2FiaS9ndWNfYWN0aW9u c19hYmkuaCAgfCAgIDEgLQogLi4uL2RybS9pOTE1L2d0L3VjL2FiaS9ndWNfYWN0aW9uc19zbHBj X2FiaS5oIHwgMjM0ICsrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv dWMvaW50ZWxfZ3VjLmMgICAgICAgIHwgICAzICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Vj L2ludGVsX2d1Y19md2lmLmggICB8ICAgNyArCiA0IGZpbGVzIGNoYW5nZWQsIDI0NCBpbnNlcnRp b25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvdWMvYWJpL2d1Y19hY3Rpb25zX3NscGNfYWJpLmgKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9hYmkvZ3VjX2FjdGlvbnNfYWJpLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC91Yy9hYmkvZ3VjX2FjdGlvbnNfYWJpLmgKaW5kZXggZDgzMmM4ZjExYzEx Li5jYTUzOGU1ZGU5NDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2Fi aS9ndWNfYWN0aW9uc19hYmkuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9hYmkv Z3VjX2FjdGlvbnNfYWJpLmgKQEAgLTEzNSw3ICsxMzUsNiBAQCBlbnVtIGludGVsX2d1Y19hY3Rp b24gewogCUlOVEVMX0dVQ19BQ1RJT05fU0VUX0NPTlRFWFRfUFJFRU1QVElPTl9USU1FT1VUID0g MHgxMDA3LAogCUlOVEVMX0dVQ19BQ1RJT05fQ09OVEVYVF9SRVNFVF9OT1RJRklDQVRJT04gPSAw eDEwMDgsCiAJSU5URUxfR1VDX0FDVElPTl9FTkdJTkVfRkFJTFVSRV9OT1RJRklDQVRJT04gPSAw eDEwMDksCi0JSU5URUxfR1VDX0FDVElPTl9TTFBDX1JFUVVFU1QgPSAweDMwMDMsCiAJSU5URUxf R1VDX0FDVElPTl9BVVRIRU5USUNBVEVfSFVDID0gMHg0MDAwLAogCUlOVEVMX0dVQ19BQ1RJT05f UkVHSVNURVJfQ09OVEVYVCA9IDB4NDUwMiwKIAlJTlRFTF9HVUNfQUNUSU9OX0RFUkVHSVNURVJf Q09OVEVYVCA9IDB4NDUwMywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Vj L2FiaS9ndWNfYWN0aW9uc19zbHBjX2FiaS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMv YWJpL2d1Y19hY3Rpb25zX3NscGNfYWJpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi5lZmQyNDg3NjI2ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC91Yy9hYmkvZ3VjX2FjdGlvbnNfc2xwY19hYmkuaApAQCAtMCwwICsxLDIzNCBA QAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVCAqLworLyoKKyAqIENvcHlyaWdodCDC qSAyMDIxIEludGVsIENvcnBvcmF0aW9uCisgKi8KKworI2lmbmRlZiBfR1VDX0FDVElPTlNfU0xQ Q19BQklfSF8KKyNkZWZpbmUgX0dVQ19BQ1RJT05TX1NMUENfQUJJX0hfCisKKyNpbmNsdWRlIDxs aW51eC90eXBlcy5oPgorI2luY2x1ZGUgImk5MTVfcmVnLmgiCisKKy8qKgorICogRE9DOiBTTFBD IFNIQVJFRCBEQVRBIFNUUlVDVFVSRQorICoKKyAqICArLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAg fCBDTCB8IEJ5dGVzfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfAorICogICs9PT09Kz09PT09PSs9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKKyAqICB8IDEgIHwg MC0zICB8IFNIQVJFRCBEQVRBIFNJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8CisgKiAgfCAgICArLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogIHwgICAgfCA0LTcgIHwg R0xPQkFMIFNUQVRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwKKyAqICB8ICAgICstLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgfCAgICB8IDgtMTEgfCBESVNQTEFZ IERBVEEgQUREUkVTUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAor ICogIHwgICAgKy0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAqICB8ICAgIHwgMTI6NjN8IFBBRERJTkcgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgKiAgKy0t LS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKworICogIHwgICAgfCAwOjYzIHwgUEFERElORyhQTEFURk9STSBJTkZP KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICArLS0tLSstLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rCisgKiAgfCAzICB8IDAtMyAgfCBUQVNLIFNUQVRFIERBVEEgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogICsgICAgKy0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSsKKyAqICB8ICAgIHwgNDo2MyB8IFBBRERJTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgKiAgKy0tLS0rLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICog IHw0LTIxfDA6MTA4N3wgT1ZFUlJJREUgUEFSQU1TIEFORCBCSVQgRklFTERTICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwKKyAqICArLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgfCAgICB8 ICAgICAgfCBQQURESU5HICsgRVhUUkEgUkVTRVJWRUQgUEFHRSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAorICogICstLS0tKy0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAqLworCisvKgorICogU0xQ QyBleHBvc2VzIGNlcnRhaW4gcGFyYW1ldGVycyBmb3IgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gYnkg dGhlIGhvc3QuCisgKiBUaGVzZSBhcmUgcmVmZXJyZWQgdG8gYXMgb3ZlcnJpZGUgcGFyYW1ldGVy cywgYmVjYXVzZSBpbiBtb3N0IGNhc2VzCisgKiB0aGUgaG9zdCB3aWxsIG5vdCBuZWVkIHRvIG1v ZGlmeSB0aGUgZGVmYXVsdCB2YWx1ZXMgdXNlZCBieSBTTFBDLgorICogU0xQQyByZW1lbWJlcnMg dGhlIGRlZmF1bHQgdmFsdWVzIHdoaWNoIGFsbG93cyB0aGUgaG9zdCB0byBlYXNpbHkgcmVzdG9y ZQorICogdGhlbSBieSBzaW1wbHkgdW5zZXR0aW5nIHRoZSBvdmVycmlkZS4gVGhlIGhvc3QgY2Fu IHNldCBvciB1bnNldCBvdmVycmlkZQorICogcGFyYW1ldGVycyBkdXJpbmcgU0xQQyAocmUtKWlu aXRpYWxpemF0aW9uIHVzaW5nIHRoZSBTTFBDIFJlc2V0IGV2ZW50LgorICogVGhlIGhvc3QgY2Fu IGFsc28gc2V0IG9yIHVuc2V0IG92ZXJyaWRlIHBhcmFtZXRlcnMgb24gdGhlIGZseSB1c2luZyB0 aGUKKyAqIFBhcmFtZXRlciBTZXQgYW5kIFBhcmFtZXRlciBVbnNldCBldmVudHMKKyAqLworCisj ZGVmaW5lIFNMUENfTUFYX09WRVJSSURFX1BBUkFNRVRFUlMJCTI1NgorI2RlZmluZSBTTFBDX09W RVJSSURFX0JJVEZJRUxEX1NJWkUgXAorCQkoU0xQQ19NQVhfT1ZFUlJJREVfUEFSQU1FVEVSUyAv IDMyKQorCisjZGVmaW5lIFNMUENfUEFHRV9TSVpFX0JZVEVTCQkJNDA5NgorI2RlZmluZSBTTFBD X0NBQ0hFTElORV9TSVpFX0JZVEVTCQk2NAorI2RlZmluZSBTTFBDX1NIQVJFRF9EQVRBX1NJWkVf QllURV9IRUFERVIJU0xQQ19DQUNIRUxJTkVfU0laRV9CWVRFUworI2RlZmluZSBTTFBDX1NIQVJF RF9EQVRBX1NJWkVfQllURV9QTEFURk9STV9JTkZPCVNMUENfQ0FDSEVMSU5FX1NJWkVfQllURVMK KyNkZWZpbmUgU0xQQ19TSEFSRURfREFUQV9TSVpFX0JZVEVfVEFTS19TVEFURQlTTFBDX0NBQ0hF TElORV9TSVpFX0JZVEVTCisjZGVmaW5lIFNMUENfU0hBUkVEX0RBVEFfTU9ERV9ERUZOX1RBQkxF X1NJWkUJU0xQQ19QQUdFX1NJWkVfQllURVMKKyNkZWZpbmUgU0xQQ19TSEFSRURfREFUQV9TSVpF X0JZVEVfTUFYCQkoMiAqIFNMUENfUEFHRV9TSVpFX0JZVEVTKQorCisvKgorICogQ2FjaGVsaW5l IHNpemUgYWxpZ25lZCAoVG90YWwgc2l6ZSBuZWVkZWQgZm9yCisgKiBTTFBNX0tNRF9NQVhfT1ZF UlJJREVfUEFSQU1FVEVSUz0yNTYgaXMgMTA4OCBieXRlcykKKyAqLworI2RlZmluZSBTTFBDX09W RVJSSURFX1BBUkFNU19UT1RBTF9CWVRFUwkoKCgoKFNMUENfTUFYX09WRVJSSURFX1BBUkFNRVRF UlMgKiA0KSBcCisJCQkJCQkrICgoU0xQQ19NQVhfT1ZFUlJJREVfUEFSQU1FVEVSUyAvIDMyKSAq IDQpKSBcCisJCSsgKFNMUENfQ0FDSEVMSU5FX1NJWkVfQllURVMtMSkpIC8gU0xQQ19DQUNIRUxJ TkVfU0laRV9CWVRFUykqU0xQQ19DQUNIRUxJTkVfU0laRV9CWVRFUykKKworI2RlZmluZSBTTFBD X1NIQVJFRF9EQVRBX1NJWkVfQllURV9PVEhFUgkoU0xQQ19TSEFSRURfREFUQV9TSVpFX0JZVEVf TUFYIC0gXAorCQkJCQkoU0xQQ19TSEFSRURfREFUQV9TSVpFX0JZVEVfSEVBREVSIFwKKwkJCQkJ KyBTTFBDX1NIQVJFRF9EQVRBX1NJWkVfQllURV9QTEFURk9STV9JTkZPIFwKKwkJCQkJKyBTTFBD X1NIQVJFRF9EQVRBX1NJWkVfQllURV9UQVNLX1NUQVRFIFwKKwkJCQkJKyBTTFBDX09WRVJSSURF X1BBUkFNU19UT1RBTF9CWVRFUyBcCisJCQkJCSsgU0xQQ19TSEFSRURfREFUQV9NT0RFX0RFRk5f VEFCTEVfU0laRSkpCisKK2VudW0gc2xwY190YXNrX2VuYWJsZSB7CisJU0xQQ19QQVJBTV9UQVNL X0RFRkFVTFQgPSAwLAorCVNMUENfUEFSQU1fVEFTS19FTkFCTEVELAorCVNMUENfUEFSQU1fVEFT S19ESVNBQkxFRCwKKwlTTFBDX1BBUkFNX1RBU0tfVU5LTk9XTgorfTsKKworZW51bSBzbHBjX2ds b2JhbF9zdGF0ZSB7CisJU0xQQ19HTE9CQUxfU1RBVEVfTk9UX1JVTk5JTkcgPSAwLAorCVNMUENf R0xPQkFMX1NUQVRFX0lOSVRJQUxJWklORyA9IDEsCisJU0xQQ19HTE9CQUxfU1RBVEVfUkVTRVRU SU5HID0gMiwKKwlTTFBDX0dMT0JBTF9TVEFURV9SVU5OSU5HID0gMywKKwlTTFBDX0dMT0JBTF9T VEFURV9TSFVUVElOR19ET1dOID0gNCwKKwlTTFBDX0dMT0JBTF9TVEFURV9FUlJPUiA9IDUKK307 CisKK2VudW0gc2xwY19wYXJhbV9pZCB7CisJU0xQQ19QQVJBTV9UQVNLX0VOQUJMRV9HVFBFUkYg PSAwLAorCVNMUENfUEFSQU1fVEFTS19ESVNBQkxFX0dUUEVSRiA9IDEsCisJU0xQQ19QQVJBTV9U QVNLX0VOQUJMRV9CQUxBTkNFUiA9IDIsCisJU0xQQ19QQVJBTV9UQVNLX0RJU0FCTEVfQkFMQU5D RVIgPSAzLAorCVNMUENfUEFSQU1fVEFTS19FTkFCTEVfRENDID0gNCwKKwlTTFBDX1BBUkFNX1RB U0tfRElTQUJMRV9EQ0MgPSA1LAorCVNMUENfUEFSQU1fR0xPQkFMX01JTl9HVF9VTlNMSUNFX0ZS RVFfTUhaID0gNiwKKwlTTFBDX1BBUkFNX0dMT0JBTF9NQVhfR1RfVU5TTElDRV9GUkVRX01IWiA9 IDcsCisJU0xQQ19QQVJBTV9HTE9CQUxfTUlOX0dUX1NMSUNFX0ZSRVFfTUhaID0gOCwKKwlTTFBD X1BBUkFNX0dMT0JBTF9NQVhfR1RfU0xJQ0VfRlJFUV9NSFogPSA5LAorCVNMUENfUEFSQU1fR1RQ RVJGX1RIUkVTSE9MRF9NQVhfRlBTID0gMTAsCisJU0xQQ19QQVJBTV9HTE9CQUxfRElTQUJMRV9H VF9GUkVRX01BTkFHRU1FTlQgPSAxMSwKKwlTTFBDX1BBUkFNX0dUUEVSRl9FTkFCTEVfRlJBTUVS QVRFX1NUQUxMSU5HID0gMTIsCisJU0xQQ19QQVJBTV9HTE9CQUxfRElTQUJMRV9SQzZfTU9ERV9D SEFOR0UgPSAxMywKKwlTTFBDX1BBUkFNX0dMT0JBTF9PQ19VTlNMSUNFX0ZSRVFfTUhaID0gMTQs CisJU0xQQ19QQVJBTV9HTE9CQUxfT0NfU0xJQ0VfRlJFUV9NSFogPSAxNSwKKwlTTFBDX1BBUkFN X0dMT0JBTF9FTkFCTEVfSUFfR1RfQkFMQU5DSU5HID0gMTYsCisJU0xQQ19QQVJBTV9HTE9CQUxf RU5BQkxFX0FEQVBUSVZFX0JVUlNUX1RVUkJPID0gMTcsCisJU0xQQ19QQVJBTV9HTE9CQUxfRU5B QkxFX0VWQUxfTU9ERSA9IDE4LAorCVNMUENfUEFSQU1fR0xPQkFMX0VOQUJMRV9CQUxBTkNFUl9J Tl9OT05fR0FNSU5HX01PREUgPSAxOSwKKwlTTFBDX1BBUkFNX0dMT0JBTF9SVF9NT0RFX1RVUkJP X0ZSRVFfREVMVEFfTUhaID0gMjAsCisJU0xQQ19QQVJBTV9QV1JHQVRFX1JDX01PREUgPSAyMSwK KwlTTFBDX1BBUkFNX0VEUl9NT0RFX0NPTVBVVEVfVElNRU9VVF9NUyA9IDIyLAorCVNMUENfUEFS QU1fRURSX1FPU19GUkVRX01IWiA9IDIzLAorCVNMUENfUEFSQU1fTUVESUFfRkZfUkFUSU9fTU9E RSA9IDI0LAorCVNMUENfUEFSQU1fRU5BQkxFX0lBX0ZSRVFfTElNSVRJTkcgPSAyNSwKKwlTTFBD X1BBUkFNX1NUUkFURUdJRVMgPSAyNiwKKwlTTFBDX1BBUkFNX1BPV0VSX1BST0ZJTEUgPSAyNywK KwlTTFBDX1BBUkFNX0lHTk9SRV9FRkZJQ0lFTlRfRlJFUVVFTkNZID0gMjgsCisJU0xQQ19NQVhf UEFSQU0gPSAzMiwKK307CisKK2VudW0gc2xwY19ldmVudF9pZCB7CisJU0xQQ19FVkVOVF9SRVNF VCA9IDAsCisJU0xQQ19FVkVOVF9TSFVURE9XTiA9IDEsCisJU0xQQ19FVkVOVF9QTEFURk9STV9J TkZPX0NIQU5HRSA9IDIsCisJU0xQQ19FVkVOVF9ESVNQTEFZX01PREVfQ0hBTkdFID0gMywKKwlT TFBDX0VWRU5UX0ZMSVBfQ09NUExFVEUgPSA0LAorCVNMUENfRVZFTlRfUVVFUllfVEFTS19TVEFU RSA9IDUsCisJU0xQQ19FVkVOVF9QQVJBTUVURVJfU0VUID0gNiwKKwlTTFBDX0VWRU5UX1BBUkFN RVRFUl9VTlNFVCA9IDcsCit9OworCitzdHJ1Y3Qgc2xwY190YXNrX3N0YXRlX2RhdGEgeworCXVu aW9uIHsKKwkJdTMyIHRhc2tfc3RhdHVzX3BhZGRpbmc7CisJCXN0cnVjdCB7CisJCQl1MzIgc3Rh dHVzOworI2RlZmluZSBTTFBDX0dUUEVSRl9UQVNLX0VOQUJMRUQJUkVHX0JJVCgwKQorI2RlZmlu ZSBTTFBDX0RDQ19UQVNLX0VOQUJMRUQJCVJFR19CSVQoMTEpCisjZGVmaW5lIFNMUENfSU5fREND CQkJUkVHX0JJVCgxMikKKyNkZWZpbmUgU0xQQ19CQUxBTkNFUl9FTkFCTEVECQlSRUdfQklUKDE1 KQorI2RlZmluZSBTTFBDX0lCQ19UQVNLX0VOQUJMRUQJCVJFR19CSVQoMTYpCisjZGVmaW5lIFNM UENfQkFMQU5DRVJfSUFfTE1UX0VOQUJMRUQJUkVHX0JJVCgxNykKKyNkZWZpbmUgU0xQQ19CQUxB TkNFUl9JQV9MTVRfQUNUSVZFCVJFR19CSVQoMTgpCisJCX07CisJfTsKKwl1bmlvbiB7CisJCXUz MiBmcmVxX3BhZGRpbmc7CisJCXN0cnVjdCB7CisjZGVmaW5lIFNMUENfTUFYX1VOU0xJQ0VfRlJF UV9NQVNLCVJFR19HRU5NQVNLKDcsIDApCisjZGVmaW5lIFNMUENfTUlOX1VOU0xJQ0VfRlJFUV9N QVNLCVJFR19HRU5NQVNLKDE1LCA4KQorI2RlZmluZSBTTFBDX01BWF9TTElDRV9GUkVRX01BU0sJ UkVHX0dFTk1BU0soMjMsIDE2KQorI2RlZmluZSBTTFBDX01JTl9TTElDRV9GUkVRX01BU0sJUkVH X0dFTk1BU0soMzEsIDI0KQorCQkJdTMyIGZyZXE7CisJCX07CisJfTsKK30gX19wYWNrZWQ7CisK K3N0cnVjdCBzbHBjX3NoYXJlZF9kYXRhX2hlYWRlciB7CisJLyogVG90YWwgc2l6ZSBpbiBieXRl cyBvZiB0aGlzIHNoYXJlZCBidWZmZXIuICovCisJdTMyIHNpemU7CisJdTMyIGdsb2JhbF9zdGF0 ZTsKKwl1MzIgZGlzcGxheV9kYXRhX2FkZHI7Cit9IF9fcGFja2VkOworCitzdHJ1Y3Qgc2xwY19v dmVycmlkZV9wYXJhbXMgeworCXUzMiBiaXRzW1NMUENfT1ZFUlJJREVfQklURklFTERfU0laRV07 CisJdTMyIHZhbHVlc1tTTFBDX01BWF9PVkVSUklERV9QQVJBTUVURVJTXTsKK30gX19wYWNrZWQ7 CisKK3N0cnVjdCBzbHBjX3NoYXJlZF9kYXRhIHsKKwlzdHJ1Y3Qgc2xwY19zaGFyZWRfZGF0YV9o ZWFkZXIgaGVhZGVyOworCXU4IHNoYXJlZF9kYXRhX2hlYWRlcl9wYWRbU0xQQ19TSEFSRURfREFU QV9TSVpFX0JZVEVfSEVBREVSIC0KKwkJCQlzaXplb2Yoc3RydWN0IHNscGNfc2hhcmVkX2RhdGFf aGVhZGVyKV07CisKKwl1OCBwbGF0Zm9ybV9pbmZvX3BhZFtTTFBDX1NIQVJFRF9EQVRBX1NJWkVf QllURV9QTEFURk9STV9JTkZPXTsKKworCXN0cnVjdCBzbHBjX3Rhc2tfc3RhdGVfZGF0YSB0YXNr X3N0YXRlX2RhdGE7CisJdTggdGFza19zdGF0ZV9kYXRhX3BhZFtTTFBDX1NIQVJFRF9EQVRBX1NJ WkVfQllURV9UQVNLX1NUQVRFIC0KKwkJCQlzaXplb2Yoc3RydWN0IHNscGNfdGFza19zdGF0ZV9k YXRhKV07CisKKwlzdHJ1Y3Qgc2xwY19vdmVycmlkZV9wYXJhbXMgb3ZlcnJpZGVfcGFyYW1zIDsK Kwl1OCBvdmVycmlkZV9wYXJhbXNfcGFkW1NMUENfT1ZFUlJJREVfUEFSQU1TX1RPVEFMX0JZVEVT IC0KKwkJCQlzaXplb2Yoc3RydWN0IHNscGNfb3ZlcnJpZGVfcGFyYW1zKV07CisKKwl1OCBzaGFy ZWRfZGF0YV9wYWRbU0xQQ19TSEFSRURfREFUQV9TSVpFX0JZVEVfT1RIRVJdOworCisJLyogUEFH RSAyICg0MDk2IGJ5dGVzKSwgbW9kZSBiYXNlZCBwYXJhbWV0ZXIgd2lsbCBiZSByZW1vdmVkIHNv b24gKi8KKwl1OCByZXNlcnZlZF9tb2RlX2RlZmluaXRpb25bNDA5Nl07Cit9IF9fcGFja2VkOwor CisvKioKKyAqIERPQzogU0xQQyBIMkcgTUVTU0FHRSBGT1JNQVQKKyAqCisgKiAgKy0tLSstLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKworICogIHwgICB8IEJpdHMgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICArPT09Kz09PT09PT0rPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0rCisgKiAgfCAwIHwgICAgMzEgfCBPUklHSU4gPSBHVUNfSFhHX09SSUdJTl9IT1NUXyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogIHwgICArLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAq ICB8ICAgfCAzMDoyOCB8IFRZUEUgPSBHVUNfSFhHX1RZUEVfUkVRVUVTVF8gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8CisgKiAgfCAgICstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogIHwgICB8 IDI3OjE2IHwgREFUQTAgPSBNQlogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwKKyAqICB8ICAgKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgfCAgIHwgIDE1OjAg fCBBQ1RJT04gPSBfYEdVQ19BQ1RJT05fSE9TVDJHVUNfUENfU0xQTV9SRVFVRVNUYCA9IDB4MzAw MyAgICAgfAorICogICstLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAqICB8IDEgfCAgMzE6OCB8ICoqRVZF TlRfSUQqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 CisgKiAgKyAgICstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogIHwgICB8ICAgNzowIHwgKipFVkVOVF9BUkdD KiogLSBudW1iZXIgb2YgZGF0YSBhcmd1bWVudHMgICAgICAgICAgICAgICAgICAgIHwKKyAqICAr LS0tKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgfCAyIHwgIDMxOjAgfCAqKkVWRU5UX0RBVEExKiogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogICstLS0rLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsKKyAqICB8Li4ufCAgMzE6MCB8IC4uLiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgKiAgKy0tLSstLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKworICogIHwyK258ICAzMTowIHwgKipFVkVOVF9EQVRBbioqICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICArLS0tKy0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisg Ki8KKworI2RlZmluZSBHVUNfQUNUSU9OX0hPU1QyR1VDX1BDX1NMUENfUkVRVUVTVAkJMHgzMDAz CisKKyNkZWZpbmUgSE9TVDJHVUNfUENfU0xQQ19SRVFVRVNUX01TR19NSU5fTEVOIFwKKwkJCQko R1VDX0hYR19SRVFVRVNUX01TR19NSU5fTEVOICsgMXUpCisjZGVmaW5lIEhPU1QyR1VDX1BDX1NM UENfRVZFTlRfTUFYX0lOUFVUX0FSR1MJCTkKKyNkZWZpbmUgSE9TVDJHVUNfUENfU0xQQ19SRVFV RVNUX01TR19NQVhfTEVOIFwKKwkJKEhPU1QyR1VDX1BDX1NMUENfUkVRVUVTVF9SRVFVRVNUX01T R19NSU5fTEVOICsgXAorCQkJSE9TVDJHVUNfUENfU0xQQ19FVkVOVF9NQVhfSU5QVVRfQVJHUykK KyNkZWZpbmUgSE9TVDJHVUNfUENfU0xQQ19SRVFVRVNUX01TR18wX01CWgkJR1VDX0hYR19SRVFV RVNUX01TR18wX0RBVEEwCisjZGVmaW5lIEhPU1QyR1VDX1BDX1NMUENfUkVRVUVTVF9NU0dfMV9F VkVOVF9JRAkJKDB4ZmYgPDwgOCkKKyNkZWZpbmUgSE9TVDJHVUNfUENfU0xQQ19SRVFVRVNUX01T R18xX0VWRU5UX0FSR0MJKDB4ZmYgPDwgMCkKKyNkZWZpbmUgSE9TVDJHVUNfUENfU0xQQ19SRVFV RVNUX01TR19uX0VWRU5UX0RBVEFuCUdVQ19IWEdfUkVRVUVTVF9NU0dfbl9EQVRBbgorCisjZW5k aWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjLmMKaW5kZXggMzliYzNjMTYwNTdi Li41YjBmOGM1NDFiNjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2lu dGVsX2d1Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5jCkBA IC0yMDgsNiArMjA4LDkgQEAgc3RhdGljIHUzMiBndWNfY3RsX2ZlYXR1cmVfZmxhZ3Moc3RydWN0 IGludGVsX2d1YyAqZ3VjKQogCWlmICghaW50ZWxfZ3VjX3N1Ym1pc3Npb25faXNfdXNlZChndWMp KQogCQlmbGFncyB8PSBHVUNfQ1RMX0RJU0FCTEVfU0NIRURVTEVSOwogCisJaWYgKGludGVsX2d1 Y19zbHBjX2lzX3VzZWQoZ3VjKSkKKwkJZmxhZ3MgfD0gR1VDX0NUTF9FTkFCTEVfU0xQQzsKKwog CXJldHVybiBmbGFnczsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv dWMvaW50ZWxfZ3VjX2Z3aWYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1 Y19md2lmLmgKaW5kZXggODI1MzQyNTliN2FkLi42ZWMzMzFiOTAzYTggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19md2lmLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2Z3aWYuaApAQCAtMTIsNiArMTIsNyBAQAogI2lu Y2x1ZGUgImd0L2ludGVsX2VuZ2luZV90eXBlcy5oIgogCiAjaW5jbHVkZSAiYWJpL2d1Y19hY3Rp b25zX2FiaS5oIgorI2luY2x1ZGUgImFiaS9ndWNfYWN0aW9uc19zbHBjX2FiaS5oIgogI2luY2x1 ZGUgImFiaS9ndWNfZXJyb3JzX2FiaS5oIgogI2luY2x1ZGUgImFiaS9ndWNfY29tbXVuaWNhdGlv bl9tbWlvX2FiaS5oIgogI2luY2x1ZGUgImFiaS9ndWNfY29tbXVuaWNhdGlvbl9jdGJfYWJpLmgi CkBAIC05NSw2ICs5Niw3IEBACiAjZGVmaW5lIEdVQ19DVExfV0EJCQkxCiAjZGVmaW5lIEdVQ19D VExfRkVBVFVSRQkJCTIKICNkZWZpbmUgICBHVUNfQ1RMX0RJU0FCTEVfU0NIRURVTEVSCSgxIDw8 IDE0KQorI2RlZmluZSAgIEdVQ19DVExfRU5BQkxFX1NMUEMJCUJJVCgyKQogCiAjZGVmaW5lIEdV Q19DVExfREVCVUcJCQkzCiAjZGVmaW5lICAgR1VDX0xPR19WRVJCT1NJVFlfU0hJRlQJMApAQCAt MTQxLDYgKzE0MywxMSBAQAogI2RlZmluZSBHVUNfSURfVE9fRU5HSU5FX0lOU1RBTkNFKGd1Y19p ZCkgXAogCSgoKGd1Y19pZCkgJiBHVUNfRU5HSU5FX0lOU1RBTkNFX01BU0spID4+IEdVQ19FTkdJ TkVfSU5TVEFOQ0VfU0hJRlQpCiAKKyNkZWZpbmUgU0xQQ19FVkVOVChpZCxjKSAoXAorRklFTERf UFJFUChIT1NUMkdVQ19QQ19TTFBDX1JFUVVFU1RfTVNHXzFfRVZFTlRfSUQsIGlkKSB8IFwKK0ZJ RUxEX1BSRVAoSE9TVDJHVUNfUENfU0xQQ19SRVFVRVNUX01TR18xX0VWRU5UX0FSR0MsIGMgKSBc CispCisKIHN0YXRpYyBpbmxpbmUgdTggZW5naW5lX2NsYXNzX3RvX2d1Y19jbGFzcyh1OCBjbGFz cykKIHsKIAlCVUlMRF9CVUdfT04oR1VDX1JFTkRFUl9DTEFTUyAhPSBSRU5ERVJfQ0xBU1MpOwot LSAKMi4yNS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UPPERCASE_50_75,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5288CC4338F for ; Wed, 28 Jul 2021 21:12:13 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1A8B86101C for ; Wed, 28 Jul 2021 21:12:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 1A8B86101C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 437D96E88B; Wed, 28 Jul 2021 21:12:08 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 05C4B6E138; Wed, 28 Jul 2021 21:12:05 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10059"; a="212740392" X-IronPort-AV: E=Sophos;i="5.84,276,1620716400"; d="scan'208";a="212740392" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jul 2021 14:12:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,276,1620716400"; d="scan'208";a="580995389" Received: from vbelgaum-ubuntu.fm.intel.com ([10.1.27.27]) by fmsmga001.fm.intel.com with ESMTP; 28 Jul 2021 14:12:03 -0700 From: Vinay Belgaumkar To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH 03/14] drm/i915/guc/slpc: Adding SLPC communication interfaces Date: Wed, 28 Jul 2021 14:11:33 -0700 Message-Id: <20210728211144.15322-4-vinay.belgaumkar@intel.com> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20210728211144.15322-1-vinay.belgaumkar@intel.com> References: <20210728211144.15322-1-vinay.belgaumkar@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Vinay Belgaumkar , Sundaresan Sujaritha Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add constants and params that are needed to configure SLPC. v2: Add a new abi header for SLPC. Replace bitfields with genmasks. Address other comments from Michal W. v3: Add slpc H2G format in abi, other review commments (Michal W) v4: Update status bits according to latest spec Signed-off-by: Vinay Belgaumkar Signed-off-by: Sundaresan Sujaritha --- .../gpu/drm/i915/gt/uc/abi/guc_actions_abi.h | 1 - .../drm/i915/gt/uc/abi/guc_actions_slpc_abi.h | 234 ++++++++++++++++++ drivers/gpu/drm/i915/gt/uc/intel_guc.c | 3 + drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 7 + 4 files changed, 244 insertions(+), 1 deletion(-) create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h diff --git a/drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h b/drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h index d832c8f11c11..ca538e5de940 100644 --- a/drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h +++ b/drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h @@ -135,7 +135,6 @@ enum intel_guc_action { INTEL_GUC_ACTION_SET_CONTEXT_PREEMPTION_TIMEOUT = 0x1007, INTEL_GUC_ACTION_CONTEXT_RESET_NOTIFICATION = 0x1008, INTEL_GUC_ACTION_ENGINE_FAILURE_NOTIFICATION = 0x1009, - INTEL_GUC_ACTION_SLPC_REQUEST = 0x3003, INTEL_GUC_ACTION_AUTHENTICATE_HUC = 0x4000, INTEL_GUC_ACTION_REGISTER_CONTEXT = 0x4502, INTEL_GUC_ACTION_DEREGISTER_CONTEXT = 0x4503, diff --git a/drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h b/drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h new file mode 100644 index 000000000000..efd2487626f8 --- /dev/null +++ b/drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h @@ -0,0 +1,234 @@ +/* SPDX-License-Identifier: MIT */ +/* + * Copyright © 2021 Intel Corporation + */ + +#ifndef _GUC_ACTIONS_SLPC_ABI_H_ +#define _GUC_ACTIONS_SLPC_ABI_H_ + +#include +#include "i915_reg.h" + +/** + * DOC: SLPC SHARED DATA STRUCTURE + * + * +----+------+--------------------------------------------------------------+ + * | CL | Bytes| Description | + * +====+======+==============================================================+ + * | 1 | 0-3 | SHARED DATA SIZE | + * | +------+--------------------------------------------------------------+ + * | | 4-7 | GLOBAL STATE | + * | +------+--------------------------------------------------------------+ + * | | 8-11 | DISPLAY DATA ADDRESS | + * | +------+--------------------------------------------------------------+ + * | | 12:63| PADDING | + * +----+------+--------------------------------------------------------------+ + * | | 0:63 | PADDING(PLATFORM INFO) | + * +----+------+--------------------------------------------------------------+ + * | 3 | 0-3 | TASK STATE DATA | + * + +------+--------------------------------------------------------------+ + * | | 4:63 | PADDING | + * +----+------+--------------------------------------------------------------+ + * |4-21|0:1087| OVERRIDE PARAMS AND BIT FIELDS | + * +----+------+--------------------------------------------------------------+ + * | | | PADDING + EXTRA RESERVED PAGE | + * +----+------+--------------------------------------------------------------+ + */ + +/* + * SLPC exposes certain parameters for global configuration by the host. + * These are referred to as override parameters, because in most cases + * the host will not need to modify the default values used by SLPC. + * SLPC remembers the default values which allows the host to easily restore + * them by simply unsetting the override. The host can set or unset override + * parameters during SLPC (re-)initialization using the SLPC Reset event. + * The host can also set or unset override parameters on the fly using the + * Parameter Set and Parameter Unset events + */ + +#define SLPC_MAX_OVERRIDE_PARAMETERS 256 +#define SLPC_OVERRIDE_BITFIELD_SIZE \ + (SLPC_MAX_OVERRIDE_PARAMETERS / 32) + +#define SLPC_PAGE_SIZE_BYTES 4096 +#define SLPC_CACHELINE_SIZE_BYTES 64 +#define SLPC_SHARED_DATA_SIZE_BYTE_HEADER SLPC_CACHELINE_SIZE_BYTES +#define SLPC_SHARED_DATA_SIZE_BYTE_PLATFORM_INFO SLPC_CACHELINE_SIZE_BYTES +#define SLPC_SHARED_DATA_SIZE_BYTE_TASK_STATE SLPC_CACHELINE_SIZE_BYTES +#define SLPC_SHARED_DATA_MODE_DEFN_TABLE_SIZE SLPC_PAGE_SIZE_BYTES +#define SLPC_SHARED_DATA_SIZE_BYTE_MAX (2 * SLPC_PAGE_SIZE_BYTES) + +/* + * Cacheline size aligned (Total size needed for + * SLPM_KMD_MAX_OVERRIDE_PARAMETERS=256 is 1088 bytes) + */ +#define SLPC_OVERRIDE_PARAMS_TOTAL_BYTES (((((SLPC_MAX_OVERRIDE_PARAMETERS * 4) \ + + ((SLPC_MAX_OVERRIDE_PARAMETERS / 32) * 4)) \ + + (SLPC_CACHELINE_SIZE_BYTES-1)) / SLPC_CACHELINE_SIZE_BYTES)*SLPC_CACHELINE_SIZE_BYTES) + +#define SLPC_SHARED_DATA_SIZE_BYTE_OTHER (SLPC_SHARED_DATA_SIZE_BYTE_MAX - \ + (SLPC_SHARED_DATA_SIZE_BYTE_HEADER \ + + SLPC_SHARED_DATA_SIZE_BYTE_PLATFORM_INFO \ + + SLPC_SHARED_DATA_SIZE_BYTE_TASK_STATE \ + + SLPC_OVERRIDE_PARAMS_TOTAL_BYTES \ + + SLPC_SHARED_DATA_MODE_DEFN_TABLE_SIZE)) + +enum slpc_task_enable { + SLPC_PARAM_TASK_DEFAULT = 0, + SLPC_PARAM_TASK_ENABLED, + SLPC_PARAM_TASK_DISABLED, + SLPC_PARAM_TASK_UNKNOWN +}; + +enum slpc_global_state { + SLPC_GLOBAL_STATE_NOT_RUNNING = 0, + SLPC_GLOBAL_STATE_INITIALIZING = 1, + SLPC_GLOBAL_STATE_RESETTING = 2, + SLPC_GLOBAL_STATE_RUNNING = 3, + SLPC_GLOBAL_STATE_SHUTTING_DOWN = 4, + SLPC_GLOBAL_STATE_ERROR = 5 +}; + +enum slpc_param_id { + SLPC_PARAM_TASK_ENABLE_GTPERF = 0, + SLPC_PARAM_TASK_DISABLE_GTPERF = 1, + SLPC_PARAM_TASK_ENABLE_BALANCER = 2, + SLPC_PARAM_TASK_DISABLE_BALANCER = 3, + SLPC_PARAM_TASK_ENABLE_DCC = 4, + SLPC_PARAM_TASK_DISABLE_DCC = 5, + SLPC_PARAM_GLOBAL_MIN_GT_UNSLICE_FREQ_MHZ = 6, + SLPC_PARAM_GLOBAL_MAX_GT_UNSLICE_FREQ_MHZ = 7, + SLPC_PARAM_GLOBAL_MIN_GT_SLICE_FREQ_MHZ = 8, + SLPC_PARAM_GLOBAL_MAX_GT_SLICE_FREQ_MHZ = 9, + SLPC_PARAM_GTPERF_THRESHOLD_MAX_FPS = 10, + SLPC_PARAM_GLOBAL_DISABLE_GT_FREQ_MANAGEMENT = 11, + SLPC_PARAM_GTPERF_ENABLE_FRAMERATE_STALLING = 12, + SLPC_PARAM_GLOBAL_DISABLE_RC6_MODE_CHANGE = 13, + SLPC_PARAM_GLOBAL_OC_UNSLICE_FREQ_MHZ = 14, + SLPC_PARAM_GLOBAL_OC_SLICE_FREQ_MHZ = 15, + SLPC_PARAM_GLOBAL_ENABLE_IA_GT_BALANCING = 16, + SLPC_PARAM_GLOBAL_ENABLE_ADAPTIVE_BURST_TURBO = 17, + SLPC_PARAM_GLOBAL_ENABLE_EVAL_MODE = 18, + SLPC_PARAM_GLOBAL_ENABLE_BALANCER_IN_NON_GAMING_MODE = 19, + SLPC_PARAM_GLOBAL_RT_MODE_TURBO_FREQ_DELTA_MHZ = 20, + SLPC_PARAM_PWRGATE_RC_MODE = 21, + SLPC_PARAM_EDR_MODE_COMPUTE_TIMEOUT_MS = 22, + SLPC_PARAM_EDR_QOS_FREQ_MHZ = 23, + SLPC_PARAM_MEDIA_FF_RATIO_MODE = 24, + SLPC_PARAM_ENABLE_IA_FREQ_LIMITING = 25, + SLPC_PARAM_STRATEGIES = 26, + SLPC_PARAM_POWER_PROFILE = 27, + SLPC_PARAM_IGNORE_EFFICIENT_FREQUENCY = 28, + SLPC_MAX_PARAM = 32, +}; + +enum slpc_event_id { + SLPC_EVENT_RESET = 0, + SLPC_EVENT_SHUTDOWN = 1, + SLPC_EVENT_PLATFORM_INFO_CHANGE = 2, + SLPC_EVENT_DISPLAY_MODE_CHANGE = 3, + SLPC_EVENT_FLIP_COMPLETE = 4, + SLPC_EVENT_QUERY_TASK_STATE = 5, + SLPC_EVENT_PARAMETER_SET = 6, + SLPC_EVENT_PARAMETER_UNSET = 7, +}; + +struct slpc_task_state_data { + union { + u32 task_status_padding; + struct { + u32 status; +#define SLPC_GTPERF_TASK_ENABLED REG_BIT(0) +#define SLPC_DCC_TASK_ENABLED REG_BIT(11) +#define SLPC_IN_DCC REG_BIT(12) +#define SLPC_BALANCER_ENABLED REG_BIT(15) +#define SLPC_IBC_TASK_ENABLED REG_BIT(16) +#define SLPC_BALANCER_IA_LMT_ENABLED REG_BIT(17) +#define SLPC_BALANCER_IA_LMT_ACTIVE REG_BIT(18) + }; + }; + union { + u32 freq_padding; + struct { +#define SLPC_MAX_UNSLICE_FREQ_MASK REG_GENMASK(7, 0) +#define SLPC_MIN_UNSLICE_FREQ_MASK REG_GENMASK(15, 8) +#define SLPC_MAX_SLICE_FREQ_MASK REG_GENMASK(23, 16) +#define SLPC_MIN_SLICE_FREQ_MASK REG_GENMASK(31, 24) + u32 freq; + }; + }; +} __packed; + +struct slpc_shared_data_header { + /* Total size in bytes of this shared buffer. */ + u32 size; + u32 global_state; + u32 display_data_addr; +} __packed; + +struct slpc_override_params { + u32 bits[SLPC_OVERRIDE_BITFIELD_SIZE]; + u32 values[SLPC_MAX_OVERRIDE_PARAMETERS]; +} __packed; + +struct slpc_shared_data { + struct slpc_shared_data_header header; + u8 shared_data_header_pad[SLPC_SHARED_DATA_SIZE_BYTE_HEADER - + sizeof(struct slpc_shared_data_header)]; + + u8 platform_info_pad[SLPC_SHARED_DATA_SIZE_BYTE_PLATFORM_INFO]; + + struct slpc_task_state_data task_state_data; + u8 task_state_data_pad[SLPC_SHARED_DATA_SIZE_BYTE_TASK_STATE - + sizeof(struct slpc_task_state_data)]; + + struct slpc_override_params override_params ; + u8 override_params_pad[SLPC_OVERRIDE_PARAMS_TOTAL_BYTES - + sizeof(struct slpc_override_params)]; + + u8 shared_data_pad[SLPC_SHARED_DATA_SIZE_BYTE_OTHER]; + + /* PAGE 2 (4096 bytes), mode based parameter will be removed soon */ + u8 reserved_mode_definition[4096]; +} __packed; + +/** + * DOC: SLPC H2G MESSAGE FORMAT + * + * +---+-------+--------------------------------------------------------------+ + * | | Bits | Description | + * +===+=======+==============================================================+ + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_HOST_ | + * | +-------+--------------------------------------------------------------+ + * | | 30:28 | TYPE = GUC_HXG_TYPE_REQUEST_ | + * | +-------+--------------------------------------------------------------+ + * | | 27:16 | DATA0 = MBZ | + * | +-------+--------------------------------------------------------------+ + * | | 15:0 | ACTION = _`GUC_ACTION_HOST2GUC_PC_SLPM_REQUEST` = 0x3003 | + * +---+-------+--------------------------------------------------------------+ + * | 1 | 31:8 | **EVENT_ID** | + * + +-------+--------------------------------------------------------------+ + * | | 7:0 | **EVENT_ARGC** - number of data arguments | + * +---+-------+--------------------------------------------------------------+ + * | 2 | 31:0 | **EVENT_DATA1** | + * +---+-------+--------------------------------------------------------------+ + * |...| 31:0 | ... | + * +---+-------+--------------------------------------------------------------+ + * |2+n| 31:0 | **EVENT_DATAn** | + * +---+-------+--------------------------------------------------------------+ + */ + +#define GUC_ACTION_HOST2GUC_PC_SLPC_REQUEST 0x3003 + +#define HOST2GUC_PC_SLPC_REQUEST_MSG_MIN_LEN \ + (GUC_HXG_REQUEST_MSG_MIN_LEN + 1u) +#define HOST2GUC_PC_SLPC_EVENT_MAX_INPUT_ARGS 9 +#define HOST2GUC_PC_SLPC_REQUEST_MSG_MAX_LEN \ + (HOST2GUC_PC_SLPC_REQUEST_REQUEST_MSG_MIN_LEN + \ + HOST2GUC_PC_SLPC_EVENT_MAX_INPUT_ARGS) +#define HOST2GUC_PC_SLPC_REQUEST_MSG_0_MBZ GUC_HXG_REQUEST_MSG_0_DATA0 +#define HOST2GUC_PC_SLPC_REQUEST_MSG_1_EVENT_ID (0xff << 8) +#define HOST2GUC_PC_SLPC_REQUEST_MSG_1_EVENT_ARGC (0xff << 0) +#define HOST2GUC_PC_SLPC_REQUEST_MSG_n_EVENT_DATAn GUC_HXG_REQUEST_MSG_n_DATAn + +#endif diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc.c index 39bc3c16057b..5b0f8c541b69 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c @@ -208,6 +208,9 @@ static u32 guc_ctl_feature_flags(struct intel_guc *guc) if (!intel_guc_submission_is_used(guc)) flags |= GUC_CTL_DISABLE_SCHEDULER; + if (intel_guc_slpc_is_used(guc)) + flags |= GUC_CTL_ENABLE_SLPC; + return flags; } diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h b/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h index 82534259b7ad..6ec331b903a8 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h @@ -12,6 +12,7 @@ #include "gt/intel_engine_types.h" #include "abi/guc_actions_abi.h" +#include "abi/guc_actions_slpc_abi.h" #include "abi/guc_errors_abi.h" #include "abi/guc_communication_mmio_abi.h" #include "abi/guc_communication_ctb_abi.h" @@ -95,6 +96,7 @@ #define GUC_CTL_WA 1 #define GUC_CTL_FEATURE 2 #define GUC_CTL_DISABLE_SCHEDULER (1 << 14) +#define GUC_CTL_ENABLE_SLPC BIT(2) #define GUC_CTL_DEBUG 3 #define GUC_LOG_VERBOSITY_SHIFT 0 @@ -141,6 +143,11 @@ #define GUC_ID_TO_ENGINE_INSTANCE(guc_id) \ (((guc_id) & GUC_ENGINE_INSTANCE_MASK) >> GUC_ENGINE_INSTANCE_SHIFT) +#define SLPC_EVENT(id,c) (\ +FIELD_PREP(HOST2GUC_PC_SLPC_REQUEST_MSG_1_EVENT_ID, id) | \ +FIELD_PREP(HOST2GUC_PC_SLPC_REQUEST_MSG_1_EVENT_ARGC, c ) \ +) + static inline u8 engine_class_to_guc_class(u8 class) { BUILD_BUG_ON(GUC_RENDER_CLASS != RENDER_CLASS); -- 2.25.0