Shawn Guo
967dd48417
drm: remove drm_vblank_no_hw_counter assignment from driver code
...
Core code already makes drm_driver.get_vblank_counter hook optional by
letting drm_vblank_no_hw_counter be the default implementation for the
function hook. So the drm_vblank_no_hw_counter assignment in the driver
code becomes redundant and can be removed now.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org >
Cc: Alexey Brodkin <abrodkin@synopsys.com >
Cc: Liviu Dudau <liviu.dudau@arm.com >
Cc: Mali DP Maintainers <malidp@foss.arm.com >
Cc: Russell King <linux@armlinux.org.uk >
Cc: Boris Brezillon <boris.brezillon@free-electrons.com >
Cc: Inki Dae <inki.dae@samsung.com >
Cc: Stefan Agner <stefan@agner.ch >
Cc: Xinliang Liu <z.liuxinliang@hisilicon.com >
Cc: Daniel Vetter <daniel.vetter@intel.com >
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Cc: CK Hu <ck.hu@mediatek.com >
Cc: Neil Armstrong <narmstrong@baylibre.com >
Cc: Rob Clark <robdclark@gmail.com >
Cc: Marek Vasut <marex@denx.de >
Cc: Ben Skeggs <bskeggs@redhat.com >
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Mark Yao <mark.yao@rock-chips.com >
Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Cc: Maxime Ripard <maxime.ripard@free-electrons.com >
Cc: Jyri Sarha <jsarha@ti.com >
Cc: Eric Anholt <eric@anholt.net >
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com >
Acked-by: Neil Armstrong <narmstrong@baylibre.com >
Acked-by: Russell King <rmk+kernel@armlinux.org.uk >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Acked-by: Alexey Brodkin <abrodkin@synopsys.com >
Acked-by: Liviu Dudau <liviu.dudau@arm.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1486458995-31018-3-git-send-email-shawnguo@kernel.org
2017-02-07 21:43:55 +01:00
Daniel Vetter
ae9d2daecf
drm/mediatek: don't use drm_put_dev
...
fsl is already fully demidlayered in the probe function, but for
convenience stuck with drm_put_dev. Call the unregister/unref parts
separately, to make sure this driver works correct.
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Cc: CK Hu <ck.hu@mediatek.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20161208110739.24417-3-daniel.vetter@ffwll.ch
2016-12-13 18:12:43 +01:00
Daniel Vetter
d6b0f62637
drm/irq: Unexport drm_vblank_count
...
No one outside of drm_irq.c should ever need this. The correct way to
implement get_vblank_count for hw lacking a vblank counter is
drm_vblank_no_hw_counter. Fix this up in mtk, which is the only
offender left over.
Cc: CK Hu <ck.hu@mediatek.com >
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Acked-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20161114090255.31595-4-daniel.vetter@ffwll.ch
2016-11-15 23:33:47 +01:00
Jani Nikula
55edf41b69
drm: define drm_compat_ioctl NULL on CONFIG_COMPAT=n and reduce #ifdefs
...
If we define drm_compat_ioctl NULL on CONFIG_COMPAT=n, we don't have to
check for the config everywhere.
Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/1478014844-27454-1-git-send-email-jani.nikula@intel.com
2016-11-02 11:33:47 -04:00
Russell King
97ac0e47ae
drm: convert DT component matching to component_match_add_release()
...
Convert DT component matching to use component_match_add_release().
Acked-by: Jyri Sarha <jsarha@ti.com >
Reviewed-by: Jyri Sarha <jsarha@ti.com >
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/E1bwo6l-0005Io-Q1@rmk-PC.armlinux.org.uk
2016-10-25 11:52:38 -04:00
Chris Wilson
0853695c3b
drm: Add reference counting to drm_atomic_state
...
drm_atomic_state has a complicated single owner model that tracks the
single reference from allocation through to destruction on another
thread - or perhaps on a local error path. We can simplify this tracking
by using reference counting (at a cost of a few more atomics). This is
even more beneficial when the lifetime of the state becomes more
convoluted than being passed to a single worker thread for the commit.
v2: Double check !intel atomic_commit functions for missing gets
v3: Update kerneldocs
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/20161014121833.439-27-chris@chris-wilson.co.uk
2016-10-17 08:19:57 +02:00
Tom Gundersen
0f2886057b
drm: Don't swallow error codes in drm_dev_alloc()
...
There are many reasons other than ENOMEM that drm_dev_init() can
fail. Return ERR_PTR rather than NULL to be able to distinguish
these in the caller.
Signed-off-by: Tom Gundersen <teg@jklm.no >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20160921145919.13754-2-teg@jklm.no
2016-09-22 04:03:48 -07:00
Liu Ying
2b58e98d42
drm/atomic-helper: Add NO_DISABLE_AFTER_MODESET flag support for plane commit
...
Drivers may set the NO_DISABLE_AFTER_MODESET flag in the 'flags' parameter
of the helper drm_atomic_helper_commit_planes() if the relevant display
controllers(e.g., IPUv3 for imx-drm) require to disable a CRTC's planes
when the CRTC is disabled. The helper would skip the ->atomic_disable
call for a plane if the CRTC of the old plane state needs a modesetting
operation. Of course, the drivers need to disable the planes in their CRTC
disable callbacks since no one else would do that.
Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Cc: David Airlie <airlied@linux.ie >
Cc: Russell King <linux@armlinux.org.uk >
Cc: Peter Senna Tschudin <peter.senna@gmail.com >
Cc: Lucas Stach <l.stach@pengutronix.de >
Signed-off-by: Liu Ying <gnuiyl@gmail.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1472461923-14364-1-git-send-email-gnuiyl@gmail.com
2016-08-29 11:29:37 +02:00
Bibby Hsieh
ac08500c1b
drm/mediatek: Fix mtk_atomic_complete for runtime_pm
...
To properly implement atomic w/ runtime pm, we move
drm_atomic_helper_commit_modeset_enables() above
drm_atomic_helper_commit_planes() to ensure CRTCs are enabled before
modifying plane registers, and set active_only to true to filter out
plane update notifications when the CRTC is disabled.
According to the document from linux kernel:
Set the active_only parameters to true in order not to receive plane
update notifications related to a disabled CRTC. This avoids the need
to manually ignore plane updates in driver code when the driver and/or
hardware can't or just don't need to deal with updates on disabled
CRTCs, for example when supporting runtime PM.
Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com >
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/1470279597-60453-8-git-send-email-bibby.hsieh@mediatek.com
2016-08-08 14:20:02 -04:00
Daniel Vetter
a742946a1b
drm: Don't call drm_dev_set_unique from platform drivers
...
Since
commit e112e593b2
Author: Nicolas Iooss <nicolas.iooss_linux@m4x.org >
Date: Fri Dec 11 11:20:28 2015 +0100
drm: use dev_name as default unique name in drm_dev_alloc()
we're using a reasonable default which should work for everyone. Only
mtk, rcar-du and sun4i are affected, and as kms-only drivers without
any rendering support no one should ever care about the unique name
v2: Rebase on top of mediatek.
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Cc: Maxime Ripard <maxime.ripard@free-electrons.com >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Emil Velikov <emil.l.velikov@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Acked-by: Philipp Zabel <p.zabel@pengutronix.de >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/1466499262-18717-5-git-send-email-daniel.vetter@ffwll.ch
2016-06-21 21:43:41 +02:00
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
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
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
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