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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9DBCBC433EF for ; Tue, 22 Feb 2022 10:49:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231499AbiBVKuT (ORCPT ); Tue, 22 Feb 2022 05:50:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54090 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231553AbiBVKuI (ORCPT ); Tue, 22 Feb 2022 05:50:08 -0500 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 366F315DB0E for ; Tue, 22 Feb 2022 02:49:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1645526976; x=1677062976; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ZENWWqsj2fN6okt+gRsSlHSHETcuIYiXT7ufQXThyLs=; b=G5TYYObGdtQnfQemVMIruYEjA8bIfWe09P8osxji+mcHMOTybBNDQQJF qWEXgRSoOMGwSCvC0Rru9WDp82NZ0Qwe5WyxzKbm7GXK9XUReRf7g23cL j5W4mCYylAbEoFEXgZLxL+0DCCQv/SVznqj/Vjm7Xer7ISlLpxz/B1Ybo ppkwwRz8hELRP8TbyQvbPVYrw2Teo8I54z6CPRGJtXbs0iusP7Q/mVX8b MiYsz5dt8pHzE5UWIp9l++im7UtVvnuXfo2YcIWOlGKLPRpI2pGZ7duJW iN/f+lqQfuUH511elK/q6Zi3r2bsTYPO6JIs0+5WPbxCc2p7mLv253+q9 g==; X-IronPort-AV: E=McAfee;i="6200,9189,10265"; a="250489640" X-IronPort-AV: E=Sophos;i="5.88,387,1635231600"; d="scan'208";a="250489640" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Feb 2022 02:49:35 -0800 X-IronPort-AV: E=Sophos;i="5.88,387,1635231600"; d="scan'208";a="706569600" Received: from sannilnx.jer.intel.com ([10.12.231.79]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Feb 2022 02:49:32 -0800 From: Alexander Usyskin To: Greg Kroah-Hartman , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , David Airlie , Daniel Vetter , Tvrtko Ursulin Cc: Tomas Winkler , Alexander Usyskin , Vitaly Lubart , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/7] drm/i915/gsc: add GSC XeHP SDV platform definition Date: Tue, 22 Feb 2022 12:48:51 +0200 Message-Id: <20220222104854.3188643-5-alexander.usyskin@intel.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220222104854.3188643-1-alexander.usyskin@intel.com> References: <20220222104854.3188643-1-alexander.usyskin@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Define GSC on XeHP SDV (Intel(R) dGPU without display) XeHP SDV uses the same hardware settings as DG1, but uses polling instead of interrupts and runs the firmware in slow pace due to hardware limitations. Signed-off-by: Vitaly Lubart Signed-off-by: Tomas Winkler Signed-off-by: Alexander Usyskin --- drivers/gpu/drm/i915/gt/intel_gsc.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gt/intel_gsc.c b/drivers/gpu/drm/i915/gt/intel_gsc.c index 1cbad9248f7c..2d6c871140d8 100644 --- a/drivers/gpu/drm/i915/gt/intel_gsc.c +++ b/drivers/gpu/drm/i915/gt/intel_gsc.c @@ -56,6 +56,19 @@ static const struct intel_gsc_def intel_gsc_def_dg1[] = { } }; +static const struct intel_gsc_def intel_gsc_def_xehpsdv[] = { + { + /* HECI1 not enabled on the device. */ + }, + { + .name = "mei-gscfi", + .bar = GSC_DG1_HECI2_BASE, + .bar_size = GSC_BAR_LENGTH, + .use_polling = true, + .slow_fw = true, + } +}; + static void intel_gsc_release_dev(struct device *dev) { struct auxiliary_device *aux_dev = to_auxiliary_dev(dev); @@ -92,7 +105,14 @@ static void intel_gsc_init_one(struct drm_i915_private *i915, if (intf_id == 0 && !HAS_HECI_PXP(i915)) return; - def = &intel_gsc_def_dg1[intf_id]; + if (IS_DG1(i915)) { + def = &intel_gsc_def_dg1[intf_id]; + } else if (IS_XEHPSDV(i915)) { + def = &intel_gsc_def_xehpsdv[intf_id]; + } else { + drm_warn_once(&i915->drm, "Unknown platform\n"); + return; + } if (!def->name) { drm_warn_once(&i915->drm, "HECI%d is not implemented!\n", intf_id + 1); -- 2.32.0