2023-10-03 18:49:32

by Srinivas Pandruvada

[permalink] [raw]
Subject: [PATCH v2 1/3] platform/x86/intel/tpmi: Add defines to get version information

Add defines to get major and minor version from a TPMI version field
value. This will avoid code duplication to convert in every feature
driver. Also add define for invalid version field.

Signed-off-by: Srinivas Pandruvada <[email protected]>
---
v2:
No change

include/linux/intel_tpmi.h | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/include/linux/intel_tpmi.h b/include/linux/intel_tpmi.h
index 04d937ad4dc4..ee07393445f9 100644
--- a/include/linux/intel_tpmi.h
+++ b/include/linux/intel_tpmi.h
@@ -6,6 +6,12 @@
#ifndef _INTEL_TPMI_H_
#define _INTEL_TPMI_H_

+#include <linux/bitfield.h>
+
+#define TPMI_VERSION_INVALID 0xff
+#define TPMI_MINOR_VERSION(val) FIELD_GET(GENMASK(4, 0), val)
+#define TPMI_MAJOR_VERSION(val) FIELD_GET(GENMASK(7, 5), val)
+
/**
* struct intel_tpmi_plat_info - Platform information for a TPMI device instance
* @package_id: CPU Package id
--
2.41.0


2023-10-04 13:00:10

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] platform/x86/intel/tpmi: Add defines to get version information

On Tue, Oct 03, 2023 at 11:49:14AM -0700, Srinivas Pandruvada wrote:
> Add defines to get major and minor version from a TPMI version field
> value. This will avoid code duplication to convert in every feature
> driver. Also add define for invalid version field.

...

> +#define TPMI_VERSION_INVALID 0xff

I would make it clearer with (GENMASK(7, 5) | GENMASK(4, 0))
or even with specific masks defined and used in both cases:
#def

#define TPMI_MINVER_MASK GENMASK(4, 0)
#define TPMI_MAJVER_MASK GENMASK(7, 5)

#define TPMI_VERSION_INVALID (TPMI_MINVER_MASK | TPMI_MAJVER_MASK)

#define TPMI_MINOR_VERSION(val) FIELD_GET(TPMI_MINVER_MASK, val)
#define TPMI_MAJOR_VERSION(val) FIELD_GET(TPMI_MAJVER_MASK, val)

> +#define TPMI_MINOR_VERSION(val) FIELD_GET(GENMASK(4, 0), val)
> +#define TPMI_MAJOR_VERSION(val) FIELD_GET(GENMASK(7, 5), val)

--
With Best Regards,
Andy Shevchenko


2023-10-04 13:03:50

by Ilpo Järvinen

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] platform/x86/intel/tpmi: Add defines to get version information

On Wed, 4 Oct 2023, Andy Shevchenko wrote:

> On Tue, Oct 03, 2023 at 11:49:14AM -0700, Srinivas Pandruvada wrote:
> > Add defines to get major and minor version from a TPMI version field
> > value. This will avoid code duplication to convert in every feature
> > driver. Also add define for invalid version field.
>
> ...
>
> > +#define TPMI_VERSION_INVALID 0xff
>
> I would make it clearer with (GENMASK(7, 5) | GENMASK(4, 0))
> or even with specific masks defined and used in both cases:
> #def
>
> #define TPMI_MINVER_MASK GENMASK(4, 0)
> #define TPMI_MAJVER_MASK GENMASK(7, 5)
>
> #define TPMI_VERSION_INVALID (TPMI_MINVER_MASK | TPMI_MAJVER_MASK)
>
> #define TPMI_MINOR_VERSION(val) FIELD_GET(TPMI_MINVER_MASK, val)
> #define TPMI_MAJOR_VERSION(val) FIELD_GET(TPMI_MAJVER_MASK, val)
>
> > +#define TPMI_MINOR_VERSION(val) FIELD_GET(GENMASK(4, 0), val)
> > +#define TPMI_MAJOR_VERSION(val) FIELD_GET(GENMASK(7, 5), val)

In case somebody does, please do it on top of the existing changes as
I already applied the series.


--
i.

2023-10-04 18:39:18

by Srinivas Pandruvada

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] platform/x86/intel/tpmi: Add defines to get version information

On Wed, 2023-10-04 at 15:59 +0300, Andy Shevchenko wrote:
> On Tue, Oct 03, 2023 at 11:49:14AM -0700, Srinivas Pandruvada wrote:
> > Add defines to get major and minor version from a TPMI version
> > field
> > value. This will avoid code duplication to convert in every feature
> > driver. Also add define for invalid version field.
>
> ...
>
> > +#define TPMI_VERSION_INVALID   0xff
>
> I would make it clearer with (GENMASK(7, 5) | GENMASK(4, 0))
> or even with specific masks defined and used in both cases:
> #def
>
> #define TPMI_MINVER_MASK        GENMASK(4, 0)
> #define TPMI_MAJVER_MASK        GENMASK(7, 5)
>
> #define TPMI_VERSION_INVALID    (TPMI_MINVER_MASK | TPMI_MAJVER_MASK)
>
> #define TPMI_MINOR_VERSION(val) FIELD_GET(TPMI_MINVER_MASK, val)
> #define TPMI_MAJOR_VERSION(val) FIELD_GET(TPMI_MAJVER_MASK, val)
>
> > +#define TPMI_MINOR_VERSION(val)        FIELD_GET(GENMASK(4, 0),
> > val)
> > +#define TPMI_MAJOR_VERSION(val)        FIELD_GET(GENMASK(7, 5),
> > val)

OK. Will add another patch on top.

Thanks,
Srinivas

>