linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 1/4] video: fbdev: atyfb: only use ioremap_uc() on i386 and ia64
       [not found] <20230308130710.368085-1-bhe@redhat.com>
@ 2023-03-08 13:07 ` Baoquan He
  2023-03-08 20:01   ` Luis Chamberlain
  0 siblings, 1 reply; 5+ messages in thread
From: Baoquan He @ 2023-03-08 13:07 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-arch, linux-mm, arnd, mpe, geert, mcgrof, hch, Baoquan He,
	Helge Deller, Thomas Zimmermann, Christophe Leroy, linux-fbdev,
	dri-devel

From: Arnd Bergmann <arnd@arndb.de>

ioremap_uc() is only meaningful on old x86-32 systems with the PAT
extension, and on ia64 with its slightly unconventional ioremap()
behavior, everywhere else this is the same as ioremap() anyway.

Change the only driver that still references ioremap_uc() to only do so
on x86-32/ia64 in order to allow removing that interface at some
point in the future for the other architectures.

On some architectures, ioremap_uc() just returns NULL, changing
the driver to call ioremap() means that they now have a chance
of working correctly.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Baoquan He <bhe@redhat.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: linux-fbdev@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
---
 drivers/video/fbdev/aty/atyfb_base.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/video/fbdev/aty/atyfb_base.c b/drivers/video/fbdev/aty/atyfb_base.c
index b02e4e645035..6553c71b113f 100644
--- a/drivers/video/fbdev/aty/atyfb_base.c
+++ b/drivers/video/fbdev/aty/atyfb_base.c
@@ -3440,11 +3440,15 @@ static int atyfb_setup_generic(struct pci_dev *pdev, struct fb_info *info,
 	}
 
 	info->fix.mmio_start = raddr;
+#if defined(__i386__) || defined(__ia64__)
 	/*
 	 * By using strong UC we force the MTRR to never have an
 	 * effect on the MMIO region on both non-PAT and PAT systems.
 	 */
 	par->ati_regbase = ioremap_uc(info->fix.mmio_start, 0x1000);
+#else
+	par->ati_regbase = ioremap(info->fix.mmio_start, 0x1000);
+#endif
 	if (par->ati_regbase == NULL)
 		return -ENOMEM;
 
-- 
2.34.1


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

* Re: [PATCH v4 1/4] video: fbdev: atyfb: only use ioremap_uc() on i386 and ia64
  2023-03-08 13:07 ` [PATCH v4 1/4] video: fbdev: atyfb: only use ioremap_uc() on i386 and ia64 Baoquan He
@ 2023-03-08 20:01   ` Luis Chamberlain
  2023-03-08 21:34     ` Arnd Bergmann
  2023-03-08 22:48     ` Ondrej Zary
  0 siblings, 2 replies; 5+ messages in thread
From: Luis Chamberlain @ 2023-03-08 20:01 UTC (permalink / raw)
  To: Baoquan He
  Cc: linux-kernel, linux-arch, linux-mm, arnd, mpe, geert, hch,
	Helge Deller, Thomas Zimmermann, Christophe Leroy, linux-fbdev,
	dri-devel

On Wed, Mar 08, 2023 at 09:07:07PM +0800, Baoquan He wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> ioremap_uc() is only meaningful on old x86-32 systems with the PAT
> extension, and on ia64 with its slightly unconventional ioremap()
> behavior, everywhere else this is the same as ioremap() anyway.
> 
> Change the only driver that still references ioremap_uc() to only do so
> on x86-32/ia64 in order to allow removing that interface at some
> point in the future for the other architectures.
> 
> On some architectures, ioremap_uc() just returns NULL, changing
> the driver to call ioremap() means that they now have a chance
> of working correctly.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Baoquan He <bhe@redhat.com>
> Cc: Helge Deller <deller@gmx.de>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
> Cc: linux-fbdev@vger.kernel.org
> Cc: dri-devel@lists.freedesktop.org

Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>

Is anyone using this driver these days? How often do fbdev drivers get
audited to see what can be nuked?


  Luis


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

* Re: [PATCH v4 1/4] video: fbdev: atyfb: only use ioremap_uc() on i386 and ia64
  2023-03-08 20:01   ` Luis Chamberlain
@ 2023-03-08 21:34     ` Arnd Bergmann
  2023-03-08 21:49       ` Helge Deller
  2023-03-08 22:48     ` Ondrej Zary
  1 sibling, 1 reply; 5+ messages in thread
From: Arnd Bergmann @ 2023-03-08 21:34 UTC (permalink / raw)
  To: Luis Chamberlain, Baoquan He
  Cc: linux-kernel, Linux-Arch, linux-mm, Michael Ellerman,
	Geert Uytterhoeven, Christoph Hellwig, Helge Deller,
	Thomas Zimmermann, Christophe Leroy, linux-fbdev, dri-devel

0On Wed, Mar 8, 2023, at 21:01, Luis Chamberlain wrote:
> On Wed, Mar 08, 2023 at 09:07:07PM +0800, Baoquan He wrote:
>> From: Arnd Bergmann <arnd@arndb.de>
>> 
>> ioremap_uc() is only meaningful on old x86-32 systems with the PAT
>> extension, and on ia64 with its slightly unconventional ioremap()
>> behavior, everywhere else this is the same as ioremap() anyway.
>> 
>> Change the only driver that still references ioremap_uc() to only do so
>> on x86-32/ia64 in order to allow removing that interface at some
>> point in the future for the other architectures.
>> 
>> On some architectures, ioremap_uc() just returns NULL, changing
>> the driver to call ioremap() means that they now have a chance
>> of working correctly.
>> 
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> Signed-off-by: Baoquan He <bhe@redhat.com>
>> Cc: Helge Deller <deller@gmx.de>
>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>> Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
>> Cc: linux-fbdev@vger.kernel.org
>> Cc: dri-devel@lists.freedesktop.org
>
> Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
>
> Is anyone using this driver these days? How often do fbdev drivers get
> audited to see what can be nuked?

Geert already mentioned that this one is likely used on old
powermac systems. I think my arm boardfile removal orphaned
some other fbdev drivers though. I removed the ones that can
no longer be enabled, but think a bunch of other ones
are still selectable but have no platform_device definition
or DT support: FB_PXA168, FB_DA8XX, FB_MX3, and MMP_FB.

These four platforms are all still supported with DT, but
over time it gets less likely that anyone is still interested
in adding DT support to the fbdev drivers.

    Arnd

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

* Re: [PATCH v4 1/4] video: fbdev: atyfb: only use ioremap_uc() on i386 and ia64
  2023-03-08 21:34     ` Arnd Bergmann
@ 2023-03-08 21:49       ` Helge Deller
  0 siblings, 0 replies; 5+ messages in thread
From: Helge Deller @ 2023-03-08 21:49 UTC (permalink / raw)
  To: Arnd Bergmann, Luis Chamberlain, Baoquan He
  Cc: linux-kernel, Linux-Arch, linux-mm, Michael Ellerman,
	Geert Uytterhoeven, Christoph Hellwig, Thomas Zimmermann,
	Christophe Leroy, linux-fbdev, dri-devel

On 3/8/23 22:34, Arnd Bergmann wrote:
> 0On Wed, Mar 8, 2023, at 21:01, Luis Chamberlain wrote:
>> On Wed, Mar 08, 2023 at 09:07:07PM +0800, Baoquan He wrote:
>>> From: Arnd Bergmann <arnd@arndb.de>
>>>
>>> ioremap_uc() is only meaningful on old x86-32 systems with the PAT
>>> extension, and on ia64 with its slightly unconventional ioremap()
>>> behavior, everywhere else this is the same as ioremap() anyway.
>>>
>>> Change the only driver that still references ioremap_uc() to only do so
>>> on x86-32/ia64 in order to allow removing that interface at some
>>> point in the future for the other architectures.
>>>
>>> On some architectures, ioremap_uc() just returns NULL, changing
>>> the driver to call ioremap() means that they now have a chance
>>> of working correctly.
>>>
>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>> Signed-off-by: Baoquan He <bhe@redhat.com>
>>> Cc: Helge Deller <deller@gmx.de>
>>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>>> Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
>>> Cc: linux-fbdev@vger.kernel.org
>>> Cc: dri-devel@lists.freedesktop.org
>>
>> Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
>>
>> Is anyone using this driver these days? How often do fbdev drivers get
>> audited to see what can be nuked?
>
> Geert already mentioned that this one is likely used on old
> powermac systems.

and the latest generation of parisc machines use it too.

In addition, on parisc machines it's also important to map all io-space
memory uncacheable. Since ioremap() takes care of it anyway, the ioremap_uc()
was simply referencing the call to ioremap().

Helge

> I think my arm boardfile removal orphaned
> some other fbdev drivers though. I removed the ones that can
> no longer be enabled, but think a bunch of other ones
> are still selectable but have no platform_device definition
> or DT support: FB_PXA168, FB_DA8XX, FB_MX3, and MMP_FB.
>
> These four platforms are all still supported with DT, but
> over time it gets less likely that anyone is still interested
> in adding DT support to the fbdev drivers.
>
>      Arnd


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

* Re: [PATCH v4 1/4] video: fbdev: atyfb: only use ioremap_uc() on i386 and ia64
  2023-03-08 20:01   ` Luis Chamberlain
  2023-03-08 21:34     ` Arnd Bergmann
@ 2023-03-08 22:48     ` Ondrej Zary
  1 sibling, 0 replies; 5+ messages in thread
From: Ondrej Zary @ 2023-03-08 22:48 UTC (permalink / raw)
  To: Luis Chamberlain
  Cc: Baoquan He, linux-kernel, linux-arch, linux-mm, arnd, mpe, geert,
	hch, Helge Deller, Thomas Zimmermann, Christophe Leroy,
	linux-fbdev, dri-devel

On Wednesday 08 March 2023 21:01:09 Luis Chamberlain wrote:
> On Wed, Mar 08, 2023 at 09:07:07PM +0800, Baoquan He wrote:
> > From: Arnd Bergmann <arnd@arndb.de>
> > 
> > ioremap_uc() is only meaningful on old x86-32 systems with the PAT
> > extension, and on ia64 with its slightly unconventional ioremap()
> > behavior, everywhere else this is the same as ioremap() anyway.
> > 
> > Change the only driver that still references ioremap_uc() to only do so
> > on x86-32/ia64 in order to allow removing that interface at some
> > point in the future for the other architectures.
> > 
> > On some architectures, ioremap_uc() just returns NULL, changing
> > the driver to call ioremap() means that they now have a chance
> > of working correctly.
> > 
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > Signed-off-by: Baoquan He <bhe@redhat.com>
> > Cc: Helge Deller <deller@gmx.de>
> > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
> > Cc: linux-fbdev@vger.kernel.org
> > Cc: dri-devel@lists.freedesktop.org
> 
> Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
> 
> Is anyone using this driver these days? How often do fbdev drivers get
> audited to see what can be nuked?

Older servers have integrated ATI Rage XL chips and this is the only driver for it.

-- 
Ondrej Zary

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

end of thread, other threads:[~2023-03-08 23:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20230308130710.368085-1-bhe@redhat.com>
2023-03-08 13:07 ` [PATCH v4 1/4] video: fbdev: atyfb: only use ioremap_uc() on i386 and ia64 Baoquan He
2023-03-08 20:01   ` Luis Chamberlain
2023-03-08 21:34     ` Arnd Bergmann
2023-03-08 21:49       ` Helge Deller
2023-03-08 22:48     ` Ondrej Zary

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