All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Alexander Usyskin <alexander.usyskin@intel.com>
Cc: "Miquel Raynal" <miquel.raynal@bootlin.com>,
	"Richard Weinberger" <richard@nod.at>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"Lucas De Marchi" <lucas.demarchi@intel.com>,
	"Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Tvrtko Ursulin" <tursulin@ursulin.net>,
	"Oren Weil" <oren.jer.weil@intel.com>,
	linux-mtd@lists.infradead.org, dri-devel@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	"Tomas Winkler" <tomasw@gmail.com>
Subject: Re: [PATCH 01/10] mtd: add driver for intel graphics non-volatile memory device
Date: Mon, 4 Nov 2024 16:22:40 -0500	[thread overview]
Message-ID: <Zyk7IDetpm5elTT7@intel.com> (raw)
In-Reply-To: <20241022104119.3149051-2-alexander.usyskin@intel.com>

On Tue, Oct 22, 2024 at 01:41:10PM +0300, Alexander Usyskin wrote:
> Add auxiliary driver for intel discrete graphics
> non-volatile memory device.
> 
> CC: Rodrigo Vivi <rodrigo.vivi@intel.com>
> CC: Lucas De Marchi <lucas.demarchi@intel.com>
> Co-developed-by: Tomas Winkler <tomasw@gmail.com>
> Signed-off-by: Tomas Winkler <tomasw@gmail.com>
> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> ---
>  MAINTAINERS                        |   7 ++
>  drivers/mtd/devices/Kconfig        |  11 +++
>  drivers/mtd/devices/Makefile       |   1 +
>  drivers/mtd/devices/mtd-intel-dg.c | 139 +++++++++++++++++++++++++++++
>  include/linux/intel_dg_nvm_aux.h   |  27 ++++++
>  5 files changed, 185 insertions(+)
>  create mode 100644 drivers/mtd/devices/mtd-intel-dg.c
>  create mode 100644 include/linux/intel_dg_nvm_aux.h
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index c27f3190737f..a09c035849ef 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -11360,6 +11360,13 @@ L:	linux-kernel@vger.kernel.org
>  S:	Supported
>  F:	arch/x86/include/asm/intel-family.h
>  
> +INTEL DISCRETE GRAPHIC NVM MTD DRIVER
> +M:	Alexander Usyskin <alexander.usyskin@intel.com>
> +L:	linux-mtd@lists.infradead.org
> +S:	Supported
> +F:	drivers/mtd/devices/mtd-intel-dg.c
> +F:	include/linux/intel_dg_nvm_aux.h
> +
>  INTEL DRM DISPLAY FOR XE AND I915 DRIVERS
>  M:	Jani Nikula <jani.nikula@linux.intel.com>
>  M:	Rodrigo Vivi <rodrigo.vivi@intel.com>
> diff --git a/drivers/mtd/devices/Kconfig b/drivers/mtd/devices/Kconfig
> index ff2f9e55ef28..d93edf45c0bb 100644
> --- a/drivers/mtd/devices/Kconfig
> +++ b/drivers/mtd/devices/Kconfig
> @@ -183,6 +183,17 @@ config MTD_POWERNV_FLASH
>  	  platforms from Linux. This device abstracts away the
>  	  firmware interface for flash access.
>  
> +config MTD_INTEL_DG
> +	tristate "Intel Discrete Graphic non-volatile memory driver"
> +	depends on AUXILIARY_BUS
> +	depends on MTD
> +	help
> +	  This provides MTD device to access Intel Discrete Graphic
> +	  non-volatile memory.
> +
> +	  To compile this driver as a module, choose M here: the module
> +	  will be called mtd-intel-dg.
> +
>  comment "Disk-On-Chip Device Drivers"
>  
>  config MTD_DOCG3
> diff --git a/drivers/mtd/devices/Makefile b/drivers/mtd/devices/Makefile
> index d11eb2b8b6f8..77c05d269034 100644
> --- a/drivers/mtd/devices/Makefile
> +++ b/drivers/mtd/devices/Makefile
> @@ -18,6 +18,7 @@ obj-$(CONFIG_MTD_SST25L)	+= sst25l.o
>  obj-$(CONFIG_MTD_BCM47XXSFLASH)	+= bcm47xxsflash.o
>  obj-$(CONFIG_MTD_ST_SPI_FSM)    += st_spi_fsm.o
>  obj-$(CONFIG_MTD_POWERNV_FLASH)	+= powernv_flash.o
> +obj-$(CONFIG_MTD_INTEL_DG)	+= mtd-intel-dg.o
>  
>  
>  CFLAGS_docg3.o			+= -I$(src)
> diff --git a/drivers/mtd/devices/mtd-intel-dg.c b/drivers/mtd/devices/mtd-intel-dg.c
> new file mode 100644
> index 000000000000..746c963ea540
> --- /dev/null
> +++ b/drivers/mtd/devices/mtd-intel-dg.c
> @@ -0,0 +1,139 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright(c) 2019-2024, Intel Corporation. All rights reserved.
> + */
> +
> +#include <linux/device.h>
> +#include <linux/intel_dg_nvm_aux.h>
> +#include <linux/io.h>
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/string.h>
> +#include <linux/slab.h>
> +#include <linux/types.h>
> +
> +struct intel_dg_nvm {
> +	struct kref refcnt;
> +	void __iomem *base;
> +	size_t size;
> +	unsigned int nregions;
> +	struct {
> +		const char *name;
> +		u8 id;
> +		u64 offset;
> +		u64 size;
> +	} regions[];
> +};
> +
> +static void intel_dg_nvm_release(struct kref *kref)
> +{
> +	struct intel_dg_nvm *nvm = container_of(kref, struct intel_dg_nvm, refcnt);
> +	int i;
> +
> +	pr_debug("freeing intel_dg nvm\n");
> +	for (i = 0; i < nvm->nregions; i++)
> +		kfree(nvm->regions[i].name);
> +	kfree(nvm);
> +}
> +
> +static int intel_dg_mtd_probe(struct auxiliary_device *aux_dev,
> +			      const struct auxiliary_device_id *aux_dev_id)
> +{
> +	struct intel_dg_nvm_dev *invm = auxiliary_dev_to_intel_dg_nvm_dev(aux_dev);
> +	struct device *device;
> +	struct intel_dg_nvm *nvm;
> +	unsigned int nregions;
> +	unsigned int i, n;
> +	size_t size;
> +	char *name;
> +	int ret;
> +
> +	device = &aux_dev->dev;
> +
> +	/* count available regions */
> +	for (nregions = 0, i = 0; i < INTEL_DG_NVM_REGIONS; i++) {
> +		if (invm->regions[i].name)
> +			nregions++;
> +	}
> +
> +	if (!nregions) {
> +		dev_err(device, "no regions defined\n");
> +		return -ENODEV;
> +	}
> +
> +	size = sizeof(*nvm) + sizeof(nvm->regions[0]) * nregions;
> +	nvm = kzalloc(size, GFP_KERNEL);
> +	if (!nvm)
> +		return -ENOMEM;
> +
> +	kref_init(&nvm->refcnt);
> +
> +	nvm->nregions = nregions;
> +	for (n = 0, i = 0; i < INTEL_DG_NVM_REGIONS; i++) {
> +		if (!invm->regions[i].name)
> +			continue;
> +
> +		name = kasprintf(GFP_KERNEL, "%s.%s",
> +				 dev_name(&aux_dev->dev), invm->regions[i].name);
> +		if (!name)
> +			continue;
> +		nvm->regions[n].name = name;
> +		nvm->regions[n].id = i;
> +		n++;
> +	}
> +
> +	nvm->base = devm_ioremap_resource(device, &invm->bar);
> +	if (IS_ERR(nvm->base)) {
> +		dev_err(device, "mmio not mapped\n");
> +		ret = PTR_ERR(nvm->base);
> +		goto err;
> +	}
> +
> +	dev_set_drvdata(&aux_dev->dev, nvm);
> +
> +	return 0;
> +
> +err:
> +	kref_put(&nvm->refcnt, intel_dg_nvm_release);
> +	return ret;
> +}
> +
> +static void intel_dg_mtd_remove(struct auxiliary_device *aux_dev)
> +{
> +	struct intel_dg_nvm *nvm = dev_get_drvdata(&aux_dev->dev);
> +
> +	if (!nvm)
> +		return;
> +
> +	dev_set_drvdata(&aux_dev->dev, NULL);
> +
> +	kref_put(&nvm->refcnt, intel_dg_nvm_release);
> +}
> +
> +static const struct auxiliary_device_id intel_dg_mtd_id_table[] = {
> +	{
> +		.name = "i915.nvm",
> +	},
> +	{
> +		.name = "xe.nvm",
> +	},
> +	{
> +		/* sentinel */
> +	}
> +};
> +MODULE_DEVICE_TABLE(auxiliary, intel_dg_mtd_id_table);
> +
> +static struct auxiliary_driver intel_dg_mtd_driver = {
> +	.probe  = intel_dg_mtd_probe,
> +	.remove = intel_dg_mtd_remove,
> +	.driver = {
> +		/* auxiliary_driver_register() sets .name to be the modname */
> +	},
> +	.id_table = intel_dg_mtd_id_table
> +};
> +
> +module_auxiliary_driver(intel_dg_mtd_driver);
> +
> +MODULE_LICENSE("GPL");
> +MODULE_AUTHOR("Intel Corporation");
> +MODULE_DESCRIPTION("Intel DGFX MTD driver");
> diff --git a/include/linux/intel_dg_nvm_aux.h b/include/linux/intel_dg_nvm_aux.h
> new file mode 100644
> index 000000000000..2cc4179fbde2
> --- /dev/null
> +++ b/include/linux/intel_dg_nvm_aux.h
> @@ -0,0 +1,27 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright(c) 2019-2024, Intel Corporation. All rights reserved.
> + */
> +
> +#ifndef __INTEL_DG_NVM_AUX_H__
> +#define __INTEL_DG_NVM_AUX_H__
> +
> +#include <linux/auxiliary_bus.h>
> +
> +#define INTEL_DG_NVM_REGIONS 13
> +
> +struct intel_dg_nvm_region {
> +	const char *name;
> +};
> +
> +struct intel_dg_nvm_dev {
> +	struct auxiliary_device aux_dev;
> +	bool writeable_override;
> +	struct resource bar;
> +	const struct intel_dg_nvm_region *regions;
> +};
> +
> +#define auxiliary_dev_to_intel_dg_nvm_dev(auxiliary_dev) \
> +	container_of(auxiliary_dev, struct intel_dg_nvm_dev, aux_dev)
> +
> +#endif /* __INTEL_DG_NVM_AUX_H__ */
> -- 
> 2.43.0
> 

WARNING: multiple messages have this Message-ID (diff)
From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Alexander Usyskin <alexander.usyskin@intel.com>
Cc: "Miquel Raynal" <miquel.raynal@bootlin.com>,
	"Richard Weinberger" <richard@nod.at>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"Lucas De Marchi" <lucas.demarchi@intel.com>,
	"Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Tvrtko Ursulin" <tursulin@ursulin.net>,
	"Oren Weil" <oren.jer.weil@intel.com>,
	linux-mtd@lists.infradead.org, dri-devel@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	"Tomas Winkler" <tomasw@gmail.com>
Subject: Re: [PATCH 01/10] mtd: add driver for intel graphics non-volatile memory device
Date: Mon, 4 Nov 2024 16:22:40 -0500	[thread overview]
Message-ID: <Zyk7IDetpm5elTT7@intel.com> (raw)
In-Reply-To: <20241022104119.3149051-2-alexander.usyskin@intel.com>

On Tue, Oct 22, 2024 at 01:41:10PM +0300, Alexander Usyskin wrote:
> Add auxiliary driver for intel discrete graphics
> non-volatile memory device.
> 
> CC: Rodrigo Vivi <rodrigo.vivi@intel.com>
> CC: Lucas De Marchi <lucas.demarchi@intel.com>
> Co-developed-by: Tomas Winkler <tomasw@gmail.com>
> Signed-off-by: Tomas Winkler <tomasw@gmail.com>
> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> ---
>  MAINTAINERS                        |   7 ++
>  drivers/mtd/devices/Kconfig        |  11 +++
>  drivers/mtd/devices/Makefile       |   1 +
>  drivers/mtd/devices/mtd-intel-dg.c | 139 +++++++++++++++++++++++++++++
>  include/linux/intel_dg_nvm_aux.h   |  27 ++++++
>  5 files changed, 185 insertions(+)
>  create mode 100644 drivers/mtd/devices/mtd-intel-dg.c
>  create mode 100644 include/linux/intel_dg_nvm_aux.h
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index c27f3190737f..a09c035849ef 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -11360,6 +11360,13 @@ L:	linux-kernel@vger.kernel.org
>  S:	Supported
>  F:	arch/x86/include/asm/intel-family.h
>  
> +INTEL DISCRETE GRAPHIC NVM MTD DRIVER
> +M:	Alexander Usyskin <alexander.usyskin@intel.com>
> +L:	linux-mtd@lists.infradead.org
> +S:	Supported
> +F:	drivers/mtd/devices/mtd-intel-dg.c
> +F:	include/linux/intel_dg_nvm_aux.h
> +
>  INTEL DRM DISPLAY FOR XE AND I915 DRIVERS
>  M:	Jani Nikula <jani.nikula@linux.intel.com>
>  M:	Rodrigo Vivi <rodrigo.vivi@intel.com>
> diff --git a/drivers/mtd/devices/Kconfig b/drivers/mtd/devices/Kconfig
> index ff2f9e55ef28..d93edf45c0bb 100644
> --- a/drivers/mtd/devices/Kconfig
> +++ b/drivers/mtd/devices/Kconfig
> @@ -183,6 +183,17 @@ config MTD_POWERNV_FLASH
>  	  platforms from Linux. This device abstracts away the
>  	  firmware interface for flash access.
>  
> +config MTD_INTEL_DG
> +	tristate "Intel Discrete Graphic non-volatile memory driver"
> +	depends on AUXILIARY_BUS
> +	depends on MTD
> +	help
> +	  This provides MTD device to access Intel Discrete Graphic
> +	  non-volatile memory.
> +
> +	  To compile this driver as a module, choose M here: the module
> +	  will be called mtd-intel-dg.
> +
>  comment "Disk-On-Chip Device Drivers"
>  
>  config MTD_DOCG3
> diff --git a/drivers/mtd/devices/Makefile b/drivers/mtd/devices/Makefile
> index d11eb2b8b6f8..77c05d269034 100644
> --- a/drivers/mtd/devices/Makefile
> +++ b/drivers/mtd/devices/Makefile
> @@ -18,6 +18,7 @@ obj-$(CONFIG_MTD_SST25L)	+= sst25l.o
>  obj-$(CONFIG_MTD_BCM47XXSFLASH)	+= bcm47xxsflash.o
>  obj-$(CONFIG_MTD_ST_SPI_FSM)    += st_spi_fsm.o
>  obj-$(CONFIG_MTD_POWERNV_FLASH)	+= powernv_flash.o
> +obj-$(CONFIG_MTD_INTEL_DG)	+= mtd-intel-dg.o
>  
>  
>  CFLAGS_docg3.o			+= -I$(src)
> diff --git a/drivers/mtd/devices/mtd-intel-dg.c b/drivers/mtd/devices/mtd-intel-dg.c
> new file mode 100644
> index 000000000000..746c963ea540
> --- /dev/null
> +++ b/drivers/mtd/devices/mtd-intel-dg.c
> @@ -0,0 +1,139 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright(c) 2019-2024, Intel Corporation. All rights reserved.
> + */
> +
> +#include <linux/device.h>
> +#include <linux/intel_dg_nvm_aux.h>
> +#include <linux/io.h>
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/string.h>
> +#include <linux/slab.h>
> +#include <linux/types.h>
> +
> +struct intel_dg_nvm {
> +	struct kref refcnt;
> +	void __iomem *base;
> +	size_t size;
> +	unsigned int nregions;
> +	struct {
> +		const char *name;
> +		u8 id;
> +		u64 offset;
> +		u64 size;
> +	} regions[];
> +};
> +
> +static void intel_dg_nvm_release(struct kref *kref)
> +{
> +	struct intel_dg_nvm *nvm = container_of(kref, struct intel_dg_nvm, refcnt);
> +	int i;
> +
> +	pr_debug("freeing intel_dg nvm\n");
> +	for (i = 0; i < nvm->nregions; i++)
> +		kfree(nvm->regions[i].name);
> +	kfree(nvm);
> +}
> +
> +static int intel_dg_mtd_probe(struct auxiliary_device *aux_dev,
> +			      const struct auxiliary_device_id *aux_dev_id)
> +{
> +	struct intel_dg_nvm_dev *invm = auxiliary_dev_to_intel_dg_nvm_dev(aux_dev);
> +	struct device *device;
> +	struct intel_dg_nvm *nvm;
> +	unsigned int nregions;
> +	unsigned int i, n;
> +	size_t size;
> +	char *name;
> +	int ret;
> +
> +	device = &aux_dev->dev;
> +
> +	/* count available regions */
> +	for (nregions = 0, i = 0; i < INTEL_DG_NVM_REGIONS; i++) {
> +		if (invm->regions[i].name)
> +			nregions++;
> +	}
> +
> +	if (!nregions) {
> +		dev_err(device, "no regions defined\n");
> +		return -ENODEV;
> +	}
> +
> +	size = sizeof(*nvm) + sizeof(nvm->regions[0]) * nregions;
> +	nvm = kzalloc(size, GFP_KERNEL);
> +	if (!nvm)
> +		return -ENOMEM;
> +
> +	kref_init(&nvm->refcnt);
> +
> +	nvm->nregions = nregions;
> +	for (n = 0, i = 0; i < INTEL_DG_NVM_REGIONS; i++) {
> +		if (!invm->regions[i].name)
> +			continue;
> +
> +		name = kasprintf(GFP_KERNEL, "%s.%s",
> +				 dev_name(&aux_dev->dev), invm->regions[i].name);
> +		if (!name)
> +			continue;
> +		nvm->regions[n].name = name;
> +		nvm->regions[n].id = i;
> +		n++;
> +	}
> +
> +	nvm->base = devm_ioremap_resource(device, &invm->bar);
> +	if (IS_ERR(nvm->base)) {
> +		dev_err(device, "mmio not mapped\n");
> +		ret = PTR_ERR(nvm->base);
> +		goto err;
> +	}
> +
> +	dev_set_drvdata(&aux_dev->dev, nvm);
> +
> +	return 0;
> +
> +err:
> +	kref_put(&nvm->refcnt, intel_dg_nvm_release);
> +	return ret;
> +}
> +
> +static void intel_dg_mtd_remove(struct auxiliary_device *aux_dev)
> +{
> +	struct intel_dg_nvm *nvm = dev_get_drvdata(&aux_dev->dev);
> +
> +	if (!nvm)
> +		return;
> +
> +	dev_set_drvdata(&aux_dev->dev, NULL);
> +
> +	kref_put(&nvm->refcnt, intel_dg_nvm_release);
> +}
> +
> +static const struct auxiliary_device_id intel_dg_mtd_id_table[] = {
> +	{
> +		.name = "i915.nvm",
> +	},
> +	{
> +		.name = "xe.nvm",
> +	},
> +	{
> +		/* sentinel */
> +	}
> +};
> +MODULE_DEVICE_TABLE(auxiliary, intel_dg_mtd_id_table);
> +
> +static struct auxiliary_driver intel_dg_mtd_driver = {
> +	.probe  = intel_dg_mtd_probe,
> +	.remove = intel_dg_mtd_remove,
> +	.driver = {
> +		/* auxiliary_driver_register() sets .name to be the modname */
> +	},
> +	.id_table = intel_dg_mtd_id_table
> +};
> +
> +module_auxiliary_driver(intel_dg_mtd_driver);
> +
> +MODULE_LICENSE("GPL");
> +MODULE_AUTHOR("Intel Corporation");
> +MODULE_DESCRIPTION("Intel DGFX MTD driver");
> diff --git a/include/linux/intel_dg_nvm_aux.h b/include/linux/intel_dg_nvm_aux.h
> new file mode 100644
> index 000000000000..2cc4179fbde2
> --- /dev/null
> +++ b/include/linux/intel_dg_nvm_aux.h
> @@ -0,0 +1,27 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright(c) 2019-2024, Intel Corporation. All rights reserved.
> + */
> +
> +#ifndef __INTEL_DG_NVM_AUX_H__
> +#define __INTEL_DG_NVM_AUX_H__
> +
> +#include <linux/auxiliary_bus.h>
> +
> +#define INTEL_DG_NVM_REGIONS 13
> +
> +struct intel_dg_nvm_region {
> +	const char *name;
> +};
> +
> +struct intel_dg_nvm_dev {
> +	struct auxiliary_device aux_dev;
> +	bool writeable_override;
> +	struct resource bar;
> +	const struct intel_dg_nvm_region *regions;
> +};
> +
> +#define auxiliary_dev_to_intel_dg_nvm_dev(auxiliary_dev) \
> +	container_of(auxiliary_dev, struct intel_dg_nvm_dev, aux_dev)
> +
> +#endif /* __INTEL_DG_NVM_AUX_H__ */
> -- 
> 2.43.0
> 

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  reply	other threads:[~2024-11-04 21:22 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-22 10:41 [PATCH 00/10] mtd: add driver for Intel discrete graphics Alexander Usyskin
2024-10-22 10:41 ` Alexander Usyskin
2024-10-22 10:41 ` [PATCH 01/10] mtd: add driver for intel graphics non-volatile memory device Alexander Usyskin
2024-10-22 10:41   ` Alexander Usyskin
2024-11-04 21:22   ` Rodrigo Vivi [this message]
2024-11-04 21:22     ` Rodrigo Vivi
2024-10-22 10:41 ` [PATCH 02/10] mtd: intel-dg: implement region enumeration Alexander Usyskin
2024-10-22 10:41   ` Alexander Usyskin
2024-10-22 10:41 ` [PATCH 03/10] mtd: intel-dg: implement access functions Alexander Usyskin
2024-10-22 10:41   ` Alexander Usyskin
2024-10-22 10:41 ` [PATCH 04/10] mtd: intel-dg: register with mtd Alexander Usyskin
2024-10-22 10:41   ` Alexander Usyskin
2024-10-22 10:41 ` [PATCH 05/10] mtd: intel-dg: align 64bit read and write Alexander Usyskin
2024-10-22 10:41   ` Alexander Usyskin
2024-10-22 10:41 ` [PATCH 06/10] mtd: intel-dg: wake card on operations Alexander Usyskin
2024-10-22 10:41   ` Alexander Usyskin
2024-10-28 14:57   ` Rodrigo Vivi
2024-10-28 14:57     ` Rodrigo Vivi
2024-10-28 15:01     ` Gupta, Anshuman
2024-10-28 15:01       ` Gupta, Anshuman
2024-10-29 11:24       ` Usyskin, Alexander
2024-10-29 11:24         ` Usyskin, Alexander
2024-11-04 21:16         ` Rodrigo Vivi
2024-11-04 21:16           ` Rodrigo Vivi
2024-11-05 12:17           ` Usyskin, Alexander
2024-11-05 12:17             ` Usyskin, Alexander
2024-11-07 22:49             ` Rodrigo Vivi
2024-11-07 22:49               ` Rodrigo Vivi
2024-11-08  9:01               ` Miquel Raynal
2024-11-08  9:01                 ` Miquel Raynal
2024-11-10 13:16               ` Usyskin, Alexander
2024-11-10 13:16                 ` Usyskin, Alexander
2024-11-11 11:29                 ` Usyskin, Alexander
2024-11-11 11:29                   ` Usyskin, Alexander
2024-11-11 20:27                   ` Miquel Raynal
2024-11-11 20:27                     ` Miquel Raynal
2024-12-11  9:46                     ` Usyskin, Alexander
2024-12-11  9:46                       ` Usyskin, Alexander
2024-10-22 10:41 ` [PATCH 07/10] drm/i915/nvm: add nvm device for discrete graphics Alexander Usyskin
2024-10-22 10:41   ` Alexander Usyskin
2024-10-22 10:41 ` [PATCH 08/10] drm/i915/nvm: add support for access mode Alexander Usyskin
2024-10-22 10:41   ` Alexander Usyskin
2024-10-22 10:41 ` [PATCH 09/10] drm/xe/nvm: add on-die non-volatile memory device Alexander Usyskin
2024-10-22 10:41   ` Alexander Usyskin
2024-10-28 14:48   ` Rodrigo Vivi
2024-10-28 14:48     ` Rodrigo Vivi
2024-11-04 21:22     ` Rodrigo Vivi
2024-11-04 21:22       ` Rodrigo Vivi
2024-10-22 10:41 ` [PATCH 10/10] drm/xe/nvm: add support for access mode Alexander Usyskin
2024-10-22 10:41   ` Alexander Usyskin
2024-10-22 12:57 ` ✗ Fi.CI.CHECKPATCH: warning for mtd: add driver for Intel discrete graphics Patchwork
2024-10-22 12:57 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-10-22 13:16 ` ✓ Fi.CI.BAT: success " Patchwork
2024-10-22 17:22 ` ✗ Fi.CI.IGT: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Zyk7IDetpm5elTT7@intel.com \
    --to=rodrigo.vivi@intel.com \
    --cc=airlied@gmail.com \
    --cc=alexander.usyskin@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=lucas.demarchi@intel.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=mripard@kernel.org \
    --cc=oren.jer.weil@intel.com \
    --cc=richard@nod.at \
    --cc=simona@ffwll.ch \
    --cc=thomas.hellstrom@linux.intel.com \
    --cc=tomasw@gmail.com \
    --cc=tursulin@ursulin.net \
    --cc=tzimmermann@suse.de \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.