[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191003113010.GC23397@linux.ibm.com>
Date: Thu, 3 Oct 2019 14:30:10 +0300
From: Mike Rapoport <rppt@...ux.ibm.com>
To: Russell King - ARM Linux admin <linux@...linux.org.uk>
Cc: Adam Ford <aford173@...il.com>, Fabio Estevam <festevam@...il.com>,
Catalin Marinas <catalin.marinas@....com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Christoph Hellwig <hch@....de>,
The etnaviv authors <etnaviv@...ts.freedesktop.org>,
arm-soc <linux-arm-kernel@...ts.infradead.org>,
Linux Memory Management List <linux-mm@...ck.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Lucas Stach <l.stach@...gutronix.de>
Subject: Re: [PATCH v2 00/21] Refine memblock API
On Thu, Oct 03, 2019 at 09:49:14AM +0100, Russell King - ARM Linux admin wrote:
> On Thu, Oct 03, 2019 at 08:34:52AM +0300, Mike Rapoport wrote:
> > (trimmed the CC)
> >
> > On Wed, Oct 02, 2019 at 06:14:11AM -0500, Adam Ford wrote:
> > > On Wed, Oct 2, 2019 at 2:36 AM Mike Rapoport <rppt@...ux.ibm.com> wrote:
> > > >
> > >
> > > Before the patch:
> > >
> > > # cat /sys/kernel/debug/memblock/memory
> > > 0: 0x10000000..0x8fffffff
> > > # cat /sys/kernel/debug/memblock/reserved
> > > 0: 0x10004000..0x10007fff
> > > 34: 0x2fffff88..0x3fffffff
> > >
> > >
> > > After the patch:
> > > # cat /sys/kernel/debug/memblock/memory
> > > 0: 0x10000000..0x8fffffff
> > > # cat /sys/kernel/debug/memblock/reserved
> > > 0: 0x10004000..0x10007fff
> > > 36: 0x80000000..0x8fffffff
> >
> > I'm still not convinced that the memblock refactoring didn't uncovered an
> > issue in etnaviv driver.
> >
> > Why moving the CMA area from 0x80000000 to 0x30000000 makes it fail?
>
> I think you have that the wrong way round.
I'm relying on Adam's reports of working and non-working versions.
According to that etnaviv works when CMA area is at 0x80000000 and does not
work when it is at 0x30000000.
He also sent logs a few days ago [1], they also confirm that.
[1] https://lore.kernel.org/linux-mm/CAHCN7xJEvS2Si=M+BYtz+kY0M4NxmqDjiX9Nwq6_3GGBh3yg=w@mail.gmail.com/
> > BTW, the code that complained about "command buffer outside valid memory
> > window" has been removed by the commit 17e4660ae3d7 ("drm/etnaviv:
> > implement per-process address spaces on MMUv2").
> >
> > Could be that recent changes to MMU management of etnaviv resolve the
> > issue?
>
> The iMX6 does not have MMUv2 hardware, it has MMUv1. With MMUv1
> hardware requires command buffers within the first 2GiB of physical
> RAM.
I've mentioned that patch because it removed the check for cmdbuf address
for MMUv1:
@@ -785,15 +768,7 @@ int etnaviv_gpu_init(struct etnaviv_gpu *gpu)
PAGE_SIZE);
if (ret) {
dev_err(gpu->dev, "could not create command buffer\n");
- goto unmap_suballoc;
- }
-
- if (!(gpu->identity.minor_features1 & chipMinorFeatures1_MMU_VERSION) &&
- etnaviv_cmdbuf_get_va(&gpu->buffer, &gpu->cmdbuf_mapping) > 0x80000000) {
- ret = -EINVAL;
- dev_err(gpu->dev,
- "command buffer outside valid memory window\n");
- goto free_buffer;
+ goto fail;
}
/* Setup event management */
I really don't know how etnaviv works, so I hoped that people who
understand it would help.
> I've reported the problem previously but there was no resolution,
> other than pointing the blame at CMA.
>
> https://lists.freedesktop.org/archives/dri-devel/2019-June/thread.html#223516
>
> --
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
> According to speedtest.net: 11.9Mbps down 500kbps up
--
Sincerely yours,
Mike.
Powered by blists - more mailing lists