[PATCH i-g-t v2 5/6] lib/intel_mocs: add defer-to-pat-index
Zbigniew Kempczyński
zbigniew.kempczynski at intel.com
Wed Mar 6 14:11:09 UTC 2024
On Tue, Mar 05, 2024 at 12:17:53PM +0000, Matthew Auld wrote:
> At least on Xe2 it looks like we can just use MOCS index zero to defer
> the selected caching mode to that of the PAT index. This will be useful
> in an upcoming patch.
>
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> Cc: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> ---
> lib/intel_mocs.c | 14 ++++++++++++++
> lib/intel_mocs.h | 1 +
> 2 files changed, 15 insertions(+)
>
> diff --git a/lib/intel_mocs.c b/lib/intel_mocs.c
> index 4a9c305dc..bf6ee1958 100644
> --- a/lib/intel_mocs.c
> +++ b/lib/intel_mocs.c
> @@ -9,6 +9,7 @@
> struct drm_intel_mocs_index {
> uint8_t uc_index;
> uint8_t wb_index;
> + uint8_t deferred_index;
I wonder shouldn't it be called 'prefer_pat' or similar.
Anyway, code is correct what I've seen in xe_mocs.c xe2 defs.
Regarless decision to rename the above:
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
--
Zbigniew
> };
>
> static void get_mocs_index(int fd, struct drm_intel_mocs_index *mocs)
> @@ -25,6 +26,7 @@ static void get_mocs_index(int fd, struct drm_intel_mocs_index *mocs)
> if (intel_graphics_ver(devid) >= IP_VER(20, 0)) {
> mocs->uc_index = 3;
> mocs->wb_index = 4;
> + mocs->deferred_index = 0;
> } else if (IS_METEORLAKE(devid)) {
> mocs->uc_index = 5;
> mocs->wb_index = 10;
> @@ -60,3 +62,15 @@ uint8_t intel_get_uc_mocs_index(int fd)
>
> return mocs.uc_index;
> }
> +
> +uint8_t intel_get_deferred_mocs_index(int fd)
> +{
> + struct drm_intel_mocs_index mocs;
> + uint16_t dev_id = intel_get_drm_devid(fd);
> +
> + igt_assert(AT_LEAST_GEN(dev_id, 20));
> +
> + get_mocs_index(fd, &mocs);
> +
> + return mocs.deferred_index;
> +}
> diff --git a/lib/intel_mocs.h b/lib/intel_mocs.h
> index b5c79b0e1..bfdc23210 100644
> --- a/lib/intel_mocs.h
> +++ b/lib/intel_mocs.h
> @@ -12,5 +12,6 @@
>
> uint8_t intel_get_wb_mocs_index(int fd);
> uint8_t intel_get_uc_mocs_index(int fd);
> +uint8_t intel_get_deferred_mocs_index(int fd);
>
> #endif /* _INTEL_MOCS_H */
> --
> 2.43.2
>
More information about the igt-dev
mailing list