Dan Carpenter
cd0e0ca691
drm/panel: type promotion bug in s6e8aa0_read_mtp_id()
...
The ARRAY_SIZE() macro is type size_t. If s6e8aa0_dcs_read() returns a
negative error code, then "ret < ARRAY_SIZE(id)" is false because the
negative error code is type promoted to a high positive value.
Fixes: 02051ca063 ("drm/panel: add S6E8AA0 driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180704093807.s3lqsb2v6dg2k43d@kili.mountain
2018-07-10 17:59:05 +02:00
Nickey Yang
ebc950fdff
dt-bindings: Add KINGDISPLAY KD097D04 panel bindings
...
The KINGDISPLAY KD097D04 is a 9.7" panel with a 1536x2048
resolution and connected to DSI using 8 lanes.
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180702103229.3952-3-heiko@sntech.de
2018-07-10 17:59:05 +02:00
Nickey Yang
2bb7a39c15
dt-bindings: Add vendor prefix for kingdisplay
...
Kingdisplay Technology Co., Ltd, established in
China Shenzhen in 2006, is a national high-tech
enterprise specializing in the R&D, manufacturing
and marketing of TFT-LCM and touch panel.
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180702103229.3952-2-heiko@sntech.de
2018-07-10 17:59:05 +02:00
Lin Huang
de04a462fd
drm/panel: p079zca: Support Innolux P097PFG panel
...
Support Innolux P097PFG 9.7" 1536x2048 TFT LCD panel, it reuse
the Innolux P079ZCA panel driver.
Changes in v2:
- None
Changes in v3:
- None
Changes in v4:
- None
Changes in v5:
- Document source of init-commands
- 4 lanes per DSI interface
Signed-off-by: Lin Huang <hl@rock-chips.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180702102721.3546-5-heiko@sntech.de
2018-07-10 17:59:05 +02:00
Lin Huang
731edd4ce5
dt-bindings: Add Innolux P097PFG panel bindings
...
The Innolux P097PFG panel is 9.7" panel with 1536X2048
resolution, it reuse P079ZCA panel driver, so improve
p079ZCA dt-binding to support P097PFG.
Changes in v2:
- None
Changes in v3:
- None
Changes in v4:
- None
Changes in v5:
- use separate file for binding
- keep power supplies as required
Signed-off-by: Lin Huang <hl@rock-chips.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180702102721.3546-4-heiko@sntech.de
2018-07-10 17:59:05 +02:00
Lin Huang
48bd379aa2
drm/panel: p079zca: Add variable unprepare_delay properties
...
When panel power down, p079zca need delay between reset and disable
power supply, but p097pfg does not need it. Similarly p097zca needs
a delay after entering panel sleep mode. So add two delay properties,
so we can meet these two panel power down sequence.
Signed-off-by: Lin Huang <hl@rock-chips.com >
[add sleep-mode delay]
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180702102721.3546-3-heiko@sntech.de
2018-07-10 17:59:05 +02:00
Lin Huang
7ad4e4636c
drm/panel: p079zca: Refactor panel driver to support multiple panels
...
Refactor Innolux P079ZCA panel driver, let it support multi panels from
Innolux that share similar power sequences.
Panels may require different power supplies so use regulator bulk
interfaces and define per panel supply-names.
Changes in v2:
- Change regulator property name to meet the panel datasheet
Changes in v3:
- this patch only refactor P079ZCA panel to support multi panel,
support P097PFG panel in another patch
Changes in v4:
- Modify the patch which suggest by Thierry
Changes in v5:
- use regulator_bulk to handle different supply number
Signed-off-by: Lin Huang <hl@rock-chips.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180702102721.3546-2-heiko@sntech.de
2018-07-10 17:59:05 +02:00
Colin Ian King
3d5664f95e
drm/panel: ili9881c: Fix missing assignment to error return ret
...
Currently, ret is being checked for an error condition however it
is not being assigned in the previous statement on the call of
function mipi_dsi_dcs_exit_sleep_mode. Add in the missing assignment
of ret.
Detected by CoverityScan, CID#1470174, 1470178 ("Unchecked return value")
Fixes: 26aec25593 ("drm/panel: Add Ilitek ILI9881c panel driver")
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180626160354.1363-1-colin.king@canonical.com
2018-07-10 17:59:05 +02:00
Michal Vokáč
97ceb1fb08
drm/panel: simple: Add support for DataImage SCF0700C48GGU18
...
This adds support for the DataImage SCF0700C48GGU18 7.0" WVGA (800x480)
TFT LCD panel. The panel has 24-bit parallel interface and can be
supported by the simple panel driver.
Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1529930490-11874-2-git-send-email-michal.vokac@ysoft.com
2018-07-10 17:59:05 +02:00
Michal Vokáč
03fa9aa384
dt-bindings: Add DataImage, Inc. vendor prefix
...
DataImage is a Taiwan-based manufacturer of LCD panels.
Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1529930490-11874-1-git-send-email-michal.vokac@ysoft.com
2018-07-10 17:59:05 +02:00
Christoph Fritz
a5d2ade627
drm/panel: simple: Add support for Innolux G070Y2-L01
...
This patch adds support for Innolux G070Y2-L01 7" WVGA (800x480) TFT LCD
panel.
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1528111008.2818.20.camel@googlemail.com
2018-07-10 17:59:05 +02:00
Tomi Valkeinen
3b39ad7a55
drm/panel: simple: Add newhaven, nhd-4.3-480272ef-atxl LCD
...
Add support for newhaven,nhd-4.3-480272ef-atxl to panel-simple.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180618132242.8673-8-tomi.valkeinen@ti.com
2018-07-10 17:59:05 +02:00
Peter Ujfalusi
955f60db0f
drm: Add support for extracting sync signal drive edge from videomode
...
The sync in some panels needs to be driven by different edge of the pixel
clock compared to data. This is reflected by the
DISPLAY_FLAGS_SYNC_(POS|NEG)EDGE in videmode flags.
Add similar similar definitions for bus_flags and convert the sync drive
edge via drm_bus_flags_from_videomode().
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Signed-off-by: Jyri Sarha <jsarha@ti.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180618132242.8673-2-tomi.valkeinen@ti.com
2018-07-10 17:59:05 +02:00
Andrzej Hajda
ae8cf41b6a
drm/panel: simple: Add support for BOE HV070WSA-100 panel to simple-panel
...
The patch adds support for BOE HV070WSA-100 WSVGA 7.01 inch panel to the
panel-simple driver. The panel is used in Exynos5250-arndale boards.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com >
Signed-off-by: Maciej Purski <m.purski@samsung.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1529396370-18761-6-git-send-email-m.purski@samsung.com
2018-07-10 17:59:05 +02:00
Andrzej Hajda
b0b7aa407e
dt-bindings: display: Add DT bindings for BOE HV070WSA-100 panel
...
The patch adds bindings to BOE HV070-WSA WSVGA panel. Bindings are
compatible with simple panel bindings.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com >
Signed-off-by: Maciej Purski <m.purski@samsung.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1529396370-18761-5-git-send-email-m.purski@samsung.com
2018-07-10 17:59:05 +02:00
Boris Brezillon
1b9883eae8
drm/vc4: Support the case where the DSI device is disabled
...
Having a device with a status property != "okay" in the DT is a valid
use case, and we should not prevent the registration of the DRM device
when the DSI device connected to the DSI controller is disabled.
Consider the ENODEV return code as a valid result and do not expose the
DSI encoder/connector when it happens.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180509130042.9435-5-boris.brezillon@bootlin.com
2018-07-10 17:59:05 +02:00
Boris Brezillon
2e64a17417
drm/of: Make drm_of_find_panel_or_bridge() fail when the device is disabled
...
There's no point searching for a drm_bridge or drm_panel if the OF node
we're pointing has a status property that is not "okay" or "ok". Just
return -ENODEV in this case.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reviewed-by: Thierry Reding <treding@nvidia.com >
Acked-by: Thierry Reding <treding@nvidia.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180509130042.9435-4-boris.brezillon@bootlin.com
2018-07-10 17:59:05 +02:00
Boris Brezillon
c59eb3cfde
drm/panel: Let of_drm_find_panel() return -ENODEV when the panel is disabled
...
DT nodes might be present in the DT but with a status property set to
"disabled" or "fail". In this case, we should not return -EPROBE_DEFER
when the caller asks for a drm_panel instance. Return -ENODEV instead.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reviewed-by: Thierry Reding <treding@nvidia.com >
Acked-by: Thierry Reding <treding@nvidia.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180509130042.9435-3-boris.brezillon@bootlin.com
2018-07-10 17:59:05 +02:00
Boris Brezillon
5fa8e4a221
drm/panel: Make of_drm_find_panel() return an ERR_PTR() instead of NULL
...
Right now, the DRM panel logic returns NULL when a panel pointing to
the passed OF node is not present in the list of registered panels.
Most drivers interpret this NULL value as -EPROBE_DEFER, but we are
about to modify the semantic of of_drm_find_panel() and let the
framework return -ENODEV when the device node we're pointing to has
a status property that is not equal to "okay" or "ok".
Let's first patch the of_drm_find_panel() implementation to return
ERR_PTR(-EPROBE_DEFER) instead of NULL and patch all callers to replace
the '!panel' check by an 'IS_ERR(panel)' one.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180509130042.9435-2-boris.brezillon@bootlin.com
2018-07-10 17:59:05 +02:00
Philipp Zabel
0ca0c827ef
drm/panel: simple: Add DLC DLC0700YZG-1 panel
...
This patch adds support for DLC DLC0700YZG-1 1024x600 LVDS panels
to the simple-panel driver.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
[m.felsch@pengutronix.de: fix typo in compatible dt-binding]
[m.felsch@pengutronix.de: add property bindings]
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180523092504.5142-3-m.felsch@pengutronix.de
2018-07-10 17:59:05 +02:00
Philipp Zabel
7a6aca4935
dt-bindings: Add vendor prefix for DLC Display Co., Ltd.
...
DLC provides a wide range of display solutions.
Website: http://www.dlcdisplay.com/
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180523092504.5142-2-m.felsch@pengutronix.de
2018-07-10 17:59:05 +02:00
Jan Tuerk
aad34de22e
drm/panel: Add support for the EDT ETM0700G0EDH6
...
The Emerging Display Technology ETM0700G0EDH6 is the
uses the same panel as the ETM0700G0BDH6. It differs
in the hardware design for the backlight and the
touchscreen i2c interface. As the new display type has
different requirements for drive-strengths on the i2c-bus,
add an additional compatible to allow the handling of it or warn
about incompatible cpu and display combinations.
Signed-off-by: Jan Tuerk <jan.tuerk@emtrion.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180619095546.24445-3-jan.tuerk@emtrion.com
2018-07-10 17:59:05 +02:00
Jan Tuerk
aa7e6455e1
drm/panel: Add support for the EDT ETM0700G0BDH6
...
The Emerging Display Technology ETM0700G0BDH6 is exactly
the same display as the ETM0700G0DH6, exept the pixelclock
polarity. Therefore re-use the ETM0700G0DH6 modes. It is
used by default on emtrion Avari based development kits.
Signed-off-by: Jan Tuerk <jan.tuerk@emtrion.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180619095546.24445-2-jan.tuerk@emtrion.com
2018-07-10 17:59:05 +02:00
Jan Tuerk
2230ca12cc
dt-bindings: display: Document the EDT et* displays in one file.
...
Document the Emerging Display Technology Corp. (EDT) using the
simple-panel binding in one single file.
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Jan Tuerk <jan.tuerk@emtrion.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180619095546.24445-1-jan.tuerk@emtrion.com
2018-07-10 17:59:05 +02:00
Jagan Teki
23167fa9a5
drm/panel: simple: Add support for Rocktech RK070ER9427 LCD panel
...
This adds support for the Rocktech Display Ltd. RK070ER9427
800(RGB)x480 TFT LCD panel, which can be supported by the
simple panel driver.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180607134648.2902-1-jagan@amarulasolutions.com
2018-07-10 17:59:05 +02:00
Noralf Trønnes
85b5bafb86
drm/cma-helper: Remove drm_fb_cma_fbdev_init_with_funcs()
...
Remove drm_fb_cma_fbdev_init_with_funcs(), its only user tinydrm has
moved to drm_fbdev_generic_setup().
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: David Lechner <david@lechnology.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703160354.59955-9-noralf@tronnes.org
2018-07-10 14:54:50 +02:00
Noralf Trønnes
dff1c7032f
drm/tinydrm: Use drm_fbdev_generic_setup()
...
Make full use of the generic fbdev client.
Cc: David Lechner <david@lechnology.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: David Lechner <david@lechnology.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703160354.59955-8-noralf@tronnes.org
2018-07-10 14:54:33 +02:00
Noralf Trønnes
9060d7f493
drm/fb-helper: Finish the generic fbdev emulation
...
This adds a drm_fbdev_generic_setup() function that sets up generic
fbdev emulation with client callbacks for restore, hotplug and
unregister.
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703160354.59955-7-noralf@tronnes.org
2018-07-10 14:54:09 +02:00
Noralf Trønnes
e896c132eb
drm/debugfs: Add internal client debugfs file
...
Print the names of the internal clients currently attached.
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703160354.59955-6-noralf@tronnes.org
2018-07-10 14:53:35 +02:00
Noralf Trønnes
894a677f4b
drm/cma-helper: Use the generic fbdev emulation
...
This switches the CMA helper drivers that use its fbdev emulation over
to the generic fbdev emulation. It's the first phase of using generic
fbdev. A later phase will use DRM client callbacks for the
lastclose/hotplug/remove callbacks.
There are currently 2 fbdev init/fini functions:
- drm_fb_cma_fbdev_init/drm_fb_cma_fbdev_fini
- drm_fbdev_cma_init/drm_fbdev_cma_fini
This is because the work on generic fbdev came up during a fbdev
refactoring and thus wasn't completed. No point in completing that
refactoring when drivers will soon move to drm_fb_helper_generic_probe().
tinydrm uses drm_fb_cma_fbdev_init_with_funcs().
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703160354.59955-5-noralf@tronnes.org
2018-07-10 14:53:17 +02:00
Noralf Trønnes
244007ecb6
drm/pl111: Set .gem_prime_vmap and .gem_prime_mmap
...
These are needed for pl111 to use the generic fbdev emulation.
Cc: Eric Anholt <eric@anholt.net >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703160354.59955-4-noralf@tronnes.org
2018-07-10 14:52:54 +02:00
Noralf Trønnes
d536540f30
drm/fb-helper: Add generic fbdev emulation .fb_probe function
...
This is the first step in getting generic fbdev emulation.
A drm_fb_helper_funcs.fb_probe function is added which uses the
DRM client API to get a framebuffer backed by a dumb buffer.
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703160354.59955-3-noralf@tronnes.org
2018-07-10 14:52:37 +02:00
Noralf Trønnes
c76f0f7cb5
drm: Begin an API for in-kernel clients
...
This the beginning of an API for in-kernel clients.
First out is a way to get a framebuffer backed by a dumb buffer.
Only GEM drivers are supported.
The original idea of using an exported dma-buf was dropped because it
also creates an anonomous file descriptor which doesn't work when the
buffer is created from a kernel thread. The easy way out is to use
drm_driver.gem_prime_vmap to get the virtual address, which requires a
GEM object. This excludes the vmwgfx driver which is the only non-GEM
driver apart from the legacy ones. A solution for vmwgfx will have to be
worked out later if it wants to support the client API which it probably
will when we have a bootsplash client.
Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703160354.59955-2-noralf@tronnes.org
2018-07-10 14:51:37 +02:00
Arnd Bergmann
5ba57babcb
drm: vkms: select DRM_KMS_HELPER
...
Without this, we get link errors during randconfig build:
drivers/gpu/drm/vkms/vkms_drv.o:(.rodata+0xa0): undefined reference to `drm_atomic_helper_check'
drivers/gpu/drm/vkms/vkms_drv.o:(.rodata+0xa8): undefined reference to `drm_atomic_helper_commit'
drivers/gpu/drm/vkms/vkms_plane.o:(.rodata+0x0): undefined reference to `drm_atomic_helper_update_plane'
drivers/gpu/drm/vkms/vkms_plane.o:(.rodata+0x8): undefined reference to `drm_atomic_helper_disable_plane'
drivers/gpu/drm/vkms/vkms_plane.o:(.rodata+0x18): undefined reference to `drm_atomic_helper_plane_reset'
drivers/gpu/drm/vkms/vkms_plane.o:(.rodata+0x28): undefined reference to `drm_atomic_helper_plane_duplicate_state'
drivers/gpu/drm/vkms/vkms_plane.o:(.rodata+0x30): undefined reference to `drm_atomic_helper_plane_destroy_state'
drivers/gpu/drm/vkms/vkms_output.o:(.rodata+0x1c0): undefined reference to `drm_helper_probe_single_connector_modes'
drivers/gpu/drm/vkms/vkms_crtc.o:(.rodata+0x40): undefined reference to `drm_atomic_helper_crtc_reset'
drivers/gpu/drm/vkms/vkms_crtc.o:(.rodata+0x70): undefined reference to `drm_atomic_helper_set_config'
drivers/gpu/drm/vkms/vkms_crtc.o:(.rodata+0x78): undefined reference to `drm_atomic_helper_page_flip'
drivers/gpu/drm/vkms/vkms_crtc.o:(.rodata+0x90): undefined reference to `drm_atomic_helper_crtc_duplicate_state'
drivers/gpu/drm/vkms/vkms_crtc.o:(.rodata+0x98): undefined reference to `drm_atomic_helper_crtc_destroy_state'
Fixes: 854502fa0a ("drm/vkms: Add basic CRTC initialization")
Fixes: 1c7c5fd916 ("drm/vkms: Introduce basic VKMS driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180709154901.1989316-1-arnd@arndb.de
2018-07-09 18:46:05 +02:00
Boris Brezillon
008095e065
drm/vc4: Add support for the transposer block
...
The transposer block is providing support for mem-to-mem composition,
which is exposed as a drm_writeback connector in DRM.
Add a driver to support this feature.
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703075022.15138-9-boris.brezillon@bootlin.com
2018-07-07 07:54:46 +02:00
Boris Brezillon
1ebe99a75e
drm/vc4: Call drm_atomic_helper_fake_vblank() in the commit path
...
Mimic what is done in drm_atomic_commit_tail() and call
drm_atomic_helper_fake_vblank() so that VBLANK events are faked
when the drm_crtc_state.no_vblank is true. Will be needed when we'll
add support for the transposer block.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703075022.15138-8-boris.brezillon@bootlin.com
2018-07-07 07:54:15 +02:00
Boris Brezillon
6fb42b6682
drm/atomic: Call fake_vblank() from the generic commit_tail() helpers
...
Now that we have a way to fake VBLANK events when requested by the CRTC
hook it up to the generic commit_tail() helpers.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703075022.15138-7-boris.brezillon@bootlin.com
2018-07-07 07:53:56 +02:00
Boris Brezillon
b25c60af7a
drm/crtc: Add a generic infrastructure to fake VBLANK events
...
In some cases CRTCs are active but are not able to generating events, at
least not at every frame at it's expected to.
This is typically the case when the CRTC is feeding a writeback connector
that has no job queued. In this situation the CRTC is usually stopped
until a new job is queued, and this can lead to timeouts when part of
the pipeline is updated but no new jobs are queued to the active
writeback connector.
In order to solve that, we add a ->no_vblank flag to drm_crtc_state
and ask the CRTC drivers to set it to true when they know they're not
able to generate VBLANK events. The core drm_atomic_helper_fake_vblank()
helper can then be used to fake VBLANKs at commit time.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703075022.15138-6-boris.brezillon@bootlin.com
2018-07-07 07:53:09 +02:00
Boris Brezillon
184d3cf4f7
drm/vc4: Use wait_for_flip_done() instead of wait_for_vblanks()
...
drm_atomic_helper_wait_for_vblanks() assumes the CRTC will continuously
generate VBLANK events and the vblank counter will keep increasing.
While this work for a regular pipeline, it doesn't when you have the
CRTC is feeding the transposer block, because this block works in
oneshot mode, and, by the time we reach
drm_atomic_helper_wait_for_vblanks() the only VBLANK event might have
already been sent and the VBLANK counter will stay unchanged, thus
triggering a timeout.
Luckily, we can replace the drm_atomic_helper_wait_for_vblanks() call
by drm_atomic_helper_wait_for_flip_done() because the only thing we
want to check when calling drm_atomic_helper_wait_for_vblanks() from
vc4_atomic_complete_commit() is that new FBs are in use and the old
ones can be safely released.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703075022.15138-5-boris.brezillon@bootlin.com
2018-07-07 07:52:41 +02:00
Boris Brezillon
814bde99ee
drm/connector: Make ->atomic_commit() optional
...
Not all writeback connector implementations might want to commit things
from the connector driver. Some, like the malidp driver, commit things
from their main commit_tail() function, and would rather not have to
implement a dummy hook for drm_connector_helper_funcs.atomic_commit().
Make this function optional and reflect this fact in the doc.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Acked-by: Liviu Dudau <liviu.dudau@arm.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703075022.15138-4-boris.brezillon@bootlin.com
2018-07-07 07:52:18 +02:00
Boris Brezillon
425132fdb1
drm/connector: Pass a drm_connector_state to ->atomic_commit()
...
Other atomic hooks are passed state objects, let's change this one to
be consistent.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Acked-by: Liviu Dudau <liviu.dudau@arm.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703075022.15138-3-boris.brezillon@bootlin.com
2018-07-07 07:51:56 +02:00
Boris Brezillon
b82c1f8f78
drm/atomic: Avoid connector to writeback_connector casts
...
Use container_of() instead of type casting so that it keeps working
even if base is moved inside the drm_writeback_connector struct.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703075022.15138-2-boris.brezillon@bootlin.com
2018-07-07 07:51:19 +02:00
Boris Brezillon
73915b2b1f
drm/writeback: Fix the "overview" section of the doc
...
Fix the bullet list declaration in the overview section.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reported-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Fixes: 935774cd71 ("drm: Add writeback connector type")
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180703174046.22396-1-boris.brezillon@bootlin.com
2018-07-07 07:48:38 +02:00
Gustavo Padovan
e22e953189
Merge drm-upstream/drm-next into drm-misc-next
...
Pull in the malidp writeback implementation for further work on writeback in drm-misc-next.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.com >
2018-07-06 13:34:13 -03:00
Maarten Lankhorst
a012024571
drm/crc: Only report a single overflow when a CRC fd is opened
...
This reduces the amount of spam when you debug a CRC reading
program.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
[mlankhorst: Change bool overflow to was_overflow (Ville)]
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180418125121.72081-1-maarten.lankhorst@linux.intel.com
2018-07-06 14:57:03 +02:00
Yannick Fertre
8adbbb2e78
drm/stm: ltdc: rework reset sequence
...
Reset must be properly assert before deassert.
This is important if there is an early boot splash screen
before the kernel start up.
Signed-off-by: Yannick Fertre <yannick.fertre@st.com >
Reviewed-by: Philippe Cornu <philippe.cornu@st.com >
Tested-by: Philippe Cornu <philippe.cornu@st.com >
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1530271355-5608-1-git-send-email-yannick.fertre@st.com
2018-07-06 10:15:47 +02:00
Yannick Fertre
7868e50792
drm/stm: ltdc: filter mode pixel clock vs pad constraint
...
Filter the requested mode pixel clock frequency according
to the pad maximum supported frequency.
Signed-off-by: Yannick Fertre <yannick.fertre@st.com >
Reviewed-by: Philippe Cornu <philippe.cornu@st.com >
Tested-by: Philippe Cornu <philippe.cornu@st.com >
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1530271342-5532-1-git-send-email-yannick.fertre@st.com
2018-07-06 10:15:36 +02:00
Benjamin Gaignard
f8878bb2f8
drm: print plane state normalized zpos value
...
When dumping plane state print normalized zpos value as done for
the other plane state fields.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Reviewed-by: Philippe Cornu <philippe.cornu@st.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180605135407.20214-2-benjamin.gaignard@linaro.org
2018-07-06 10:15:15 +02:00
Dave Airlie
4da1d4c751
Merge commit 'refs/for-upstream/mali-dp' of git://linux-arm.org/linux-ld into drm-next
...
"mali-dp driver changes for drm-next, includes the driver implementation
for writeback, improvements for power management handling in the driver
and a debugfs entry for reporting possible internal errors. Please pull
at your earliest convenience.
Boris Brezillon is also interested in this pull as he is going to change
slightly the parameter for the writeback connector's atomic_commit() and
he needs to fix the mali-dp driver in his series."
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180705144408.GH15340@e110455-lin.cambridge.arm.com
2018-07-06 10:02:13 +10:00
Dave Airlie
a1c3b49523
Merge tag 'drm-misc-next-2018-07-04' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
...
drm-misc-next for 4.19:
UAPI Changes:
v3d: add fourcc modicfier for fourcc for the Broadcom UIF format (Eric Anholt)
Cross-subsystem Changes:
console/fbcon: Add support for deferred console takeover (Hans de Goede)
Core Changes:
dma-fence clean up, improvements and docs (Daniel Vetter)
add mask function for crtc, plane, encoder and connector DRM objects(Ville Syrjälä)
Driver Changes:
pl111: add Nomadik LCDC variant (Linus Walleij)
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180704234641.GA3981@juma
2018-07-06 10:01:56 +10:00