From patchwork Mon May 2 14:15:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ramalingam C X-Patchwork-Id: 12834252 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 9C9C9C433EF for ; Mon, 2 May 2022 14:14:47 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 521C710E72B; Mon, 2 May 2022 14:14:41 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9E29B10E894; Mon, 2 May 2022 14:14:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1651500879; x=1683036879; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=IW+Mnok42lROVoAYAnarmztOZNy49bHnFCCaqVYee78=; b=deJEPi1s5Zr3kCWFW0llH+5XBbyxFCEWEEIkHtB2qtplSa3BiVpicqD4 pty+PDjx9sikDaEfIAz5zHYIcdsl2KWuAsJZ/DfhqCVsPqNucO4yCtb2g jE12ryWaEhNuWSQB7YOKVZySE4YW5424/20WuTGKyV5zWBZtwpHj3jj13 ne/6izbW691fEyqmXH9F43r5dIBhGBMqKfdJhyhKR25CRYRWO6GZR6cJ8 UtkKBxIKMHtz8oCbaMwEJ5FqMQncgMTaCOSqbnXD93dIL7BTRT3SbF0cO dXImXshvuCE7Z0w+9Mis+od16orNfinKjUHpKnYo3vQ0oCpLuJPEGdste A==; X-IronPort-AV: E=McAfee;i="6400,9594,10335"; a="264811605" X-IronPort-AV: E=Sophos;i="5.91,192,1647327600"; d="scan'208";a="264811605" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 May 2022 07:14:08 -0700 X-IronPort-AV: E=Sophos;i="5.91,192,1647327600"; d="scan'208";a="546375388" Received: from ramaling-i9x.iind.intel.com ([10.203.144.108]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 May 2022 07:14:05 -0700 From: Ramalingam C To: intel-gfx , dri-devel Subject: [PATCH v3] uapi/drm/i915: Document memory residency and Flat-CCS capability of obj Date: Mon, 2 May 2022 19:45:08 +0530 Message-Id: <20220502141508.2327-1-ramalingam.c@intel.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 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: Tony Ye , Thomas Hellstrom , Jordan Justen , Daniel Vetter , Lionel Landwerlin , Kenneth Graunke , Jon Bloomfield , Matthew Auld , mesa-dev@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Capture the impact of memory region preference list of the objects, on their memory residency and Flat-CCS capability. v2: Fix the Flat-CCS capability of an obj with {lmem, smem} preference list [Thomas] v3: Reworded the doc [Matt] Signed-off-by: Ramalingam C cc: Matthew Auld cc: Thomas Hellstrom cc: Daniel Vetter cc: Jon Bloomfield cc: Lionel Landwerlin cc: Kenneth Graunke cc: mesa-dev@lists.freedesktop.org cc: Jordan Justen cc: Tony Ye Reviewed-by: Matthew Auld Acked-by: Jordan Justen Acked-by: Tony Ye --- include/uapi/drm/i915_drm.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h index a2def7b27009..b7e1c2fe08dc 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h @@ -3443,6 +3443,22 @@ struct drm_i915_gem_create_ext { * At which point we get the object handle in &drm_i915_gem_create_ext.handle, * along with the final object size in &drm_i915_gem_create_ext.size, which * should account for any rounding up, if required. + * + * Note that userspace has no means of knowing the current backing region + * for objects where @num_regions is larger than one. The kernel will only + * ensure that the priority order of the @regions array is honoured, either + * when initially placing the object, or when moving memory around due to + * memory pressure + * + * On Flat-CCS capable HW, compression is supported for the objects residing + * in I915_MEMORY_CLASS_DEVICE. When such objects (compressed) has other + * memory class in @regions and migrated (by I915, due to memory + * constrain) to the non I915_MEMORY_CLASS_DEVICE region, then I915 needs to + * decompress the content. But I915 dosen't have the required information to + * decompress the userspace compressed objects. + * + * So I915 supports Flat-CCS, only on the objects which can reside only on + * I915_MEMORY_CLASS_DEVICE regions. */ struct drm_i915_gem_create_ext_memory_regions { /** @base: Extension link. See struct i915_user_extension. */