From: Ramalingam C <ramalingam.c@intel.com>
To: "Christian König" <christian.koenig@amd.com>
Cc: intel-gfx <intel-gfx@lists.freedesktop.org>,
Hellstrom Thomas <thomas.hellstrom@intel.com>,
dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [RFC 0/2] drm/i915/ttm: Evict and store of compressed object
Date: Mon, 7 Feb 2022 19:23:35 +0530 [thread overview]
Message-ID: <20220207135335.GA15175@intel.com> (raw)
In-Reply-To: <1a195c03-d2a9-d35e-7b62-a8b70a5c21b3@amd.com>
On 2022-02-07 at 12:41:59 +0100, Christian König wrote:
> Am 07.02.22 um 10:37 schrieb Ramalingam C:
> > On flat-ccs capable platform we need to evict and resore the ccs data
> > along with the corresponding main memory.
> >
> > This ccs data can only be access through BLT engine through a special
> > cmd ( )
> >
> > To support above requirement of flat-ccs enabled i915 platforms this
> > series adds new param called ccs_pages_needed to the ttm_tt_init(),
> > to increase the ttm_tt->num_pages of system memory when the obj has the
> > lmem placement possibility.
>
> Well question is why isn't the buffer object allocated with the extra space
> in the first place?
Hi Christian,
On Xe-HP and later devices, we use dedicated compression control state (CCS)
stored in local memory for each surface, to support the 3D and media
compression formats.
The memory required for the CCS of the entire local memory is 1/256 of the
local memory size. So before the kernel boot, the required memory is reserved
for the CCS data and a secure register will be programmed with the CCS base
address
So when we allocate a object in local memory we dont need to explicitly
allocate the space for ccs data. But when we evict the obj into the smem
to hold the compression related data along with the obj we need smem
space of obj_size + (obj_size/256).
Hence when we create smem for an obj with lmem placement possibility we
create with the extra space.
Ram.
>
> Regards,
> Christian.
>
> >
> > This will be on top of the flat-ccs enabling series
> > https://patchwork.freedesktop.org/series/95686/
> >
> > For more about flat-ccs feature please have a look at
> > https://patchwork.freedesktop.org/patch/471777/?series=95686&rev=5
> >
> > Testing of the series is WIP and looking forward for the early review on
> > the amendment to ttm_tt_init and the approach.
> >
> > Ramalingam C (2):
> > drm/i915/ttm: Add extra pages for handling ccs data
> > drm/i915/migrate: Evict and restore the ccs data
> >
> > drivers/gpu/drm/drm_gem_vram_helper.c | 2 +-
> > drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 23 +-
> > drivers/gpu/drm/i915/gt/intel_migrate.c | 283 +++++++++++----------
> > drivers/gpu/drm/qxl/qxl_ttm.c | 2 +-
> > drivers/gpu/drm/ttm/ttm_agp_backend.c | 2 +-
> > drivers/gpu/drm/ttm/ttm_tt.c | 12 +-
> > drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 2 +-
> > include/drm/ttm/ttm_tt.h | 4 +-
> > 8 files changed, 191 insertions(+), 139 deletions(-)
> >
>
next prev parent reply other threads:[~2022-02-07 13:53 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-07 9:37 [Intel-gfx] [RFC 0/2] drm/i915/ttm: Evict and store of compressed object Ramalingam C
2022-02-07 9:37 ` [Intel-gfx] [RFC 1/2] drm/i915/ttm: Add extra pages for handling ccs data Ramalingam C
2022-02-07 10:41 ` Thomas Hellström (Intel)
2022-02-07 10:41 ` Das, Nirmoy
2022-02-07 9:37 ` [Intel-gfx] [RFC 2/2] drm/i915/migrate: Evict and restore the " Ramalingam C
2022-02-07 14:55 ` Hellstrom, Thomas
2022-02-07 15:14 ` Ramalingam C
2022-02-07 15:22 ` Hellstrom, Thomas
2022-02-07 15:33 ` Ramalingam C
2022-02-18 0:05 ` Lucas De Marchi
2022-02-07 10:48 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/ttm: Evict and store of compressed object Patchwork
2022-02-07 11:41 ` [Intel-gfx] [RFC 0/2] " Christian König
2022-02-07 13:49 ` Hellstrom, Thomas
2022-02-07 13:53 ` Ramalingam C [this message]
2022-02-07 14:37 ` Christian König
2022-02-07 14:47 ` C, Ramalingam
2022-02-07 14:49 ` Das, Nirmoy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220207135335.GA15175@intel.com \
--to=ramalingam.c@intel.com \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=thomas.hellstrom@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox