From: Lucas Stach <l.stach@pengutronix.de>
To: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
DRI mailing list <dri-devel@lists.freedesktop.org>,
Sascha Hauer <kernel@pengutronix.de>
Subject: Re: [PATCH RFC 102/111] staging: etnaviv: separate GPU pipes from execution state
Date: Tue, 07 Apr 2015 17:29:40 +0200 [thread overview]
Message-ID: <1428420580.2811.104.camel@pengutronix.de> (raw)
In-Reply-To: <CAH9NwWdsT4SK96ed2cFONy-sSbLO3=9u2tgkQJM6_CaJzgPvQA@mail.gmail.com>
Am Dienstag, den 07.04.2015, 17:13 +0200 schrieb Christian Gmeiner:
> 2015-04-07 17:01 GMT+02:00 Lucas Stach <l.stach@pengutronix.de>:
> > Am Dienstag, den 07.04.2015, 16:51 +0200 schrieb Jon Nettleton:
> >>
> >>
> >> On Tue, Apr 7, 2015 at 4:38 PM, Alex Deucher <alexdeucher@gmail.com>
> >> wrote:
> >> On Tue, Apr 7, 2015 at 3:46 AM, Lucas Stach
> >> <l.stach@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@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.
> >
> > 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.
> > One more reason to keep things in one DRM device, as I think no one
> > wants to deal with syncing pagetables across different devices.
> >
>
> I don't get you naming scheme - sorry.
>
> For me one Core has a single FE. This single FE can have one pipe or
> multiple pipes. A pipe is the execution unit select via SELECT_PIPE
> command (2d, 3d, ..).
>
> In the Dove use case we have:
> - 1 Core with one FE
> - 2 pipelines
>
> In the imx6 case we have:
> - 3 Cores (each has only one FE)
> - every FE only support one type of pipeline.
>
Okay let's keep it at this: a core is an entity with a FE at the front.
A pipe is the backend fed by the FE selected by the SELECT_PIPE command.
This is currently confusing as I didn't change the naming in the API,
but really the "pipe" parameter in the IOCTLs means core. I'll rename
this for the next round.
> And each Core(/FE) has its own device node. Does this make any sense?
>
And I don't get why each core needs to have a single device node. IMHO
this is purely an implementation decision weather to have one device
node for all cores or one device node per core.
For now I could only see that one device node per core makes things
harder to get right, while I don't see a single benefit.
Regards,
Lucas
--
Pengutronix e.K. | Lucas Stach |
Industrial Linux Solutions | http://www.pengutronix.de/ |
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2015-04-07 15:29 UTC|newest]
Thread overview: 181+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-02 15:29 [PATCH RFC 000/111] Etnaviv DRM driver Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 001/111] of: Add vendor prefix for Vivante Corporation Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 002/111] staging: etnaviv: add devicetree bindings Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 003/111] staging: etnaviv: add drm driver Lucas Stach
2015-04-05 19:26 ` Christian Gmeiner
2015-04-07 7:35 ` Lucas Stach
2015-04-07 9:04 ` Christian Gmeiner
2015-04-07 9:20 ` Lucas Stach
2015-04-07 9:40 ` Christian Gmeiner
2015-04-07 9:47 ` Lucas Stach
2015-04-07 9:58 ` Christian Gmeiner
2015-04-07 10:27 ` Lucas Stach
2015-04-08 0:13 ` Dave Airlie
2015-04-08 9:02 ` Lucas Stach
2015-04-07 10:46 ` Russell King - ARM Linux
2015-04-07 12:52 ` Lucas Stach
2015-04-07 23:56 ` Jerome Glisse
2015-04-02 15:29 ` [PATCH RFC 004/111] staging: etnaviv: import new headers Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 005/111] staging: etnaviv: remove IOMMUv2 stubs Lucas Stach
2015-04-02 17:14 ` Robert Nelson
2015-04-02 17:41 ` Lucas Stach
2015-04-05 18:32 ` Christian Gmeiner
2015-04-07 7:24 ` Lucas Stach
2015-04-07 8:13 ` Christian Gmeiner
2015-04-02 15:29 ` [PATCH RFC 006/111] staging: etnaviv: fix oops on unbind Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 007/111] staging: etnaviv: fix oops in timer subsystem caused by hangcheck timer Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 008/111] staging: etnaviv: fix etnaviv_add_components() Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 009/111] staging: etnaviv: fix etnaviv_hw_reset() Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 010/111] staging: etnaviv: fix etnaviv gpu debugfs output Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 011/111] staging: etnaviv: fix fence implementation Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 012/111] staging: etnaviv: fix buffer dumping code Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 013/111] staging: etnaviv: fix ring buffer overflow check Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 014/111] staging: etnaviv: fix cleanup of imported dmabufs Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 015/111] staging: etnaviv: fix printk formats Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 016/111] staging: etnaviv: validation: ensure space for the LINK command Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 017/111] staging: etnaviv: validation: improve command buffer size checks Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 018/111] staging: etnaviv: validation: improve relocation validation Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 019/111] staging: etnaviv: fix sparse warnings Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 020/111] staging: etnaviv: use devm_ioremap_resource() Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 021/111] staging: etnaviv: respect the submission command offset Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 022/111] staging: etnaviv: add an offset for buffer dumping Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 023/111] staging: etnaviv: quieten down submission debugging Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 024/111] staging: etnaviv: fix multiple command buffer submission in etnaviv_buffer_queue() Lucas Stach
2015-04-05 18:36 ` Christian Gmeiner
2015-04-02 15:29 ` [PATCH RFC 025/111] staging: etnaviv: package up events into etnaviv_event struct Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 026/111] staging: etnaviv: track the last known GPU position Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 027/111] staging: etnaviv: ensure that ring buffer wraps Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 028/111] staging: etnaviv: fix checkpatch errors Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 029/111] staging: etnaviv: fix checkpatch warnings Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 030/111] staging: etnaviv: fix get_pages() failure path Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 031/111] staging: etnaviv: add gem operations structure to etnaviv objects Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 032/111] staging: etnaviv: convert prime import to use etnaviv_gem_ops Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 033/111] staging: etnaviv: convert shmem release " Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 034/111] staging: etnaviv: convert cmdbuf " Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 035/111] staging: etnaviv: move drm_gem_object_release() Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 036/111] staging: etnaviv: ensure cleanup of reservation object Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 037/111] staging: etnaviv: clean up etnaviv_gem_free_object() Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 038/111] staging: etnaviv: provide etnaviv_gem_new_private() Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 039/111] staging: etnaviv: move msm_gem_import() etc to etnaviv_gem_prime.c Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 040/111] staging: etnaviv: clean up prime import Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 041/111] staging: etnaviv: convert get_pages()/put_pages() to take etnaviv_obj Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 042/111] staging: etnaviv: clean up etnaviv_gem_{get, put}_pages() Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 043/111] staging: etnaviv: add gem get_pages() method Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 044/111] staging: etnaviv: fix DMA API usage Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 045/111] staging: etnaviv: add support to insert a MMU flush into GPU stream Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 046/111] staging: etnaviv: move GPU memory management into MMU Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 047/111] staging: etnaviv: publish and use mmu geometry Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 048/111] staging: etnaviv: mmuv1: ensure we unmap all entries Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 049/111] staging: etnaviv: move MMU setup and teardown code to etnaviv_mmu.c Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 050/111] staging: etnaviv: hack: bypass iommu with contiguous buffers Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 051/111] staging: etnaviv: implement round-robin GPU MMU allocation Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 052/111] staging: etnaviv: fix etnaviv_iommu_map_gem() return paths Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 053/111] staging: etnaviv: implement MMU reaping Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 054/111] staging: etnaviv: move scatterlist creation to etnaviv_gem_get_pages() Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 055/111] staging: etnaviv: add userptr mapping support Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 056/111] staging: etnaviv: call the DRM device 'drm' Lucas Stach
2015-04-02 15:29 ` [PATCH RFC 057/111] staging: etnaviv: clean up printk()s etc Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 058/111] staging: etnaviv: safely take down hangcheck Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 059/111] staging: etnaviv: move hangcheck disable to separate function Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 060/111] staging: etnaviv: stop the hangcheck timer mis-firing Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 061/111] staging: etnaviv: ensure that we retire all pending events Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 062/111] staging: etnaviv: ensure GPU reset times out Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 063/111] staging: etnaviv: add workarounds for GC320 on iMX6 Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 064/111] staging: etnaviv: increase iommu page table size to 512KiB Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 065/111] staging: etnaviv: allow non-DT use Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 066/111] staging: etnaviv: dump mmu allocations Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 067/111] staging: etnaviv: use definitions for constants Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 068/111] staging: etnaviv: fix fence wrapping for gem objects Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 069/111] staging: etnaviv: move scatterlist map/unmap Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 070/111] staging: etnaviv: remove presumption of BO addresses Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 071/111] staging: etnaviv: clean up etnaviv mmu scatterlist code Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 072/111] staging: etnaviv: "better" DMA API usage Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 073/111] staging: etnaviv: iommu: add a poisoned bad page Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 074/111] staging: etnaviv: validate user supplied command stream Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 075/111] staging: etnaviv: allow get_param without auth Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 076/111] staging: etnaviv: fix busy reporting Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 077/111] staging: etnaviv: fix event allocation failure path Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 078/111] staging: etnaviv: remove powerrail support Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 079/111] staging: etnaviv: NULL out stale pointers at unbind time Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 080/111] staging: etnaviv: move mutex around component_{un, }bind_all() Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 081/111] staging: etnaviv: move PM calls into bind/unbind callbacks Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 082/111] staging: etnaviv: separate out etnaviv gpu hardware initialisation Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 083/111] staging: etnaviv: add support to shutdown and restore the front end Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 084/111] staging: etnaviv: runtime PM: add initial support Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 085/111] staging: etnaviv: add support for offset physical memory Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 086/111] staging: etnaviv: allow to draw up to 256 rectangles in one draw call Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 087/111] staging: etnaviv: align command stream size to 64 bit Lucas Stach
2015-04-02 16:20 ` Russell King - ARM Linux
2015-04-02 16:29 ` Lucas Stach
2015-04-02 16:45 ` Russell King - ARM Linux
2015-04-02 16:49 ` Lucas Stach
2015-04-05 19:38 ` Christian Gmeiner
2015-04-02 15:30 ` [PATCH RFC 088/111] staging: etnaviv: correct instruction count for GC2000 and GC880 Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 089/111] staging: etnaviv: reconfigure bus mapping on GC2000 Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 090/111] staging: etnaviv: fix cache cleaning for uncached SHM buffers Lucas Stach
2015-04-02 16:22 ` Russell King - ARM Linux
2015-04-02 16:36 ` Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 091/111] staging: etnaviv: properly flush all TLBs on MMUv1 Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 092/111] staging: etnaviv: convert to_etnaviv_bo() to real function Lucas Stach
2015-04-02 16:29 ` Russell King - ARM Linux
2015-04-05 19:29 ` Christian Gmeiner
2015-04-02 15:30 ` [PATCH RFC 093/111] staging: etnaviv: take gpu instead of pipe as input to fence wait function Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 094/111] staging: etnaviv: plug in fence waiting in cpu_prepare Lucas Stach
2015-04-05 18:51 ` Christian Gmeiner
2015-04-07 7:26 ` Lucas Stach
2015-04-07 8:14 ` Christian Gmeiner
2015-04-02 15:30 ` [PATCH RFC 095/111] staging: etnaviv: allow to map buffer object into multiple address spaces Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 096/111] staging: etnaviv: don't pretend to have a single MMU Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 097/111] staging: etnaviv: use GPU device to construct MMU Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 098/111] staging: etnaviv: flush MMU when switching context Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 099/111] staging: etnaviv: add flag to force buffer through MMU Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 100/111] staging: etnaviv: use more natural devicetree abstraction Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 101/111] staging: etnaviv: don't override platform provided IRQ flags Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 102/111] staging: etnaviv: separate GPU pipes from execution state Lucas Stach
2015-04-02 16:37 ` Russell King - ARM Linux
2015-04-05 19:41 ` Christian Gmeiner
2015-04-07 7:46 ` Lucas Stach
2015-04-07 8:03 ` Christian Gmeiner
2015-04-07 9:05 ` Lucas Stach
2015-04-07 11:31 ` Russell King - ARM Linux
2015-04-07 13:01 ` Lucas Stach
2015-04-07 14:38 ` Alex Deucher
2015-04-07 14:51 ` Jon Nettleton
2015-04-07 15:01 ` Lucas Stach
2015-04-07 15:07 ` Jon Nettleton
2015-04-07 15:13 ` Christian Gmeiner
2015-04-07 15:29 ` Lucas Stach [this message]
2015-04-07 16:59 ` Christian Gmeiner
2015-04-07 21:25 ` Russell King - ARM Linux
2015-04-08 7:28 ` Christian Gmeiner
2015-04-08 8:52 ` Lucas Stach
2015-04-07 22:14 ` Rob Clark
2015-04-08 8:59 ` Lucas Stach
2015-04-08 8:48 ` Lucas Stach
2015-04-07 14:52 ` Christian Gmeiner
2015-04-07 15:06 ` Christian König
2015-04-07 15:09 ` Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 103/111] staging: etnaviv: make sure to unlock DRM mutex when component bind fails Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 104/111] staging: etnaviv: clean up public API Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 105/111] staging: etnaviv: prune dumb buffer support Lucas Stach
2015-04-07 7:37 ` Christian Gmeiner
2015-04-02 15:30 ` [PATCH RFC 106/111] staging: etnaviv: properly prefix all prime functions to etnaviv Lucas Stach
2015-04-07 7:35 ` Christian Gmeiner
2015-04-02 15:30 ` [PATCH RFC 107/111] staging: etnaviv: rename last remaining bits from msm " Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 108/111] staging: etnaviv: quiten down kernel log output Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 109/111] staging: etnaviv: add proper license header to all files Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 110/111] staging: etnaviv: some final trivial changes to the module Lucas Stach
2015-04-02 15:30 ` [PATCH RFC 111/111] ARM: imx6: add Vivante GPU nodes Lucas Stach
2015-04-02 15:43 ` [PATCH RFC 000/111] Etnaviv DRM driver Russell King - ARM Linux
2015-04-02 15:59 ` Lucas Stach
2015-04-02 20:01 ` Robert Nelson
2015-04-05 19:55 ` Christian Gmeiner
2015-04-08 9:58 ` Jean-Michel Hautbois
2015-04-07 6:05 ` Daniel Vetter
2015-05-27 12:45 ` Etnaviv DRM driver - oops when unloading Alexander Holler
2015-05-27 12:49 ` Lucas Stach
2015-05-27 23:03 ` Russell King - ARM Linux
2015-06-09 10:13 ` Moving Etnaviv forward (Was: Re: Etnaviv DRM driver - oops when unloading) Lucas Stach
2015-06-09 10:47 ` Russell King - ARM Linux
2015-05-27 17:35 ` Etnaviv DRM driver - oops when unloading Russell King - ARM Linux
2015-05-28 8:24 ` Alexander Holler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1428420580.2811.104.camel@pengutronix.de \
--to=l.stach@pengutronix.de \
--cc=christian.gmeiner@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=kernel@pengutronix.de \
--cc=linux@arm.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).