mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-09-01 22:08:27 +00:00
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: Lucas De Marchi <lucas.demarchi@intel.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240910234719.3335472-47-matthew.d.roper@intel.com
This commit is contained in:
parent
998fde0647
commit
34953ee349
@ -107,6 +107,22 @@ struct xe_mem_region {
|
|||||||
void __iomem *mapping;
|
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
|
* struct xe_tile - hardware tile structure
|
||||||
*
|
*
|
||||||
@ -148,13 +164,7 @@ struct xe_tile {
|
|||||||
* * 4MB-8MB: reserved
|
* * 4MB-8MB: reserved
|
||||||
* * 8MB-16MB: global GTT
|
* * 8MB-16MB: global GTT
|
||||||
*/
|
*/
|
||||||
struct {
|
struct xe_mmio mmio;
|
||||||
/** @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;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @mmio_ext: MMIO-extension info for a tile.
|
* @mmio_ext: MMIO-extension info for a tile.
|
||||||
|
Loading…
Reference in New Issue
Block a user