linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros
@ 2019-01-09 16:57 Andy Shevchenko
  2019-01-09 16:57 ` [PATCH v2 2/3] ACPI / LPSS: Get rid of custom ICPU() macro Andy Shevchenko
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Andy Shevchenko @ 2019-01-09 16:57 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, x86,
	Rafael J. Wysocki, linux-acpi, linux-kernel
  Cc: Andy Shevchenko

These macros are often used by the drivers and we have already a lot of
duplication as ICPU() macro across them.

Provide a generic x86 macro for users.

This adds no driver data variants.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 arch/x86/include/asm/intel-family.h | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/intel-family.h b/arch/x86/include/asm/intel-family.h
index 25b28760fada..afd70055a750 100644
--- a/arch/x86/include/asm/intel-family.h
+++ b/arch/x86/include/asm/intel-family.h
@@ -86,10 +86,16 @@
 	.family		= _family,				\
 	.model		= _model,				\
 	.feature	= X86_FEATURE_ANY,			\
-	.driver_data	= (kernel_ulong_t)&_driver_data		\
+	.driver_data	= (kernel_ulong_t)_driver_data		\
 }
 
 #define INTEL_CPU_FAM6(_model, _driver_data)			\
-	INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, _driver_data)
+	INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, &_driver_data)
+
+#define INTEL_CPU_FAM_ANY_NODATA(_family, _model)		\
+	INTEL_CPU_FAM_ANY(_family, _model, 0)
+
+#define INTEL_CPU_FAM6_NODATA(_model)				\
+	INTEL_CPU_FAM_ANY_NODATA(6, INTEL_FAM6_##_model)
 
 #endif /* _ASM_X86_INTEL_FAMILY_H */
-- 
2.20.1


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

* [PATCH v2 2/3] ACPI / LPSS: Get rid of custom ICPU() macro
  2019-01-09 16:57 [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros Andy Shevchenko
@ 2019-01-09 16:57 ` Andy Shevchenko
  2019-01-14 11:08   ` Borislav Petkov
  2019-01-09 16:57 ` [PATCH v2 3/3] ACPI / x86: utils: " Andy Shevchenko
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Andy Shevchenko @ 2019-01-09 16:57 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, x86,
	Rafael J. Wysocki, linux-acpi, linux-kernel
  Cc: Andy Shevchenko, Rafael J . Wysocki

Replace custom grown macro with generic INTEL_CPU_FAM6_NODATA() one.

No functional change intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/acpi/acpi_lpss.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c
index 5f94c35d165f..633a528bb6ea 100644
--- a/drivers/acpi/acpi_lpss.c
+++ b/drivers/acpi/acpi_lpss.c
@@ -311,11 +311,9 @@ static const struct lpss_device_desc bsw_spi_dev_desc = {
 	.setup = lpss_deassert_reset,
 };
 
-#define ICPU(model)	{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, }
-
 static const struct x86_cpu_id lpss_cpu_ids[] = {
-	ICPU(INTEL_FAM6_ATOM_SILVERMONT),	/* Valleyview, Bay Trail */
-	ICPU(INTEL_FAM6_ATOM_AIRMONT),	/* Braswell, Cherry Trail */
+	INTEL_CPU_FAM6_NODATA(ATOM_SILVERMONT),	/* Valleyview, Bay Trail */
+	INTEL_CPU_FAM6_NODATA(ATOM_AIRMONT),	/* Braswell, Cherry Trail */
 	{}
 };
 
-- 
2.20.1


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

* [PATCH v2 3/3] ACPI / x86: utils: Get rid of custom ICPU() macro
  2019-01-09 16:57 [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros Andy Shevchenko
  2019-01-09 16:57 ` [PATCH v2 2/3] ACPI / LPSS: Get rid of custom ICPU() macro Andy Shevchenko
@ 2019-01-09 16:57 ` Andy Shevchenko
  2019-01-11 10:35 ` [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros Rafael J. Wysocki
  2019-01-14 11:08 ` Borislav Petkov
  3 siblings, 0 replies; 7+ messages in thread
From: Andy Shevchenko @ 2019-01-09 16:57 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, x86,
	Rafael J. Wysocki, linux-acpi, linux-kernel
  Cc: Andy Shevchenko, Rafael J . Wysocki

Replace custom grown macro with generic INTEL_CPU_FAM6_NODATA() one.

No functional change intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/acpi/x86/utils.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/acpi/x86/utils.c b/drivers/acpi/x86/utils.c
index 9a8e286dd86f..408131bcc1fa 100644
--- a/drivers/acpi/x86/utils.c
+++ b/drivers/acpi/x86/utils.c
@@ -40,8 +40,6 @@ struct always_present_id {
 	const char *uid;
 };
 
-#define ICPU(model)	{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, }
-
 #define ENTRY(hid, uid, cpu_models, dmi...) {				\
 	{ { hid, }, {} },						\
 	{ cpu_models, {} },						\
@@ -54,24 +52,24 @@ static const struct always_present_id always_present_ids[] = {
 	 * Bay / Cherry Trail PWM directly poked by GPU driver in win10,
 	 * but Linux uses a separate PWM driver, harmless if not used.
 	 */
-	ENTRY("80860F09", "1", ICPU(INTEL_FAM6_ATOM_SILVERMONT), {}),
-	ENTRY("80862288", "1", ICPU(INTEL_FAM6_ATOM_AIRMONT), {}),
+	ENTRY("80860F09", "1", INTEL_CPU_FAM6_NODATA(ATOM_SILVERMONT), {}),
+	ENTRY("80862288", "1", INTEL_CPU_FAM6_NODATA(ATOM_AIRMONT), {}),
 	/*
 	 * The INT0002 device is necessary to clear wakeup interrupt sources
 	 * on Cherry Trail devices, without it we get nobody cared IRQ msgs.
 	 */
-	ENTRY("INT0002", "1", ICPU(INTEL_FAM6_ATOM_AIRMONT), {}),
+	ENTRY("INT0002", "1", INTEL_CPU_FAM6_NODATA(ATOM_AIRMONT), {}),
 	/*
 	 * On the Dell Venue 11 Pro 7130 and 7139, the DSDT hides
 	 * the touchscreen ACPI device until a certain time
 	 * after _SB.PCI0.GFX0.LCD.LCD1._ON gets called has passed
 	 * *and* _STA has been called at least 3 times since.
 	 */
-	ENTRY("SYNA7500", "1", ICPU(INTEL_FAM6_HASWELL_ULT), {
+	ENTRY("SYNA7500", "1", INTEL_CPU_FAM6_NODATA(HASWELL_ULT), {
 		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
 		DMI_MATCH(DMI_PRODUCT_NAME, "Venue 11 Pro 7130"),
 	      }),
-	ENTRY("SYNA7500", "1", ICPU(INTEL_FAM6_HASWELL_ULT), {
+	ENTRY("SYNA7500", "1", INTEL_CPU_FAM6_NODATA(HASWELL_ULT), {
 		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
 		DMI_MATCH(DMI_PRODUCT_NAME, "Venue 11 Pro 7139"),
 	      }),
@@ -87,19 +85,19 @@ static const struct always_present_id always_present_ids[] = {
 	 * was copy-pasted from the GPD win, so it has a disabled KIOX000A
 	 * node which we should not enable, thus we also check the BIOS date.
 	 */
-	ENTRY("KIOX000A", "1", ICPU(INTEL_FAM6_ATOM_AIRMONT), {
+	ENTRY("KIOX000A", "1", INTEL_CPU_FAM6_NODATA(ATOM_AIRMONT), {
 		DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
 		DMI_MATCH(DMI_BOARD_NAME, "Default string"),
 		DMI_MATCH(DMI_PRODUCT_NAME, "Default string"),
 		DMI_MATCH(DMI_BIOS_DATE, "02/21/2017")
 	      }),
-	ENTRY("KIOX000A", "1", ICPU(INTEL_FAM6_ATOM_AIRMONT), {
+	ENTRY("KIOX000A", "1", INTEL_CPU_FAM6_NODATA(ATOM_AIRMONT), {
 		DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
 		DMI_MATCH(DMI_BOARD_NAME, "Default string"),
 		DMI_MATCH(DMI_PRODUCT_NAME, "Default string"),
 		DMI_MATCH(DMI_BIOS_DATE, "03/20/2017")
 	      }),
-	ENTRY("KIOX000A", "1", ICPU(INTEL_FAM6_ATOM_AIRMONT), {
+	ENTRY("KIOX000A", "1", INTEL_CPU_FAM6_NODATA(ATOM_AIRMONT), {
 		DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
 		DMI_MATCH(DMI_BOARD_NAME, "Default string"),
 		DMI_MATCH(DMI_PRODUCT_NAME, "Default string"),
-- 
2.20.1


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

* Re: [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros
  2019-01-09 16:57 [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros Andy Shevchenko
  2019-01-09 16:57 ` [PATCH v2 2/3] ACPI / LPSS: Get rid of custom ICPU() macro Andy Shevchenko
  2019-01-09 16:57 ` [PATCH v2 3/3] ACPI / x86: utils: " Andy Shevchenko
@ 2019-01-11 10:35 ` Rafael J. Wysocki
  2019-01-11 13:29   ` Andy Shevchenko
  2019-01-14 11:08 ` Borislav Petkov
  3 siblings, 1 reply; 7+ messages in thread
From: Rafael J. Wysocki @ 2019-01-11 10:35 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov,
	the arch/x86 maintainers, Rafael J. Wysocki,
	ACPI Devel Maling List, Linux Kernel Mailing List

On Wed, Jan 9, 2019 at 5:57 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> These macros are often used by the drivers and we have already a lot of
> duplication as ICPU() macro across them.
>
> Provide a generic x86 macro for users.
>
> This adds no driver data variants.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

If you want me to apply the series, I need an ACK for this one.

Alternatively, if you want to apply it yourself, please feel free to
add ACKs from me to the ACPI-related patches in it.

> ---
>  arch/x86/include/asm/intel-family.h | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/include/asm/intel-family.h b/arch/x86/include/asm/intel-family.h
> index 25b28760fada..afd70055a750 100644
> --- a/arch/x86/include/asm/intel-family.h
> +++ b/arch/x86/include/asm/intel-family.h
> @@ -86,10 +86,16 @@
>         .family         = _family,                              \
>         .model          = _model,                               \
>         .feature        = X86_FEATURE_ANY,                      \
> -       .driver_data    = (kernel_ulong_t)&_driver_data         \
> +       .driver_data    = (kernel_ulong_t)_driver_data          \
>  }
>
>  #define INTEL_CPU_FAM6(_model, _driver_data)                   \
> -       INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, _driver_data)
> +       INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, &_driver_data)
> +
> +#define INTEL_CPU_FAM_ANY_NODATA(_family, _model)              \
> +       INTEL_CPU_FAM_ANY(_family, _model, 0)
> +
> +#define INTEL_CPU_FAM6_NODATA(_model)                          \
> +       INTEL_CPU_FAM_ANY_NODATA(6, INTEL_FAM6_##_model)
>
>  #endif /* _ASM_X86_INTEL_FAMILY_H */
> --
> 2.20.1
>

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

* Re: [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros
  2019-01-11 10:35 ` [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros Rafael J. Wysocki
@ 2019-01-11 13:29   ` Andy Shevchenko
  0 siblings, 0 replies; 7+ messages in thread
From: Andy Shevchenko @ 2019-01-11 13:29 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Andy Shevchenko, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
	the arch/x86 maintainers, Rafael J. Wysocki,
	ACPI Devel Maling List, Linux Kernel Mailing List

On Fri, Jan 11, 2019 at 3:14 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Wed, Jan 9, 2019 at 5:57 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> >
> > These macros are often used by the drivers and we have already a lot of
> > duplication as ICPU() macro across them.
> >
> > Provide a generic x86 macro for users.
> >
> > This adds no driver data variants.
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>

> If you want me to apply the series, I need an ACK for this one.

I hope Ingo can help with this.

> Alternatively, if you want to apply it yourself, please feel free to
> add ACKs from me to the ACPI-related patches in it.

Thanks, you already gave yours at time of v1.

>
> > ---
> >  arch/x86/include/asm/intel-family.h | 10 ++++++++--
> >  1 file changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/x86/include/asm/intel-family.h b/arch/x86/include/asm/intel-family.h
> > index 25b28760fada..afd70055a750 100644
> > --- a/arch/x86/include/asm/intel-family.h
> > +++ b/arch/x86/include/asm/intel-family.h
> > @@ -86,10 +86,16 @@
> >         .family         = _family,                              \
> >         .model          = _model,                               \
> >         .feature        = X86_FEATURE_ANY,                      \
> > -       .driver_data    = (kernel_ulong_t)&_driver_data         \
> > +       .driver_data    = (kernel_ulong_t)_driver_data          \
> >  }
> >
> >  #define INTEL_CPU_FAM6(_model, _driver_data)                   \
> > -       INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, _driver_data)
> > +       INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, &_driver_data)
> > +
> > +#define INTEL_CPU_FAM_ANY_NODATA(_family, _model)              \
> > +       INTEL_CPU_FAM_ANY(_family, _model, 0)
> > +
> > +#define INTEL_CPU_FAM6_NODATA(_model)                          \
> > +       INTEL_CPU_FAM_ANY_NODATA(6, INTEL_FAM6_##_model)
> >
> >  #endif /* _ASM_X86_INTEL_FAMILY_H */
> > --
> > 2.20.1
> >



-- 
With Best Regards,
Andy Shevchenko

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

* Re: [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros
  2019-01-09 16:57 [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros Andy Shevchenko
                   ` (2 preceding siblings ...)
  2019-01-11 10:35 ` [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros Rafael J. Wysocki
@ 2019-01-14 11:08 ` Borislav Petkov
  3 siblings, 0 replies; 7+ messages in thread
From: Borislav Petkov @ 2019-01-14 11:08 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Thomas Gleixner, Ingo Molnar, x86, Rafael J. Wysocki, linux-acpi,
	linux-kernel

On Wed, Jan 09, 2019 at 06:57:52PM +0200, Andy Shevchenko wrote:
> These macros are often used by the drivers and we have already a lot of
> duplication as ICPU() macro across them.
> 
> Provide a generic x86 macro for users.
> 
> This adds no driver data variants.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  arch/x86/include/asm/intel-family.h | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/include/asm/intel-family.h b/arch/x86/include/asm/intel-family.h
> index 25b28760fada..afd70055a750 100644
> --- a/arch/x86/include/asm/intel-family.h
> +++ b/arch/x86/include/asm/intel-family.h
> @@ -86,10 +86,16 @@
>  	.family		= _family,				\
>  	.model		= _model,				\
>  	.feature	= X86_FEATURE_ANY,			\
> -	.driver_data	= (kernel_ulong_t)&_driver_data		\
> +	.driver_data	= (kernel_ulong_t)_driver_data		\
>  }
>  
>  #define INTEL_CPU_FAM6(_model, _driver_data)			\
> -	INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, _driver_data)
> +	INTEL_CPU_FAM_ANY(6, INTEL_FAM6_##_model, &_driver_data)
> +
> +#define INTEL_CPU_FAM_ANY_NODATA(_family, _model)		\

"ANY_NODATA" is confusing IMO, as I have no clue what that means. ICPU()
and the full model define was fine.

-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

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

* Re: [PATCH v2 2/3] ACPI / LPSS: Get rid of custom ICPU() macro
  2019-01-09 16:57 ` [PATCH v2 2/3] ACPI / LPSS: Get rid of custom ICPU() macro Andy Shevchenko
@ 2019-01-14 11:08   ` Borislav Petkov
  0 siblings, 0 replies; 7+ messages in thread
From: Borislav Petkov @ 2019-01-14 11:08 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Thomas Gleixner, Ingo Molnar, x86, Rafael J. Wysocki, linux-acpi,
	linux-kernel, Rafael J . Wysocki

On Wed, Jan 09, 2019 at 06:57:53PM +0200, Andy Shevchenko wrote:
> Replace custom grown macro with generic INTEL_CPU_FAM6_NODATA() one.
> 
> No functional change intended.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>  drivers/acpi/acpi_lpss.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c
> index 5f94c35d165f..633a528bb6ea 100644
> --- a/drivers/acpi/acpi_lpss.c
> +++ b/drivers/acpi/acpi_lpss.c
> @@ -311,11 +311,9 @@ static const struct lpss_device_desc bsw_spi_dev_desc = {
>  	.setup = lpss_deassert_reset,
>  };
>  
> -#define ICPU(model)	{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, }
> -
>  static const struct x86_cpu_id lpss_cpu_ids[] = {
> -	ICPU(INTEL_FAM6_ATOM_SILVERMONT),	/* Valleyview, Bay Trail */

Sorry but the previous one was better: INTEL_FAM6_ATOM_SILVERMONT I can
find in the tree...

> -	ICPU(INTEL_FAM6_ATOM_AIRMONT),	/* Braswell, Cherry Trail */
> +	INTEL_CPU_FAM6_NODATA(ATOM_SILVERMONT),	/* Valleyview, Bay Trail */

For ATOM_SILVERMONT I find different things:

INTEL_CPU_FAM6(ATOM_SILVERMONT
X86_CSTATES_MODEL(INTEL_FAM6_ATOM_SILVERMONT
ICPU(INTEL_FAM6_ATOM_SILVERMONT
...

so you guys need to sit down and agree on a single form of usage and
stick with it.

And I'd advise against the first one which cuts off the
INTEL_FAM6_ATOM_SILVERMONT and other defines.

Thx.

-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

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

end of thread, other threads:[~2019-01-14 11:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-09 16:57 [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros Andy Shevchenko
2019-01-09 16:57 ` [PATCH v2 2/3] ACPI / LPSS: Get rid of custom ICPU() macro Andy Shevchenko
2019-01-14 11:08   ` Borislav Petkov
2019-01-09 16:57 ` [PATCH v2 3/3] ACPI / x86: utils: " Andy Shevchenko
2019-01-11 10:35 ` [PATCH v2 1/3] x86/cpu: Introduce INTEL_CPU_FAM*_NODATA() helper macros Rafael J. Wysocki
2019-01-11 13:29   ` Andy Shevchenko
2019-01-14 11:08 ` Borislav Petkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).