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 68D93C05023 for ; Mon, 15 Apr 2024 15:06:50 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0A755112663; Mon, 15 Apr 2024 15:06:50 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="gI1wR1BM"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id 690AC112661 for ; Mon, 15 Apr 2024 15:06:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1713193607; x=1744729607; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=FaTOWkyNgKgLPdhQK+5UmbSYlh42SntLU+7zV57QpIM=; b=gI1wR1BMooie5N1XvS7XVmKJARmCJpxbcdiLqIpm1e0gDxwshyfveu93 dF/L/Mc6dJVrQDl2eglS+2TFUcCf0BYjnTqqOGmdMNvTIfF5BVd1YD8o1 D2VrN22aykPUekKbd0wgjKWnIx8zAj4i+rDfYkfVQXpL+/VJOizZ8bFda /OpS4dDN5pbyuwcOHmeBKnKNl5UcfHxRRuA7g1zlV0GujsQKj0N8RbsaD dAKLvw7ahQMQISX3ftcfztCqaMTDCqB0SnRFzu3ajfU/ylqT2vge1juiu ygcPhYJSknZQsnI6SIv1DrDMhRdHrr2ZSdT00uUVTaK3psHgxtsH4Bvif Q==; X-CSE-ConnectionGUID: oMt9WsYXRkSbN1FssDTWhg== X-CSE-MsgGUID: IX3mRbUvQpmZOg8f0nAZcQ== X-IronPort-AV: E=McAfee;i="6600,9927,11045"; a="20013330" X-IronPort-AV: E=Sophos;i="6.07,203,1708416000"; d="scan'208";a="20013330" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by orvoesa104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Apr 2024 08:06:47 -0700 X-CSE-ConnectionGUID: hPmkuMgNTXSifD8GavMZAA== X-CSE-MsgGUID: 4Cq/uI2wTKqIuE4rd3TRFQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,203,1708416000"; d="scan'208";a="22414870" Received: from nirmoyda-desk.igk.intel.com ([10.102.138.190]) by orviesa007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Apr 2024 08:06:47 -0700 From: Nirmoy Das To: intel-xe@lists.freedesktop.org Cc: Nirmoy Das Subject: [PATCH v3 7/7] drm/xe/uapi: Add a query flag for has_device_atomics_on_smem Date: Mon, 15 Apr 2024 16:52:14 +0200 Message-ID: <20240415145214.25641-8-nirmoy.das@intel.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20240415145214.25641-1-nirmoy.das@intel.com> References: <20240415145214.25641-1-nirmoy.das@intel.com> MIME-Version: 1.0 Organization: Intel Deutschland GmbH, Registered Address: Am Campeon 10, 85579 Neubiberg, Germany, Commercial Register: Amtsgericht Muenchen HRB 186928 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" Add a query flag for xe->info.has_device_atomics_on_smem as this is platform dependent. This flag can be use to inform whether DRM_XE_VM_BIND_FLAG_DEVICE_ATOMICS can be effectively applied for a given platform. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/xe/xe_query.c | 3 +++ include/uapi/drm/xe_drm.h | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c index df407d73e5f5..43272fdd5442 100644 --- a/drivers/gpu/drm/xe/xe_query.c +++ b/drivers/gpu/drm/xe/xe_query.c @@ -336,6 +336,9 @@ static int query_config(struct xe_device *xe, struct drm_xe_device_query *query) if (xe_device_get_root_tile(xe)->mem.vram.usable_size) config->info[DRM_XE_QUERY_CONFIG_FLAGS] = DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM; + if (xe->info.has_device_atomics_on_smem) + config->info[DRM_XE_QUERY_CONFIG_FLAGS] |= + DRM_XE_QUERY_CONFIG_FLAG_HAS_DEV_ATOMIC_ON_SMEM; config->info[DRM_XE_QUERY_CONFIG_MIN_ALIGNMENT] = xe->info.vram_flags & XE_VRAM_FLAGS_NEED64K ? SZ_64K : SZ_4K; config->info[DRM_XE_QUERY_CONFIG_VA_BITS] = xe->info.va_bits; diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h index ca4447e10ac9..80fff6fe3199 100644 --- a/include/uapi/drm/xe_drm.h +++ b/include/uapi/drm/xe_drm.h @@ -389,6 +389,8 @@ struct drm_xe_query_mem_regions { * * - %DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM - Flag is set if the device * has usable VRAM + * - %DRM_XE_QUERY_CONFIG_FLAG_HAS_DEV_ATOMIC_ON_SMEM - Flag is set if the device + * supports device atomics on system memory * - %DRM_XE_QUERY_CONFIG_MIN_ALIGNMENT - Minimal memory alignment * required by this device, typically SZ_4K or SZ_64K * - %DRM_XE_QUERY_CONFIG_VA_BITS - Maximum bits of a virtual address @@ -404,7 +406,8 @@ struct drm_xe_query_config { #define DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID 0 #define DRM_XE_QUERY_CONFIG_FLAGS 1 - #define DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM (1 << 0) + #define DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM (1 << 0) + #define DRM_XE_QUERY_CONFIG_FLAG_HAS_DEV_ATOMIC_ON_SMEM (1 << 1) #define DRM_XE_QUERY_CONFIG_MIN_ALIGNMENT 2 #define DRM_XE_QUERY_CONFIG_VA_BITS 3 #define DRM_XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY 4 -- 2.42.0