Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1214241 > unrolled thread

[PATCH] S390: add pci_iomap_wc() and pci_iomap_wc_range()

Started by"Luis R. Rodriguez" <mcgrof@do-not-panic.com>
First post2015-08-27 01:40 +0200
Last post2015-08-28 08:50 +0200
Articles 5 — 5 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] S390: add pci_iomap_wc() and pci_iomap_wc_range() "Luis R. Rodriguez" <mcgrof@do-not-panic.com> - 2015-08-27 01:40 +0200
    Re: [PATCH] S390: add pci_iomap_wc() and pci_iomap_wc_range() Ingo Molnar <mingo@kernel.org> - 2015-08-28 08:10 +0200
      Re: [PATCH] S390: add pci_iomap_wc() and pci_iomap_wc_range() Guenter Roeck <linux@roeck-us.net> - 2015-08-28 10:30 +0200
        Re: [PATCH] S390: add pci_iomap_wc() and pci_iomap_wc_range() "Luis R. Rodriguez" <mcgrof@suse.com> - 2015-08-29 02:20 +0200
    [tip:x86/mm] s390/io: Add pci_iomap_wc() and pci_iomap_wc_range() "tip-bot for Luis R. Rodriguez" <tipbot@zytor.com> - 2015-08-28 08:50 +0200

#1214241 — [PATCH] S390: add pci_iomap_wc() and pci_iomap_wc_range()

From"Luis R. Rodriguez" <mcgrof@do-not-panic.com>
Date2015-08-27 01:40 +0200
Subject[PATCH] S390: add pci_iomap_wc() and pci_iomap_wc_range()
Message-ID<q1Ssp-3Ko-5@gated-at.bofh.it>
From: "Luis R. Rodriguez" <mcgrof@suse.com>

S390 requires its own implementation of pcio_iomap*() calls
is because it has its "BAR spaces are not disjunctive on s390
so we need the bar parameter of pci_iomap to find the corresponding
device and create the mapping cookie" -- in summary, it has its own
lookup/lock solution.

It does not include asm-generic/pci_iomap.h

Since it currenty maps ioremap_wc() to ioremap_nocache() and that's
the architecture default we can easily just map the wc calls to
the default calls as well.

Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: linux-fbdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Borislav Petkov <bp@suse.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Fengguang Wu <fengguang.wu@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Reported-by: 0 day bot
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
---

This broke through some series that went into Ingo's tip tree which
I added. As such I *think* this should go through Ingo's tip tree.
Let me know. Up to you guys.

 arch/s390/include/asm/io.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/s390/include/asm/io.h b/arch/s390/include/asm/io.h
index cb5fdf3a78fc..437e9af96688 100644
--- a/arch/s390/include/asm/io.h
+++ b/arch/s390/include/asm/io.h
@@ -57,6 +57,8 @@ static inline void ioport_unmap(void __iomem *p)
  */
 #define pci_iomap pci_iomap
 #define pci_iounmap pci_iounmap
+#define pci_iomap_wc pci_iomap
+#define pci_iomap_wc_range pci_iomap_range
 
 #define memcpy_fromio(dst, src, count)	zpci_memcpy_fromio(dst, src, count)
 #define memcpy_toio(dst, src, count)	zpci_memcpy_toio(dst, src, count)
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1215108

FromIngo Molnar <mingo@kernel.org>
Date2015-08-28 08:10 +0200
Message-ID<q2l1o-37W-83@gated-at.bofh.it>
In reply to#1214241
* Luis R. Rodriguez <mcgrof@do-not-panic.com> wrote:

> From: "Luis R. Rodriguez" <mcgrof@suse.com>
> 
> S390 requires its own implementation of pcio_iomap*() calls
> is because it has its "BAR spaces are not disjunctive on s390
> so we need the bar parameter of pci_iomap to find the corresponding
> device and create the mapping cookie" -- in summary, it has its own
> lookup/lock solution.
> 
> It does not include asm-generic/pci_iomap.h
> 
> Since it currenty maps ioremap_wc() to ioremap_nocache() and that's
> the architecture default we can easily just map the wc calls to
> the default calls as well.
> 
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Cc: linux-fbdev@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: Borislav Petkov <bp@suse.de>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Fengguang Wu <fengguang.wu@intel.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Reported-by: 0 day bot
> Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
> ---
> 
> This broke through some series that went into Ingo's tip tree which
> I added. As such I *think* this should go through Ingo's tip tree.
> Let me know. Up to you guys.

I fixed the changelog to explain all this.

Also, is there any other architecture that got broken by:

   1b3d4200c1e0 PCI: Add pci_iomap_wc() variants

?

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1215219

FromGuenter Roeck <linux@roeck-us.net>
Date2015-08-28 10:30 +0200
Message-ID<q2ncR-6b8-9@gated-at.bofh.it>
In reply to#1215108
On 08/27/2015 11:06 PM, Ingo Molnar wrote:
>
> * Luis R. Rodriguez <mcgrof@do-not-panic.com> wrote:
>
>> From: "Luis R. Rodriguez" <mcgrof@suse.com>
>>
>> S390 requires its own implementation of pcio_iomap*() calls
>> is because it has its "BAR spaces are not disjunctive on s390
>> so we need the bar parameter of pci_iomap to find the corresponding
>> device and create the mapping cookie" -- in summary, it has its own
>> lookup/lock solution.
>>
>> It does not include asm-generic/pci_iomap.h
>>
>> Since it currenty maps ioremap_wc() to ioremap_nocache() and that's
>> the architecture default we can easily just map the wc calls to
>> the default calls as well.
>>
>> Cc: Guenter Roeck <linux@roeck-us.net>
>> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
>> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
>> Cc: linux-fbdev@vger.kernel.org
>> Cc: linux-kernel@vger.kernel.org
>> Cc: Borislav Petkov <bp@suse.de>
>> Cc: Ingo Molnar <mingo@kernel.org>
>> Cc: Fengguang Wu <fengguang.wu@intel.com>
>> Cc: Andrew Morton <akpm@linux-foundation.org>
>> Cc: Steven Rostedt <rostedt@goodmis.org>
>> Reported-by: 0 day bot
>> Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
>> ---
>>
>> This broke through some series that went into Ingo's tip tree which
>> I added. As such I *think* this should go through Ingo's tip tree.
>> Let me know. Up to you guys.
>
> I fixed the changelog to explain all this.
>
> Also, is there any other architecture that got broken by:
>
>     1b3d4200c1e0 PCI: Add pci_iomap_wc() variants
>

Should be the only one. There are only two implementations of pci_iomap(),
one in s390 code and the generic implementation.

Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1215618

From"Luis R. Rodriguez" <mcgrof@suse.com>
Date2015-08-29 02:20 +0200
Message-ID<q2C2d-2c4-5@gated-at.bofh.it>
In reply to#1215219
On Fri, Aug 28, 2015 at 01:22:27AM -0700, Guenter Roeck wrote:
> On 08/27/2015 11:06 PM, Ingo Molnar wrote:
> >
> >* Luis R. Rodriguez <mcgrof@do-not-panic.com> wrote:
> >
> >>From: "Luis R. Rodriguez" <mcgrof@suse.com>
> >>
> >>S390 requires its own implementation of pcio_iomap*() calls
> >>is because it has its "BAR spaces are not disjunctive on s390
> >>so we need the bar parameter of pci_iomap to find the corresponding
> >>device and create the mapping cookie" -- in summary, it has its own
> >>lookup/lock solution.
> >>
> >>It does not include asm-generic/pci_iomap.h
> >>
> >>Since it currenty maps ioremap_wc() to ioremap_nocache() and that's
> >>the architecture default we can easily just map the wc calls to
> >>the default calls as well.
> >>
> >>Cc: Guenter Roeck <linux@roeck-us.net>
> >>Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
> >>Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> >>Cc: linux-fbdev@vger.kernel.org
> >>Cc: linux-kernel@vger.kernel.org
> >>Cc: Borislav Petkov <bp@suse.de>
> >>Cc: Ingo Molnar <mingo@kernel.org>
> >>Cc: Fengguang Wu <fengguang.wu@intel.com>
> >>Cc: Andrew Morton <akpm@linux-foundation.org>
> >>Cc: Steven Rostedt <rostedt@goodmis.org>
> >>Reported-by: 0 day bot
> >>Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
> >>---
> >>
> >>This broke through some series that went into Ingo's tip tree which
> >>I added. As such I *think* this should go through Ingo's tip tree.
> >>Let me know. Up to you guys.
> >
> >I fixed the changelog to explain all this.
> >
> >Also, is there any other architecture that got broken by:
> >
> >    1b3d4200c1e0 PCI: Add pci_iomap_wc() variants
> >
> 
> Should be the only one. There are only two implementations of pci_iomap(),
> one in s390 code and the generic implementation.

Indeed, sadly there is no semantics well defined to establish this requirement
so the best we can do is infer:

mcgrof@ergon ~/linux-next (git::20150805-pend-all)$ git grep pci_iomap_range arch/
arch/s390/include/asm/io.h:#define pci_iomap_wc_range pci_iomap_range
arch/s390/pci/pci.c:void __iomem *pci_iomap_range(struct pci_dev *pdev,
arch/s390/pci/pci.c:EXPORT_SYMBOL(pci_iomap_range);
arch/s390/pci/pci.c:    return pci_iomap_range(dev, bar, 0, maxlen);

To this end a Kconfig option to implicate this might be more well suited for
future lookups and make other architectures which are incompatible with
generic pci_iomap clearer. Will post an RFC.

  Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1215147 — [tip:x86/mm] s390/io: Add pci_iomap_wc() and pci_iomap_wc_range()

From"tip-bot for Luis R. Rodriguez" <tipbot@zytor.com>
Date2015-08-28 08:50 +0200
Subject[tip:x86/mm] s390/io: Add pci_iomap_wc() and pci_iomap_wc_range()
Message-ID<q2lE7-3R6-39@gated-at.bofh.it>
In reply to#1214241
Commit-ID:  ee03c5868e74847ba0bd1e6dccbbe26e6504466d
Gitweb:     http://git.kernel.org/tip/ee03c5868e74847ba0bd1e6dccbbe26e6504466d
Author:     Luis R. Rodriguez <mcgrof@suse.com>
AuthorDate: Wed, 26 Aug 2015 16:34:10 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Fri, 28 Aug 2015 08:04:48 +0200

s390/io: Add pci_iomap_wc() and pci_iomap_wc_range()

The following commit:

  1b3d4200c1e0 ("PCI: Add pci_iomap_wc() variants")

Introduced pci_iomap_wc() variants but broke the s390 build,
because s390 requires its own implementation of pcio_iomap*()
calls.

The reason for that is that:

  "BAR spaces are not disjunctive on s390 so we need the bar
   parameter of pci_iomap to find the corresponding device
   and create the mapping cookie"

so it has its own lookup/lock solution and it does not include
asm-generic/pci_iomap.h.

Since it currenty maps ioremap_wc() to ioremap_nocache() and
that's the architecture default we can easily just map the wc
calls to the default calls as well.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: Fengguang Wu <fengguang.wu@intel.com>
Cc: Frank Blaschka <frank.blaschka@de.ibm.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thierry Reding <treding@nvidia.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Toshi Kani <toshi.kani@hp.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-fbdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linux390@de.ibm.com
Link: http://lkml.kernel.org/r/1440632050-23648-1-git-send-email-mcgrof@do-not-panic.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/s390/include/asm/io.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/s390/include/asm/io.h b/arch/s390/include/asm/io.h
index cb5fdf3..437e9af 100644
--- a/arch/s390/include/asm/io.h
+++ b/arch/s390/include/asm/io.h
@@ -57,6 +57,8 @@ static inline void ioport_unmap(void __iomem *p)
  */
 #define pci_iomap pci_iomap
 #define pci_iounmap pci_iounmap
+#define pci_iomap_wc pci_iomap
+#define pci_iomap_wc_range pci_iomap_range
 
 #define memcpy_fromio(dst, src, count)	zpci_memcpy_fromio(dst, src, count)
 #define memcpy_toio(dst, src, count)	zpci_memcpy_toio(dst, src, count)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web