Chris Wilson
6c62c98fa4
drm/mediatek: Remove redundant calls to drm_connector_register_all()
...
Up to now, the recommendation was for drivers to call drm_dev_register()
followed by drm_connector_register_all(). Now that
drm_connector_register() is safe against multiple invocations, we can
move drm_connector_register_all() to drm_dev_register() and not suffer
from any backwards compatibility issues with drivers not following the
more rigorous init ordering.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Matthias Brugger <matthias.bgg@gmail.com >
Cc: David Airlie <airlied@linux.ie >
Cc: dri-devel@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mediatek@lists.infradead.org
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1466151923-1572-6-git-send-email-chris@chris-wilson.co.uk
2016-06-21 10:53:13 +02:00
Ville Syrjälä
9b8b013dde
drm: Deal with rotation in drm_plane_helper_check_update()
...
drm_plane_helper_check_update() needs to account for the plane rotation
for correct clipping/scaling calculations. Do so.
There was an earlier attempt [1] to add this into
intel_check_primary_plane() but I requested that it'd be put into the
helper instead. An updated patch never materialized AFAICS, so I went
ahead and cooked one up myself.
v2: Deal with new drm_plane_helper_check_update() callers
[1] https://patchwork.freedesktop.org/patch/65177/
Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com >
Cc: Noralf Trønnes <noralf@tronnes.org >
Cc: CK Hu <ck.hu@mediatek.com >
Cc: Mark Yao <mark.yao@rock-chips.com >
Cc: Russell King <rmk+kernel@armlinux.org.uk >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1466172790-10025-1-git-send-email-ville.syrjala@linux.intel.com
2016-06-17 16:41:25 +02:00
Jie Qiu
56ba355d6b
drm/mediatek: enable hdmi output control bit
...
MT8173 HDMI hardware has a output control bit to enable/disable HDMI
output. Because of security reason, so this bit can ONLY be controlled
in ARM supervisor mode. Now the only way to enter ARM supervisor is the
ARM trusted firmware. So atf provides a API for HDMI driver to call to
setup this HDMI control bit to enable HDMI output in supervisor mode.
Signed-off-by: Jie Qiu <jie.qiu@mediatek.com >
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
2016-06-16 16:30:38 +02:00
Jie Qiu
8f83f26891
drm/mediatek: Add HDMI support
...
This patch adds drivers for the HDMI bridge connected to the DPI0
display subsystem function block, for the HDMI DDC block, and for
the HDMI PHY to support HDMI output.
This includes an interface to the generic hdmi-codec driver to start
or stop audio playback and to retrieve ELD (EDID like data) to limit the
supported audio formats to the HDMI sink capabilities.
Signed-off-by: Jie Qiu <jie.qiu@mediatek.com >
Signed-off-by: Junzhi Zhao <junzhi.zhao@mediatek.com >
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
2016-06-16 16:30:38 +02:00
Daniel Vetter
5e84c2690b
drm/atomic-helper: Massage swap_state signature somewhat
...
- dev is redundant, we have state->atomic
- add stall parameter, which must be set when swapping needs to stall
for preceeding commits to stop looking at ->state pointers. Currently
all drivers need this to be, just prep work for a glorious future.
v2: Rebased on top of
commit e7cf0963f8
Author: Gerd Hoffmann <kraxel@redhat.com >
Date: Tue May 31 08:50:47 2016 +0200
virtio-gpu: add atomic_commit function
Cc: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1465509992-19284-1-git-send-email-daniel.vetter@ffwll.ch
Link: http://patchwork.freedesktop.org/patch/msgid/1465388359-8070-2-git-send-email-daniel.vetter@ffwll.ch
2016-06-10 16:52:12 +02:00
Boris Brezillon
eefcf834d0
drm: mediatek: Rely on the default ->best_encoder() behavior
...
We have a 1:1 relationship between connectors and encoders and the
driver is relying on the atomic helpers: we can drop the custom
->best_encoder() implementation and let the core call
drm_atomic_helper_best_encoder() for us.
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com >
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1465300095-16971-8-git-send-email-boris.brezillon@free-electrons.com
2016-06-09 08:43:26 +02:00
Dave Airlie
fa625c1956
Backmerge tag 'v4.7-rc2' into drm-next
...
Daniel has a pull request that relies on stuff in fixes that are in rc2.
2016-06-09 11:01:49 +10:00
Philipp Zabel
2ea9f31799
drm/mediatek: mtk_dsi: Remove spurious drm_connector_unregister
...
Connectors are unregistered by mtk_drm_drv via drm_connector_unregister_all().
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
2016-06-01 16:09:56 +02:00
Philipp Zabel
515ba6a59c
drm/mediatek: mtk_dpi: remove invalid error message
...
Do not try to dereference dpi if it is NULL.
Since dpi can never be NULL when mtk_dpi_set_display_mode() is called,
remove the message.
Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de >
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
2016-06-01 16:09:54 +02:00
Daniel Vetter
564dd27e5f
drm/mediatek: Use lockless gem BO free callback
...
No dev->struct_mutex anywhere to be seen.
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Acked-by: Philipp Zabel <p.zabel@pengutronix.de >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1464630800-30786-28-git-send-email-daniel.vetter@ffwll.ch
2016-05-31 13:29:20 +02:00
Arnd Bergmann
de4ae068eb
drm: mediatek: fixup drm_gem_object_lookup API change
...
The drm_gem_object_lookup() function prototype changed while this
driver was added, so it fails to build now:
drivers/gpu/drm/mediatek/mtk_drm_gem.c: In function 'mtk_drm_gem_dumb_map_offset':
drivers/gpu/drm/mediatek/mtk_drm_gem.c:142:30: error: passing argument 1 of 'drm_gem_object_lookup' from incompatible pointer type [-Werror=incompatible-pointer-types]
obj = drm_gem_object_lookup(dev, file_priv, handle);
This fixes the new caller as well.
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Fixes: a8ad0bd84f ("drm: Remove unused drm_device from drm_gem_object_lookup()")
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1463587653-3035181-4-git-send-email-arnd@arndb.de
2016-05-18 19:16:16 +02:00
Daniel Vetter
2f701695fd
drm: Drop plane argument from __drm_atomic_helper_plane_destroy_state
...
It's unused, and really this helper should only look at the state
structure and nothing else.
v2: Fix commit message (Laurent).
v3: Rebase onto mtk driver merge.
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Eric Anholt <eric@anholt.net >
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com >
Cc: Inki Dae <inki.dae@samsung.com >
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >
Cc: Mark Yao <mark.yao@rock-chips.com >
Acked-by: Thierry Reding <thierry.reding@gmail.com >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Acked-by: Eric Anholt <eric@anholt.net >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1462804451-15318-2-git-send-email-daniel.vetter@ffwll.ch
2016-05-17 08:56:55 +02:00
Daniel Vetter
ec2dc6a0fe
drm: Drop crtc argument from __drm_atomic_helper_crtc_destroy_state
...
It's unused, and really this helper should only look at the state
structure and nothing else.
v2: Rebase on top of rockchip changes
v3: Drop unrelated hunk, spotted by Laurent.
v4: Rebase onto mtk driver merge.
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Eric Anholt <eric@anholt.net >
Cc: Mark Yao <mark.yao@rock-chips.com >
Acked-by: Thierry Reding <thierry.reding@gmail.com >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Acked-by: Eric Anholt <eric@anholt.net >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1462804451-15318-1-git-send-email-daniel.vetter@ffwll.ch
2016-05-17 08:56:41 +02:00
Jie Qiu
9e629c17aa
drm/mediatek: Add DPI sub driver
...
Add DPI connector/encoder to support HDMI output via the
attached HDMI bridge.
Signed-off-by: Jie Qiu <jie.qiu@mediatek.com >
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
2016-05-06 17:47:38 +02:00
CK Hu
2e54c14e31
drm/mediatek: Add DSI sub driver
...
This patch add a drm encoder/connector driver for the MIPI DSI function
block of the Mediatek display subsystem and a phy driver for the MIPI TX
D-PHY control module.
Signed-off-by: Jitao Shi <jitao.shi@mediatek.com >
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
2016-05-06 17:47:37 +02:00
CK Hu
119f517362
drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.
...
This patch adds an initial DRM driver for the Mediatek MT8173 DISP
subsystem. It currently supports two fixed output streams from the
OVL0/OVL1 sources to the DSI0/DPI0 sinks, respectively.
Signed-off-by: CK Hu <ck.hu@mediatek.com >
Signed-off-by: YT Shen <yt.shen@mediatek.com >
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org >
Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com >
Signed-off-by: Mao Huang <littlecvr@chromium.org >
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
2016-05-06 17:47:35 +02:00