[Intel-xe] [PATCH 0/6] PAT fixes
Matt Roper
matthew.d.roper at intel.com
Fri Mar 24 21:04:09 UTC 2023
The page attribute table code had a few issues that needed to be
corrected:
- PAT registers are MCR on some platforms (or even a mix of unicast and
MCR on MTL). We need to ensure that we're using the appropriate kind
of programming for each platform/GT.
- MTL extends the number of entries in the PAT table, but there's a
jump in the register offsets in the middle; although we don't program
any of the entries in the top half of the table [yet], we should
update the register definition macros to accomodate this in case we
do need to start programming those entries in the future.
- MTL's PAT tables were set incorrectly. 1W coherency should only be
used on certain entries.
Some general cleanup and refactoring is also provided in this series to
keep the code clean and easier to understand.
Note that this series only addresses the programming of the PAT_INDEX
registers, i.e., how we tell the hardware the behavior that should be
associated with PAT index. Selecting and encoding an appropriate PAT
index into the PTEs is not handled by this series (and still needs
general updates for the Xe driver).
Matt Roper (6):
drm/xe/pat: Move PAT setup to a dedicated file
drm/xe/pat: Use table-based programming of PAT settings
drm/xe/pat: Handle unicast vs MCR PAT registers
drm/xe/pat: Clean up PAT register definitions
drm/xe/mtl: Fix PAT table coherency settings
drm/xe/mtl: Handle PAT_INDEX offset jump
drivers/gpu/drm/xe/Makefile | 1 +
drivers/gpu/drm/xe/regs/xe_gt_regs.h | 1 -
drivers/gpu/drm/xe/xe_gt.c | 82 +----------------------
drivers/gpu/drm/xe/xe_pat.c | 98 ++++++++++++++++++++++++++++
drivers/gpu/drm/xe/xe_pat.h | 13 ++++
5 files changed, 115 insertions(+), 80 deletions(-)
create mode 100644 drivers/gpu/drm/xe/xe_pat.c
create mode 100644 drivers/gpu/drm/xe/xe_pat.h
--
2.39.2
More information about the Intel-xe
mailing list