From patchwork Thu Jun 12 13:24:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heikki Krogerus X-Patchwork-Id: 896471 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E4FDD246BAC; Thu, 12 Jun 2025 13:25:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749734726; cv=none; b=CeJLpCmBfICZNzblqd06B5XU5kLMa/IwHbdoGl7fUcfgP/qXon47tIBjCC61/SZwPvp/iW7qFr+SpkwUrkSUhOb3i+D2zaiNEE33IJhofmTwsqRXpOZOumAs9B2GxLGxKf1Q99q8x7uy27ImswGaF80nA2JqImDDbvAAWfA/Zw8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749734726; c=relaxed/simple; bh=FSCdKuBZu83ZlNuhWTKve1fHQ1SiZ+gddU/oetdw40o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NVfb+z0h0+myq3KPU6jQucRJzvGWIW/TZFDvFC9BzvV0//bSAZUb1MxrOy08uVE/tl8bwxf6GkXawDD4GWRJXs9YiLQSyFKW01WXXmY7ab2LiKbS0YxmtUDTNRT/tQ9MOFEyN40i9kzs6/8AD0Agr8Pk6aP5cIhkVtGO9fDfMeg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=VrcCS0kC; arc=none smtp.client-ip=198.175.65.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="VrcCS0kC" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749734725; x=1781270725; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=FSCdKuBZu83ZlNuhWTKve1fHQ1SiZ+gddU/oetdw40o=; b=VrcCS0kC5EF8KSflOK8XUp+OgUn1f6X5gt+nNA71fMcwPjDnR7TiG1ah iJ8jtYCSOaXv0vI4yPSVssmOKEZRD1mj3OT/tJ8dkSZbw352/2xzr0Nfi fnxSoewiHF4Gyy1yT+GrWd7rti8xYdR0z4kH5XoQJv1DQ28KujAMPLQxF UB/GinVjNEmTFXMsoOxhF2ClJ+l3DempdkmEcve+kkQ8WlSHBvG0XKXFK vUzPCbeevsF7YVhHVqBWqq4qtU5op0K7GG5H2Wk1ODvlgG1f9MiIDkSi/ FLIEUywvc6BpMR7Wk9mmQGHTUokUF0LChzWyRbI2rwMOu/95HBEirh9g2 g==; X-CSE-ConnectionGUID: 6V38+ShUSfC7WXlyONJ5uw== X-CSE-MsgGUID: SpGITEZ+Qo6oAkkQcbNGZA== X-IronPort-AV: E=McAfee;i="6800,10657,11462"; a="55588435" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="55588435" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 06:25:17 -0700 X-CSE-ConnectionGUID: cDplODooQ4K2E+Qd9V06Vg== X-CSE-MsgGUID: B15xZwgSRp6R9xmYa2KJcQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="152509255" Received: from black.fi.intel.com (HELO black.fi.intel.com.) ([10.237.72.28]) by orviesa004.jf.intel.com with ESMTP; 12 Jun 2025 06:25:12 -0700 From: Heikki Krogerus To: Lucas De Marchi , =?utf-8?q?Thomas_Hellstr?= =?utf-8?q?=C3=B6m?= , Rodrigo Vivi , Jarkko Nikula Cc: David Airlie , Simona Vetter , Andy Shevchenko , Mika Westerberg , Jan Dabros , Andi Shyti , Raag Jadav , "Tauro, Riana" , "Adatrao, Srinivasa" , "Michael J. Ruhl" , intel-xe@lists.freedesktop.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 4/4] drm/xe/xe_i2c: Add support for i2c in survivability mode Date: Thu, 12 Jun 2025 16:24:50 +0300 Message-ID: <20250612132450.3293248-5-heikki.krogerus@linux.intel.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250612132450.3293248-1-heikki.krogerus@linux.intel.com> References: <20250612132450.3293248-1-heikki.krogerus@linux.intel.com> Precedence: bulk X-Mailing-List: linux-i2c@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Riana Tauro Initialize i2c in survivability mode to allow firmware update of Add-In Management Controller (AMC) in survivability mode Signed-off-by: Riana Tauro Reviewed-by: Raag Jadav Signed-off-by: Heikki Krogerus --- drivers/gpu/drm/xe/xe_survivability_mode.c | 23 ++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_survivability_mode.c b/drivers/gpu/drm/xe/xe_survivability_mode.c index 1f710b3fc599..3800cc855c22 100644 --- a/drivers/gpu/drm/xe/xe_survivability_mode.c +++ b/drivers/gpu/drm/xe/xe_survivability_mode.c @@ -14,6 +14,7 @@ #include "xe_device.h" #include "xe_gt.h" #include "xe_heci_gsc.h" +#include "xe_i2c.h" #include "xe_mmio.h" #include "xe_pcode_api.h" #include "xe_vsec.h" @@ -173,20 +174,26 @@ static int enable_survivability_mode(struct pci_dev *pdev) survivability->mode = true; ret = xe_heci_gsc_init(xe); - if (ret) { - /* - * But if it fails, device can't enter survivability - * so move it back for correct error handling - */ - survivability->mode = false; - return ret; - } + if (ret) + goto err; xe_vsec_init(xe); + ret = xe_i2c_probe(xe); + if (ret) + goto err; + dev_err(dev, "In Survivability Mode\n"); return 0; + +err: + /* + * But if it fails, device can't enter survivability + * so move it back for correct error handling + */ + survivability->mode = false; + return ret; } /**