diff options
author | Dave Airlie <airlied@redhat.com> | 2016-03-02 02:52:51 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-03-02 02:52:51 -0500 |
commit | 42e85606784376e4f2d5355694b0b241dc8c29ae (patch) | |
tree | abe3de7d56753210a3aaf07164c44ec631d3e097 /drivers/gpu/drm/imx/imx-ldb.c | |
parent | 4b59d591bfc5019e39caa6af4d9581023a590a80 (diff) | |
parent | 411b0336cf9fc988ff11de3f1e66587fe88fb980 (diff) |
Merge tag 'imx-drm-next-20160301' of git://git.pengutronix.de/git/pza/linux into drm-next
imx-drm vblank IRQ control, fence support, and of endpoint helpers
- Add and make use of drm_of_active_endpoint helpers
- Silence a noisy dev_info into a dev_dbg
- Stop touching primary fb on pageflips
- Track flip state explicitly
- Keep GEM buffer objects referenced while scanout is active
- Implement fence sync by deferring flips to a workqueue for
dma-bufs with pending fences
- Actually disable vblank IRQs while they are not needed
* tag 'imx-drm-next-20160301' of git://git.pengutronix.de/git/pza/linux:
drm/imx: only enable vblank IRQs when needed
drm/imx: implement fence sync
drm/imx: keep GEM object referenced as long as scanout is active
drm/imx: track flip state explicitly
drm/imx: don't touch primary fb on pageflip
drm/imx: ipuv3 plane: Replace dev_info with dev_dbg if a plane's CRTC changes
gpu: ipu-v3: ipu-dc: Simplify display controller microcode setup
drm/rockchip: remove rockchip_drm_encoder_get_mux_id
drm/imx: remove imx_drm_encoder_get_mux_id
drm: add drm_of_encoder_active_endpoint helpers
Diffstat (limited to 'drivers/gpu/drm/imx/imx-ldb.c')
-rw-r--r-- | drivers/gpu/drm/imx/imx-ldb.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c index 024d6134b848..a58eee59550a 100644 --- a/drivers/gpu/drm/imx/imx-ldb.c +++ b/drivers/gpu/drm/imx/imx-ldb.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <drm/drmP.h> | 19 | #include <drm/drmP.h> |
20 | #include <drm/drm_fb_helper.h> | 20 | #include <drm/drm_fb_helper.h> |
21 | #include <drm/drm_crtc_helper.h> | 21 | #include <drm/drm_crtc_helper.h> |
22 | #include <drm/drm_of.h> | ||
22 | #include <drm/drm_panel.h> | 23 | #include <drm/drm_panel.h> |
23 | #include <linux/mfd/syscon.h> | 24 | #include <linux/mfd/syscon.h> |
24 | #include <linux/mfd/syscon/imx6q-iomuxc-gpr.h> | 25 | #include <linux/mfd/syscon/imx6q-iomuxc-gpr.h> |
@@ -208,7 +209,7 @@ static void imx_ldb_encoder_commit(struct drm_encoder *encoder) | |||
208 | struct imx_ldb_channel *imx_ldb_ch = enc_to_imx_ldb_ch(encoder); | 209 | struct imx_ldb_channel *imx_ldb_ch = enc_to_imx_ldb_ch(encoder); |
209 | struct imx_ldb *ldb = imx_ldb_ch->ldb; | 210 | struct imx_ldb *ldb = imx_ldb_ch->ldb; |
210 | int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN; | 211 | int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN; |
211 | int mux = imx_drm_encoder_get_mux_id(imx_ldb_ch->child, encoder); | 212 | int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder); |
212 | 213 | ||
213 | drm_panel_prepare(imx_ldb_ch->panel); | 214 | drm_panel_prepare(imx_ldb_ch->panel); |
214 | 215 | ||
@@ -258,7 +259,7 @@ static void imx_ldb_encoder_mode_set(struct drm_encoder *encoder, | |||
258 | int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN; | 259 | int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN; |
259 | unsigned long serial_clk; | 260 | unsigned long serial_clk; |
260 | unsigned long di_clk = mode->clock * 1000; | 261 | unsigned long di_clk = mode->clock * 1000; |
261 | int mux = imx_drm_encoder_get_mux_id(imx_ldb_ch->child, encoder); | 262 | int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder); |
262 | 263 | ||
263 | if (mode->clock > 170000) { | 264 | if (mode->clock > 170000) { |
264 | dev_warn(ldb->dev, | 265 | dev_warn(ldb->dev, |