diff options
Diffstat (limited to 'drivers/staging/imx-drm/ipuv3-crtc.c')
-rw-r--r-- | drivers/staging/imx-drm/ipuv3-crtc.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/staging/imx-drm/ipuv3-crtc.c b/drivers/staging/imx-drm/ipuv3-crtc.c index 620e571cb55..ea61c869110 100644 --- a/drivers/staging/imx-drm/ipuv3-crtc.c +++ b/drivers/staging/imx-drm/ipuv3-crtc.c @@ -60,6 +60,8 @@ struct ipu_crtc { int irq; u32 interface_pix_fmt; unsigned long di_clkflags; + int di_hsync_pin; + int di_vsync_pin; }; #define to_ipu_crtc(x) container_of(x, struct ipu_crtc, base) @@ -255,6 +257,9 @@ static int ipu_crtc_mode_set(struct drm_crtc *crtc, sig_cfg.v_to_h_sync = 0; + sig_cfg.hsync_pin = ipu_crtc->di_hsync_pin; + sig_cfg.vsync_pin = ipu_crtc->di_vsync_pin; + if (ipu_crtc->dp) { ret = ipu_dp_setup_channel(ipu_crtc->dp, IPUV3_COLORSPACE_RGB, IPUV3_COLORSPACE_RGB); @@ -406,11 +411,13 @@ static void ipu_disable_vblank(struct drm_crtc *crtc) } static int ipu_set_interface_pix_fmt(struct drm_crtc *crtc, u32 encoder_type, - u32 pixfmt) + u32 pixfmt, int hsync_pin, int vsync_pin) { struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); ipu_crtc->interface_pix_fmt = pixfmt; + ipu_crtc->di_hsync_pin = hsync_pin; + ipu_crtc->di_vsync_pin = vsync_pin; switch (encoder_type) { case DRM_MODE_ENCODER_DAC: |