Laurent Pinchart
7160d57b6f
drm: bridge: lvds-encoder: Add thine,thc63lvdm83d compatible string
...
The THC63LVDM83D is a transparent LVDS encoder. Unlike dumb LVDS
encoders it can be controlled through a few pins (power down, LVDS
swing, clock edge selection) and requires power supplies. However, on
several boards where the device is used neither the control pins nor the
power supply are controllable.
To avoid developing a separate device-specific driver add a
"thine,thc63lvdm83d" compatible entry to the lvds-encoder driver. This
will allow supporting many THC63LVDM83D-based boards easily, while
allowing future development of an thc63lvdm83d driver when needed
without breaking backward compatibility.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com >
Signed-off-by: Archit Taneja <architt@codeaurora.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20170302104728.7150-5-laurent.pinchart+renesas@ideasonboard.com
2017-03-05 19:01:45 +05:30
Laurent Pinchart
d29ffab591
drm: bridge: vga-dac: Add adi,adv7123 compatible string
...
The ADV7123 is a transparent VGA DAC. Unlike dumb VGA DACs it can be
controlled through a power save pin, and requires a power supply.
However, on most boards where the device is used neither the power save
signal nor the power supply are controllable.
To avoid developing a separate device-specific driver add an
"adi,adv7123" compatible entry to the dumb-vga-dac driver. This will
allow supporting most ADV7123-based boards easily, while allowing future
development of an adv7123 driver when needed without breaking backward
compatibility.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com >
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Archit Taneja <architt@codeaurora.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20170302104728.7150-4-laurent.pinchart+renesas@ideasonboard.com
2017-03-05 19:01:44 +05:30
Laurent Pinchart
67cc3e22b0
drm: bridge: Add LVDS encoder driver
...
The LVDS encoder driver is a DRM bridge driver that supports the
parallel to LVDS encoders that don't require any configuration. The
driver thus doesn't interact with the device, but creates an LVDS
connector for the panel and exposes its size and timing based on
information retrieved from DT.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com >
Acked-by: Daniel Vetter <daniel@ffwll.ch >
Signed-off-by: Archit Taneja <architt@codeaurora.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20170302104728.7150-3-laurent.pinchart+renesas@ideasonboard.com
2017-03-05 19:01:30 +05:30
Laurent Pinchart
67db256ed1
devicetree/bindings: display: bridge: Add LVDS encoder DT bindings
...
The DT bindings support parallel to LVDS encoders that don't require any
configuration, similarly to the dumb VGA DAC DT bindings.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Archit Taneja <architt@codeaurora.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20170302104728.7150-2-laurent.pinchart+renesas@ideasonboard.com
2017-03-05 18:46:09 +05:30
Peter Senna Tschudin
fcfa0ddc18
drm/bridge: Drivers for megachips-stdpxxxx-ge-b850v3-fw (LVDS-DP++)
...
The video processing pipeline on the second output on the GE B850v3:
Host -> LVDS|--(STDP4028)--|DP -> DP|--(STDP2690)--|DP++ -> Video output
Each bridge has a dedicated flash containing firmware for supporting the
custom design. The result is that in this design neither the STDP4028
nor the STDP2690 behave as the stock bridges would. The compatible
strings include the suffix "-ge-b850v3-fw" to make it clear that the
driver is for the bridges with the firmware which is specific for the GE
B850v3.
The driver is powerless to control the video processing pipeline, as the
two bridges behaves as a single one. The driver is only needed for
telling the host about EDID / HPD, and for giving the host powers to ack
interrupts.
This driver adds one i2c_device for each bridge, but only one
drm_bridge. This design allows the creation of a functional connector
that is capable of reading EDID from the STDP2690 while handling
interrupts on the STDP4028.
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Martyn Welch <martyn.welch@collabora.co.uk >
Cc: Martin Donnelly <martin.donnelly@ge.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Enric Balletbo i Serra <enric.balletbo@collabora.com >
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Cc: Rob Herring <robh@kernel.org >
Cc: Fabio Estevam <fabio.estevam@nxp.com >
Cc: David Airlie <airlied@linux.ie >
Cc: Thierry Reding <treding@nvidia.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Archit Taneja <architt@codeaurora.org >
Cc: Enric Balletbo <enric.balletbo@collabora.com >
Signed-off-by: Peter Senna Tschudin <peter.senna@collabora.com >
Signed-off-by: Archit Taneja <architt@codeaurora.org >
Link: http://patchwork.freedesktop.org/patch/msgid/ad92919f2eaff2623a551aac94cf11ef948ff9ee.1488555615.git.peter.senna@collabora.com
2017-03-05 18:45:36 +05:30
Peter Senna Tschudin
15a83f7dde
MAINTAINERS: Add entry for megachips-stdpxxxx-ge-b850v3-fw
...
Add MAINTAINERS entry for the second video output of the GE B850v3:
STDP4028-ge-b850v3-fw bridges (LVDS-DP)
STDP2690-ge-b850v3-fw bridges (DP-DP++)
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Martyn Welch <martyn.welch@collabora.co.uk >
Cc: Martin Donnelly <martin.donnelly@ge.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Enric Balletbo i Serra <enric.balletbo@collabora.com >
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Cc: Rob Herring <robh@kernel.org >
Cc: Fabio Estevam <fabio.estevam@nxp.com >
CC: David Airlie <airlied@linux.ie >
CC: Thierry Reding <treding@nvidia.com >
CC: Thierry Reding <thierry.reding@gmail.com >
CC: Archit Taneja <architt@codeaurora.org >
Signed-off-by: Peter Senna Tschudin <peter.senna@collabora.com >
Signed-off-by: Archit Taneja <architt@codeaurora.org >
Link: http://patchwork.freedesktop.org/patch/msgid/a62877dcaee004d82809fe77b6d154b65f466729.1488555615.git.peter.senna@collabora.com
2017-03-04 00:04:05 +05:30
Peter Senna Tschudin
b2fdab37aa
dt-bindings: display: megachips-stdpxxxx-ge-b850v3-fw
...
Devicetree binding documentation for the second video output
of the GE B850v3:
STDP4028-ge-b850v3-fw bridges (LVDS-DP)
STDP2690-ge-b850v3-fw bridges (DP-DP++)
Added entry for MegaChips at:
Documentation/devicetree/bindings/vendor-prefixes.txt
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Martyn Welch <martyn.welch@collabora.co.uk >
Cc: Martin Donnelly <martin.donnelly@ge.com >
Cc: Javier Martinez Canillas <javier@dowhile0.org >
Cc: Enric Balletbo i Serra <enric.balletbo@collabora.com >
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Cc: Rob Herring <robh@kernel.org >
Cc: Fabio Estevam <fabio.estevam@nxp.com >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Peter Senna Tschudin <peter.senna@collabora.com >
Signed-off-by: Archit Taneja <architt@codeaurora.org >
Link: http://patchwork.freedesktop.org/patch/msgid/c2712336226c5170cfdc45103527fb2338d3d6cf.1488555615.git.peter.senna@collabora.com
2017-03-04 00:03:09 +05:30
Eric Anholt
ca39b449f6
drm/vc4: Fix OOPSes from trying to cache a partially constructed BO.
...
If a CMA allocation failed, the partially constructed BO would be
unreferenced through the normal path, and we might choose to put it in
the BO cache. If we then reused it before it expired from the cache,
the kernel would OOPS.
Signed-off-by: Eric Anholt <eric@anholt.net >
Fixes: c826a6e106 ("drm/vc4: Add a BO cache.")
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20170301185602.6873-2-eric@anholt.net
2017-03-02 09:57:23 -08:00
Eric Anholt
eb981383ff
drm/vc4: Fulfill user BO creation requests from the kernel BO cache.
...
The from_cache flag was actually "the BO is invisible to userspace",
so we can repurpose it to just zero out a cached BO and return it to
userspace.
Improves wall time for a loop of 5 glsl-algebraic-add-add-1 by
-1.44989% +/- 0.862891% (n=28, 1 outlier removed from each that
appeared to be other system noise)
Note that there's an intel-gpu-tools test to check for the proper
zeroing behavior here, which we continue to pass.
Signed-off-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20170301185602.6873-1-eric@anholt.net
2017-03-02 09:57:10 -08:00
Daniel Vetter
afc1ebf456
Revert "drm/i915: Implement Link Rate fallback on Link training failure"
...
This reverts commit 233ce881dd .
I assumed it's ok, but really should have double-checked - CI caught
tons of fail :(
Cc: Jani Nikula <jani.nikula@intel.com >
Cc: Manasi Navare <manasi.d.navare@intel.com >
Acked-by: Manasi Navare <manasi.d.navare@intel.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20170301171749.13053-1-daniel.vetter@ffwll.ch
2017-03-02 09:17:16 +01:00
Maxime Ripard
0f3bbe074d
drm/fb-helper: implement ioctl FBIO_WAITFORVSYNC
...
Implement legacy framebuffer ioctl FBIO_WAITFORVSYNC in the generic
framebuffer emulation driver. Legacy framebuffer users like non kms/drm
based OpenGL(ES)/EGL implementations may require the ioctl to
synchronize drawing or buffer flip for double buffering. It is tested on
the i.MX6.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Tested-by: Neil Armstrong <narmstrong@baylibre.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2017-03-02 08:12:15 +01:00
Gabriel Krisman Bertazi
35f5022fbe
drm: Update drm_fbdev_cma_init documentation
...
Commit be7f735cd5ea ("drm: Rely on mode_config data for fb_helper
initialization") dropped the num_crtc argument. Update the
documentation to reflect that and prevent the kernel-doc warnings below:
./drivers/gpu/drm/drm_fb_cma_helper.c:557: warning: Excess function parameter 'num_crtc' description in 'drm_fbdev_cma_init'
./drivers/gpu/drm/drm_fb_cma_helper.c:558: warning: Excess function parameter 'num_crtc' description in 'drm_fbdev_cma_init'
Fixes: be7f735cd5ea ("drm: Rely on mode_config data for fb_helper initialization")
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/87o9xkvn2m.fsf@dilma.collabora.co.uk
2017-03-01 23:52:35 +01:00
Chris Zhong
80a9a059d4
drm/rockchip/dsi: add dw-mipi power domain support
...
Reference the power domain incase dw-mipi power down when
in use.
Signed-off-by: Chris Zhong <zyw@rock-chips.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1487577744-2855-8-git-send-email-zyw@rock-chips.com
2017-03-01 14:49:03 -05:00
Chris Zhong
ad1c974bf1
drm/rockchip/dsi: fix insufficient bandwidth of some panel
...
Set the lanes bps to 1 / 0.9 times of pclk, the margin is not enough
for some panel, it will cause the screen display is not normal, so
increases the badnwidth to 1 / 0.8.
Signed-off-by: Chris Zhong <zyw@rock-chips.com >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/1487577744-2855-7-git-send-email-zyw@rock-chips.com
2017-03-01 14:49:03 -05:00
Chris Zhong
7df1207f3b
dt-bindings: add power domain node for dw-mipi-rockchip
...
Signed-off-by: Chris Zhong <zyw@rock-chips.com >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/1487577744-2855-6-git-send-email-zyw@rock-chips.com
2017-03-01 14:49:02 -05:00
Chris Zhong
975f4aa24f
drm/rockchip/dsi: remove mode_valid function
...
The MIPI DSI do not need check the validity of resolution, the max
resolution should depend VOP. Hence, remove rk3288_mipi_dsi_mode_valid
here.
Signed-off-by: Chris Zhong <zyw@rock-chips.com >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/1487577744-2855-5-git-send-email-zyw@rock-chips.com
2017-03-01 14:49:02 -05:00
Chris Zhong
a432e05405
drm/rockchip/dsi: dw-mipi: correct the coding style
...
correct the coding style, according the checkpatch scripts
Signed-off-by: Chris Zhong <zyw@rock-chips.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/1487577744-2855-4-git-send-email-zyw@rock-chips.com
2017-03-01 14:49:01 -05:00
Chris Zhong
ef6eba1992
drm/rockchip/dsi: dw-mipi: support RK3399 mipi dsi
...
The vopb/vopl switch register of RK3399 mipi is different from RK3288,
the default setting for mipi dsi mode is different too, so add a
of_device_id structure to distinguish them, and make sure set the
correct mode before mipi phy init.
Signed-off-by: Chris Zhong <zyw@rock-chips.com >
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/1487577744-2855-3-git-send-email-zyw@rock-chips.com
2017-03-01 14:49:01 -05:00
Chris Zhong
7fea5243d1
dt-bindings: add rk3399 support for dw-mipi-rockchip
...
The dw-mipi-dsi of rk3399 is almost the same as rk3288, the rk3399 has
additional phy config clock.
Signed-off-by: Chris Zhong <zyw@rock-chips.com >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/1487577744-2855-2-git-send-email-zyw@rock-chips.com
2017-03-01 14:49:00 -05:00
John Keeping
f3b7a5b838
drm/rockchip: dw-mipi-dsi: add reset control
...
In order to fully reset the state of the MIPI controller we must assert
this reset.
This is slightly more complicated than it could be in order to maintain
compatibility with device trees that do not specify the reset property.
Signed-off-by: John Keeping <john@metanate.com >
Reviewed-by: Chris Zhong <zyw@rock-chips.com >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20170224125506.21533-24-john@metanate.com
2017-03-01 14:48:59 -05:00
John Keeping
03a5832c0e
drm/rockchip: dw-mipi-dsi: support non-burst modes
...
Signed-off-by: John Keeping <john@metanate.com >
Reviewed-by: Chris Zhong <zyw@rock-chips.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20170224125506.21533-23-john@metanate.com
2017-03-01 14:48:59 -05:00
John Keeping
2f8f2d2991
drm/rockchip: dw-mipi-dsi: defer probe if panel is not loaded
...
This ensures that the output resolution is known before fbcon loads.
mipi_dsi_host_register() is moved above dw_mipi_dsi_register() to
simplify error cleanup since the order of these operations does not
matter.
Signed-off-by: John Keeping <john@metanate.com >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20170224125506.21533-22-john@metanate.com
2017-03-01 14:48:58 -05:00
John Keeping
d790ad03ed
drm/rockchip: vop: test for P{H,V}SYNC
...
When connected to the MIPI DSI output, we need to use N{H,V}SYNC for the
internal connection but these flags are meaningless for DSI panels.
Switch the test so that we do not set the P{H,V}SYNC bits unless the
mode requires it.
Signed-off-by: John Keeping <john@metanate.com >
Reviewed-by: Mark Yao <mark.yao@rock-chips.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
[seanpaul resolved conflict using macros instead of hardcoded values]
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20170224125506.21533-21-john@metanate.com
2017-03-01 14:48:58 -05:00
John Keeping
2b0c4b70b1
drm/rockchip: dw-mipi-dsi: use positive check for N{H, V}SYNC
...
This matches other drivers.
Signed-off-by: John Keeping <john@metanate.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20170224125506.21533-20-john@metanate.com
2017-03-01 14:48:57 -05:00
John Keeping
4413697141
drm/rockchip: dw-mipi-dsi: use specific poll helper
...
As the documentation for readx_poll_timeout says, we want to use the
specialized macro for readl rather than using the generic version
directly.
Signed-off-by: John Keeping <john@metanate.com >
Reviewed-by: Chris Zhong <zyw@rock-chips.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20170224125506.21533-19-john@metanate.com
2017-03-01 14:48:57 -05:00