From patchwork Fri Jun 14 20:35:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 10996491 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A9342112C for ; Fri, 14 Jun 2019 20:36:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9A2F528733 for ; Fri, 14 Jun 2019 20:36:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8C1082876E; Fri, 14 Jun 2019 20:36:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=unavailable version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 0D4F628733 for ; Fri, 14 Jun 2019 20:36:28 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D27F58930F; Fri, 14 Jun 2019 20:36:24 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id DCBE3892EA for ; Fri, 14 Jun 2019 20:36:22 +0000 (UTC) Received: by mail-ed1-x543.google.com with SMTP id z25so5218726edq.9 for ; Fri, 14 Jun 2019 13:36:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=meDlUv5dzVbhhXjzeMVO4/MUDpFn1KH4RNdnLO9Z68k=; b=Cj6k0bSuBMsYD+69PdwjNM7iBjCNNzvfrFyc0dhac6zrZgpKRYKWseT4UA5A6Gvq+e zplZkK+joWRDZPciIIreGdu4uTA0TJ5VOmgVZIEOZxL4zHL3zHW7ZcKX9mKP7ZIazliz reDEibgsEet8f7xZZGMWf6X0am9C+arLzs64+xDPg2eCsSHPIg0siKjoarWEr85ExzJR /+X4ij47WVPGT2MfUJw1UUVZWC6JGm/lPlAP6OXN5y8mMQEwBCtXQZmd5C1FErajVeIh Ms/d/0OCdAsFdwdedpTQeg6jjy3S6ZWrRaLZ4YYd7ocAcBZKnZ3JKbJA8OZVUAYN9Awh jAMA== X-Gm-Message-State: APjAAAUgDY5/P0EL0W/lqKeceVk3G3M0Mpd0OLlwxO74pCd6bGglVFnn yzM2wrJAigoR9YNJY2Y+C5Q52+79dlY= X-Google-Smtp-Source: APXvYqxhcMsrzMS2GqyXLAsXdiTe19E6EBQeAaEV1E17Jw7ppMOtGe3YOzNGFySMCFftdtC12qNeOA== X-Received: by 2002:a05:6402:1557:: with SMTP id p23mr27453508edx.207.1560544581188; Fri, 14 Jun 2019 13:36:21 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:569e:0:3106:d637:d723:e855]) by smtp.gmail.com with ESMTPSA id n15sm1166672edd.49.2019.06.14.13.36.20 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Fri, 14 Jun 2019 13:36:20 -0700 (PDT) From: Daniel Vetter To: DRI Development Subject: [PATCH 00/59] prime doc polish and ... a few cleanups Date: Fri, 14 Jun 2019 22:35:16 +0200 Message-Id: <20190614203615.12639-1-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=meDlUv5dzVbhhXjzeMVO4/MUDpFn1KH4RNdnLO9Z68k=; b=TEjtQCtNZxvV2j7P7f4yA07LvyWtvYOKRK2x1nwh2V0WjOhLVNJV0CIPfNWlx75Yv6 kXlXL8mp6rJDdpJJQ2FQOPOUj42PFv1lT2nRJFsntgZ4XYx5skkFg5pwpmgOzqKwADVb YrOzIIXwL7vi91YQx/B8fighAAhIch2rGooQQ= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Vetter , Intel Graphics Development Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Hi all, So I figured let's get going and polish the docs for the last part of drm core/helpers that hasn't yet seen some neat polish last few years. With the goal to make docs for driver kapi a requirement henceforth - see last patch. Aside from that final doc patch I also included some todo.rst updates, bunch of things have progressed quite a bit. Of course spotted some lower-hanging fruit to untangle the prime helpers and interfaces, and decided to at least fix a few of those. Patch series survived some light testing on i915+vgem, but that's it. So review, testing, comments and anything else really highgly welcome. Cheers, Daniel Daniel Vetter (59): drm/todo: Improve drm_gem_object funcs todo drm/gem: Unexport drm_gem_(un)pin/v(un)map drm/prime: Update docs drm/prime: Unconditionally set up the prime file private drm/prime: Make DRIVER_PRIME a no-op drm/prime: Actually remove DRIVER_PRIME everywhere drm/arm/komeda: Remove DRIVER_HAVE_IRQ drm/omapdrm: drop fb_debug_enter/leave drm/prime: Align gem_prime_export with obj_funcs.export drm/arc: Drop drm_gem_prime_export/import drm/arm: Drop drm_gem_prime_export/import drm/atmel: Drop drm_gem_prime_export/import drm/etnaviv: Drop drm_gem_prime_export/import drm/exynos: Drop drm_gem_prime_export drm/fsl-dcu: Drop drm_gem_prime_export/import drm/hisilicon: Drop drm_gem_prime_export/import drm/imx: Drop drm_gem_prime_export/import drm/mcde: Drop drm_gem_prime_export/import drm/mtk: Drop drm_gem_prime_export/import drm/meson: Drop drm_gem_prime_export/import drm/msm: Drop drm_gem_prime_export/import drm/mxsfb: Drop drm_gem_prime_export/import drm/nouveau: Drop drm_gem_prime_export/import drm/pl111: Drop drm_gem_prime_export/import drm/qxl: Drop drm_gem_prime_export/import drm/rcar-du: Drop drm_gem_prime_export/import drm/rockchip: Drop drm_gem_prime_export/import drm/shmob: Drop drm_gem_prime_export/import drm/sti: Drop drm_gem_prime_export/import drm/stm: Drop drm_gem_prime_export/import drm/tilcdc: Drop drm_gem_prime_export/import drm/tve2000: Drop drm_gem_prime_export/import drm/vboxvideo: Drop drm_gem_prime_export/import drm/vc3: Drop drm_gem_prime_import drm/radeon: Drop drm_gem_prime_import drm/vgem: Drop drm_gem_prime_export drm/virtio: Drop drm_gem_prime_export/import drm/xen: Drop drm_gem_prime_export/import drm/zte: Drop drm_gem_prime_export/import drm/vram-helper: Drop drm_gem_prime_export/import drm/prime: automatically set gem_obj->resv on import drm/etnaviv: Drop resv argument from etnaviv_gem_new_impl drm/lima: Drop resv argument from lima_bo_create_struct drm/mediatek: Use drm_atomic_helper_wait_for_fences drm/msm: Drop robj from msm_gem_new_impl drm/panfrost: don't set gem_obj->resv for prime import anymore drm/vc4: Don set gem_obj->resv in prime import anymore drm/vgem: Ditch attach trickery in the fence ioctl drm/msm: Use drm_gem_fb_prepare_fb drm/vc4: Use drm_gem_fb_prepare_fb drm/radeon: Fill out gem_object->resv drm/nouveau: Fill out gem_object->resv drm/amdgpu: Fill out gem_object->resv drm/prime: Ditch gem_prime_res_obj hook drm/todo: remove gem_prime_import/export todo drm/todo: Update backlight todo drm/todo: Update mmap todo drm/todo: Add new debugfs todo drm/doc: Document kapi doc expectations Documentation/gpu/drm-mm.rst | 40 +- Documentation/gpu/introduction.rst | 13 + Documentation/gpu/todo.rst | 65 +- drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c | 24 +- drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.h | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 2 + drivers/gpu/drm/arc/arcpgu_drv.c | 5 +- .../gpu/drm/arm/display/komeda/komeda_kms.c | 5 +- drivers/gpu/drm/arm/hdlcd_drv.c | 6 +- drivers/gpu/drm/arm/malidp_drv.c | 5 +- drivers/gpu/drm/armada/armada_drv.c | 3 +- drivers/gpu/drm/armada/armada_gem.c | 5 +- drivers/gpu/drm/armada/armada_gem.h | 3 +- drivers/gpu/drm/aspeed/aspeed_gfx_drv.c | 3 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 6 +- drivers/gpu/drm/bochs/bochs_drv.c | 3 +- drivers/gpu/drm/cirrus/cirrus.c | 2 +- drivers/gpu/drm/drm_file.c | 9 +- drivers/gpu/drm/drm_gem.c | 35 +- drivers/gpu/drm/drm_internal.h | 5 + drivers/gpu/drm/drm_prime.c | 861 +++++++++--------- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 6 +- drivers/gpu/drm/etnaviv/etnaviv_gem.c | 14 +- drivers/gpu/drm/etnaviv/etnaviv_gem.h | 3 +- drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c | 1 - drivers/gpu/drm/exynos/exynos_drm_drv.c | 3 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 5 +- .../gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 5 +- drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 5 +- .../drm/i915/gem/selftests/i915_gem_dmabuf.c | 8 +- drivers/gpu/drm/i915/gvt/dmabuf.c | 2 +- drivers/gpu/drm/i915/i915_drv.c | 2 +- drivers/gpu/drm/i915/i915_drv.h | 3 +- drivers/gpu/drm/imx/imx-drm-core.c | 5 +- drivers/gpu/drm/lima/lima_drv.c | 2 +- drivers/gpu/drm/lima/lima_gem.c | 2 +- drivers/gpu/drm/lima/lima_gem_prime.c | 3 +- drivers/gpu/drm/lima/lima_object.c | 9 +- drivers/gpu/drm/lima/lima_object.h | 3 +- drivers/gpu/drm/mcde/mcde_drv.c | 4 +- drivers/gpu/drm/mediatek/mtk_drm_drv.c | 17 +- drivers/gpu/drm/mediatek/mtk_drm_fb.c | 28 - drivers/gpu/drm/mediatek/mtk_drm_fb.h | 1 - drivers/gpu/drm/mediatek/mtk_drm_plane.c | 2 + drivers/gpu/drm/meson/meson_drv.c | 6 +- drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 5 +- drivers/gpu/drm/msm/msm_atomic.c | 5 +- drivers/gpu/drm/msm/msm_drv.c | 3 - drivers/gpu/drm/msm/msm_gem.c | 8 +- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 5 +- drivers/gpu/drm/nouveau/nouveau_bo.c | 2 + drivers/gpu/drm/nouveau/nouveau_drm.c | 5 +- drivers/gpu/drm/nouveau/nouveau_gem.h | 1 - drivers/gpu/drm/nouveau/nouveau_prime.c | 7 - drivers/gpu/drm/omapdrm/omap_drv.c | 2 +- drivers/gpu/drm/omapdrm/omap_fbdev.c | 2 - drivers/gpu/drm/omapdrm/omap_gem.h | 3 +- drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 5 +- drivers/gpu/drm/panfrost/panfrost_drv.c | 3 +- drivers/gpu/drm/panfrost/panfrost_gem.c | 2 - drivers/gpu/drm/pl111/pl111_drv.c | 4 +- drivers/gpu/drm/qxl/qxl_drv.c | 5 +- drivers/gpu/drm/radeon/radeon_drv.c | 8 +- drivers/gpu/drm/radeon/radeon_object.c | 1 + drivers/gpu/drm/radeon/radeon_prime.c | 12 +- drivers/gpu/drm/rcar-du/rcar_du_drv.c | 5 +- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 5 +- drivers/gpu/drm/shmobile/shmob_drm_drv.c | 5 +- drivers/gpu/drm/sti/sti_drv.c | 5 +- drivers/gpu/drm/stm/drv.c | 5 +- drivers/gpu/drm/sun4i/sun4i_drv.c | 2 +- drivers/gpu/drm/tegra/drm.c | 2 +- drivers/gpu/drm/tegra/gem.c | 7 +- drivers/gpu/drm/tegra/gem.h | 3 +- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 5 +- drivers/gpu/drm/tinydrm/hx8357d.c | 2 +- drivers/gpu/drm/tinydrm/ili9225.c | 3 +- drivers/gpu/drm/tinydrm/ili9341.c | 2 +- drivers/gpu/drm/tinydrm/mi0283qt.c | 3 +- drivers/gpu/drm/tinydrm/repaper.c | 3 +- drivers/gpu/drm/tinydrm/st7586.c | 3 +- drivers/gpu/drm/tinydrm/st7735r.c | 3 +- drivers/gpu/drm/tve200/tve200_drv.c | 5 +- drivers/gpu/drm/udl/udl_dmabuf.c | 5 +- drivers/gpu/drm/udl/udl_drv.c | 2 +- drivers/gpu/drm/udl/udl_drv.h | 3 +- drivers/gpu/drm/v3d/v3d_drv.c | 1 - drivers/gpu/drm/vboxvideo/vbox_drv.c | 4 +- drivers/gpu/drm/vc4/vc4_bo.c | 7 +- drivers/gpu/drm/vc4/vc4_drv.c | 2 - drivers/gpu/drm/vc4/vc4_drv.h | 3 +- drivers/gpu/drm/vc4/vc4_plane.c | 5 +- drivers/gpu/drm/vgem/vgem_drv.c | 4 +- drivers/gpu/drm/vgem/vgem_fence.c | 22 +- drivers/gpu/drm/virtio/virtgpu_drv.c | 4 +- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 2 +- drivers/gpu/drm/xen/xen_drm_front.c | 5 +- drivers/gpu/drm/zte/zx_drm_drv.c | 5 +- include/drm/drm_drv.h | 104 ++- include/drm/drm_gem.h | 23 +- include/drm/drm_gem_vram_helper.h | 2 - include/drm/drm_prime.h | 41 +- 103 files changed, 717 insertions(+), 929 deletions(-) Reviewed-by: Emil Velikov Reviewed-by: Emil Velikov Reviewed-by: Emil Velikov Reviewed-by: Emil Velikov Reviewed-by: Emil Velikov Reviewed-by: Emil Velikov Reviewed-by: Emil Velikov Acked-by: Emil Velikov