Intel discrete graphic devices have internal spi storage, that holds firmware and oprom images. The spi device is exposed to the user space via mtd framework to be accessed during manufacturing. The device is hardware locked after manufacturing and only read access is provided. The i915 plays role of a multi function device (mfd) and spi device is exposed as its child device. i915_spi platform driver binds to this device. Because the graphic card may undergo reset at any time and basically hot unplug all its child devices, this series also provides a fix to the mtd framework to make the reset graceful. Tomas Winkler (9): drm/i915/spi: add spi device for discrete graphics drm/i915/spi: intel_spi_region map drm/i915/spi: add driver for on-die spi device drm/i915/spi: implement region enumeration drm/i915/spi: implement spi access functions drm/i915/spi: spi register with mtd drm/i915/spi: mtd: implement access handlers drm/i915/spi: serialize spi access mtd: use refcount to prevent corruption drivers/gpu/drm/i915/Kconfig | 3 + drivers/gpu/drm/i915/Makefile | 6 + drivers/gpu/drm/i915/i915_drv.c | 9 + drivers/gpu/drm/i915/i915_drv.h | 4 + drivers/gpu/drm/i915/i915_reg.h | 1 + drivers/gpu/drm/i915/spi/intel_spi.c | 62 +++ drivers/gpu/drm/i915/spi/intel_spi.h | 24 + drivers/gpu/drm/i915/spi/intel_spi_drv.c | 675 +++++++++++++++++++++++ drivers/mtd/mtdcore.c | 63 ++- drivers/mtd/mtdcore.h | 1 + drivers/mtd/mtdpart.c | 13 +- include/linux/mtd/mtd.h | 2 +- 12 files changed, 831 insertions(+), 32 deletions(-) create mode 100644 drivers/gpu/drm/i915/spi/intel_spi.c create mode 100644 drivers/gpu/drm/i915/spi/intel_spi.h create mode 100644 drivers/gpu/drm/i915/spi/intel_spi_drv.c -- 2.26.2 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx