diff mbox

[v2] staging: imx_drm: imx_ldb: fix 18 bit format

Message ID 1371459772-16443-1-git-send-email-s.trumtrar@pengutronix.de (mailing list archive)
State New, archived
Headers show

Commit Message

Steffen Trumtrar June 17, 2013, 9:02 a.m. UTC
From: Markus Niebel <Markus.Niebel@tqs.de>

Since 18 bit is supported as datawidth in device tree it should be
supported in driver. Beside the LDB channel the IPU channel has also
to be configured to use BGR666.

Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
---
This is based on the series: "staging: drm/imx: Add LDB support" by Philipp.

Changes since v1:
	- fixed function call: imx_drm_crtc_panel_format_pins -> imx_drm_crtc_panel_format

 drivers/staging/imx-drm/imx-ldb.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

Comments

Shawn Guo June 17, 2013, 2:03 p.m. UTC | #1
On Mon, Jun 17, 2013 at 11:02:52AM +0200, Steffen Trumtrar wrote:
> From: Markus Niebel <Markus.Niebel@tqs.de>
> 
> Since 18 bit is supported as datawidth in device tree it should be
> supported in driver. Beside the LDB channel the IPU channel has also
> to be configured to use BGR666.
> 
> Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
> Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
> ---
> This is based on the series: "staging: drm/imx: Add LDB support" by Philipp.

Greg,

Can you queued this patch and "staging: drm/imx: Add LDB support" from
Philipp Zabel for 3.11 please?  With these two patches, I can boot my
imx6q board into LUbuntu 13.04 with LVDS panel.  So for both patches,

Tested-by: Shawn Guo <shawn.guo@linaro.org>

Shawn
Greg KH June 17, 2013, 8:58 p.m. UTC | #2
On Mon, Jun 17, 2013 at 10:03:16PM +0800, Shawn Guo wrote:
> On Mon, Jun 17, 2013 at 11:02:52AM +0200, Steffen Trumtrar wrote:
> > From: Markus Niebel <Markus.Niebel@tqs.de>
> > 
> > Since 18 bit is supported as datawidth in device tree it should be
> > supported in driver. Beside the LDB channel the IPU channel has also
> > to be configured to use BGR666.
> > 
> > Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
> > Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
> > ---
> > This is based on the series: "staging: drm/imx: Add LDB support" by Philipp.
> 
> Greg,
> 
> Can you queued this patch and "staging: drm/imx: Add LDB support" from
> Philipp Zabel for 3.11 please?  With these two patches, I can boot my
> imx6q board into LUbuntu 13.04 with LVDS panel.  So for both patches,

I don't seem to have that other patch around here, are you sure I didn't
already apply it?

thanks,

greg k-h
Greg KH June 17, 2013, 8:59 p.m. UTC | #3
On Mon, Jun 17, 2013 at 11:02:52AM +0200, Steffen Trumtrar wrote:
> From: Markus Niebel <Markus.Niebel@tqs.de>
> 
> Since 18 bit is supported as datawidth in device tree it should be
> supported in driver. Beside the LDB channel the IPU channel has also
> to be configured to use BGR666.
> 
> Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
> Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
> Tested-by: Shawn Guo <shawn.guo@linaro.org>
> ---
> This is based on the series: "staging: drm/imx: Add LDB support" by Philipp.

I don't seem to have that series in my queue anywhere, can someone
please resend it, and this patch, so that I can apply them?

thanks,

greg k-h
Shawn Guo June 18, 2013, 1:25 a.m. UTC | #4
On Mon, Jun 17, 2013 at 01:59:48PM -0700, Greg Kroah-Hartman wrote:
> On Mon, Jun 17, 2013 at 11:02:52AM +0200, Steffen Trumtrar wrote:
> > From: Markus Niebel <Markus.Niebel@tqs.de>
> > 
> > Since 18 bit is supported as datawidth in device tree it should be
> > supported in driver. Beside the LDB channel the IPU channel has also
> > to be configured to use BGR666.
> > 
> > Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
> > Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
> > Tested-by: Shawn Guo <shawn.guo@linaro.org>
> > ---
> > This is based on the series: "staging: drm/imx: Add LDB support" by Philipp.
> 
> I don't seem to have that series in my queue anywhere, can someone
> please resend it, and this patch, so that I can apply them?

I just resent them to you.

Shawn
diff mbox

Patch

diff --git a/drivers/staging/imx-drm/imx-ldb.c b/drivers/staging/imx-drm/imx-ldb.c
index 0a7e4da..92a0e21 100644
--- a/drivers/staging/imx-drm/imx-ldb.c
+++ b/drivers/staging/imx-drm/imx-ldb.c
@@ -179,6 +179,7 @@  static void imx_ldb_encoder_prepare(struct drm_encoder *encoder)
 	struct imx_ldb_channel *imx_ldb_ch = enc_to_imx_ldb_ch(encoder);
 	struct imx_ldb *ldb = imx_ldb_ch->ldb;
 	struct drm_display_mode *mode = &encoder->crtc->mode;
+	u32 pixel_fmt;
 	unsigned long serial_clk;
 	unsigned long di_clk = mode->clock * 1000;
 	int mux = imx_drm_encoder_get_mux_id(imx_ldb_ch->imx_drm_encoder,
@@ -194,8 +195,23 @@  static void imx_ldb_encoder_prepare(struct drm_encoder *encoder)
 		imx_ldb_set_clock(ldb, mux, imx_ldb_ch->chno, serial_clk, di_clk);
 	}
 
+	switch (imx_ldb_ch->chno) {
+	case 0:
+		pixel_fmt = (ldb->ldb_ctrl & LDB_DATA_WIDTH_CH0_24) ?
+			V4L2_PIX_FMT_RGB24 : V4L2_PIX_FMT_BGR666;
+		break;
+	case 1:
+		pixel_fmt = (ldb->ldb_ctrl & LDB_DATA_WIDTH_CH1_24) ?
+			V4L2_PIX_FMT_RGB24 : V4L2_PIX_FMT_BGR666;
+		break;
+	default:
+		dev_err(ldb->dev, "unable to config di%d panel format\n",
+			imx_ldb_ch->chno);
+		pixel_fmt = V4L2_PIX_FMT_RGB24;
+	}
+
 	imx_drm_crtc_panel_format(encoder->crtc, DRM_MODE_ENCODER_LVDS,
-			V4L2_PIX_FMT_RGB24);
+			pixel_fmt);
 }
 
 static void imx_ldb_encoder_commit(struct drm_encoder *encoder)