Daniel Vetter
a76fa3540f
drm/fb-helper: Add locking to sysrq handling
...
We didn't take the kernel_fb_helper_lock mutex, which protects that
code. While at it, simplify the code
- inline the function (originally shared with kgdb I think)
- drop the error tracking and all the complications
- drop the pointless early out, it served nothing
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20201007133036.1541639-1-daniel.vetter@ffwll.ch
2020-10-08 11:29:33 +02:00
Melissa Wen
5a3884320a
drm/vkms: update todo
...
Drop issues already resolved in vkms:
- CRC API Improvements to [1] add igt test to check extreme alpha values
and [2] alpha blending;
- [3] prime buffer sharing;
- [4] writeback support;
On the other hand, we also found or thought about other improvements since
the last update of this document:
- better support for IGT tests
- improvements to writeback support
- syzbot report
Finally, we reorder items by the assumed complexity.
[1] https://patchwork.freedesktop.org/series/55944/
[2] https://patchwork.freedesktop.org/series/80823/
[3] https://patchwork.freedesktop.org/series/63212/
[4] https://patchwork.freedesktop.org/series/81177/
v2:
- Link to syzbot dashboard
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com >
Cc: Haneen Mohammed <hamohammed.sa@gmail.com >
Signed-off-by: Melissa Wen <melissa.srw@gmail.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20201006223006.gu55pjtuaigkh6il@smtp.gmail.com
2020-10-07 18:14:19 -03:00
Christian König
955a341f33
drm/ttm: move ttm_set_memory.h out of include
...
This is not something drivers should use.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com >
Link: https://patchwork.freedesktop.org/patch/393430/
2020-10-07 14:10:18 +02:00
Christian König
72dc6e3b94
drm/ttm: remove ttm_bo_unmap_virtual_locked declaration v2
...
That was missed during the cleanup.
v2: fix comment in vmwgfx as well
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com >
Link: https://patchwork.freedesktop.org/patch/394092/
2020-10-07 13:54:05 +02:00
Christian König
d7c59750f2
drm/vmwgfx: move ttm_bo_swapout_all into vmwgfx
...
It is the sole user of this.
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/393498/
2020-10-07 13:53:52 +02:00
Christian König
4561b366c7
drm/ttm: drop glob parameter from ttm_bo_swapout
...
We can always access the global state.
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/393499/
2020-10-07 13:53:38 +02:00
Christian König
4ce032d64c
drm/ttm: nuke ttm_bo_evict_mm and rename mgr function v3
...
Make it more clear what the resource manager function
does and nuke the wrapper function.
v2: nuke the wrapper
v3: fix typo in radeon, rebased
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch > (v2)
Link: https://patchwork.freedesktop.org/patch/393914/
2020-10-07 13:53:08 +02:00
Christian König
3b53d30485
drm/ttm: cleanup ttm_handle_caching_state_failure
...
Remove unused parameters, shorten the function name.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com >
Link: https://patchwork.freedesktop.org/patch/393431/
2020-10-07 10:41:23 +02:00
Christian König
1e17792de0
drm/ttm: remove TTM_PAGE_FLAG_WRITE
...
Not used any more.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com >
Link: https://patchwork.freedesktop.org/patch/393429/
2020-10-07 10:35:08 +02:00
Dave Airlie
8e6cb56b67
drm/ttm: make move callback compulstory
...
All drivers should have a move callback now so make it compulsory.
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Ben Skeggs <bskeggs@redhat.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20201006000644.1005758-6-airlied@gmail.com
2020-10-07 15:42:00 +10:00
Dave Airlie
2b8283ff1a
drm/vram_helper: implement a ttm move callback.
...
This will always do memcpy moves.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20201006000644.1005758-5-airlied@gmail.com
2020-10-07 15:41:58 +10:00
Dave Airlie
bcff5d3e3b
drm/vmwgfx: add a move callback.
...
This just copies the fallback to vmwgfx, I'm going to iterate on this
a bit until it's not the same as the fallback path.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20201006000644.1005758-4-airlied@gmail.com
2020-10-07 15:41:54 +10:00
Dave Airlie
279a301021
drm/vmwgfx: move null mem checks outside move notifies
...
Both fns checked mem == NULL, just move the check outside.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20201006000644.1005758-3-airlied@gmail.com
2020-10-07 15:41:49 +10:00
Dave Airlie
881c411795
drm/qxl: drop unused code (v2)
...
v2: drop the wrapper struct
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20201006000644.1005758-2-airlied@gmail.com
2020-10-07 15:41:44 +10:00
Dave Airlie
8117713d78
drm/nouveau/ttm: memcpy waits for bo already
...
no need for driver to wait here.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Ben Skeggs <bskeggs@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200924051845.397177-29-airlied@gmail.com
2020-10-06 10:23:24 +10:00
Dave Airlie
12b68474e6
drm/nouveau/ttm: handle ttm moves properly.
...
The idea is to flip the core over to calling the driver always,
so add support for moves here.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Acked-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Ben Skeggs <bskeggs@redhat.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200924051845.397177-6-airlied@gmail.com
2020-10-06 09:59:25 +10:00
Marek Szyprowski
dac4ec775a
drm/bridge: tc358764: restore connector support
...
This patch restores DRM connector registration in the TC358764 bridge
driver and restores usage of the old drm_panel_* API, thus allows dynamic
panel registration. This fixes panel operation on Exynos5250-based
Arndale board.
This is equivalent to the revert of the following commits:
1644127f83 "drm/bridge: tc358764: add drm_panel_bridge support"
385ca38da2 "drm/bridge: tc358764: drop drm_connector_(un)register"
and removal of the calls to drm_panel_attach()/drm_panel_detach(), which
were no-ops and has been removed in meanwhile.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com >
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200930114042.5806-1-m.szyprowski@samsung.com
2020-10-05 16:25:25 +02:00
Rikard Falkeborn
f3d52908f6
drm: bridge: dw-hdmi: Constify dw_hdmi_i2s_ops
...
The only usage of dw_hdmi_i2s_ops is to assign its address to the ops
field in the hdmi_codec_pdata struct, which is a const pointer. Make it
const to allow the compiler to put it in read-only memory.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20201004200653.14702-1-rikard.falkeborn@gmail.com
2020-10-05 16:06:58 +02:00
Tom Rix
4e19d51ca5
drm/gma500: fix double free of gma_connector
...
clang static analysis reports this problem:
cdv_intel_dp.c:2101:2: warning: Attempt to free released memory
kfree(gma_connector);
^~~~~~~~~~~~~~~~~~~~
In cdv_intel_dp_init() when the call to cdv_intel_edp_panel_vdd_off()
fails, the handler calls cdv_intel_dp_destroy(connector) which does
the first free of gma_connector. So adjust the goto label and skip
the second free.
Fixes: d112a8163f ("gma500/cdv: Add eDP support")
Signed-off-by: Tom Rix <trix@redhat.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20201003193928.18869-1-trix@redhat.com
2020-10-05 15:52:37 +02:00
Boris Brezillon
170fb58ee3
drm/sched: Avoid infinite waits in the drm_sched_entity_destroy() path
...
If we don't initialize the entity to idle and the entity is never
scheduled before being destroyed we end up with an infinite wait in the
destroy path.
v2:
- Add Steven's R-b
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Steven Price <steven.price@arm.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Christian König <christian.koenig@amd.com >
Link: https://patchwork.freedesktop.org/patch/393486/
2020-10-05 15:06:33 +02:00
Gowtham Tammana
01370532b7
drm/tidss: Add prepare_fb to the plane helper funcs
...
drm_gem_fb_prepare_fb() extracts fence and attaches to plane state.
The fence info is needed if implicit fencing is used. Add this as
prepare_fb function pointer to plane helper funcs.
Signed-off-by: Gowtham Tammana <g-tammana@ti.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200826134409.473554-1-tomi.valkeinen@ti.com
2020-10-05 08:17:38 +03:00
Tomi Valkeinen
a10563c89a
dt-bindings: display: ti,j721e-dss: add missing properties to dt-schema
...
Add assigned-clocks, assigned-clock-parents and dma-coherent optional
properties.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200916131009.221252-3-tomi.valkeinen@ti.com
2020-10-05 08:13:23 +03:00
Tomi Valkeinen
6468f234d3
dt-bindings: display: ti,am65x-dss: add missing properties to dt-schema
...
Add assigned-clocks, assigned-clock-parents and dma-coherent optional
properties.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200916131009.221252-2-tomi.valkeinen@ti.com
2020-10-05 08:13:22 +03:00
Paul Cercueil
21271d41a6
Revert "gpu/drm: ingenic: Add option to mmap GEM buffers cached"
...
This reverts commit 37054fc814 ("gpu/drm: ingenic: Add option to mmap
GEM buffers cached")
At the very moment this commit was created, the DMA API it relied on was
modified in the DMA tree, which caused the driver to break in
linux-next.
Revert it for now, and it will be resubmitted later to work with the new
DMA API.
Signed-off-by: Paul Cercueil <paul@crapouillou.net >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20201004141758.1013317-1-paul@crapouillou.net
2020-10-04 22:04:10 +02:00
Daniel Vetter
bd1fbef7bd
drm/atomic: Make the kerneldoc a bit clearer
...
Crank up the warning a notch and point at the right set of locking
functions for atomic drivers.
Acked-by: Maxime Ripard <mripard@kernel.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20201002075620.4157591-1-daniel.vetter@ffwll.ch
2020-10-02 14:46:23 +02:00
Qinglang Miao
0c5036590b
drm/panfrost: simplify the return expression of panfrost_devfreq_target()
...
Simplify the return expression.
Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com >
Reviewed-by: Steven Price <steven.price@arm.com >
Signed-off-by: Steven Price <steven.price@arm.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200921131021.91604-1-miaoqinglang@huawei.com
2020-10-01 13:59:01 +01:00
Qinglang Miao
3c4641d4e7
drm/panfrost: simplify the return expression of cz_ih_hw_init()
...
Simplify the return expression.
Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Steven Price <steven.price@arm.com >
Signed-off-by: Steven Price <steven.price@arm.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200921131019.91558-1-miaoqinglang@huawei.com
2020-10-01 13:58:30 +01:00
Bartlomiej Zolnierkiewicz
291e8cdd6b
MAINTAINERS: mark FRAMEBUFFER LAYER as Orphan
...
It has been a fun ride since 2017 but unfortunately I don't have
enough time to look after it properly anymore.
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/7b709254-9412-8473-250c-0c4e006259b3@samsung.com
2020-09-30 15:57:38 +02:00
Alistair Delva
91e515c2f0
virtio-gpu api: fix 64/32 compat issue with blob implementation
...
We encountered this issue when booting blob with a 32-bit kernel.
The implementation doesn't match v6 of the virtio-spec change, so fix
this.
Fixes: ff886cbdcc ("virtio-gpu api: blob resources")
Signed-off-by: Alistair Delva <adelva@google.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200929215333.1241-1-gurchetansingh@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2020-09-30 08:31:08 +02:00
Tian Tao
4f8cc7a64a
drm/hisilicon: Delete the unused macro
...
The macro PADDING is no longer used. Delete it.
Signed-off-by: Tian Tao <tiantao6@hisilicon.com >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1601340326-14049-1-git-send-email-tiantao6@hisilicon.com
2020-09-29 20:38:39 -04:00
Tian Tao
c7a399271d
drm/hisilicon: Using the to_hibmc_drm_private to convert
...
Using the to_hibmc_drm_private to convert over all uses of
dev_private, and fix a little formatting issue.
v2:
fixed the commit message.
Signed-off-by: Tian Tao <tiantao6@hisilicon.com >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1601282978-45534-1-git-send-email-tiantao6@hisilicon.com
2020-09-29 20:38:11 -04:00
Daniel Vetter
cbdbdd8ab2
drm: update todo.rst
...
- debugfs cleanup has moved forward thanks to the cleanup Wambui has
done
Acked-by: Melissa Wen <melissa.srw@gmail.com >
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Wambui Karuga <wambui.karugax@gmail.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Melissa Wen <melissa.srw@gmail.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200929150333.3441576-1-daniel.vetter@ffwll.ch
2020-09-29 18:52:30 +02:00
Christian König
369a7210c1
drm/qxl: fix usage of ttm_bo_init
...
We need to use ttm_bo_init_reserved here to make sure
that the BO is pinned before it becomes visible on the LRU.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com >
Tested-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/392561/?series=82199&rev=1
2020-09-29 16:05:52 +02:00
Thomas Zimmermann
ccc22d41bd
dma-buf: Document struct dma_buf_map
...
This patch adds struct dma_buf_map and its helpers to the documentation. A
short tutorial is included.
v3:
* update documentation in a separate patch
* expand docs (Daniel)
* carry-over acks from patch 1
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200925115601.23955-5-tzimmermann@suse.de
2020-09-29 12:41:27 +02:00
Thomas Zimmermann
20e76f1a70
dma-buf: Use struct dma_buf_map in dma_buf_vunmap() interfaces
...
This patch updates dma_buf_vunmap() and dma-buf's vunmap callback to
use struct dma_buf_map. The interfaces used to receive a buffer address.
This address is now given in an instance of the structure.
Users of the functions are updated accordingly. This is only an interface
change. It is currently expected that dma-buf memory can be accessed with
system memory load/store operations.
v2:
* include dma-buf-heaps and i915 selftests (kernel test robot)
* initialize cma_obj before using it in drm_gem_cma_free_object()
(kernel test robot)
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sumit Semwal <sumit.semwal@linaro.org >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Tomasz Figa <tfiga@chromium.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200925115601.23955-4-tzimmermann@suse.de
2020-09-29 12:41:21 +02:00
Thomas Zimmermann
6619ccf1bb
dma-buf: Use struct dma_buf_map in dma_buf_vmap() interfaces
...
This patch updates dma_buf_vmap() and dma-buf's vmap callback to use
struct dma_buf_map.
The interfaces used to return a buffer address. This address now gets
stored in an instance of the structure that is given as an additional
argument. The functions return an errno code on errors.
Users of the functions are updated accordingly. This is only an interface
change. It is currently expected that dma-buf memory can be accessed with
system memory load/store operations.
v3:
* update fastrpc driver (kernel test robot)
v2:
* always clear map parameter in dma_buf_vmap() (Daniel)
* include dma-buf-heaps and i915 selftests (kernel test robot)
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sumit Semwal <sumit.semwal@linaro.org >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Tomasz Figa <tfiga@chromium.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200925115601.23955-3-tzimmermann@suse.de
2020-09-29 12:40:58 +02:00
Thomas Zimmermann
01fd30da04
dma-buf: Add struct dma-buf-map for storing struct dma_buf.vaddr_ptr
...
The new type struct dma_buf_map represents a mapping of dma-buf memory
into kernel space. It contains a flag, is_iomem, that signals users to
access the mapped memory with I/O operations instead of regular loads
and stores.
It was assumed that DMA buffer memory can be accessed with regular load
and store operations. Some architectures, such as sparc64, require the
use of I/O operations to access dma-map buffers that are located in I/O
memory. Providing struct dma_buf_map allows drivers to implement this.
This was specifically a problem when refreshing the graphics framebuffer
on such systems. [1]
As the first step, struct dma_buf stores an instance of struct dma_buf_map
internally. Afterwards, dma-buf's vmap and vunmap interfaces are be
converted. Finally, affected drivers can be fixed.
v3:
* moved documentation into separate patch
* test for NULL pointers with !<ptr>
[1] https://lore.kernel.org/dri-devel/20200725191012.GA434957@ravnborg.org/
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Sumit Semwal <sumit.semwal@linaro.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200925115601.23955-2-tzimmermann@suse.de
2020-09-29 12:40:36 +02:00
Qinglang Miao
79b4d4d26b
drm/qxl: simplify the return expression of qxl_plane_prepare_fb()
...
Simplify the return expression.
Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200921131022.91649-1-miaoqinglang@huawei.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2020-09-29 11:24:00 +02:00
Gurchetan Singh
378f257d58
drm/virtio: advertise features to userspace
...
New api changes are now available to userspace. Also, the
comparison to true is redundant, so remove it.
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-19-gurchetansingh@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2020-09-29 11:23:57 +02:00
Gerd Hoffmann
897b4d1aca
drm/virtio: implement blob resources: resource create blob ioctl
...
Implement resource create blob as specified.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-18-gurchetansingh@chromium.org
Co-developed-by: Gurchetan Singh <gurchetansingh@chromium.org >
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org >
2020-09-29 11:23:51 +02:00
Gurchetan Singh
4429b5de01
drm/virtio: implement blob resources: report blob mem to userspace
...
The stride field has never been used, so repurpose it to be
"blob_mem". This way, userspace can know the memory properties
of the blob if it's passed between userspace processes and
no suitable userspace API exists to transmit that knowledge.
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-17-gurchetansingh@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2020-09-29 11:23:49 +02:00
Gurchetan Singh
50c3d1938e
drm/virtio: implement blob resources: fix stride discrepancy
...
The old transfer ioctls may work on blob resources, and there is no
TRANSFER_BLOB hypercall now for simplicity.
The guest may have a image view on the blob resources such that the
stride is not equal to width * bytes_per_pixel.
For host-only blobs, we can repurpose the transfer ioctls to synchronize
caches as well. For guest-only blobs, these operations are undefined
for now so leave them out.
Also, with seamless Wayland integration between guest/host looking
increasingly attractive, it also makes sense to keep track of
one value for stride.
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-16-gurchetansingh@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2020-09-29 11:23:47 +02:00
Gurchetan Singh
1e2554f49e
drm/virtio: implement blob resources: refactor UUID code somewhat
...
For upcoming blob resources, userspace can specify that the
resource will be used for cross-device sharing. This is mainly
for exportable blobs that will only shared with the virtgpu
display but not across devices.
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-15-gurchetansingh@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2020-09-29 11:23:45 +02:00
Gurchetan Singh
0b0f1afe6c
drm/virtio: implement blob resources: blob display integration
...
SCANOUT_BLOB forwards the DRM framebuffer metadata to the host. The
modifier is intentionally left out -- it may be possible to query
the host for that.
We also assume one blob resource per DRM framebuffer. That too is
an intentional simplification.
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-14-gurchetansingh@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2020-09-29 11:23:42 +02:00
Gurchetan Singh
c7a6ac4f60
drm/virtio: implement blob resources: hypercall interface
...
This implements the blob hypercall interface.
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-13-gurchetansingh@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2020-09-29 11:23:40 +02:00
Gerd Hoffmann
16845c5d54
drm/virtio: implement blob resources: implement vram object
...
A virtio-gpu vram object is based on range-based allocation.
No guest shmemfs backing, so we call drm_gem_private_object_init.
This is for host memory without any guest backing (atleast initially).
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-12-gurchetansingh@chromium.org
Co-developed-by: Gurchetan Singh <gurchetansingh@chromium.org >
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org >
2020-09-29 11:23:33 +02:00
Gurchetan Singh
5c824604e5
drm/virtio: implement blob resources: add new fields to internal structs
...
Useful for upcoming blob resources.
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-11-gurchetansingh@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2020-09-29 11:23:31 +02:00
Gurchetan Singh
f895c70713
drm/virtio: implement blob resources: expose virtio_gpu_resource_id_get
...
VRAM object will need it.
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-10-gurchetansingh@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2020-09-29 11:23:28 +02:00
Gerd Hoffmann
6076a9711d
drm/virtio: implement blob resources: probe for host visible region
...
The availability of the host visible region means host 3D
allocations can be directly mapped in the guest.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-9-gurchetansingh@chromium.org
Co-developed-by: Gurchetan Singh <gurchetansingh@chromium.org >
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org >
2020-09-29 11:23:22 +02:00
Gerd Hoffmann
6815cfe602
drm/virtio: implement blob resources: probe for the feature.
...
Let's proble for VIRTIO_GPU_F_RESOURCE_BLOB.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-8-gurchetansingh@chromium.org
2020-09-29 11:23:20 +02:00