linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] sparc: move MSI related definitions to where they are used
@ 2018-07-24 11:53 Thomas Petazzoni
  2018-07-24 11:53 ` [PATCH 2/2] sparc: use asm-generic version of msi.h Thomas Petazzoni
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2018-07-24 11:53 UTC (permalink / raw)
  To: David S . Miller
  Cc: sparclinux, linux-kernel, Marc Zyngier, Hanna Hawa, Thomas Petazzoni

The definitions in arch/sparc/include/asm/msi.h are only used in
arch/sparc/mm/srmmu.c, so it makes sense to have them in the C file
directly.

In addition, having a custom arch/sparc/include/asm/msi.h prevents
from using the asm-generic version of this header, which is necessary
to be able to include <linux/msi.h> when CONFIG_GENERIC_MSI_IRQ_DOMAIN
is enabled.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 arch/sparc/include/asm/msi.h | 32 --------------------------------
 arch/sparc/mm/srmmu.c        | 20 +++++++++++++++++++-
 2 files changed, 19 insertions(+), 33 deletions(-)
 delete mode 100644 arch/sparc/include/asm/msi.h

diff --git a/arch/sparc/include/asm/msi.h b/arch/sparc/include/asm/msi.h
deleted file mode 100644
index 3c17c1074431..000000000000
--- a/arch/sparc/include/asm/msi.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- * msi.h:  Defines specific to the MBus - Sbus - Interface.
- *
- * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
- * Copyright (C) 1996 Eddie C. Dost   (ecd@skynet.be)
- */
-
-#ifndef _SPARC_MSI_H
-#define _SPARC_MSI_H
-
-/*
- * Locations of MSI Registers.
- */
-#define MSI_MBUS_ARBEN	0xe0001008	/* MBus Arbiter Enable register */
-
-/*
- * Useful bits in the MSI Registers.
- */
-#define MSI_ASYNC_MODE  0x80000000	/* Operate the MSI asynchronously */
-
-
-static inline void msi_set_sync(void)
-{
-	__asm__ __volatile__ ("lda [%0] %1, %%g3\n\t"
-			      "andn %%g3, %2, %%g3\n\t"
-			      "sta %%g3, [%0] %1\n\t" : :
-			      "r" (MSI_MBUS_ARBEN),
-			      "i" (ASI_M_CTL), "r" (MSI_ASYNC_MODE) : "g3");
-}
-
-#endif /* !(_SPARC_MSI_H) */
diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c
index 1d70c3f6d986..be9cb0065179 100644
--- a/arch/sparc/mm/srmmu.c
+++ b/arch/sparc/mm/srmmu.c
@@ -37,7 +37,6 @@
 #include <asm/mbus.h>
 #include <asm/page.h>
 #include <asm/asi.h>
-#include <asm/msi.h>
 #include <asm/smp.h>
 #include <asm/io.h>
 
@@ -116,6 +115,25 @@ static inline void srmmu_ctxd_set(ctxd_t *ctxp, pgd_t *pgdp)
 	set_pte((pte_t *)ctxp, pte);
 }
 
+/*
+ * Locations of MSI Registers.
+ */
+#define MSI_MBUS_ARBEN	0xe0001008	/* MBus Arbiter Enable register */
+
+/*
+ * Useful bits in the MSI Registers.
+ */
+#define MSI_ASYNC_MODE  0x80000000	/* Operate the MSI asynchronously */
+
+static void msi_set_sync(void)
+{
+	__asm__ __volatile__ ("lda [%0] %1, %%g3\n\t"
+			      "andn %%g3, %2, %%g3\n\t"
+			      "sta %%g3, [%0] %1\n\t" : :
+			      "r" (MSI_MBUS_ARBEN),
+			      "i" (ASI_M_CTL), "r" (MSI_ASYNC_MODE) : "g3");
+}
+
 void pmd_set(pmd_t *pmdp, pte_t *ptep)
 {
 	unsigned long ptp;	/* Physical address, shifted right by 4 */
-- 
2.14.4


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

* [PATCH 2/2] sparc: use asm-generic version of msi.h
  2018-07-24 11:53 [PATCH 1/2] sparc: move MSI related definitions to where they are used Thomas Petazzoni
@ 2018-07-24 11:53 ` Thomas Petazzoni
  2018-07-30 20:01   ` David Miller
  2018-07-24 14:37 ` [PATCH 1/2] sparc: move MSI related definitions to where they are used Sam Ravnborg
  2018-07-30 20:01 ` David Miller
  2 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2018-07-24 11:53 UTC (permalink / raw)
  To: David S . Miller
  Cc: sparclinux, linux-kernel, Marc Zyngier, Hanna Hawa, Thomas Petazzoni

This is necessary to be able to include <linux/msi.h> when
CONFIG_GENERIC_MSI_IRQ_DOMAIN is enabled. Without this, a build with
CONFIG_GENERIC_MSI_IRQ_DOMAIN fails with:

   In file included from drivers//ata/ahci.c:45:0:
>> include/linux/msi.h:226:10: error: unknown type name 'msi_alloc_info_t'; did you mean 'sg_alloc_fn'?
             msi_alloc_info_t *arg);
             ^~~~~~~~~~~~~~~~
             sg_alloc_fn
   include/linux/msi.h:230:9: error: unknown type name 'msi_alloc_info_t'; did you mean 'sg_alloc_fn'?
            msi_alloc_info_t *arg);
            ^~~~~~~~~~~~~~~~
            sg_alloc_fn
   include/linux/msi.h:239:12: error: unknown type name 'msi_alloc_info_t'; did you mean 'sg_alloc_fn'?
               msi_alloc_info_t *arg);
               ^~~~~~~~~~~~~~~~
               sg_alloc_fn
   include/linux/msi.h:240:22: error: unknown type name 'msi_alloc_info_t'; did you mean 'sg_alloc_fn'?
     void  (*msi_finish)(msi_alloc_info_t *arg, int retval);
                         ^~~~~~~~~~~~~~~~
                         sg_alloc_fn
   include/linux/msi.h:241:20: error: unknown type name 'msi_alloc_info_t'; did you mean 'sg_alloc_fn'?
     void  (*set_desc)(msi_alloc_info_t *arg,
                       ^~~~~~~~~~~~~~~~
                       sg_alloc_fn
   include/linux/msi.h:316:18: error: unknown type name 'msi_alloc_info_t'; did you mean 'sg_alloc_fn'?
           int nvec, msi_alloc_info_t *args);
                     ^~~~~~~~~~~~~~~~
                     sg_alloc_fn
   include/linux/msi.h:318:29: error: unknown type name 'msi_alloc_info_t'; did you mean 'sg_alloc_fn'?
            int virq, int nvec, msi_alloc_info_t *args);
                                ^~~~~~~~~~~~~~~~
                                sg_alloc_fn

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 arch/sparc/include/asm/Kbuild | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild
index ac67828da201..410b263ef5c8 100644
--- a/arch/sparc/include/asm/Kbuild
+++ b/arch/sparc/include/asm/Kbuild
@@ -13,6 +13,7 @@ generic-y += local64.h
 generic-y += mcs_spinlock.h
 generic-y += mm-arch-hooks.h
 generic-y += module.h
+generic-y += msi.h
 generic-y += preempt.h
 generic-y += rwsem.h
 generic-y += serial.h
-- 
2.14.4


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

* Re: [PATCH 1/2] sparc: move MSI related definitions to where they are used
  2018-07-24 11:53 [PATCH 1/2] sparc: move MSI related definitions to where they are used Thomas Petazzoni
  2018-07-24 11:53 ` [PATCH 2/2] sparc: use asm-generic version of msi.h Thomas Petazzoni
@ 2018-07-24 14:37 ` Sam Ravnborg
  2018-07-24 14:44   ` Thomas Petazzoni
  2018-07-30 20:01 ` David Miller
  2 siblings, 1 reply; 7+ messages in thread
From: Sam Ravnborg @ 2018-07-24 14:37 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: David S . Miller, sparclinux, linux-kernel, Marc Zyngier, Hanna Hawa

Hi Thomas.

One nitpick below.
But other than that this is a nice cleanup:
Acked-by: Sam Ravnborg <sam@ravnborg.org>
> +/*
> + * Locations of MSI Registers.
> + */

The SPARC way to format comments follows netdev style.
So put it all in one line and everyone are happy:

    /* Locations of MSI Registers. */

> +#define MSI_MBUS_ARBEN	0xe0001008	/* MBus Arbiter Enable register */
> +
> +/*
> + * Useful bits in the MSI Registers.
> + */
Likewise

	Sam

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

* Re: [PATCH 1/2] sparc: move MSI related definitions to where they are used
  2018-07-24 14:37 ` [PATCH 1/2] sparc: move MSI related definitions to where they are used Sam Ravnborg
@ 2018-07-24 14:44   ` Thomas Petazzoni
  2018-07-24 14:55     ` Sam Ravnborg
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2018-07-24 14:44 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: David S . Miller, sparclinux, linux-kernel, Marc Zyngier, Hanna Hawa

Hello,

Thanks for the review.

On Tue, 24 Jul 2018 16:37:36 +0200, Sam Ravnborg wrote:

> One nitpick below.
> But other than that this is a nice cleanup:
> Acked-by: Sam Ravnborg <sam@ravnborg.org>
> > +/*
> > + * Locations of MSI Registers.
> > + */  
> 
> The SPARC way to format comments follows netdev style.
> So put it all in one line and everyone are happy:

Well, the code is being moved from arch/sparc to arch/sparc, so
apparently, it was already non-compliant to this specific coding style
rule. Should the comments be made compliant as part of the same commit,
or a separate one ?

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

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

* Re: [PATCH 1/2] sparc: move MSI related definitions to where they are used
  2018-07-24 14:44   ` Thomas Petazzoni
@ 2018-07-24 14:55     ` Sam Ravnborg
  0 siblings, 0 replies; 7+ messages in thread
From: Sam Ravnborg @ 2018-07-24 14:55 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: David S . Miller, sparclinux, linux-kernel, Marc Zyngier, Hanna Hawa

Hi Thomas.

> > 
> > The SPARC way to format comments follows netdev style.
> > So put it all in one line and everyone are happy:
> 
> Well, the code is being moved from arch/sparc to arch/sparc, so
> apparently, it was already non-compliant to this specific coding style
> rule. Should the comments be made compliant as part of the same commit,
> or a separate one ?
Same commit, no reason to slit this in two.
So post a v2, then everyone should be happy.

I also looked at the second patch which looked obviously correct.
Feel free to add my Ack on both.

	Sam

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

* Re: [PATCH 1/2] sparc: move MSI related definitions to where they are used
  2018-07-24 11:53 [PATCH 1/2] sparc: move MSI related definitions to where they are used Thomas Petazzoni
  2018-07-24 11:53 ` [PATCH 2/2] sparc: use asm-generic version of msi.h Thomas Petazzoni
  2018-07-24 14:37 ` [PATCH 1/2] sparc: move MSI related definitions to where they are used Sam Ravnborg
@ 2018-07-30 20:01 ` David Miller
  2 siblings, 0 replies; 7+ messages in thread
From: David Miller @ 2018-07-30 20:01 UTC (permalink / raw)
  To: thomas.petazzoni; +Cc: sparclinux, linux-kernel, marc.zyngier, hannah

From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Tue, 24 Jul 2018 13:53:04 +0200

> The definitions in arch/sparc/include/asm/msi.h are only used in
> arch/sparc/mm/srmmu.c, so it makes sense to have them in the C file
> directly.
> 
> In addition, having a custom arch/sparc/include/asm/msi.h prevents
> from using the asm-generic version of this header, which is necessary
> to be able to include <linux/msi.h> when CONFIG_GENERIC_MSI_IRQ_DOMAIN
> is enabled.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Applied.

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

* Re: [PATCH 2/2] sparc: use asm-generic version of msi.h
  2018-07-24 11:53 ` [PATCH 2/2] sparc: use asm-generic version of msi.h Thomas Petazzoni
@ 2018-07-30 20:01   ` David Miller
  0 siblings, 0 replies; 7+ messages in thread
From: David Miller @ 2018-07-30 20:01 UTC (permalink / raw)
  To: thomas.petazzoni; +Cc: sparclinux, linux-kernel, marc.zyngier, hannah

From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Tue, 24 Jul 2018 13:53:05 +0200

> This is necessary to be able to include <linux/msi.h> when
> CONFIG_GENERIC_MSI_IRQ_DOMAIN is enabled. Without this, a build with
> CONFIG_GENERIC_MSI_IRQ_DOMAIN fails with:
 ...
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Applied.

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

end of thread, other threads:[~2018-07-30 20:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-24 11:53 [PATCH 1/2] sparc: move MSI related definitions to where they are used Thomas Petazzoni
2018-07-24 11:53 ` [PATCH 2/2] sparc: use asm-generic version of msi.h Thomas Petazzoni
2018-07-30 20:01   ` David Miller
2018-07-24 14:37 ` [PATCH 1/2] sparc: move MSI related definitions to where they are used Sam Ravnborg
2018-07-24 14:44   ` Thomas Petazzoni
2018-07-24 14:55     ` Sam Ravnborg
2018-07-30 20:01 ` David Miller

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).