aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/davinci/vpbe_display.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-04-30 12:58:16 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-04-30 12:58:16 -0400
commit240c3c3424366c8109babd2a0fe80855de511b35 (patch)
tree72eb8652c8e513715efee1e254644b4b670333fd /drivers/media/platform/davinci/vpbe_display.c
parent19b344efa35dbc253e2d10403dafe6aafda73c56 (diff)
parentdf90e2258950fd631cdbf322c1ee1f22068391aa (diff)
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media update from Mauro Carvalho Chehab: - OF documentation and patches at core and drivers, to be used by for embedded media systems - some I2C drivers used on go7007 were rewritten/promoted from staging: sony-btf-mpx, tw2804, tw9903, tw9906, wis-ov7640, wis-uda1342 - add fimc-is driver (Exynos) - add a new radio driver: radio-si476x - add a two new tuners: r820t and tuner_it913x - split camera code on em28xx driver and add more models - the cypress firmware load is used outside dvb usb drivers. So, move it to a common directory to make easier to re-use it - siano media driver updated to work with sms2270 devices - several work done in order to promote go7007 and solo6x1x out of staging (still, there are some pending issues) - several API compliance fixes at v4l2 drivers that don't behave as expected - as usual, lots of driver fixes, improvements, cleanups and new device addition at the existing drivers. * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (831 commits) [media] cx88: make core less verbose [media] em28xx: fix oops at em28xx_dvb_bus_ctrl() [media] s5c73m3: fix indentation of the help section in Kconfig [media] cx25821-alsa: get rid of a __must_check warning [media] cx25821-video: declare cx25821_vidioc_s_std as static [media] cx25821-video: remove maxw from cx25821_vidioc_try_fmt_vid_cap [media] r820t: Remove a warning for an unused value [media] dib0090: Fix a warning at dib0090_set_EFUSE [media] dib8000: fix a warning [media] dib8000: Fix sub-channel range [media] dib8000: store dtv_property_cache in a temp var [media] dib8000: warning fix: declare internal functions as static [media] r820t: quiet gcc warning on n_ring [media] r820t: memory leak in release() [media] r820t: precendence bug in r820t_xtal_check() [media] videodev2.h: Remove the unused old V4L1 buffer types [media] anysee: Grammar s/report the/report to/ [media] anysee: Initialize ret = 0 in anysee_frontend_attach() [media] media: videobuf2: fix the length check for mmap [media] em28xx: save isoc endpoint number for DVB only if endpoint has alt settings with xMaxPacketSize != 0 ...
Diffstat (limited to 'drivers/media/platform/davinci/vpbe_display.c')
-rw-r--r--drivers/media/platform/davinci/vpbe_display.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/media/platform/davinci/vpbe_display.c b/drivers/media/platform/davinci/vpbe_display.c
index 5e6b0cab514b..1802f11e939f 100644
--- a/drivers/media/platform/davinci/vpbe_display.c
+++ b/drivers/media/platform/davinci/vpbe_display.c
@@ -983,7 +983,7 @@ static int vpbe_display_try_fmt(struct file *file, void *priv,
983 * 0 - success & -EINVAL on error 983 * 0 - success & -EINVAL on error
984 */ 984 */
985static int vpbe_display_s_std(struct file *file, void *priv, 985static int vpbe_display_s_std(struct file *file, void *priv,
986 v4l2_std_id *std_id) 986 v4l2_std_id std_id)
987{ 987{
988 struct vpbe_fh *fh = priv; 988 struct vpbe_fh *fh = priv;
989 struct vpbe_layer *layer = fh->layer; 989 struct vpbe_layer *layer = fh->layer;
@@ -1176,10 +1176,6 @@ vpbe_display_s_dv_timings(struct file *file, void *priv,
1176 "Failed to set the dv timings info\n"); 1176 "Failed to set the dv timings info\n");
1177 return -EINVAL; 1177 return -EINVAL;
1178 } 1178 }
1179 /* set the current norm to zero to be consistent. If STD is used
1180 * v4l2 layer will set the norm properly on successful s_std call
1181 */
1182 layer->video_dev.current_norm = 0;
1183 1179
1184 return 0; 1180 return 0;
1185} 1181}
@@ -1202,7 +1198,7 @@ vpbe_display_g_dv_timings(struct file *file, void *priv,
1202 /* Get the given standard in the encoder */ 1198 /* Get the given standard in the encoder */
1203 1199
1204 if (vpbe_dev->current_timings.timings_type & 1200 if (vpbe_dev->current_timings.timings_type &
1205 VPBE_ENC_CUSTOM_TIMINGS) { 1201 VPBE_ENC_DV_TIMINGS) {
1206 *dv_timings = vpbe_dev->current_timings.dv_timings; 1202 *dv_timings = vpbe_dev->current_timings.dv_timings;
1207 } else { 1203 } else {
1208 return -EINVAL; 1204 return -EINVAL;
@@ -1404,6 +1400,7 @@ static int vpbe_display_reqbufs(struct file *file, void *priv,
1404 q->ops = &video_qops; 1400 q->ops = &video_qops;
1405 q->mem_ops = &vb2_dma_contig_memops; 1401 q->mem_ops = &vb2_dma_contig_memops;
1406 q->buf_struct_size = sizeof(struct vpbe_disp_buffer); 1402 q->buf_struct_size = sizeof(struct vpbe_disp_buffer);
1403 q->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
1407 1404
1408 ret = vb2_queue_init(q); 1405 ret = vb2_queue_init(q);
1409 if (ret) { 1406 if (ret) {
@@ -1600,7 +1597,7 @@ static int vpbe_display_g_register(struct file *file, void *priv,
1600} 1597}
1601 1598
1602static int vpbe_display_s_register(struct file *file, void *priv, 1599static int vpbe_display_s_register(struct file *file, void *priv,
1603 struct v4l2_dbg_register *reg) 1600 const struct v4l2_dbg_register *reg)
1604{ 1601{
1605 return 0; 1602 return 0;
1606} 1603}
@@ -1693,12 +1690,8 @@ static int init_vpbe_layer(int i, struct vpbe_display *disp_dev,
1693 vbd->vfl_dir = VFL_DIR_TX; 1690 vbd->vfl_dir = VFL_DIR_TX;
1694 1691
1695 if (disp_dev->vpbe_dev->current_timings.timings_type & 1692 if (disp_dev->vpbe_dev->current_timings.timings_type &
1696 VPBE_ENC_STD) { 1693 VPBE_ENC_STD)
1697 vbd->tvnorms = (V4L2_STD_525_60 | V4L2_STD_625_50); 1694 vbd->tvnorms = (V4L2_STD_525_60 | V4L2_STD_625_50);
1698 vbd->current_norm =
1699 disp_dev->vpbe_dev->current_timings.std_id;
1700 } else
1701 vbd->current_norm = 0;
1702 1695
1703 snprintf(vbd->name, sizeof(vbd->name), 1696 snprintf(vbd->name, sizeof(vbd->name),
1704 "DaVinci_VPBE Display_DRIVER_V%d.%d.%d", 1697 "DaVinci_VPBE Display_DRIVER_V%d.%d.%d",