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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 6024BD5B87A for ; Tue, 16 Dec 2025 01:19:12 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 25F9610E62A; Tue, 16 Dec 2025 01:19:12 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="djmIyRXW"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by gabe.freedesktop.org (Postfix) with ESMTPS id C036A10E62B for ; Tue, 16 Dec 2025 01:19:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1765847952; x=1797383952; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7m+ftgn/JnI/d22459G1FSE3JyGjD7aauAW2P0Hth2U=; b=djmIyRXWo5e8aEWhFWhVI5p2WlOGL4naxXy5ugxu5Hz6dg1XXr8RNrUS 2TL7QRdJiOZSKg99xs/miKy9vsPoyzdB0WYhhFuRnDwg94dDY4tIJgPil 4SnQAlS5VbKV58gl6x9hOqm7Bg5rVN/mAb6eCXBBHQEeXQgSX05qMQdpT qB3SdXmY/g+orngq1vhw3opwyM+1qrbGqBeocNNP0nEduQ1gdOKbVaphZ vqPMKjh2iEqi57KIdaizs308dCGNzoaIJFRvAvqKrtw5wVgDJ8VgBjmbL eR5bWeZYeca7DQRRPuJ8qZGFIbJVBjuSDDbeMOairgmBkJvgQkHFzQo32 Q==; X-CSE-ConnectionGUID: lm6oeD1iQBevBSipuwzeOA== X-CSE-MsgGUID: NYxoed9QTmGHMxouDcu+XA== X-IronPort-AV: E=McAfee;i="6800,10657,11643"; a="85172140" X-IronPort-AV: E=Sophos;i="6.21,152,1763452800"; d="scan'208";a="85172140" Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Dec 2025 17:19:11 -0800 X-CSE-ConnectionGUID: DRgTO1xOT8utJeTIqX+eqA== X-CSE-MsgGUID: bl7TasuqRaiNmtxCj88IJA== X-ExtLoop1: 1 Received: from unerlige-desk1.jf.intel.com ([10.88.27.165]) by fmviesa003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Dec 2025 17:19:11 -0800 From: Umesh Nerlige Ramappa To: intel-xe@lists.freedesktop.org Cc: badal.nilawar@intel.com, anoop.c.vijay@intel.com Subject: [PATCH v4 1/3] drm/xe/soc_remapper: Initialize SoC remapper during Xe probe Date: Mon, 15 Dec 2025 17:19:06 -0800 Message-ID: <20251216011904.2771875-6-umesh.nerlige.ramappa@intel.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251216011904.2771875-5-umesh.nerlige.ramappa@intel.com> References: <20251216011904.2771875-5-umesh.nerlige.ramappa@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" SoC remapper is used to map different HW functions in the SoC to their respective drivers. Initialize SoC remapper during driver load. Signed-off-by: Umesh Nerlige Ramappa --- v2: (Ashutosh/Lucas) - s/remapper/soc_remapper/ - return status from init during probe - reorder patches 1 and 2 from earlier series - fix copyright year v3: (Michal, Badal) - Kernel doc fixes - Alphabetical order for headers/objects - Add has_soc_remapper - Drop unnecessary headers v4: (Badal) - Telem and SC need separate has_ checks --- drivers/gpu/drm/xe/Makefile | 1 + drivers/gpu/drm/xe/xe_device.c | 5 +++++ drivers/gpu/drm/xe/xe_device_types.h | 6 ++++++ drivers/gpu/drm/xe/xe_soc_remapper.c | 21 +++++++++++++++++++++ drivers/gpu/drm/xe/xe_soc_remapper.h | 13 +++++++++++++ 5 files changed, 46 insertions(+) create mode 100644 drivers/gpu/drm/xe/xe_soc_remapper.c create mode 100644 drivers/gpu/drm/xe/xe_soc_remapper.h diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile index e5f3c2ec9e9a..bd6169fa6429 100644 --- a/drivers/gpu/drm/xe/Makefile +++ b/drivers/gpu/drm/xe/Makefile @@ -115,6 +115,7 @@ xe-y += xe_bb.o \ xe_sa.o \ xe_sched_job.o \ xe_shrinker.o \ + xe_soc_remapper.o \ xe_step.o \ xe_survivability_mode.o \ xe_sync.o \ diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c index 1197f914ef77..044003aa5cc1 100644 --- a/drivers/gpu/drm/xe/xe_device.c +++ b/drivers/gpu/drm/xe/xe_device.c @@ -61,6 +61,7 @@ #include "xe_pxp.h" #include "xe_query.h" #include "xe_shrinker.h" +#include "xe_soc_remapper.h" #include "xe_survivability_mode.h" #include "xe_sriov.h" #include "xe_tile.h" @@ -906,6 +907,10 @@ int xe_device_probe(struct xe_device *xe) xe_nvm_init(xe); + err = xe_soc_remapper_init(xe); + if (err) + return err; + err = xe_heci_gsc_init(xe); if (err) return err; diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h index 842b33444944..598a302a288a 100644 --- a/drivers/gpu/drm/xe/xe_device_types.h +++ b/drivers/gpu/drm/xe/xe_device_types.h @@ -560,6 +560,12 @@ struct xe_device { struct mutex lock; } pmt; + /** @soc_remapper: SoC remapper object */ + struct { + /** @soc_remapper.lock: Serialize access to SoC Remapper's index registers */ + spinlock_t lock; + } soc_remapper; + /** * @pm_callback_task: Track the active task that is running in either * the runtime_suspend or runtime_resume callbacks. diff --git a/drivers/gpu/drm/xe/xe_soc_remapper.c b/drivers/gpu/drm/xe/xe_soc_remapper.c new file mode 100644 index 000000000000..8a6749918436 --- /dev/null +++ b/drivers/gpu/drm/xe/xe_soc_remapper.c @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: MIT +/* + * Copyright © 2025 Intel Corporation + */ + +#include "xe_soc_remapper.h" + +/** + * xe_soc_remapper_init() - Initialize SoC remapper + * @xe: Pointer to xe device. + * + * Initialize SoC remapper. + + * Return: 0 on success, error code on failure + */ +int xe_soc_remapper_init(struct xe_device *xe) +{ + spin_lock_init(&xe->soc_remapper.lock); + + return 0; +} diff --git a/drivers/gpu/drm/xe/xe_soc_remapper.h b/drivers/gpu/drm/xe/xe_soc_remapper.h new file mode 100644 index 000000000000..1060ad0f5abc --- /dev/null +++ b/drivers/gpu/drm/xe/xe_soc_remapper.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: MIT */ +/* + * Copyright © 2025 Intel Corporation + */ + +#ifndef _XE_SOC_REMAPPER_H_ +#define _XE_SOC_REMAPPER_H_ + +#include "xe_device_types.h" + +int xe_soc_remapper_init(struct xe_device *xe); + +#endif -- 2.43.0