From: Tomas Winkler <tomas.winkler@xxxxxxxxx> Add the dGFX spi region map and convey it via auxiliary device to the spi child device. CC: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> CC: Lucas De Marchi <lucas.demarchi@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> --- drivers/gpu/drm/i915/spi/intel_spi.c | 8 ++++++++ drivers/gpu/drm/i915/spi/intel_spi.h | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/drivers/gpu/drm/i915/spi/intel_spi.c b/drivers/gpu/drm/i915/spi/intel_spi.c index 9eb5ab6bc4b9..c697ca226e34 100644 --- a/drivers/gpu/drm/i915/spi/intel_spi.c +++ b/drivers/gpu/drm/i915/spi/intel_spi.c @@ -10,6 +10,13 @@ #define GEN12_GUNIT_SPI_SIZE 0x80 +static const struct i915_spi_region regions[I915_SPI_REGIONS] = { + [0] = { .name = "DESCRIPTOR", }, + [2] = { .name = "GSC", }, + [11] = { .name = "OptionROM", }, + [12] = { .name = "DAM", }, +}; + static void i915_spi_release_dev(struct device *dev) { } @@ -29,6 +36,7 @@ void intel_spi_init(struct intel_spi *spi, struct drm_i915_private *dev_priv) spi->bar.end = spi->bar.start + GEN12_GUNIT_SPI_SIZE - 1; spi->bar.flags = IORESOURCE_MEM; spi->bar.desc = IORES_DESC_NONE; + spi->regions = regions; aux_dev->name = "spi"; aux_dev->id = (pci_domain_nr(pdev->bus) << 16) | diff --git a/drivers/gpu/drm/i915/spi/intel_spi.h b/drivers/gpu/drm/i915/spi/intel_spi.h index a58bf79dcbc9..1ecf1a8581b4 100644 --- a/drivers/gpu/drm/i915/spi/intel_spi.h +++ b/drivers/gpu/drm/i915/spi/intel_spi.h @@ -10,10 +10,16 @@ struct drm_i915_private; +#define I915_SPI_REGIONS 13 +struct i915_spi_region { + const char *name; +}; + struct intel_spi { struct auxiliary_device aux_dev; struct drm_i915_private *i915; struct resource bar; + const struct i915_spi_region *regions; }; #define auxiliary_dev_to_intel_spi_dev(auxiliary_dev) \ -- 2.34.1