From nobody Wed Dec 17 18:01:16 2025 Received: from mail-qk1-f175.google.com (mail-qk1-f175.google.com [209.85.222.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9573E2165E8 for ; Mon, 9 Dec 2024 09:49:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733737774; cv=none; b=Grh52BTbfHGA+3cN76E5Ay+6Jf1xlnONQv+QR2IozZnTlPvbznCsEbRLjptnnSNxhEXUdxaxSbM+FWE0pCdE42umbmezYvxTmlCg52SNN8abuZVOdBVt53Q00K2bDhFZvrQkAZrRfWpcdfgosC4kk1580DI+nCMpuIG/6JVtOFw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733737774; c=relaxed/simple; bh=Htz0CDa1+vz7zLmL5jAVrpEv8t5cnPGybIk3bizNm28=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=KFTSUdEjRsizRivuvZT8DGToaRjXrRNsXri99zyvU7CvyIosfXbO5lvdEzSOWz4uOq2139BwOx42ShsqfQ7jtmi8Ss8pmSPeyWwVk8X/SqKT1shHd4g/bWAmAUeXYjSIx+NSoQAgJ7Tx5kbC2tsKvwrHJ3XLL/VnkUDZC+CrN2A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=SvLGEdtq; arc=none smtp.client-ip=209.85.222.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="SvLGEdtq" Received: by mail-qk1-f175.google.com with SMTP id af79cd13be357-7b6c54037eeso158811085a.1 for ; Mon, 09 Dec 2024 01:49:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1733737771; x=1734342571; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6mWiopPXLC0E2jCzFzYGxckwBzYIb+nvAh0QWTdhx8g=; b=SvLGEdtqZKdodBdF1Mt8knHnFMelnhuB/uqY5EfHYpQSLJ01fQOamPdZ629qt38ZG4 SqZSHV7APBrgy1RoddprpNMpKTuv8sITCif5A2qLkKvnIW/PCgYpd2Xc60vairTEotBB nGcPgpUU7zr1EJMFE5xF1kIfVON/J6VOKbIs0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733737771; x=1734342571; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6mWiopPXLC0E2jCzFzYGxckwBzYIb+nvAh0QWTdhx8g=; b=t5uSLpwxorM6a4Mq74++QLnmj4yij17M69il+EWdEQ7SWfCu3t0EvnPRS7f8SZ6TB8 sNc5FU+cpHIUM1C3rTA/kdnCmSy1lOg5MGkFRLwmf/tmU75iQXlbZKqleu6z804Wy27t gCHvqWAP9KGT67CmgW9QGNhCLOhuGQFFOgZqvB9iB69k0tJ7v1FwHEITiDQq1EkqKvFd 1c5kPYzPCZE+NQSaCgdy7ziBfBscxVuxQzTpo99wbc3l15gI0mbS83LqTYMojEe4J4qs aXxCzu7BczwSfRmD6N1w8WcWPULIP4Q1l40zijlLIRAZWW2kC4gfOACFROKpdkIiu8MG /duw== X-Forwarded-Encrypted: i=1; AJvYcCVZzxuL+cqHJOVJNlsgce9bEzZCucn9EvFxOyNufzv/OMzkTuHThuV6evyNvU3c4dxBbQfNcSUgmmVetj8=@vger.kernel.org X-Gm-Message-State: AOJu0YyaIVKRg5r+7hj/CFw4IWCzIwe4pdJCcnGj2DdHz1CCKmY/9tm8 hC5bKHUJ1ktV7pDqZG0SKsXh56Ad0qziW8Qhep4XcWx35kKtUxJ3f2ClS1smGw== X-Gm-Gg: ASbGncvmdTHUjFP7VPtfqXHxwT1AoDJ8Okvk6NiG8B2gDN30sDZdrBc9XONXg8KCtUp jIKucy6/3M/tFiSkatLoUUiBJxJbdRsgvyJq0JhFUJk4dXtZ4mc25nLnpo/ulClbkBL6uoZZHgV cimcu6fzA1p3HBMlN29qW+eTxYF+q88oAiKFgUi9PW+ndDoEivWYrQ4UTXaPJUgghLj8ux4NpKj rGxPf4qgCI0BvC9JnbBYQRknEl05hOcww88wgDliyVLRrm098PskJJ1tvT2ozvq87PgQVHOSC7d 51c= X-Google-Smtp-Source: AGHT+IEObkVCtOQT4fNMbgxB5Nqu4MxqQq+rw6lVugndMt9B/jEobcI08TaHej9/2Iw6d1G3VLBEcA== X-Received: by 2002:a05:620a:3185:b0:7b6:cf5c:de1 with SMTP id af79cd13be357-7b6cf5c1004mr662955585a.31.1733737771439; Mon, 09 Dec 2024 01:49:31 -0800 (PST) Received: from photon-dev.. ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7b6d2147ff2sm128409085a.70.2024.12.09.01.49.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Dec 2024 01:49:30 -0800 (PST) From: Ajay Kaher To: stable@vger.kernel.org, gregkh@linuxfoundation.org Cc: zack.rusin@broadcom.com, thomas.hellstrom@linux.intel.com, christian.koenig@amd.com, ray.huang@amd.com, airlied@gmail.com, daniel@ffwll.ch, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, ajay.kaher@broadcom.com, alexey.makhalov@broadcom.com, vasavi.sirnapalli@broadcom.com, Sasha Levin , Ye Li Subject: [PATCH v6.1.y 1/2] drm/ttm: Make sure the mapped tt pages are decrypted when needed Date: Mon, 9 Dec 2024 09:49:03 +0000 Message-Id: <20241209094904.2547579-2-ajay.kaher@broadcom.com> X-Mailer: git-send-email 2.39.4 In-Reply-To: <20241209094904.2547579-1-ajay.kaher@broadcom.com> References: <20241209094904.2547579-1-ajay.kaher@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Zack Rusin commit 71ce046327cfd3aef3f93d1c44e091395eb03f8f upstream. Some drivers require the mapped tt pages to be decrypted. In an ideal world this would have been handled by the dma layer, but the TTM page fault handling would have to be rewritten to able to do that. A side-effect of the TTM page fault handling is using a dma allocation per order (via ttm_pool_alloc_page) which makes it impossible to just trivially use dma_mmap_attrs. As a result ttm has to be very careful about trying to make its pgprot for the mapped tt pages match what the dma layer thinks it is. At the ttm layer it's possible to deduce the requirement to have tt pages decrypted by checking whether coherent dma allocations have been requested and the system is running with confidential computing technologies. This approach isn't ideal but keeping TTM matching DMAs expectations for the page properties is in general fragile, unfortunately proper fix would require a rewrite of TTM's page fault handling. Fixes vmwgfx with SEV enabled. v2: Explicitly include cc_platform.h v3: Use CC_ATTR_GUEST_MEM_ENCRYPT instead of CC_ATTR_MEM_ENCRYPT to limit the scope to guests and log when memory decryption is enabled. Signed-off-by: Zack Rusin Fixes: 3bf3710e3718 ("drm/ttm: Add a generic TTM memcpy move for page-based= iomem") Reviewed-by: Thomas Hellstr=C3=B6m Acked-by: Christian K=C3=B6nig Cc: Huang Rui Cc: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org Cc: # v5.14+ Link: https://patchwork.freedesktop.org/patch/msgid/20230926040359.3040017-= 1-zack@kde.org Signed-off-by: Sasha Levin Signed-off-by: Ye Li Signed-off-by: Ajay Kaher --- drivers/gpu/drm/ttm/ttm_bo_util.c | 13 +++++++++++-- drivers/gpu/drm/ttm/ttm_tt.c | 12 ++++++++++++ include/drm/ttm/ttm_tt.h | 7 +++++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo= _util.c index fa04e62..dcb2c23 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_util.c +++ b/drivers/gpu/drm/ttm/ttm_bo_util.c @@ -274,7 +274,13 @@ pgprot_t ttm_io_prot(struct ttm_buffer_object *bo, str= uct ttm_resource *res, enum ttm_caching caching; =20 man =3D ttm_manager_type(bo->bdev, res->mem_type); - caching =3D man->use_tt ? bo->ttm->caching : res->bus.caching; + if (man->use_tt) { + caching =3D bo->ttm->caching; + if (bo->ttm->page_flags & TTM_TT_FLAG_DECRYPTED) + tmp =3D pgprot_decrypted(tmp); + } else { + caching =3D res->bus.caching; + } =20 return ttm_prot_from_caching(caching, tmp); } @@ -317,6 +323,8 @@ static int ttm_bo_kmap_ttm(struct ttm_buffer_object *bo, .no_wait_gpu =3D false }; struct ttm_tt *ttm =3D bo->ttm; + struct ttm_resource_manager *man =3D + ttm_manager_type(bo->bdev, bo->resource->mem_type); pgprot_t prot; int ret; =20 @@ -326,7 +334,8 @@ static int ttm_bo_kmap_ttm(struct ttm_buffer_object *bo, if (ret) return ret; =20 - if (num_pages =3D=3D 1 && ttm->caching =3D=3D ttm_cached) { + if (num_pages =3D=3D 1 && ttm->caching =3D=3D ttm_cached && + !(man->use_tt && (ttm->page_flags & TTM_TT_FLAG_DECRYPTED))) { /* * We're mapping a single page, and the desired * page protection is consistent with the bo. diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c index d505603..91e1797 100644 --- a/drivers/gpu/drm/ttm/ttm_tt.c +++ b/drivers/gpu/drm/ttm/ttm_tt.c @@ -31,11 +31,13 @@ =20 #define pr_fmt(fmt) "[TTM] " fmt =20 +#include #include #include #include #include #include +#include #include =20 #include "ttm_module.h" @@ -59,6 +61,7 @@ static atomic_long_t ttm_dma32_pages_allocated; int ttm_tt_create(struct ttm_buffer_object *bo, bool zero_alloc) { struct ttm_device *bdev =3D bo->bdev; + struct drm_device *ddev =3D bo->base.dev; uint32_t page_flags =3D 0; =20 dma_resv_assert_held(bo->base.resv); @@ -80,6 +83,15 @@ int ttm_tt_create(struct ttm_buffer_object *bo, bool zer= o_alloc) pr_err("Illegal buffer object type\n"); return -EINVAL; } + /* + * When using dma_alloc_coherent with memory encryption the + * mapped TT pages need to be decrypted or otherwise the drivers + * will end up sending encrypted mem to the gpu. + */ + if (bdev->pool.use_dma_alloc && cc_platform_has(CC_ATTR_GUEST_MEM_ENCRYPT= )) { + page_flags |=3D TTM_TT_FLAG_DECRYPTED; + drm_info(ddev, "TT memory decryption enabled."); + } =20 bo->ttm =3D bdev->funcs->ttm_tt_create(bo, page_flags); if (unlikely(bo->ttm =3D=3D NULL)) diff --git a/include/drm/ttm/ttm_tt.h b/include/drm/ttm/ttm_tt.h index b7d3f38..9cbdf8c 100644 --- a/include/drm/ttm/ttm_tt.h +++ b/include/drm/ttm/ttm_tt.h @@ -79,6 +79,12 @@ struct ttm_tt { * page_flags =3D TTM_TT_FLAG_EXTERNAL | * TTM_TT_FLAG_EXTERNAL_MAPPABLE; * + * TTM_TT_FLAG_DECRYPTED: The mapped ttm pages should be marked as + * not encrypted. The framework will try to match what the dma layer + * is doing, but note that it is a little fragile because ttm page + * fault handling abuses the DMA api a bit and dma_map_attrs can't be + * used to assure pgprot always matches. + * * TTM_TT_FLAG_PRIV_POPULATED: TTM internal only. DO NOT USE. This is * set by TTM after ttm_tt_populate() has successfully returned, and is * then unset when TTM calls ttm_tt_unpopulate(). @@ -87,6 +93,7 @@ struct ttm_tt { #define TTM_TT_FLAG_ZERO_ALLOC (1 << 1) #define TTM_TT_FLAG_EXTERNAL (1 << 2) #define TTM_TT_FLAG_EXTERNAL_MAPPABLE (1 << 3) +#define TTM_TT_FLAG_DECRYPTED (1 << 4) =20 #define TTM_TT_FLAG_PRIV_POPULATED (1U << 31) uint32_t page_flags; --=20 2.39.4 From nobody Wed Dec 17 18:01:16 2025 Received: from mail-qt1-f181.google.com (mail-qt1-f181.google.com [209.85.160.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5FAAD21660E for ; Mon, 9 Dec 2024 09:49:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733737777; cv=none; b=V0NnNOwRXMp08OmkmlPYiBdS9cs/8fXptQCU+unPZObYDpxQH2G+j6Piq2XAvhpkEbF9gUsfMjU5vFYqmYqt9j70MHD6iAt7XDtDrfrFFXKxz+iWtihoCGpxIrFhk7KPLTI3AJXd+30eSjUlDJ7c+Dm5IvcJkfX5iDhA2bSvTnI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733737777; c=relaxed/simple; bh=gvzytYw4sbSQU/ATlBNgaGw+c3UqmAd600g9QF+80xI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=NtAiRpevVR7x7SpSV4wmaskHaAnvW4q+/yFgzKN61Fsr3y3BDrOFhX817rzzQAinSxvxREVakQraqq10jdHIvsxXiYdCgvv88zIHBLMugpZ6WVRfmTVv2MzFzoq+yKvv3q6Ki4gc967idG0bEbxGQS3kdlcHX3Gm2nxJZGR33FU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=TKugvTDf; arc=none smtp.client-ip=209.85.160.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="TKugvTDf" Received: by mail-qt1-f181.google.com with SMTP id d75a77b69052e-4667931f14bso68191731cf.2 for ; Mon, 09 Dec 2024 01:49:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1733737774; x=1734342574; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=c3Tsa9g564W559Vpb/AnoUfrIQ3XajXQIt2s3wRsgwk=; b=TKugvTDfoBjOS6n5X6dlr8+LRrTGoK+Bdp0iBq1DSpt/J9guRKpqF+/duZEsnGtn7S 46zDbcnV4SGVVXJqbNgkpj/lIEKZFS8lujrYx3TLBr3+BVcx7GA1Mx3dvN1gInwBl13Y YRRzQmjmRArCK33HI5ijbNz5UX9mEXAqohZH8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733737774; x=1734342574; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c3Tsa9g564W559Vpb/AnoUfrIQ3XajXQIt2s3wRsgwk=; b=ap0T1UHjydr9UGiRFjlQ4SOtLiYDBruO3JTkW8FrA2lIGFaVSwL16kd3Yfutw4upDX ads4r+BXdlpSwcPgMVKkO8+TF30WQyN/pj2VPhHwpBYb3ZWumTkjYhRDeDpmR7OaGnra wGKP48vN2e4oaTEwg5zi2yl7kdBo77ghjNUSbNy6J4YRVwl6mC8eDFMmnyMyV5AS94Qh tzp56FvNVpPXOYG71kVBLilf9d5aZJhQahy74huraZWgzrWL6olSEdcK/C7UJ3Nycdob YbsQ2/dPxkXPEv5R8EnQ0ig0mZZD4dv3X3RhPdUwBSJ22JaQTKFqrKIRR/7KnfRcECPl iw9w== X-Forwarded-Encrypted: i=1; AJvYcCUB2oeYXDLtRYTx1dJqGY3aXAlxTAf4K+VV1zXImRxKlH0YTVGPgj7VDWHlKiybEZP4tMiRrzoPQBS+i4Y=@vger.kernel.org X-Gm-Message-State: AOJu0YzKHAsLLHdWBnvy7GDaiXWABvdpvaOFqe+4i0dZYCZSWcbGXjX/ W7CV8io53xhwT8nQrrptDeNXHPiPueG0BMEP91uSXDDOGem6TO7otinl2v+hzg== X-Gm-Gg: ASbGncv5g2y8bvCDKitks68UpAJIK7phskNO2khmmdYHVgd0gXblsZbanYSqjrrF7xK PnQLeJhwuLmH+e2ubT8beFnu6AELkwFhCTwmKliIF6IX28foklfYoFaH6LA+e1eKmkrMIPFwsiR Gg1YT0NUQexX1TRRgggXZj9s/Vxowm4xxuWNki1GTjan95r7I/FGvZyjGXyuiYXKoHMsgjON1GR FGWD3H8bWfYArugHXCXTBYh7jfct9NrKIAz3wVxb4u+kQQ7Cyi9TESZSnlArN5jebboW21Qnnqq Nfw= X-Google-Smtp-Source: AGHT+IGmY9glarrXNarZaAo9mWvdbYU7LPRt4v3eMj8NpeG7c1QvpqnB5GcbMm9FjHW0BzZ2wvAZkA== X-Received: by 2002:a05:622a:15c9:b0:466:9938:91f3 with SMTP id d75a77b69052e-46734ee9e07mr201445901cf.49.1733737774204; Mon, 09 Dec 2024 01:49:34 -0800 (PST) Received: from photon-dev.. ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7b6d2147ff2sm128409085a.70.2024.12.09.01.49.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Dec 2024 01:49:33 -0800 (PST) From: Ajay Kaher To: stable@vger.kernel.org, gregkh@linuxfoundation.org Cc: zack.rusin@broadcom.com, thomas.hellstrom@linux.intel.com, christian.koenig@amd.com, ray.huang@amd.com, airlied@gmail.com, daniel@ffwll.ch, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, ajay.kaher@broadcom.com, alexey.makhalov@broadcom.com, vasavi.sirnapalli@broadcom.com, Ye Li Subject: [PATCH v6.1.y 2/2] drm/ttm: Print the memory decryption status just once Date: Mon, 9 Dec 2024 09:49:04 +0000 Message-Id: <20241209094904.2547579-3-ajay.kaher@broadcom.com> X-Mailer: git-send-email 2.39.4 In-Reply-To: <20241209094904.2547579-1-ajay.kaher@broadcom.com> References: <20241209094904.2547579-1-ajay.kaher@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Zack Rusin commit 27906e5d78248b19bcdfdae72049338c828897bb upstream. Stop printing the TT memory decryption status info each time tt is created and instead print it just once. Reduces the spam in the system logs when running guests with SEV enabled. Signed-off-by: Zack Rusin Fixes: 71ce046327cf ("drm/ttm: Make sure the mapped tt pages are decrypted = when needed") Reviewed-by: Christian K=C3=B6nig Cc: Thomas Hellstr=C3=B6m Cc: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org Cc: # v5.14+ Link: https://patchwork.freedesktop.org/patch/msgid/20240408155605.1398631-= 1-zack.rusin@broadcom.com Signed-off-by: Greg Kroah-Hartman Signed-off-by: Ye Li Signed-off-by: Ajay Kaher --- drivers/gpu/drm/ttm/ttm_tt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c index 91e1797..d3190aa 100644 --- a/drivers/gpu/drm/ttm/ttm_tt.c +++ b/drivers/gpu/drm/ttm/ttm_tt.c @@ -90,7 +90,7 @@ int ttm_tt_create(struct ttm_buffer_object *bo, bool zero= _alloc) */ if (bdev->pool.use_dma_alloc && cc_platform_has(CC_ATTR_GUEST_MEM_ENCRYPT= )) { page_flags |=3D TTM_TT_FLAG_DECRYPTED; - drm_info(ddev, "TT memory decryption enabled."); + drm_info_once(ddev, "TT memory decryption enabled."); } =20 bo->ttm =3D bdev->funcs->ttm_tt_create(bo, page_flags); --=20 2.39.4