Skip to content
Snippets Groups Projects
Commit 34953ee3 authored by Matt Roper's avatar Matt Roper
Browse files

drm/xe: Create dedicated xe_mmio structure


Pull the 'mmio' substructure from xe_tile out into a dedicated type.
Future patches will expand this structure and then eventually move MMIO
read/write operations over to using this type.

v2:
 - Fix kerneldoc of 'size' field.  The rename/refocusing of this field
   got moved to the next patch of the series.  (Lucas)
 - Correct commit message; it's the tile, not the device, mmio that's
   been pulled out to a separate type.  (Michal)

Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240910234719.3335472-47-matthew.d.roper@intel.com
parent 998fde06
No related merge requests found
......@@ -107,6 +107,22 @@ struct xe_mem_region {
void __iomem *mapping;
};
/**
* struct xe_mmio - register mmio structure
*
* Represents an MMIO region that the CPU may use to access registers. A
* region may share its IO map with other regions (e.g., all GTs within a
* tile share the same map with their parent tile, but represent different
* subregions of the overall IO space).
*/
struct xe_mmio {
/** @regs: Map used to access registers. */
void __iomem *regs;
/** @size: Size of the map. */
size_t size;
};
/**
* struct xe_tile - hardware tile structure
*
......@@ -148,13 +164,7 @@ struct xe_tile {
* * 4MB-8MB: reserved
* * 8MB-16MB: global GTT
*/
struct {
/** @mmio.size: size of tile's MMIO space */
size_t size;
/** @mmio.regs: pointer to tile's MMIO space (starting with registers) */
void __iomem *regs;
} mmio;
struct xe_mmio mmio;
/**
* @mmio_ext: MMIO-extension info for a tile.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment