OSDN Git Service

drm/v3d: Introduce a new DRM driver for Broadcom V3D V3.x+
authorEric Anholt <eric@anholt.net>
Mon, 30 Apr 2018 18:10:58 +0000 (11:10 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 3 May 2018 23:26:30 +0000 (16:26 -0700)
commit57692c94dcbe99a1e0444409a3da13fb3443562c
tree4d1fe9e1ba21f61f998d45f289b53556e722b299
parent4000626f204d00f601dca7e9d9b8a793b07da4ad
drm/v3d: Introduce a new DRM driver for Broadcom V3D V3.x+

This driver will be used to support Mesa on the Broadcom 7268 and 7278
platforms.

V3D 3.3 introduces an MMU, which means we no longer need CMA or vc4's
complicated CL/shader validation scheme.  This massively changes the
GEM behavior, so I've forked off to a new driver.

v2: Mark SUBMIT_CL as needing DRM_AUTH.  coccinelle fixes from kbuild
    test robot. Drop personal git link from MAINTAINERS.  Don't
    double-map dma-buf imported BOs.  Add kerneldoc about needing MMU
    eviction.  Drop prime vmap/unmap stubs.  Delay mmap offset setup
    to mmap time.  Use drm_dev_init instead of _alloc.  Use
    ktime_get() for wait_bo timeouts.  Drop drm_can_sleep() usage,
    since we don't modeset.  Switch page tables back to WC (debug
    change to coherent had slipped in).  Switch
    drm_gem_object_unreference_unlocked() to
    drm_gem_object_put_unlocked().  Simplify overflow mem handling by
    not sharing overflow mem between jobs.
v3: no changes
v4: align submit_cl to 64 bits (review by airlied), check zero flags in
    other ioctls.

Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> (v4)
Acked-by: Dave Airlie <airlied@linux.ie> (v3, requested submit_cl change)
Link: https://patchwork.freedesktop.org/patch/msgid/20180430181058.30181-3-eric@anholt.net
19 files changed:
Documentation/gpu/drivers.rst
MAINTAINERS
drivers/gpu/drm/Kconfig
drivers/gpu/drm/Makefile
drivers/gpu/drm/v3d/Kconfig [new file with mode: 0644]
drivers/gpu/drm/v3d/Makefile [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_bo.c [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_debugfs.c [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_drv.c [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_drv.h [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_fence.c [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_gem.c [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_irq.c [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_mmu.c [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_regs.h [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_sched.c [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_trace.h [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_trace_points.c [new file with mode: 0644]
include/uapi/drm/v3d_drm.h [new file with mode: 0644]