Thomas Zimmermann
cd45e30a70
drm/udl: Move log-cpp code out of udl_damage_handler()
...
Computing the cpp value's logarithm in a separate helper function makes
the damage-handler code more readable.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191206085954.9697-6-tzimmermann@suse.de
2019-12-06 13:51:52 +01:00
Thomas Zimmermann
ffc90486e3
drm/udl: Move clip-rectangle code out of udl_handle_damage()
...
Computing the clip rectable in a separate helper function makes the
damage-handler code more readable.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191206085954.9697-5-tzimmermann@suse.de
2019-12-06 13:51:41 +01:00
Thomas Zimmermann
2d2bebb833
drm/udl: Vmap framebuffer after all tests succeeded in damage handling
...
We now do the fast tests before the potentially expensive vmap operation.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191206085954.9697-4-tzimmermann@suse.de
2019-12-06 13:51:32 +01:00
Thomas Zimmermann
d15e35dafb
drm/udl: Don't track number of identical and sent pixels per line
...
A call to udl_render_hline() returns the number of identical and
sent pixels. None of these values is used. Remove the parameters.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191206085954.9697-3-tzimmermann@suse.de
2019-12-06 13:51:23 +01:00
Thomas Zimmermann
3f1939b531
drm/udl: Remove unused statistics counters
...
None of the udl driver's statistics counters is used anywhere. Remove
them.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191206085954.9697-2-tzimmermann@suse.de
2019-12-06 13:51:16 +01:00
Gerd Hoffmann
b3fac52c51
drm: share address space for dma bufs
...
Use the shared address space of the drm device (see drm_open() in
drm_file.c) for dma-bufs too. That removes a difference betweem drm
device mmap vmas and dma-buf mmap vmas and fixes corner cases like
dropping ptes (using madvise(DONTNEED) for example) not working
properly.
Also remove amdgpu driver's private dmabuf update. It is not needed
any more now that we are doing this for everybody.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20191127092523.5620-3-kraxel@redhat.com
2019-12-06 11:18:11 +01:00
Gerd Hoffmann
e551655399
drm: call drm_gem_object_funcs.mmap with fake offset
...
The fake offset is going to stay, so change the calling convention for
drm_gem_object_funcs.mmap to include the fake offset. Update all users
accordingly.
Note that this reverts 83b8a6f242 ("drm/gem: Fix mmap fake offset
handling for drm_gem_object_funcs.mmap") and on top then adds the fake
offset to drm_gem_prime_mmap to make sure all paths leading to
obj->funcs->mmap are consistent.
v3: move fake-offset tweak in drm_gem_prime_mmap() so we have this code
only once in the function (Rob Herring).
Fixes: 83b8a6f242 ("drm/gem: Fix mmap fake offset handling for drm_gem_object_funcs.mmap")
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Herring <robh@kernel.org >
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/20191127092523.5620-2-kraxel@redhat.com
2019-12-06 11:18:11 +01:00
Gabriela Bittencourt
0530bbd0e4
drm/vkms: Fix typo and preposion in function documentation
...
Fix typo in word 'blend' and in the word 'destination' and change
preposition 'at' to 'of' in function 'blend' documentation.
And change the task introduction word 'Todo' for the word all in uppercase
- 'TODO'. With the TODO word all in uppercase (as it's the standard) it's
easier to find the tasks that have to be done throughout the code.
Changes since V3:
Rodrigo:
- Merge the patch series into a single patch since it contains one single
logical change
Changes since V2:
- Add fix typo in word 'destination'
- Add change of the preposition
- Fix the name of the function in log message
- Add the change in word 'Todo'
Reviewed-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com >
Signed-off-by: Gabriela Bittencourt <gabrielabittencourt00@gmail.com >
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191104161424.18105-1-gabrielabittencourt00@gmail.com
2019-12-05 18:55:55 -05:00
Sean Paul
f79489074c
drm/dp_mst: Clear all payload id tables downstream when initializing
...
It seems that on certain MST hubs, namely the CableMatters USB-C 2x DP
hub, using the DP_PAYLOAD_ALLOCATE_SET and DP_PAYLOAD_TABLE_UPDATE_STATUS
register ranges to clear any pre-existing payload allocations on the hub isn't
always enough to reset things if the source device has been reset unexpectedly.
Or at least, that's the current running theory. The precise behavior appears to
be that when the source device gets reset unexpectedly, the hub begins reporting
an available_pbn value of 0 for all of its ports. This is a bit inconsistent
with the our theory, since this seems to happen even if previously set PBN
allocations should have resulted in a non-zero available_pbn value. So, it's
possible that something else may be going on here.
Strangely though, sending a CLEAR_PAYLOAD_ID_TABLE broadcast request when
initializing the MST topology seems to bring things into working order and make
available_pbn work again. Since this is a pretty safe solution, let's go ahead
and implement it.
Changes since v1:
* Change indenting on drm_dp_send_clear_payload_id_table() prototype
* Remove some braces in drm_dp_send_clear_payload_id_table()
* Reorganize some variable declarations in drm_dp_send_clear_payload_id_table()
* Don't forget to handle DP_CLEAR_PAYLOAD_ID_TABLE in
drm_dp_sideband_parse_reply()
* Move drm_dp_send_clear_payload_id_table() call into
drm_dp_mst_link_probe_work(), since we can't send sideband messages
while under lock in drm_dp_mst_topology_mgr_set_mst()
* Change commit message
Acked-by: Daniel Vetter <daniel@ffwll.ch >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Lyude Paul <lyude@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190829000944.20722-1-lyude@redhat.com
2019-12-05 13:13:46 -05:00
Thomas Zimmermann
c0826f40c2
drm/mgag200: Debug-print unique revisions id on G200 SE
...
The behavior of MGA G200 SE depends on the rev id. Print the id when
debugging is enabled.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191204133435.17462-1-tzimmermann@suse.de
2019-12-05 16:31:55 +01:00
Thomas Zimmermann
9623ecb07f
drm/mgag200: Call mgag200_driver_{load, unload}() before registering device
...
The load/unload callbacks in struct drm_driver are deprecated. Remove
them and call functions explicitly.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20191205090252.5711-1-tzimmermann@suse.de
2019-12-05 16:31:37 +01:00
Thomas Zimmermann
50cbe0e379
drm/gma500: Call psb_driver_{load, unload}() before registering device
...
The load/unload callbacks in struct drm_driver are deprecated. Remove
them and call functions explicitly.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191204184617.22201-1-tzimmermann@suse.de
2019-12-05 16:31:19 +01:00
Jani Nikula
b6ff753a0c
drm: constify fb ops across all drivers
...
Now that the fbops member of struct fb_info is const, we can start
making the ops const as well.
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/59b43629ac60031c5bbf961d8c49695019bc9c6f.1575390740.git.jani.nikula@intel.com
2019-12-05 10:57:42 +02:00
Thomas Zimmermann
02c484a894
drm/via: Don't include <drm/drm_pci.h>
...
Including <drm/drm_pci.h> is unnecessary in most cases. Replace
these instances.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-13-tzimmermann@suse.de
2019-12-05 08:45:13 +01:00
Thomas Zimmermann
95f02279a7
drm/tdfx: Don't include <drm/drm_pci.h>
...
Including <drm/drm_pci.h> is unnecessary in most cases. Replace
these instances.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-12-tzimmermann@suse.de
2019-12-05 08:45:01 +01:00
Thomas Zimmermann
528ea54fb0
drm/sis: Don't include <drm/drm_pci.h>
...
Including <drm/drm_pci.h> is unnecessary in most cases. Replace
these instances.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-11-tzimmermann@suse.de
2019-12-05 08:44:55 +01:00
Thomas Zimmermann
fdca3c4905
drm/savage: Don't include <drm/drm_pci.h>
...
Including <drm/drm_pci.h> is unnecessary in most cases. Replace
these instances.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-10-tzimmermann@suse.de
2019-12-05 08:44:34 +01:00
Thomas Zimmermann
2ef79416f0
drm/radeon: Don't include <drm/drm_pci.h>
...
Including <drm/drm_pci.h> is unnecessary in most cases. Replace
these instances.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-9-tzimmermann@suse.de
2019-12-05 08:44:28 +01:00
Thomas Zimmermann
5613f633f9
drm/r128: Don't include <drm/drm_pci.h>
...
Including <drm/drm_pci.h> is unnecessary in most cases. Replace
these instances.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-8-tzimmermann@suse.de
2019-12-05 08:44:23 +01:00
Thomas Zimmermann
09daa2e7f3
drm/mgag200: Don't include <drm/drm_pci.h>
...
Including <drm/drm_pci.h> is unnecessary in most cases. Replace
these instances.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-7-tzimmermann@suse.de
2019-12-05 08:44:19 +01:00
Thomas Zimmermann
474863a146
drm/mga: Don't include <drm/drm_pci.h>
...
Including <drm/drm_pci.h> is unnecessary in most cases. Replace
these instances.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-6-tzimmermann@suse.de
2019-12-05 08:44:16 +01:00
Thomas Zimmermann
3760999287
drm/i810: Don't include <drm/drm_pci.h>
...
Including <drm/drm_pci.h> is unnecessary in most cases. Replace
these instances.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-5-tzimmermann@suse.de
2019-12-05 08:44:12 +01:00
Thomas Zimmermann
5562085806
drm/ast: Don't include <drm/drm_pci.h>
...
Including <drm/drm_pci.h> is unnecessary in most cases. Replace
these instances.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-4-tzimmermann@suse.de
2019-12-05 08:44:09 +01:00
Thomas Zimmermann
1be9d5f069
drm/pci: Hide legacy PCI functions from non-legacy code
...
Declarations of drm_legacy_pci_{init,exit}() are being moved to
drm_legacy.h. CONFIG_DRM_LEGACY protects the implementation.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-3-tzimmermann@suse.de
2019-12-05 08:44:04 +01:00
Thomas Zimmermann
5c7a0bb0cf
drm/pci: Only build drm_pci.c if CONFIG_PCI is set
...
Non-PCI systems should not build PCI helpers. Set up source code, header
file and Makefile accordingly.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-2-tzimmermann@suse.de
2019-12-05 08:43:14 +01:00
Linus Walleij
99a375519e
drm/panel: rpi: Drop unused GPIO includes
...
The Rpi panel driver doesn't use any symbols from these
GPIO includes so just drop them.
Cc: Eric Anholt <eric@anholt.net >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203152655.159281-1-linus.walleij@linaro.org
2019-12-03 18:41:22 +01:00
Benjamin Gaignard
8dc056ef0b
drm/crtc-helper: drm_connector_get_single_encoder prototype is missing
...
Include drm_crtc_helper_internal.h to provide drm_connector_get_single_encoder
prototype.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191119125805.4266-1-benjamin.gaignard@st.com
2019-12-03 17:42:57 +01:00
Jani Nikula
577780752a
drm/fb-helper: don't preserve fb_ops across deferred IO use
...
Deferred IO now preserves the fb_ops.
v2: Remove the no-op vfree, drop a local var (Noralf)
Cc: Noralf Trønnes <noralf@tronnes.org >
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1eae0b23d4724d5702b886b6a061ec8219eb9284.1575022735.git.jani.nikula@intel.com
2019-12-03 11:10:49 +02:00
Emil Velikov
30a958526d
drm: drop DRM_AUTH from PRIME_TO/FROM_HANDLE ioctls
...
As mentioned by Christian, for drivers which support only primary nodes
this changes the returned error from -EACCES into -EOPNOTSUPP/-ENOSYS.
For others, this check in particular will be a noop. So let's remove it
as suggested by Christian.
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: amd-gfx@lists.freedesktop.org
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Sean Paul <sean@poorly.run >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20191101130313.8862-5-emil.l.velikov@gmail.com
2019-12-02 16:52:15 +00:00
Emil Velikov
c1572b7560
drm/panfrost: remove DRM_AUTH and respective comment
...
As of earlier commit we have address space separation. Yet we forgot to
remove the respective comment and DRM_AUTH in the ioctl declaration.
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Steven Price <steven.price@arm.com >
Fixes: 7282f7645d ("drm/panfrost: Implement per FD address spaces")
Signed-off-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Steven Price <steven.price@arm.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191101130313.8862-4-emil.l.velikov@gmail.com
2019-12-02 16:51:51 +00:00
Emil Velikov
85dce7ff45
drm: use correct dev node location in comment
...
Current comment mentions /dev/drm which hasn't been a thing even before
the code was merged into the kernel ;-)
v2: drop explicit node path (Sean)
Signed-off-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Sean Paul <sean@poorly.run >
Link: https://patchwork.freedesktop.org/patch/msgid/20190722165648.7828-1-emil.l.velikov@gmail.com
2019-12-02 16:50:45 +00:00
Boris Brezillon
bd19c45270
drm/exynos: Don't reset bridge->next
...
bridge->next is only points to the new bridge if drm_bridge_attach()
succeeds. No need to reset it manually here.
Note that this change is part of the attempt to make the bridge chain
a double-linked list. In order to do that we must patch all drivers
manipulating the bridge->next field.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Acked-by: Inki Dae <inki.dae@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191023154512.9762-3-boris.brezillon@collabora.com
2019-12-02 09:34:06 +01:00
Sam Ravnborg
de25013814
drm/tegra: fix opencoded use of drm_panel_*
...
Use the drm_panel_get_modes function.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Jonathan Hunter <jonathanh@nvidia.com >
Cc: linux-tegra@vger.kernel.org
Link: https://patchwork.freedesktop.org/patch/msgid/20190804201637.1240-10-sam@ravnborg.org
2019-12-01 12:17:54 +01:00
Sam Ravnborg
480ab0ee8b
drm/msm: fix opencoded use of drm_panel_*
...
Use the function drm_panel_get_modes().
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Cc: Alexios Zavras <alexios.zavras@intel.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Allison Randal <allison@lohutok.net >
Cc: Enrico Weigelt <info@metux.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20190804201637.1240-7-sam@ravnborg.org
2019-12-01 12:17:54 +01:00
Sam Ravnborg
d02d8a9ce8
drm/exynos: fix opencoded use of drm_panel_*
...
Call via drm_panel_get_modes().
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Cc: Inki Dae <inki.dae@samsung.com >
Cc: Joonyoung Shim <jy0922.shim@samsung.com >
Cc: Seung-Woo Kim <sw0312.kim@samsung.com >
Cc: Kyungmin Park <kyungmin.park@samsung.com >
Cc: Kukjin Kim <kgene@kernel.org >
Cc: Krzysztof Kozlowski <krzk@kernel.org >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-samsung-soc@vger.kernel.org
Link: https://patchwork.freedesktop.org/patch/msgid/20190804201637.1240-4-sam@ravnborg.org
2019-12-01 12:17:54 +01:00
Sam Ravnborg
5f9f81c601
drm/exynos: fix opencoded use of drm_panel_*
...
drm_panel_attach() will check if there is a controller
already attached - drop the check in the driver.
Use drm_panel_get_modes() so the driver no longer uses the function
pointer.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Cc: Inki Dae <inki.dae@samsung.com >
Cc: Joonyoung Shim <jy0922.shim@samsung.com >
Cc: Seung-Woo Kim <sw0312.kim@samsung.com >
Cc: Kyungmin Park <kyungmin.park@samsung.com >
Cc: Kukjin Kim <kgene@kernel.org >
Cc: Krzysztof Kozlowski <krzk@kernel.org >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-samsung-soc@vger.kernel.org
Link: https://patchwork.freedesktop.org/patch/msgid/20190804201637.1240-3-sam@ravnborg.org
2019-12-01 12:17:54 +01:00
Colin Ian King
9c49282ac8
drm/panel: clean up indentation issue
...
There is a continue statement that is indented one level too deeply,
remove the extraneous tab.
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190925120357.10408-1-colin.king@canonical.com
2019-12-01 10:02:18 +01:00
Adam Ford
0d35408afb
drm/panel: simple: Add Logic PD Type 28 display support
...
Previously, there was an omap panel-dpi driver that would
read generic timings from the device tree and set the display
timing accordingly. This driver was removed so the screen
no longer functions. This patch modifies the panel-simple
file to setup the timings to the same values previously used.
Fixes: 8bf4b16211 ("drm/omap: Remove panel-dpi driver")
Signed-off-by: Adam Ford <aford173@gmail.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191016135147.7743-1-aford173@gmail.com
2019-11-30 23:03:24 +01:00
Ville Syrjälä
65b2f7c43c
drm: Inline drm_color_lut_extract()
...
This thing can get called several thousand times per LUT
so seems like we want to inline it to:
- avoid the function call overhead
- allow constant folding
A quick synthetic test (w/o any hardware interaction) with
a ridiculously large LUT size shows about 50% reduction in
runtime on my HSW and BSW boxes. Slightly less with more
reasonable LUT size but still easily measurable in tens
of microseconds.
v2: Include drm_color_mgmt.h in the .rst (Daniel)
Cc: Daniel Vetter <daniel@ffwll.ch >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191108135654.12907-1-ville.syrjala@linux.intel.com
2019-11-29 21:29:17 +02:00
Wayne Lin
304a94a2e6
drm/edid: Add alternate clock for SMPTE 4K
...
[Why]
In hdmi_mode_alternate_clock(), it adds an exception for VIC 4
mode (4096x2160@24) due to there is no alternate clock defined for
that mode in HDMI1.4b. But HDMI2.0 adds 23.98Hz for that mode.
[How]
Remove the exception
v2: Adjust the comment description of hdmi_mode_alternate_clock()
due to there is no more exception for VIC 4 mode.
Signed-off-by: Wayne Lin <Wayne.Lin@amd.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191118101832.15487-2-Wayne.Lin@amd.com
2019-11-29 17:05:01 +02:00
Wayne Lin
d2b434730f
drm/edid: Add aspect ratios to HDMI 4K modes
...
[Why]
HDMI 2.0 adds aspect ratio attribute to distinguish different
4k modes. According to Appendix E of HDMI 2.0 spec, source should
use VSIF to indicate video mode only when the mode is one defined
in HDMI 1.4b 4K modes. Otherwise, use AVI infoframes to convey VIC.
Current code doesn't take aspect ratio into consideration while
constructing avi infoframe. Should modify that.
[How]
Inherit Ville Syrjälä's work
"drm/edid: Prep for HDMI VIC aspect ratio" at
https://patchwork.kernel.org/patch/11174639/
Add picture_aspect_ratio attributes to edid_4k_modes[] and
construct VIC and HDMI_VIC by taking aspect ratio into
consideration.
v2: Correct missing initializer error at adding aspect ratio of
SMPTE mode.
Signed-off-by: Wayne Lin <Wayne.Lin@amd.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191118101832.15487-1-Wayne.Lin@amd.com
2019-11-29 17:04:22 +02:00
Markus Elfring
dbe3ad61dc
drm/qxl: Complete exception handling in qxl_device_init()
...
A coccicheck run provided information like the following.
drivers/gpu/drm/qxl/qxl_kms.c:295:1-7: ERROR: missing iounmap;
ioremap on line 178 and execution via conditional on line 185
Generated by: scripts/coccinelle/free/iounmap.cocci
A jump target was specified in an if branch. The corresponding function
call did not release the desired system resource then.
Thus use the label “rom_unmap” instead to fix the exception handling
for this function implementation.
Fixes: 5043348a49 ("drm: qxl: Fix error handling at qxl_device_init")
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net >
Link: http://patchwork.freedesktop.org/patch/msgid/5e5ef9c4-4d85-3c93-cf28-42cfcb5b0649@web.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2019-11-29 13:09:11 +01:00
Daniel Vetter
11b7e986da
drm/rockchip: Use drm_gem_fb_create_with_dirty
...
If rockchip would switch over to the generic fbdev setup we could
grabage collect even more of all this code (all of the remaining fb
handling code really).
v2: Actually use _with_dirty like the patch subject promised (Andrzej)
Cc: Andrzej Pietrasiewicz <andrzej.p@collabora.com >
Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Sandy Huang <hjc@rock-chips.com >
Cc: "Heiko Stübner" <heiko@sntech.de >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Link: https://patchwork.freedesktop.org/patch/msgid/20191127180035.416209-1-daniel.vetter@ffwll.ch
2019-11-29 09:58:28 +01:00
Daniel Vetter
94fee4a74d
drm/rect: update kerneldoc for drm_rect_clip_scaled()
...
This was forgotten in f96bdf564f ("drm/rect: Handle rounding errors
in drm_rect_clip_scaled, v3.")
Spotted while reviewing patches from Ville touching this area.
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Fixes: f96bdf564f ("drm/rect: Handle rounding errors in drm_rect_clip_scaled, v3.")
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Benjamin Gaignard <benjamin.gaignard@st.com >
Cc: Ville Syrjala <ville.syrjala@linux.intel.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191126145213.380079-1-daniel.vetter@ffwll.ch
2019-11-28 13:15:43 +01:00
Ville Syrjälä
30218eb77d
drm/selftests: Add drm_rect selftests
...
Add selftests for drm_rect. A few basic ones for clipped and unclipped
cases, and a few special ones for specific bugs we had in the code.
I'm too lazy to think of more corner cases to check at this time.
Maybe later.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191122175623.13565-5-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@st.com >
2019-11-28 13:33:43 +02:00
Ville Syrjälä
2020af2dbf
drm/rect: Keep the clipped dst rectangle in place
...
Now that we've constrained the clipped source rectangle such
that it can't have negative dimensions doing the same for the
dst rectangle seems appropriate. Should at least result in
the clipped src and dst rectangles being a bit more consistent
with each other.
Cc: Benjamin Gaignard <benjamin.gaignard@st.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Daniel Vetter <daniel@ffwll.ch >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191122175623.13565-4-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@st.com >
2019-11-28 13:33:38 +02:00
Ville Syrjälä
2e351705f1
drm/rect: Keep the scaled clip bounded
...
Limit the scaled clip to only clip at most dst_w/h pixels.
This avoids the problem with clip_scaled() not being able
to return negative values. Since new_src_w/h is now properly
bounded we can remove the clamp()s.
Cc: Benjamin Gaignard <benjamin.gaignard@st.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Daniel Vetter <daniel@ffwll.ch >
Testcase: igt/kms_selftest/drm_rect_clip_scaled_signed_vs_unsigned
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191122175623.13565-3-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@st.com >
2019-11-28 13:33:33 +02:00
Ville Syrjälä
433480c1af
drm/rect: Avoid division by zero
...
Check for zero width/height destination rectangle in
drm_rect_clip_scaled() to avoid a division by zero.
Cc: stable@vger.kernel.org
Fixes: f96bdf564f ("drm/rect: Handle rounding errors in drm_rect_clip_scaled, v3.")
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Benjamin Gaignard <benjamin.gaignard@st.com >
Cc: Daniel Vetter <daniel@ffwll.ch >
Testcase: igt/kms_selftest/drm_rect_clip_scaled_div_by_zero
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191122175623.13565-2-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@st.com >
2019-11-28 13:33:23 +02:00
Daniel Vetter
96227287fd
drm/fourcc: Fill out all block sizes for P210
...
0 means 1 as the default, but it's mighty confusing if the block size
for the first plane is spelled out explicitly, but not for the 2nd
plane.
No cc: stable because this is just confusion, but 0 functional issue.
Acked-by: Liviu Dudau <liviu.dudau@arm.com >
Fixes: 7ba0fee247 ("drm/fourcc: Add AFBC yuv fourccs for Mali")
Cc: Brian Starkey <brian.starkey@arm.com >
Cc: Ayan Kumar Halder <ayan.halder@arm.com >
Cc: Liviu Dudau <liviu.dudau@arm.com >
Cc: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191126091414.226070-2-daniel.vetter@ffwll.ch
2019-11-28 11:19:32 +01:00
Daniel Vetter
836b131d2c
drm/fourcc: Fill out all block sizes for P10/12/16
...
0 means 1 as the default, but it's mighty confusing if the block size
for the first plane is spelled out explicitly, but not for the 2nd
plane.
No cc: stable because this is just confusion, but 0 functional issue.
Acked-by: Liviu Dudau <liviu.dudau@arm.com >
Fixes: 05f8bc82fc ("drm/fourcc: Add new P010, P016 video format")
Cc: Daniel Stone <daniel@fooishbar.org >
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
Cc: Randy Li <ayaka@soulik.info >
Cc: Clint Taylor <clinton.a.taylor@intel.com >
Cc: Ayan Kumar Halder <ayan.halder@arm.com >
Cc: Neil Armstrong <narmstrong@baylibre.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191126091414.226070-1-daniel.vetter@ffwll.ch
2019-11-28 11:15:48 +01:00