summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/mxsfb/mxsfb_crtc.c
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2019-07-26 11:49:12 +0200
committerDong Aisheng <aisheng.dong@nxp.com>2019-11-25 15:58:58 +0800
commit873e3b8dfdf03eaade75764c47a4e64dad733c55 (patch)
treefb2a77088a4f5fd0783dcd0d5890dcc168f48bb2 /drivers/gpu/drm/mxsfb/mxsfb_crtc.c
parentc16e4a933f9c415a85320fb1af9dac99238192df (diff)
drm/mxsfb: Read bus flags from bridge if present
The bridge might have special requirmentes on the input bus. This is e.g. used by the imx-nwl bridge. Signed-off-by: Guido Günther <agx@sigxcpu.org> Reviewed-by: Stefan Agner <stefan@agner.ch>
Diffstat (limited to 'drivers/gpu/drm/mxsfb/mxsfb_crtc.c')
-rw-r--r--drivers/gpu/drm/mxsfb/mxsfb_crtc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/mxsfb/mxsfb_crtc.c b/drivers/gpu/drm/mxsfb/mxsfb_crtc.c
index de09b93e60ea..b69ace8bf526 100644
--- a/drivers/gpu/drm/mxsfb/mxsfb_crtc.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_crtc.c
@@ -209,7 +209,7 @@ static void mxsfb_crtc_mode_set_nofb(struct mxsfb_drm_private *mxsfb)
{
struct drm_device *drm = mxsfb->pipe.crtc.dev;
struct drm_display_mode *m = &mxsfb->pipe.crtc.state->adjusted_mode;
- const u32 bus_flags = mxsfb->connector->display_info.bus_flags;
+ u32 bus_flags = mxsfb->connector->display_info.bus_flags;
u32 vdctrl0, vsync_pulse_len, hsync_pulse_len;
int err;
@@ -233,6 +233,9 @@ static void mxsfb_crtc_mode_set_nofb(struct mxsfb_drm_private *mxsfb)
clk_set_rate(mxsfb->clk, m->crtc_clock * 1000);
+ if (mxsfb->bridge && mxsfb->bridge->timings)
+ bus_flags = mxsfb->bridge->timings->input_bus_flags;
+
DRM_DEV_DEBUG_DRIVER(drm->dev, "Pixel clock: %dkHz (actual: %dkHz)\n",
m->crtc_clock,
(int)(clk_get_rate(mxsfb->clk) / 1000));