Colin Ian King
64e9c200a0
staging: fbtft: make several arrays static const, makes object smaller
...
Don't populate the arrays on the stack but instead make them
static const. Makes the object code smaller by 1329 bytes.
Before:
text data bss dec hex filename
5581 1488 64 7133 1bdd drivers/staging/fbtft/fb_hx8340bn.o
5444 1264 0 6708 1a34 drivers/staging/fbtft/fb_hx8347d.o
3581 1360 0 4941 134d drivers/staging/fbtft/fb_ili9163.o
7154 1552 0 8706 2202 drivers/staging/fbtft/fb_ili9320.o
7478 2544 0 10022 2726 drivers/staging/fbtft/fb_ili9325.o
6327 1424 0 7751 1e47 drivers/staging/fbtft/fb_s6d1121.o
6498 1776 0 8274 2052 drivers/staging/fbtft/fb_ssd1289.o
After:
text data bss dec hex filename
5376 1584 64 7024 1b70 drivers/staging/fbtft/fb_hx8340bn.o
5276 1328 0 6604 19cc drivers/staging/fbtft/fb_hx8347d.o
3581 1360 0 4941 134d drivers/staging/fbtft/fb_ili9163.o
6905 1616 0 8521 2149 drivers/staging/fbtft/fb_ili9320.o
7229 2608 0 9837 266d drivers/staging/fbtft/fb_ili9325.o
6030 1488 0 7518 1d5e drivers/staging/fbtft/fb_s6d1121.o
6249 1872 0 8121 1fb9 drivers/staging/fbtft/fb_ssd1289.o
(gcc version 9.2.1, amd64)
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20190906153052.31846-1-colin.king@canonical.com
2019-09-17 14:38:53 +02:00
Thomas Zimmermann
dcc7b1f3ae
drm/mgag200: Use drm_gem_vram_{vmap, vunmap}() to map cursor source BO
...
The VRAM helper's vmap interfaces provide pinning and mapping of BO
memory. This patch replaces the respective code in mgag200 cursor handling.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190911120352.20084-4-tzimmermann@suse.de
2019-09-17 13:11:09 +02:00
Thomas Zimmermann
820d6606e9
drm/ast: Use drm_gem_vram_{vmap,vunmap}() to map cursor source BO
...
The VRAM helper's vmap interfaces provide pinning and mapping of BO
memory. This patch replaces the respective code in ast cursor handling.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190911120352.20084-3-tzimmermann@suse.de
2019-09-17 13:10:47 +02:00
Thomas Zimmermann
c8908bde0d
drm/vram: Provide vmap and vunmap operations for GEM VRAM objects
...
The implementation of vmap and vunmap for GEM VRAM helpers is
already in PRIME helpers. The patch moves the operations to separate
functions and exports them for general use.
v3:
* remove v2's obsolete note on ref-counting
v2:
* fix documentation
* add cross references to function documentation
* document (the lack of) ref-counting for GEM VRAM BO mappings
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190911120352.20084-2-tzimmermann@suse.de
2019-09-17 13:09:38 +02:00
Lowry Li (Arm Technology China)
4d74b25ee3
drm/komeda: Adds error event print functionality
...
Adds to print the event message when error happens and the same event
will not be printed until next vsync.
Changes since v2:
1. Refine komeda_sprintf();
2. Not using STR_SZ macro for the string size in komeda_print_events().
Changes since v1:
1. Handling the event print by CONFIG_KOMEDA_ERROR_PRINT;
2. Changing the max string size to 256.
Signed-off-by: Lowry Li (Arm Technology China) <lowry.li@arm.com >
Reviewed-by: Mihail Atanassov <mihail.atanassov@arm.com >
Reviewed-by: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com >
Signed-off-by: james qian wang (Arm Technology China) <james.qian.wang@arm.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1564738954-6101-1-git-send-email-lowry.li@arm.com
2019-09-17 18:49:41 +08:00
José Roberto de Souza
62afb4ad42
drm/connector: Allow max possible encoders to attach to a connector
...
Currently we restrict the number of encoders that can be linked to
a connector to 3, increase it to match the maximum number of encoders
that can be initialized(32).
To more effiently do that lets switch from an array of encoder ids to
bitmask.
v2: Fixing missed return on amdgpu_dm_connector_to_encoder()
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: dri-devel@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190913232857.389834-2-jose.souza@intel.com
2019-09-16 15:13:53 -07:00
José Roberto de Souza
a92462d6bf
drm/connector: Share with non-atomic drivers the function to get the single encoder
...
This 3 non-atomic drivers all have the same function getting the
only encoder available in the connector, also atomic drivers have
this fallback. So moving it a common place and sharing between atomic
and non-atomic drivers.
While at it I also removed the mention of
drm_atomic_helper_best_encoder() that was renamed in
commit 297e30b5d9 ("drm/atomic-helper: Unexport
drm_atomic_helper_best_encoder").
v3: moving drm_connector_get_single_encoder to drm_kms_helper module
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: dri-devel@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190913232857.389834-1-jose.souza@intel.com
2019-09-16 15:13:02 -07:00
Thierry Reding
37d212622a
drm/prime: Remove duplicate forward declaration
...
struct device is forward-declared twice. Remove the second instance.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180111201730.30708-1-thierry.reding@gmail.com
2019-09-16 17:32:51 +02:00
Benjamin Gaignard
3b92198d6c
drm: fix warnings in DSC
...
Remove always false comparisons due to limited range of nfl_bpg_offset
and scale_increment_interval fields.
Warnings detected when compiling with W=1.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190911084759.6946-1-benjamin.gaignard@st.com
2019-09-16 15:14:44 +02:00
Benjamin Gaignard
5dec1affe0
drm: sti: fix W=1 warnings
...
Fix warnings when W=1.
No code changes, only clean up in sti internal structures and functions
descriptions.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com >
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@st.com >
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190909101254.24191-1-benjamin.gaignard@st.com
2019-09-16 15:14:43 +02:00
Yannick Fertré
1e6962041c
drm/stm: dsi: higher pll out only in video burst mode
...
In order to better support video non-burst modes,
the +20% on pll out is added only in burst mode.
Signed-off-by: Philippe Cornu <philippe.cornu@st.com >
Signed-off-by: Yannick Fertré <yannick.fertre@st.com >
Reviewed-by: Yannick Fertré <yannick.fertre@st.com >
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1568278589-20400-1-git-send-email-yannick.fertre@st.com
2019-09-16 15:14:10 +02:00
Brian Masney
2f932367d2
drm/bridge: analogix-anx78xx: convert to i2c_new_dummy_device
...
The i2c_new_dummy() function is deprecated since it returns NULL on
error. Change this to use the recommended replacement
i2c_new_dummy_device() that returns an error code that can be read with
PTR_ERR() and friends.
Signed-off-by: Brian Masney <masneyb@onstation.org >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190815004854.19860-5-masneyb@onstation.org
2019-09-16 11:17:00 +02:00
Brian Masney
2708e87627
drm/bridge: analogix-anx78xx: silence -EPROBE_DEFER warnings
...
Silence two warning messages that occur due to -EPROBE_DEFER errors to
help cleanup the system boot log.
Signed-off-by: Brian Masney <masneyb@onstation.org >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190815004854.19860-4-masneyb@onstation.org
2019-09-16 11:16:56 +02:00
Brian Masney
0273831882
drm/bridge: analogix-anx78xx: add new variants
...
Add support for the 7808 variant. While we're here, the of match table
was missing support for the 7812 and 7818 variants, so add them as well.
Signed-off-by: Brian Masney <masneyb@onstation.org >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190815004854.19860-3-masneyb@onstation.org
2019-09-16 11:16:50 +02:00
Brian Masney
2fb658a603
dt-bindings: drm/bridge: analogix-anx78xx: add new variants
...
Add support for the analogix,anx7808, analogix,anx7812, and
analogix,anx7818 variants.
Signed-off-by: Brian Masney <masneyb@onstation.org >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190815004854.19860-2-masneyb@onstation.org
2019-09-16 11:16:30 +02:00
Laurent Pinchart
fe9e557dfb
drm/bridge: Fix references to drm_bridge_funcs in documentation
...
The documentation for most of the bridge atomic operations incorrectly
reference the non-atomic version when stating the operations are
optional. Fix them, and make sure that all references to bridge
operations are correctly marked with @.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com >
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190821235502.15475-1-laurent.pinchart+renesas@ideasonboard.com
2019-09-13 14:10:48 +02:00
Yakir Yang
3250cdf938
drm: bridge/dw_hdmi: add audio sample channel status setting
...
When transmitting IEC60985 linear PCM audio, we configure the
Aduio Sample Channel Status information in the IEC60958 frame.
The status bit is already available in iec.status of hdmi_codec_params.
This fix the issue that audio does not come out on some monitors
(e.g. LG 22CV241)
Note that these registers are only for interfaces:
I2S audio interface, General Purpose Audio (GPA), or AHB audio DMA
(AHBAUDDMA).
For S/PDIF interface this information comes from the stream.
Currently this function dw_hdmi_set_channel_status is only called
from dw-hdmi-i2s-audio in I2S setup.
Signed-off-by: Yakir Yang <ykk@rock-chips.com >
Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org >
Reviewed-by: Jonas Karlman <jonas@kwiboo.se >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190911082646.134347-1-cychiang@chromium.org
2019-09-13 10:43:51 +02:00
David Riley
de2358050a
drm/virtio: Fix warning in virtio_gpu_queue_fenced_ctrl_buffer.
...
Fix warning introduced with commit e1218b8c0c
("drm/virtio: Use vmalloc for command buffer allocations.")
from drm-misc-next.
Signed-off-by: David Riley <davidriley@chromium.org >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20190912160048.212495-1-davidriley@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2019-09-13 09:11:56 +02:00
Gerd Hoffmann
88c5a5a021
drm/virtio: enable prime mmap support
...
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20190912114627.20176-1-kraxel@redhat.com
2019-09-13 09:11:56 +02:00
Thomas Zimmermann
abddeb7b12
drm/vram: Unconditonally set BO call-back functions
...
The statement's condition is always true.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190911110910.30698-5-tzimmermann@suse.de
2019-09-12 19:54:42 +02:00
Thomas Zimmermann
c30b225dba
drm/vram: Unexport internal functions of VRAM MM
...
The init, cleanup and mmap functions of VRAM MM are only used internally.
Remove them from the public interface.
v2:
* update for debugfs support
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190911110910.30698-4-tzimmermann@suse.de
2019-09-12 19:54:42 +02:00
Thomas Zimmermann
b0e40e0805
drm/vram: Have VRAM MM call GEM VRAM functions directly
...
VRAM MM and GEM VRAM buffer objects are only used with each other;
connected via 3 function pointers. Simplify this code by making the
memory manager call the rsp. functions of the BOs directly; and
remove the functions from the BO's public interface.
v2:
* typos in commit message
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190911110910.30698-3-tzimmermann@suse.de
2019-09-12 19:54:42 +02:00
Thomas Zimmermann
6b5ce4a1fb
drm/vram: Move VRAM memory manager to GEM VRAM implementation
...
The separation between GEM VRAM objects and the memory manager is
artificial, as they are only used with each other. Copying both
implementations into the same file is a first step to simplifying
the code.
This patch only moves code without functional changes.
v3:
* update to use dev->vma_offset_manager
v2:
* update for debugfs support
* typos in commit message
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190911110910.30698-2-tzimmermann@suse.de
2019-09-12 19:54:04 +02:00
David Riley
e1218b8c0c
drm/virtio: Use vmalloc for command buffer allocations.
...
Userspace requested command buffer allocations could be too large
to make as a contiguous allocation. Use vmalloc if necessary to
satisfy those allocations.
Signed-off-by: David Riley <davidriley@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20190911181403.40909-3-davidriley@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2019-09-12 09:49:24 +02:00
David Riley
32d6c2c5b5
drm/virtio: Rewrite virtio_gpu_queue_ctrl_buffer using fenced version.
...
Factor function in preparation to generating scatterlist prior to locking.
Signed-off-by: David Riley <davidriley@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20190911181403.40909-2-davidriley@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2019-09-12 09:49:24 +02:00
Gerd Hoffmann
07583467c2
drm/ttm: remove embedded vma_offset_manager
...
No users left. Drivers either setup vma_offset_manager themself
(vmwgfx) or pass the gem vma_offset_manager to ttm_bo_device_init
(all other drivers).
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20190905070509.22407-9-kraxel@redhat.com
2019-09-11 08:03:25 +02:00
Gerd Hoffmann
293f86b365
drm/vmwgfx: switch to own vma manager
...
Add struct drm_vma_offset_manager to vma_private, initialize it and
pass it to ttm_bo_device_init().
With this in place the last user of ttm's embedded vma offset manager
is gone and we can remove it (in a separate patch).
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Thomas Hellström <thellstrom@vmware.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20190905070509.22407-8-kraxel@redhat.com
2019-09-11 08:03:24 +02:00
Gerd Hoffmann
133e880952
drm/qxl: switch to gem vma offset manager
...
Pass gem vma_offset_manager to ttm_bo_device_init(), so ttm uses it
instead of its own embedded struct. This makes some gem functions
(specifically drm_gem_object_lookup) work on ttm objects.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/20190905070509.22407-7-kraxel@redhat.com
2019-09-11 08:03:24 +02:00
Gerd Hoffmann
e7bf74d0aa
drm/amdgpu: switch to gem vma offset manager
...
Pass gem vma_offset_manager to ttm_bo_device_init(), so ttm uses it
instead of its own embedded struct. This makes some gem functions
(specifically drm_gem_object_lookup) work on ttm objects.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20190905070509.22407-6-kraxel@redhat.com
2019-09-11 08:03:24 +02:00
Gerd Hoffmann
8b53e1cb27
drm/radeon: switch to gem vma offset manager
...
Pass gem vma_offset_manager to ttm_bo_device_init(), so ttm uses it
instead of its own embedded struct. This makes some gem functions
(specifically drm_gem_object_lookup) work on ttm objects.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20190905070509.22407-5-kraxel@redhat.com
2019-09-11 08:03:24 +02:00
Gerd Hoffmann
f1acf41f9e
drm/vram: switch to gem vma offset manager
...
Pass gem vma_offset_manager to ttm_bo_device_init(), so ttm uses it
instead of its own embedded struct. This makes some gem functions
(specifically drm_gem_object_lookup) work on ttm objects.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: http://patchwork.freedesktop.org/patch/msgid/20190905070509.22407-4-kraxel@redhat.com
2019-09-11 08:03:23 +02:00
Gerd Hoffmann
e336befcfd
drm/nouveau: switch to gem vma offset manager
...
Pass gem vma_offset_manager to ttm_bo_device_init(), so ttm uses it
instead of its own embedded struct. This makes some gem functions
(specifically drm_gem_object_lookup) work on ttm objects.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/20190905070509.22407-3-kraxel@redhat.com
2019-09-11 08:03:23 +02:00
Gerd Hoffmann
9d6f4484e8
drm/ttm: turn ttm_bo_device.vma_manager into a pointer
...
Rename the embedded struct vma_offset_manager, new name is _vma_manager.
ttm_bo_device.vma_manager changed to a pointer.
The ttm_bo_device_init() function gets an additional vma_manager
argument which allows to initialize ttm with a different vma manager.
When passing NULL the embedded _vma_manager is used.
All callers are updated to pass NULL, so the behavior doesn't change.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20190905070509.22407-2-kraxel@redhat.com
2019-09-11 08:03:23 +02:00
Gerd Hoffmann
4f7f1973b0
drm/vram: fix Kconfig
...
select isn't recursive, so we can't turn on DRM_TTM + DRM_TTM_HELPER
in config DRM_VRAM_HELPER, we have to select them on the vram users
instead.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: http://patchwork.freedesktop.org/patch/msgid/20190904054740.20817-8-kraxel@redhat.com
2019-09-10 08:53:08 +02:00
Gerd Hoffmann
78d54f1f6a
drm/qxl: use drm_gem_ttm_print_info
...
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: http://patchwork.freedesktop.org/patch/msgid/20190904054740.20817-7-kraxel@redhat.com
2019-09-10 08:53:08 +02:00
Gerd Hoffmann
b21fc73838
drm/qxl: use drm_gem_object_funcs callbacks
...
Switch qxl to use drm_gem_object_funcs callbacks
instead of drm_driver callbacks.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: http://patchwork.freedesktop.org/patch/msgid/20190904054740.20817-6-kraxel@redhat.com
2019-09-10 08:53:08 +02:00
Gerd Hoffmann
9286766ba6
drm/vram: add vram-mm debugfs file
...
Wire up drm_mm_print() for vram helpers, using a new
debugfs file, so one can see how vram is used:
# cat /sys/kernel/debug/dri/0/vram-mm
0x0000000000000000-0x0000000000000300: 768: used
0x0000000000000300-0x0000000000000600: 768: used
0x0000000000000600-0x0000000000000900: 768: used
0x0000000000000900-0x0000000000000c00: 768: used
0x0000000000000c00-0x0000000000004000: 13312: free
total: 16384, used 3072 free 13312
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: http://patchwork.freedesktop.org/patch/msgid/20190904054740.20817-5-kraxel@redhat.com
2019-09-10 08:53:08 +02:00
Gerd Hoffmann
527f6d91f8
drm/vram: use drm_gem_ttm_print_info
...
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/20190904054740.20817-4-kraxel@redhat.com
2019-09-10 08:53:08 +02:00
Gerd Hoffmann
ff540b76f1
drm/ttm: add drm gem ttm helpers, starting with drm_gem_ttm_print_info()
...
Now with ttm_buffer_object being a subclass of drm_gem_object we can
easily lookup ttm_buffer_object for a given drm_gem_object, which in
turn allows to create common helper functions.
This patch starts off with a drm_gem_ttm_print_info() helper function
which adds some ttm specific lines to the debug output.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/20190904054740.20817-3-kraxel@redhat.com
2019-09-10 08:53:08 +02:00
Gerd Hoffmann
2dc5d44ccc
drm: add drm_print_bits
...
New helper to print named bits of some value (think flags fields).
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: http://patchwork.freedesktop.org/patch/msgid/20190904054740.20817-2-kraxel@redhat.com
2019-09-10 08:53:08 +02:00
Thomas Zimmermann
2236439bc6
drm/vram: Implement lazy unmapping for GEM VRAM buffers
...
Frequent mapping and unmapping a buffer object adds overhead for
modifying the page table and creates debug output. Unmapping a buffer
is only required when the memory manager evicts the buffer from its
current location.
v4:
* WARN_ON if buffer is still mapped during BO cleanup
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reported-and-tested-by: Davidlohr Bueso <dbueso@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20190906122056.32018-5-tzimmermann@suse.de
2019-09-09 12:52:24 +02:00
Thomas Zimmermann
f3309105b8
drm/vram: Add infrastructure for move_notify()
...
This patch prepares VRAM helpers for lazy unmapping of buffer objects.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reported-and-tested-by: Davidlohr Bueso <dbueso@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20190906122056.32018-4-tzimmermann@suse.de
2019-09-09 12:52:21 +02:00
Thomas Zimmermann
bc25bb9192
drm/vram: Acquire lock only once per call to vmap()/vunmap()
...
The implementation of vmap() is a combined pin() and kmap(). As both
functions share the same lock, we can make vmap() slightly faster by
acquiring the lock only once for both operations. Same for the inverse,
vunmap().
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reported-and-tested-by: Davidlohr Bueso <dbueso@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20190906122056.32018-3-tzimmermann@suse.de
2019-09-09 12:52:17 +02:00
Thomas Zimmermann
37a48adfba
drm/vram: Add kmap ref-counting to GEM VRAM objects
...
The kmap and kunmap operations of GEM VRAM buffers can now be called
in interleaving pairs. The first call to drm_gem_vram_kmap() maps the
buffer's memory to kernel address space and the final call to
drm_gem_vram_kunmap() unmaps the memory. Intermediate calls to these
functions increment or decrement a reference counter.
This change allows for keeping buffer memory mapped for longer and
minimizes the amount of changes to TLB, page tables, etc.
v4:
* lock in kmap()/kunmap() with ttm_bo_reserve()
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reported-and-tested-by: Davidlohr Bueso <dbueso@suse.de >
Cc: Davidlohr Bueso <dave@stgolabs.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20190906122056.32018-2-tzimmermann@suse.de
2019-09-09 12:51:31 +02:00
Dariusz Marcinkiewicz
e5ef909cb4
tda9950: use cec_notifier_cec_adap_(un)register
...
Use the new cec_notifier_cec_adap_(un)register() functions to
(un)register the notifier for the CEC adapter.
Signed-off-by: Dariusz Marcinkiewicz <darekm@google.com >
Tested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl >
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl >
Link: https://patchwork.freedesktop.org/patch/msgid/20190814104520.6001-5-darekm@google.com
2019-09-09 12:05:25 +02:00
Dariusz Marcinkiewicz
71137bfd98
drm: exynos: exynos_hdmi: use cec_notifier_conn_(un)register
...
Use the new cec_notifier_conn_(un)register() functions to
(un)register the notifier for the HDMI connector, and fill in
the cec_connector_info.
Changes since v7:
- err_runtime_disable -> err_rpm_disable
Changes since v2:
- removed unnecessary call to invalidate phys address before
deregistering the notifier,
- use cec_notifier_phys_addr_invalidate instead of setting
invalid address on a notifier.
Signed-off-by: Dariusz Marcinkiewicz <darekm@google.com >
Tested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl >
[hverkuil-cisco@xs4all.nl: use 'if (!hdata->notifier)' instead of '== NULL']
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Link: https://patchwork.freedesktop.org/patch/msgid/20190828123415.139441-1-darekm@google.com
2019-09-09 11:57:01 +02:00
Hans Verkuil
7ac1573e26
drm/sun4i/sun4i_hdmi_enc: call cec_s_conn_info()
...
Set the connector info for the CEC adapter. This helps
userspace to associate the CEC device with the HDMI connector.
Tested on a Cubieboard.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl >
Tested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl >
Acked-by: Maxime Ripard <mripard@kernel.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190823112427.42394-3-hverkuil-cisco@xs4all.nl
2019-09-09 11:57:01 +02:00
Yannick Fertré
92a57b3fb5
drm/stm: ltdc: add pinctrl for DPI encoder mode
...
The implementation of functions encoder_enable and encoder_disable
make possible to control the pinctrl according to the encoder type.
The pinctrl must be activated only if the encoder type is DPI.
This helps to move the DPI-related pinctrl configuration from
all the panel or bridge to the LTDC dt node.
Reviewed-by: Philippe Cornu <philippe.cornu@st.com >
Signed-off-by: Yannick Fertré <yannick.fertre@st.com >
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1567761708-31777-1-git-send-email-yannick.fertre@st.com
2019-09-09 11:30:54 +02:00
Laurent Pinchart
a793f0eeb7
drm/panel: panel-simple: Set OSD070T1718 panel type
...
The OSD070T1718 is a DPI panel, set its type accordingly.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190904133723.30418-1-laurent.pinchart@ideasonboard.com
2019-09-08 19:04:23 +02:00
Laurent Pinchart
89958b7cd9
drm/bridge: panel: Infer connector type from panel by default
...
The drm panel bridge creates a connector using a connector type
explicitly passed by the display controller or bridge driver that
instantiates the panel bridge. Now that drm_panel reports its connector
type, we can use it to avoid passing an explicit (and often incorrect)
connector type to drm_panel_bridge_add() and
devm_drm_panel_bridge_add().
Several drivers report incorrect or unknown connector types to
userspace. Reporting a different type may result in a breakage. For that
reason, rename (devm_)drm_panel_bridge_add() to
(devm_)drm_panel_bridge_add_typed(), and add new
(devm_)drm_panel_bridge_add() functions that use the panel connector
type. Update all callers of (devm_)drm_panel_bridge_add() to the _typed
function, they will be converted one by one after testing.
The panel drivers have been updated with the following Coccinelle
semantic patch, with manual inspection and fixes to indentation.
@@
expression bridge;
expression dev;
expression panel;
identifier type;
@@
(
-bridge = drm_panel_bridge_add(panel, type);
+bridge = drm_panel_bridge_add_typed(panel, type);
|
-bridge = devm_drm_panel_bridge_add(dev, panel, type);
+bridge = devm_drm_panel_bridge_add_typed(dev, panel, type);
)
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190904132804.29680-3-laurent.pinchart@ideasonboard.com
2019-09-08 19:04:23 +02:00