mbox series

[v7,00/12] mtd: add driver for Intel discrete graphics

Message ID 20250326152623.3897204-1-alexander.usyskin@intel.com (mailing list archive)
Headers show
Series mtd: add driver for Intel discrete graphics | expand

Message

Alexander Usyskin March 26, 2025, 3:26 p.m. UTC
Add driver for access to Intel discrete graphics card
internal NVM device.
Expose device on auxiliary bus by i915 and Xe drivers and
provide mtd driver to register this device with MTD framework.

This is a rewrite of "drm/i915/spi: spi access for discrete graphics"
and "spi: add driver for Intel discrete graphics"
series with connection to the Xe driver and splitting
the spi driver part to separate module in mtd subsystem.

This series intended to be pushed through drm-xe-next.

V2: Replace dev_* prints with drm_* prints in drm (xe and i915) patches.
    Enable NVM device on Battlemage HW (xe driver patch)
    Fix overwrite register address (xe driver patch)
    Add Rodrigo's r-b

V3: Use devm_pm_runtime_enable to simplify flow.
    Drop print in i915 unload that was accidentally set as error.
    Drop HAS_GSC_NVM macro in line with latest Xe changes.
    Add more Rodrigo's r-b and Miquel's ack.

V4: Add patch that always creates mtd master device
    and adjust mtd-intel-dg power management to use this device.

V5: Fix master device creation to accomodate for devices without
    partitions (create partitoned master in this case)
    Rebase over latest drm-xe-next
    Add ack's
V6: Fix master device release (use rigth idr in release)
    Rebase over latest drm-xe-next
    Grammar and style fixes

V7: Add patch with non-posted erase support (fix hang on BMG)
    Rebase over latest drm-xe-next

Abliyev, Reuven (1):
  drm/xe/nvm: add support for non-posted erase

Alexander Usyskin (11):
  mtd: core: always create master device
  mtd: add driver for intel graphics non-volatile memory device
  mtd: intel-dg: implement region enumeration
  mtd: intel-dg: implement access functions
  mtd: intel-dg: register with mtd
  mtd: intel-dg: align 64bit read and write
  mtd: intel-dg: wake card on operations
  drm/i915/nvm: add nvm device for discrete graphics
  drm/i915/nvm: add support for access mode
  drm/xe/nvm: add on-die non-volatile memory device
  drm/xe/nvm: add support for access mode

 MAINTAINERS                           |   7 +
 drivers/gpu/drm/i915/Makefile         |   4 +
 drivers/gpu/drm/i915/i915_driver.c    |   6 +
 drivers/gpu/drm/i915/i915_drv.h       |   3 +
 drivers/gpu/drm/i915/i915_reg.h       |   1 +
 drivers/gpu/drm/i915/intel_nvm.c      | 115 ++++
 drivers/gpu/drm/i915/intel_nvm.h      |  15 +
 drivers/gpu/drm/xe/Makefile           |   1 +
 drivers/gpu/drm/xe/regs/xe_gsc_regs.h |   4 +
 drivers/gpu/drm/xe/xe_device.c        |   5 +
 drivers/gpu/drm/xe/xe_device_types.h  |   6 +
 drivers/gpu/drm/xe/xe_heci_gsc.c      |   5 +-
 drivers/gpu/drm/xe/xe_nvm.c           | 161 +++++
 drivers/gpu/drm/xe/xe_nvm.h           |  15 +
 drivers/gpu/drm/xe/xe_pci.c           |   6 +
 drivers/mtd/devices/Kconfig           |  11 +
 drivers/mtd/devices/Makefile          |   1 +
 drivers/mtd/devices/mtd_intel_dg.c    | 884 ++++++++++++++++++++++++++
 drivers/mtd/mtdcore.c                 | 141 ++--
 drivers/mtd/mtdcore.h                 |   2 +-
 drivers/mtd/mtdpart.c                 |  17 +-
 include/linux/intel_dg_nvm_aux.h      |  29 +
 22 files changed, 1385 insertions(+), 54 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_nvm.c
 create mode 100644 drivers/gpu/drm/i915/intel_nvm.h
 create mode 100644 drivers/gpu/drm/xe/xe_nvm.c
 create mode 100644 drivers/gpu/drm/xe/xe_nvm.h
 create mode 100644 drivers/mtd/devices/mtd_intel_dg.c
 create mode 100644 include/linux/intel_dg_nvm_aux.h

Comments

Rodrigo Vivi March 26, 2025, 7:22 p.m. UTC | #1
On Wed, Mar 26, 2025 at 05:26:11PM +0200, Alexander Usyskin wrote:
> Add driver for access to Intel discrete graphics card
> internal NVM device.
> Expose device on auxiliary bus by i915 and Xe drivers and
> provide mtd driver to register this device with MTD framework.
> 
> This is a rewrite of "drm/i915/spi: spi access for discrete graphics"
> and "spi: add driver for Intel discrete graphics"
> series with connection to the Xe driver and splitting
> the spi driver part to separate module in mtd subsystem.
> 
> This series intended to be pushed through drm-xe-next.
> 
> V2: Replace dev_* prints with drm_* prints in drm (xe and i915) patches.
>     Enable NVM device on Battlemage HW (xe driver patch)
>     Fix overwrite register address (xe driver patch)
>     Add Rodrigo's r-b
> 
> V3: Use devm_pm_runtime_enable to simplify flow.
>     Drop print in i915 unload that was accidentally set as error.
>     Drop HAS_GSC_NVM macro in line with latest Xe changes.
>     Add more Rodrigo's r-b and Miquel's ack.
> 
> V4: Add patch that always creates mtd master device
>     and adjust mtd-intel-dg power management to use this device.
> 
> V5: Fix master device creation to accomodate for devices without
>     partitions (create partitoned master in this case)
>     Rebase over latest drm-xe-next
>     Add ack's
> V6: Fix master device release (use rigth idr in release)
>     Rebase over latest drm-xe-next
>     Grammar and style fixes
> 
> V7: Add patch with non-posted erase support (fix hang on BMG)
>     Rebase over latest drm-xe-next

There are 2 things that I should had noticed earlier and mentioned to you.
I'm sorry for forgetting that.

1. Rebase on drm-tip branch of this repo: https://gitlab.freedesktop.org/drm/tip
We merge to drm-xe-next, but development and CI happens on drm-tip.

2. Please also send to intel-xe@lists.freedesktop.org Xe CI only runs on that
mailing list. intel-gfx is for i915.

No need to rebase or resend right now. Let's wait for a few reviews,
then we rebase and resend.

Thanks,
Rodrigo.

> 
> Abliyev, Reuven (1):
>   drm/xe/nvm: add support for non-posted erase
> 
> Alexander Usyskin (11):
>   mtd: core: always create master device
>   mtd: add driver for intel graphics non-volatile memory device
>   mtd: intel-dg: implement region enumeration
>   mtd: intel-dg: implement access functions
>   mtd: intel-dg: register with mtd
>   mtd: intel-dg: align 64bit read and write
>   mtd: intel-dg: wake card on operations
>   drm/i915/nvm: add nvm device for discrete graphics
>   drm/i915/nvm: add support for access mode
>   drm/xe/nvm: add on-die non-volatile memory device
>   drm/xe/nvm: add support for access mode
> 
>  MAINTAINERS                           |   7 +
>  drivers/gpu/drm/i915/Makefile         |   4 +
>  drivers/gpu/drm/i915/i915_driver.c    |   6 +
>  drivers/gpu/drm/i915/i915_drv.h       |   3 +
>  drivers/gpu/drm/i915/i915_reg.h       |   1 +
>  drivers/gpu/drm/i915/intel_nvm.c      | 115 ++++
>  drivers/gpu/drm/i915/intel_nvm.h      |  15 +
>  drivers/gpu/drm/xe/Makefile           |   1 +
>  drivers/gpu/drm/xe/regs/xe_gsc_regs.h |   4 +
>  drivers/gpu/drm/xe/xe_device.c        |   5 +
>  drivers/gpu/drm/xe/xe_device_types.h  |   6 +
>  drivers/gpu/drm/xe/xe_heci_gsc.c      |   5 +-
>  drivers/gpu/drm/xe/xe_nvm.c           | 161 +++++
>  drivers/gpu/drm/xe/xe_nvm.h           |  15 +
>  drivers/gpu/drm/xe/xe_pci.c           |   6 +
>  drivers/mtd/devices/Kconfig           |  11 +
>  drivers/mtd/devices/Makefile          |   1 +
>  drivers/mtd/devices/mtd_intel_dg.c    | 884 ++++++++++++++++++++++++++
>  drivers/mtd/mtdcore.c                 | 141 ++--
>  drivers/mtd/mtdcore.h                 |   2 +-
>  drivers/mtd/mtdpart.c                 |  17 +-
>  include/linux/intel_dg_nvm_aux.h      |  29 +
>  22 files changed, 1385 insertions(+), 54 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/intel_nvm.c
>  create mode 100644 drivers/gpu/drm/i915/intel_nvm.h
>  create mode 100644 drivers/gpu/drm/xe/xe_nvm.c
>  create mode 100644 drivers/gpu/drm/xe/xe_nvm.h
>  create mode 100644 drivers/mtd/devices/mtd_intel_dg.c
>  create mode 100644 include/linux/intel_dg_nvm_aux.h
> 
> -- 
> 2.43.0
>