[PATCH RFC 102/111] staging: etnaviv: separate GPU pipes from execution state
Jon Nettleton
jon.nettleton at gmail.com
Tue Apr 7 08:07:16 PDT 2015
On Tue, Apr 7, 2015 at 5:01 PM, Lucas Stach <l.stach at pengutronix.de> wrote:
> Am Dienstag, den 07.04.2015, 16:51 +0200 schrieb Jon Nettleton:
> >
> >
> > On Tue, Apr 7, 2015 at 4:38 PM, Alex Deucher <alexdeucher at gmail.com>
> > wrote:
> > On Tue, Apr 7, 2015 at 3:46 AM, Lucas Stach
> > <l.stach at pengutronix.de> wrote:
> > > Am Sonntag, den 05.04.2015, 21:41 +0200 schrieb Christian
> > Gmeiner:
> > >> 2015-04-02 18:37 GMT+02:00 Russell King - ARM Linux
> > <linux at arm.linux.org.uk>:
> > >> > On Thu, Apr 02, 2015 at 05:30:44PM +0200, Lucas Stach
> > wrote:
> > >> >> While this isn't the case on i.MX6 a single GPU pipe can
> > have
> > >> >> multiple rendering backend states, which can be selected
> > by the
> > >> >> pipe switch command, so there is no strict mapping
> > between the
> > >> >> user "pipes" and the PIPE_2D/PIPE_3D execution states.
> > >> >
> > >> > This is good, because on Dove we have a single Vivante
> > core which
> > >> > supports both 2D and 3D together. It's always bugged me
> > that
> > >> > etnadrm has not treated cores separately from their
> > capabilities.
> > >> >
> > >>
> > >> Today I finally got the idea how this multiple pipe stuff
> > should be
> > >> done the right way - thanks Russell.
> > >> So maybe you/we need to rework how the driver is designed
> > regarding
> > >> cores and pipes.
> > >>
> > >> On the imx6 we should get 3 device nodes each only
> > supporting one pipe
> > >> type. On the dove we
> > >> should get only one device node supporting 2 pipes types.
> > What do you think?
> > >>
> > > Sorry, but I strongly object against the idea of having
> > multiple DRM
> > > device nodes for the different pipes.
> > >
> > > If we need the GPU2D and GPU3D to work together (and I can
> > already see
> > > use-cases where we need to use the GPU2D in MESA to do
> > things the GPU3D
> > > is incapable of) we would then need a lot more DMA-BUFs to
> > get buffers
> > > across the devices. This is a waste of resources and
> > complicates things
> > > a lot as we would then have to deal with DMA-BUF fences just
> > to get the
> > > synchronization right, which is a no-brainer if we are on
> > the same DRM
> > > device.
> > >
> > > Also it does not allow us to make any simplifications to the
> > userspace
> > > API, so I can't really see any benefit.
> > >
> > > Also on Dove I think one would expect to get a single pipe
> > capable of
> > > executing in both 2D and 3D state. If userspace takes
> > advantage of that
> > > one could leave the sync between both engines to the FE,
> > which is a good
> > > thing as this allows the kernel to do less work. I don't see
> > why we
> > > should throw this away.
> >
> > Just about all modern GPUs support varying combinations of
> > independent
> > pipelines and we currently support this just fine via a single
> > device
> > node in other drm drivers. E.g., modern radeons support one
> > or more
> > gfx, compute, dma, video decode and video encode engines.
> > What
> > combination is present depends on the asic.
> >
> >
> >
> >
> > That reminds me. We should also have in the back of our heads that
> > compute is supported by the newer Vivante chips. We will also need to
> > support multiple independent 3d cores as that support has shown up in
> > the V5 galcore drivers.
> >
> AFAIK compute is just another state of the 3D pipe where instead of
> issuing a draw command you would kick the thread walker.
>
I believe this is true, but I don't believe anyone has RE'd anything yet.
>
> Multicore with a single FE is just a single pipe with chip selects set
> to the available backends and mirrored pagetables for the MMUs. With
> more than one FE you get more than one pipe which is more like a SLI
> setup on the desktop, where userspace has to deal with splitting the
> render targets into portions for each GPU.
Yes, the galcore makes this a configuration option at build time supporting
both configs.
> One more reason to keep things in one DRM device, as I think no one
> wants to deal with syncing pagetables across different devices.
>
> Regards,
> Lucas
>
> --
> Pengutronix e.K. | Lucas Stach |
> Industrial Linux Solutions | http://www.pengutronix.de/ |
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150407/2d286a01/attachment.html>
More information about the dri-devel
mailing list