All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/2] check feature type for DFL irq parsing
@ 2022-03-18  3:16 Tianfei Zhang
  2022-03-18  3:16 ` [PATCH v4 1/2] fpga: dfl: check feature type before parse irq info Tianfei Zhang
  2022-03-18  3:16 ` [PATCH v4 2/2] Documentation: fpga: dfl: add description of Feature ID Tianfei Zhang
  0 siblings, 2 replies; 5+ messages in thread
From: Tianfei Zhang @ 2022-03-18  3:16 UTC (permalink / raw)
  To: hao.wu, trix, mdf, yilun.xu, linux-fpga, linux-doc, rdunlap
  Cc: corbet, Tianfei Zhang

This patch set adds an extended usage of Feature ID for DFL.
Previously the feature IDs defined are unique, no matter
which feature type. But currently we want to extend its
usage to have a per-type feature ID space.

Patch 1 adds feature type checking before parse the irq info.
Patch 2 adds description about the Feature ID.

v4:
  - Fix the git commit from Hao's comments.
  - Split documentation into another patch.
v3:
  - Remove "Fixes" in commit log with Hao's comment, this is a
    extension not a bug fix.
v2:
  - add DFL Feature ID Registry in documentation.

Tianfei zhang (2):
  fpga: dfl: check feature type before parse irq info
  Documentation: fpga: dfl: add description of Feature ID

 Documentation/fpga/dfl.rst | 10 ++++++++++
 drivers/fpga/dfl.c         | 38 ++++++++++++++++++++++----------------
 2 files changed, 32 insertions(+), 16 deletions(-)

-- 
2.26.2


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v4 1/2] fpga: dfl: check feature type before parse irq info
  2022-03-18  3:16 [PATCH v4 0/2] check feature type for DFL irq parsing Tianfei Zhang
@ 2022-03-18  3:16 ` Tianfei Zhang
  2022-03-18  3:16 ` [PATCH v4 2/2] Documentation: fpga: dfl: add description of Feature ID Tianfei Zhang
  1 sibling, 0 replies; 5+ messages in thread
From: Tianfei Zhang @ 2022-03-18  3:16 UTC (permalink / raw)
  To: hao.wu, trix, mdf, yilun.xu, linux-fpga, linux-doc, rdunlap
  Cc: corbet, Tianfei zhang

From: Tianfei zhang <tianfei.zhang@intel.com>

Previously the feature IDs defined are unique, no matter
which feature type. But currently we want to extend its
usage to have a per-type feature ID space, so this patch
adds feature type checking as well just before look into
feature ID for different features which have irq info.

Signed-off-by: Tianfei zhang <tianfei.zhang@intel.com>
---
v4:
  - Fix the git commit from Hao's comments.
  - Split documentation into another patch.
v3:
  - Remove "Fixes" in commit log with Hao's comment, this is a
    extension not a bug fix.
v2:
  - add DFL Feature ID Registry in documentation.
---
 drivers/fpga/dfl.c | 38 ++++++++++++++++++++++----------------
 1 file changed, 22 insertions(+), 16 deletions(-)

diff --git a/drivers/fpga/dfl.c b/drivers/fpga/dfl.c
index 599bb21d86af..6bff39ff21a0 100644
--- a/drivers/fpga/dfl.c
+++ b/drivers/fpga/dfl.c
@@ -940,9 +940,12 @@ static int parse_feature_irqs(struct build_feature_devs_info *binfo,
 {
 	void __iomem *base = binfo->ioaddr + ofst;
 	unsigned int i, ibase, inr = 0;
+	enum dfl_id_type type;
 	int virq;
 	u64 v;
 
+	type = feature_dev_id_type(binfo->feature_dev);
+
 	/*
 	 * Ideally DFL framework should only read info from DFL header, but
 	 * current version DFL only provides mmio resources information for
@@ -957,22 +960,25 @@ static int parse_feature_irqs(struct build_feature_devs_info *binfo,
 	 * code will be added. But in order to be compatible to old version
 	 * DFL, the driver may still fall back to these quirks.
 	 */
-	switch (fid) {
-	case PORT_FEATURE_ID_UINT:
-		v = readq(base + PORT_UINT_CAP);
-		ibase = FIELD_GET(PORT_UINT_CAP_FST_VECT, v);
-		inr = FIELD_GET(PORT_UINT_CAP_INT_NUM, v);
-		break;
-	case PORT_FEATURE_ID_ERROR:
-		v = readq(base + PORT_ERROR_CAP);
-		ibase = FIELD_GET(PORT_ERROR_CAP_INT_VECT, v);
-		inr = FIELD_GET(PORT_ERROR_CAP_SUPP_INT, v);
-		break;
-	case FME_FEATURE_ID_GLOBAL_ERR:
-		v = readq(base + FME_ERROR_CAP);
-		ibase = FIELD_GET(FME_ERROR_CAP_INT_VECT, v);
-		inr = FIELD_GET(FME_ERROR_CAP_SUPP_INT, v);
-		break;
+	if (type == PORT_ID) {
+		switch (fid) {
+		case PORT_FEATURE_ID_UINT:
+			v = readq(base + PORT_UINT_CAP);
+			ibase = FIELD_GET(PORT_UINT_CAP_FST_VECT, v);
+			inr = FIELD_GET(PORT_UINT_CAP_INT_NUM, v);
+			break;
+		case PORT_FEATURE_ID_ERROR:
+			v = readq(base + PORT_ERROR_CAP);
+			ibase = FIELD_GET(PORT_ERROR_CAP_INT_VECT, v);
+			inr = FIELD_GET(PORT_ERROR_CAP_SUPP_INT, v);
+			break;
+		}
+	} else if (type == FME_ID) {
+		if (fid == FME_FEATURE_ID_GLOBAL_ERR) {
+			v = readq(base + FME_ERROR_CAP);
+			ibase = FIELD_GET(FME_ERROR_CAP_INT_VECT, v);
+			inr = FIELD_GET(FME_ERROR_CAP_SUPP_INT, v);
+		}
 	}
 
 	if (!inr) {
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v4 2/2] Documentation: fpga: dfl: add description of Feature ID
  2022-03-18  3:16 [PATCH v4 0/2] check feature type for DFL irq parsing Tianfei Zhang
  2022-03-18  3:16 ` [PATCH v4 1/2] fpga: dfl: check feature type before parse irq info Tianfei Zhang
@ 2022-03-18  3:16 ` Tianfei Zhang
  2022-03-21 23:05   ` matthew.gerlach
  1 sibling, 1 reply; 5+ messages in thread
From: Tianfei Zhang @ 2022-03-18  3:16 UTC (permalink / raw)
  To: hao.wu, trix, mdf, yilun.xu, linux-fpga, linux-doc, rdunlap
  Cc: corbet, Tianfei zhang

From: Tianfei zhang <tianfei.zhang@intel.com>

This patch adds the description and registration of Feature ID
in documentation.

Signed-off-by: Tianfei zhang <tianfei.zhang@intel.com>
---
 Documentation/fpga/dfl.rst | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/Documentation/fpga/dfl.rst b/Documentation/fpga/dfl.rst
index ef9eec71f6f3..260cac3b7215 100644
--- a/Documentation/fpga/dfl.rst
+++ b/Documentation/fpga/dfl.rst
@@ -502,6 +502,16 @@ Developer only needs to provide a sub feature driver with matched feature id.
 FME Partial Reconfiguration Sub Feature driver (see drivers/fpga/dfl-fme-pr.c)
 could be a reference.
 
+Individual DFL drivers are bound DFL devices based on Feature Type and Feature ID.
+The definition of Feature Type and Feature ID can be found:
+
+https://github.com/OPAE/linux-dfl-feature-id/blob/master/dfl-feature-ids.rst
+
+If you want to add a new feature ID for FPGA DFL feature device, you must use a pull
+request to register a feature ID for DFL. Here is the DFL Feature ID Registry:
+
+https://github.com/OPAE/linux-dfl-feature-id
+
 Location of DFLs on a PCI Device
 ================================
 The original method for finding a DFL on a PCI device assumed the start of the
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v4 2/2] Documentation: fpga: dfl: add description of Feature ID
  2022-03-18  3:16 ` [PATCH v4 2/2] Documentation: fpga: dfl: add description of Feature ID Tianfei Zhang
@ 2022-03-21 23:05   ` matthew.gerlach
  2022-03-22  7:45     ` Zhang, Tianfei
  0 siblings, 1 reply; 5+ messages in thread
From: matthew.gerlach @ 2022-03-21 23:05 UTC (permalink / raw)
  To: Tianfei Zhang
  Cc: hao.wu, trix, mdf, yilun.xu, linux-fpga, linux-doc, rdunlap, corbet



On Thu, 17 Mar 2022, Tianfei Zhang wrote:

> From: Tianfei zhang <tianfei.zhang@intel.com>
>
> This patch adds the description and registration of Feature ID
> in documentation.
>
> Signed-off-by: Tianfei zhang <tianfei.zhang@intel.com>
> ---
> Documentation/fpga/dfl.rst | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/Documentation/fpga/dfl.rst b/Documentation/fpga/dfl.rst
> index ef9eec71f6f3..260cac3b7215 100644
> --- a/Documentation/fpga/dfl.rst
> +++ b/Documentation/fpga/dfl.rst
> @@ -502,6 +502,16 @@ Developer only needs to provide a sub feature driver with matched feature id.
> FME Partial Reconfiguration Sub Feature driver (see drivers/fpga/dfl-fme-pr.c)
> could be a reference.
>
> +Individual DFL drivers are bound DFL devices based on Feature Type and Feature ID.
> +The definition of Feature Type and Feature ID can be found:
> +
> +https://github.com/OPAE/linux-dfl-feature-id/blob/master/dfl-feature-ids.rst
> +
> +If you want to add a new feature ID for FPGA DFL feature device, you must use a pull

s/you muse use/submit/

> +request to register a feature ID for DFL. Here is the DFL Feature ID Registry:
> +
> +https://github.com/OPAE/linux-dfl-feature-id
> +
> Location of DFLs on a PCI Device
> ================================
> The original method for finding a DFL on a PCI device assumed the start of the
> -- 
> 2.26.2
>
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH v4 2/2] Documentation: fpga: dfl: add description of Feature ID
  2022-03-21 23:05   ` matthew.gerlach
@ 2022-03-22  7:45     ` Zhang, Tianfei
  0 siblings, 0 replies; 5+ messages in thread
From: Zhang, Tianfei @ 2022-03-22  7:45 UTC (permalink / raw)
  To: matthew.gerlach
  Cc: Wu, Hao, trix, mdf, Xu, Yilun, linux-fpga, linux-doc, rdunlap, corbet



> -----Original Message-----
> From: matthew.gerlach@linux.intel.com <matthew.gerlach@linux.intel.com>
> Sent: Tuesday, March 22, 2022 7:05 AM
> To: Zhang, Tianfei <tianfei.zhang@intel.com>
> Cc: Wu, Hao <hao.wu@intel.com>; trix@redhat.com; mdf@kernel.org; Xu, Yilun
> <yilun.xu@intel.com>; linux-fpga@vger.kernel.org; linux-doc@vger.kernel.org;
> rdunlap@infradead.org; corbet@lwn.net
> Subject: Re: [PATCH v4 2/2] Documentation: fpga: dfl: add description of
> Feature ID
> 
> 
> 
> On Thu, 17 Mar 2022, Tianfei Zhang wrote:
> 
> > From: Tianfei zhang <tianfei.zhang@intel.com>
> >
> > This patch adds the description and registration of Feature ID in
> > documentation.
> >
> > Signed-off-by: Tianfei zhang <tianfei.zhang@intel.com>
> > ---
> > Documentation/fpga/dfl.rst | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/Documentation/fpga/dfl.rst b/Documentation/fpga/dfl.rst
> > index ef9eec71f6f3..260cac3b7215 100644
> > --- a/Documentation/fpga/dfl.rst
> > +++ b/Documentation/fpga/dfl.rst
> > @@ -502,6 +502,16 @@ Developer only needs to provide a sub feature driver
> with matched feature id.
> > FME Partial Reconfiguration Sub Feature driver (see
> > drivers/fpga/dfl-fme-pr.c) could be a reference.
> >
> > +Individual DFL drivers are bound DFL devices based on Feature Type and
> Feature ID.
> > +The definition of Feature Type and Feature ID can be found:
> > +
> > +https://github.com/OPAE/linux-dfl-feature-id/blob/master/dfl-feature-
> > +ids.rst
> > +
> > +If you want to add a new feature ID for FPGA DFL feature device, you
> > +must use a pull
> 
> s/you muse use/submit/

Thanks, I will change to:  you must submit a pull request ...

> 
> > +request to register a feature ID for DFL. Here is the DFL Feature ID Registry:
> > +
> > +https://github.com/OPAE/linux-dfl-feature-id
> > +
> > Location of DFLs on a PCI Device
> > ================================
> > The original method for finding a DFL on a PCI device assumed the
> > start of the
> > --
> > 2.26.2
> >
> >

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-03-22  7:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-18  3:16 [PATCH v4 0/2] check feature type for DFL irq parsing Tianfei Zhang
2022-03-18  3:16 ` [PATCH v4 1/2] fpga: dfl: check feature type before parse irq info Tianfei Zhang
2022-03-18  3:16 ` [PATCH v4 2/2] Documentation: fpga: dfl: add description of Feature ID Tianfei Zhang
2022-03-21 23:05   ` matthew.gerlach
2022-03-22  7:45     ` Zhang, Tianfei

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.