[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2fc195c7-f68a-e4e4-a122-4d68f31343d2@gmx.de>
Date: Sat, 23 Sep 2023 20:53:06 +0200
From: Helge Deller <deller@....de>
To: Baoquan He <bhe@...hat.com>, linux-kernel@...r.kernel.org
Cc: linux-arch@...r.kernel.org, linux-mm@...ck.org,
akpm@...ux-foundation.org, arnd@...db.de, jiaxun.yang@...goat.com,
mpe@...erman.id.au, geert@...ux-m68k.org, mcgrof@...nel.org,
hch@...radead.org, tsbogend@...ha.franken.de, f.fainelli@...il.com,
Thomas Zimmermann <tzimmermann@...e.de>,
Christophe Leroy <christophe.leroy@...roup.eu>,
linux-fbdev@...r.kernel.org, dri-devel@...ts.freedesktop.org
Subject: Re: [PATCH v5 1/4] video: fbdev: atyfb: only use ioremap_uc() on i386
and ia64
On 9/21/23 13:04, Baoquan He wrote:
> From: Arnd Bergmann <arnd@...db.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@...db.de>
> Signed-off-by: Baoquan He <bhe@...hat.com>
> Reviewed-by: Luis Chamberlain <mcgrof@...nel.org>
> Cc: Helge Deller <deller@....de>
> Cc: Thomas Zimmermann <tzimmermann@...e.de>
> Cc: Christophe Leroy <christophe.leroy@...roup.eu>
> Cc: linux-fbdev@...r.kernel.org
> Cc: dri-devel@...ts.freedesktop.org
applied to fbdev git tree.
Thanks!
Helge
> ---
> 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 5c87817a4f4c..3dcf83f5e7b4 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;
>
Powered by blists - more mailing lists