aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2014-12-02 11:51:36 -0500
committerPhilipp Zabel <p.zabel@pengutronix.de>2015-03-31 05:59:34 -0400
commita7c6e76feeb19de1a5cefa50ea6c0fc5ad45bbe1 (patch)
tree347d8ffa3959f23cf55ab06773feff0b36fd8975
parent203508ef52e3fee93b71262928541ecea82c735d (diff)
drm/imx: switch to use media bus formats
imx-drm internally misused the V4L2_PIX_FMT constants, which are supposed to describe the pixel format of frame buffers in memory, to describe the pixel format on the bus between the display controller and the encoder hardware. Now that MEDIA_BUS_FMT constants are available to drm drivers, use those instead. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Tested-by: Emil Renner Berthing <kernel@esmil.dk>
-rw-r--r--drivers/gpu/drm/imx/dw_hdmi-imx.c2
-rw-r--r--drivers/gpu/drm/imx/imx-ldb.c6
-rw-r--r--drivers/gpu/drm/imx/imx-tve.c4
-rw-r--r--drivers/gpu/drm/imx/parallel-display.c8
-rw-r--r--drivers/gpu/ipu-v3/ipu-dc.c16
5 files changed, 18 insertions, 18 deletions
diff --git a/drivers/gpu/drm/imx/dw_hdmi-imx.c b/drivers/gpu/drm/imx/dw_hdmi-imx.c
index 87fe8ed92ebe..61ef987ec37b 100644
--- a/drivers/gpu/drm/imx/dw_hdmi-imx.c
+++ b/drivers/gpu/drm/imx/dw_hdmi-imx.c
@@ -123,7 +123,7 @@ static void dw_hdmi_imx_encoder_commit(struct drm_encoder *encoder)
123 123
124static void dw_hdmi_imx_encoder_prepare(struct drm_encoder *encoder) 124static void dw_hdmi_imx_encoder_prepare(struct drm_encoder *encoder)
125{ 125{
126 imx_drm_panel_format(encoder, V4L2_PIX_FMT_RGB24); 126 imx_drm_panel_format(encoder, MEDIA_BUS_FMT_RGB888_1X24);
127} 127}
128 128
129static struct drm_encoder_helper_funcs dw_hdmi_imx_encoder_helper_funcs = { 129static struct drm_encoder_helper_funcs dw_hdmi_imx_encoder_helper_funcs = {
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c
index 2d6dc94e1e64..f9ec17a43458 100644
--- a/drivers/gpu/drm/imx/imx-ldb.c
+++ b/drivers/gpu/drm/imx/imx-ldb.c
@@ -168,16 +168,16 @@ static void imx_ldb_encoder_prepare(struct drm_encoder *encoder)
168 switch (imx_ldb_ch->chno) { 168 switch (imx_ldb_ch->chno) {
169 case 0: 169 case 0:
170 pixel_fmt = (ldb->ldb_ctrl & LDB_DATA_WIDTH_CH0_24) ? 170 pixel_fmt = (ldb->ldb_ctrl & LDB_DATA_WIDTH_CH0_24) ?
171 V4L2_PIX_FMT_RGB24 : V4L2_PIX_FMT_BGR666; 171 MEDIA_BUS_FMT_RGB888_1X24 : MEDIA_BUS_FMT_RGB666_1X18;
172 break; 172 break;
173 case 1: 173 case 1:
174 pixel_fmt = (ldb->ldb_ctrl & LDB_DATA_WIDTH_CH1_24) ? 174 pixel_fmt = (ldb->ldb_ctrl & LDB_DATA_WIDTH_CH1_24) ?
175 V4L2_PIX_FMT_RGB24 : V4L2_PIX_FMT_BGR666; 175 MEDIA_BUS_FMT_RGB888_1X24 : MEDIA_BUS_FMT_RGB666_1X18;
176 break; 176 break;
177 default: 177 default:
178 dev_err(ldb->dev, "unable to config di%d panel format\n", 178 dev_err(ldb->dev, "unable to config di%d panel format\n",
179 imx_ldb_ch->chno); 179 imx_ldb_ch->chno);
180 pixel_fmt = V4L2_PIX_FMT_RGB24; 180 pixel_fmt = MEDIA_BUS_FMT_RGB888_1X24;
181 } 181 }
182 182
183 imx_drm_panel_format(encoder, pixel_fmt); 183 imx_drm_panel_format(encoder, pixel_fmt);
diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c
index 4216e479a9be..bcdcb1b8f0ba 100644
--- a/drivers/gpu/drm/imx/imx-tve.c
+++ b/drivers/gpu/drm/imx/imx-tve.c
@@ -301,11 +301,11 @@ static void imx_tve_encoder_prepare(struct drm_encoder *encoder)
301 301
302 switch (tve->mode) { 302 switch (tve->mode) {
303 case TVE_MODE_VGA: 303 case TVE_MODE_VGA:
304 imx_drm_panel_format_pins(encoder, IPU_PIX_FMT_GBR24, 304 imx_drm_panel_format_pins(encoder, MEDIA_BUS_FMT_YUV8_1X24,
305 tve->hsync_pin, tve->vsync_pin); 305 tve->hsync_pin, tve->vsync_pin);
306 break; 306 break;
307 case TVE_MODE_TVOUT: 307 case TVE_MODE_TVOUT:
308 imx_drm_panel_format(encoder, V4L2_PIX_FMT_YUV444); 308 imx_drm_panel_format(encoder, MEDIA_BUS_FMT_YUV8_1X24);
309 break; 309 break;
310 } 310 }
311} 311}
diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c
index 900dda6a8e71..e645fe18c1a7 100644
--- a/drivers/gpu/drm/imx/parallel-display.c
+++ b/drivers/gpu/drm/imx/parallel-display.c
@@ -225,14 +225,14 @@ static int imx_pd_bind(struct device *dev, struct device *master, void *data)
225 ret = of_property_read_string(np, "interface-pix-fmt", &fmt); 225 ret = of_property_read_string(np, "interface-pix-fmt", &fmt);
226 if (!ret) { 226 if (!ret) {
227 if (!strcmp(fmt, "rgb24")) 227 if (!strcmp(fmt, "rgb24"))
228 imxpd->interface_pix_fmt = V4L2_PIX_FMT_RGB24; 228 imxpd->interface_pix_fmt = MEDIA_BUS_FMT_RGB888_1X24;
229 else if (!strcmp(fmt, "rgb565")) 229 else if (!strcmp(fmt, "rgb565"))
230 imxpd->interface_pix_fmt = V4L2_PIX_FMT_RGB565; 230 imxpd->interface_pix_fmt = MEDIA_BUS_FMT_RGB565_1X16;
231 else if (!strcmp(fmt, "bgr666")) 231 else if (!strcmp(fmt, "bgr666"))
232 imxpd->interface_pix_fmt = V4L2_PIX_FMT_BGR666; 232 imxpd->interface_pix_fmt = MEDIA_BUS_FMT_RGB666_1X18;
233 else if (!strcmp(fmt, "lvds666")) 233 else if (!strcmp(fmt, "lvds666"))
234 imxpd->interface_pix_fmt = 234 imxpd->interface_pix_fmt =
235 v4l2_fourcc('L', 'V', 'D', '6'); 235 MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
236 } 236 }
237 237
238 panel_node = of_parse_phandle(np, "fsl,panel", 0); 238 panel_node = of_parse_phandle(np, "fsl,panel", 0);
diff --git a/drivers/gpu/ipu-v3/ipu-dc.c b/drivers/gpu/ipu-v3/ipu-dc.c
index 4864f8300797..651c20cfe7e1 100644
--- a/drivers/gpu/ipu-v3/ipu-dc.c
+++ b/drivers/gpu/ipu-v3/ipu-dc.c
@@ -147,20 +147,20 @@ static void dc_write_tmpl(struct ipu_dc *dc, int word, u32 opcode, u32 operand,
147 writel(reg2, priv->dc_tmpl_reg + word * 8 + 4); 147 writel(reg2, priv->dc_tmpl_reg + word * 8 + 4);
148} 148}
149 149
150static int ipu_pixfmt_to_map(u32 fmt) 150static int ipu_bus_format_to_map(u32 fmt)
151{ 151{
152 switch (fmt) { 152 switch (fmt) {
153 case V4L2_PIX_FMT_RGB24: 153 case MEDIA_BUS_FMT_RGB888_1X24:
154 return IPU_DC_MAP_RGB24; 154 return IPU_DC_MAP_RGB24;
155 case V4L2_PIX_FMT_RGB565: 155 case MEDIA_BUS_FMT_RGB565_1X16:
156 return IPU_DC_MAP_RGB565; 156 return IPU_DC_MAP_RGB565;
157 case IPU_PIX_FMT_GBR24: 157 case MEDIA_BUS_FMT_GBR888_1X24:
158 return IPU_DC_MAP_GBR24; 158 return IPU_DC_MAP_GBR24;
159 case V4L2_PIX_FMT_BGR666: 159 case MEDIA_BUS_FMT_RGB666_1X18:
160 return IPU_DC_MAP_BGR666; 160 return IPU_DC_MAP_BGR666;
161 case v4l2_fourcc('L', 'V', 'D', '6'): 161 case MEDIA_BUS_FMT_RGB666_1X24_CPADHI:
162 return IPU_DC_MAP_LVDS666; 162 return IPU_DC_MAP_LVDS666;
163 case V4L2_PIX_FMT_BGR24: 163 case MEDIA_BUS_FMT_BGR888_1X24:
164 return IPU_DC_MAP_BGR24; 164 return IPU_DC_MAP_BGR24;
165 default: 165 default:
166 return -EINVAL; 166 return -EINVAL;
@@ -176,7 +176,7 @@ int ipu_dc_init_sync(struct ipu_dc *dc, struct ipu_di *di, bool interlaced,
176 176
177 dc->di = ipu_di_get_num(di); 177 dc->di = ipu_di_get_num(di);
178 178
179 map = ipu_pixfmt_to_map(pixel_fmt); 179 map = ipu_bus_format_to_map(pixel_fmt);
180 if (map < 0) { 180 if (map < 0) {
181 dev_dbg(priv->dev, "IPU_DISP: No MAP\n"); 181 dev_dbg(priv->dev, "IPU_DISP: No MAP\n");
182 return map; 182 return map;