aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2011-08-31 09:42:17 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-08-11 15:01:43 -0400
commitcf7a3d91ade6c56bfd860b377f84bd58132f7a81 (patch)
tree9f6fabf3906cde0972f78b2997d2732a05441a5e
parent73cdc79f9327c2112dff085a439f8302a2bec3ec (diff)
[media] omap3isp: ccdc: Remove support for interlaced data and master HS/VS mode
Those features are half-implemented and not used. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/omap3isp/ispccdc.c51
-rw-r--r--drivers/media/video/omap3isp/ispccdc.h18
2 files changed, 2 insertions, 67 deletions
diff --git a/drivers/media/video/omap3isp/ispccdc.c b/drivers/media/video/omap3isp/ispccdc.c
index 4678e2f44973..8dbb55a92fcf 100644
--- a/drivers/media/video/omap3isp/ispccdc.c
+++ b/drivers/media/video/omap3isp/ispccdc.c
@@ -967,17 +967,8 @@ static void ccdc_config_sync_if(struct isp_ccdc_device *ccdc,
967 struct ispccdc_syncif *syncif) 967 struct ispccdc_syncif *syncif)
968{ 968{
969 struct isp_device *isp = to_isp_device(ccdc); 969 struct isp_device *isp = to_isp_device(ccdc);
970 u32 syn_mode = isp_reg_readl(isp, OMAP3_ISP_IOMEM_CCDC, 970 u32 syn_mode = ISPCCDC_SYN_MODE_VDHDEN;
971 ISPCCDC_SYN_MODE);
972 971
973 syn_mode |= ISPCCDC_SYN_MODE_VDHDEN;
974
975 if (syncif->fldstat)
976 syn_mode |= ISPCCDC_SYN_MODE_FLDSTAT;
977 else
978 syn_mode &= ~ISPCCDC_SYN_MODE_FLDSTAT;
979
980 syn_mode &= ~ISPCCDC_SYN_MODE_DATSIZ_MASK;
981 switch (syncif->datsz) { 972 switch (syncif->datsz) {
982 case 8: 973 case 8:
983 syn_mode |= ISPCCDC_SYN_MODE_DATSIZ_8; 974 syn_mode |= ISPCCDC_SYN_MODE_DATSIZ_8;
@@ -993,47 +984,14 @@ static void ccdc_config_sync_if(struct isp_ccdc_device *ccdc,
993 break; 984 break;
994 } 985 }
995 986
996 if (syncif->fldmode)
997 syn_mode |= ISPCCDC_SYN_MODE_FLDMODE;
998 else
999 syn_mode &= ~ISPCCDC_SYN_MODE_FLDMODE;
1000
1001 if (syncif->datapol) 987 if (syncif->datapol)
1002 syn_mode |= ISPCCDC_SYN_MODE_DATAPOL; 988 syn_mode |= ISPCCDC_SYN_MODE_DATAPOL;
1003 else
1004 syn_mode &= ~ISPCCDC_SYN_MODE_DATAPOL;
1005
1006 if (syncif->fldpol)
1007 syn_mode |= ISPCCDC_SYN_MODE_FLDPOL;
1008 else
1009 syn_mode &= ~ISPCCDC_SYN_MODE_FLDPOL;
1010 989
1011 if (syncif->hdpol) 990 if (syncif->hdpol)
1012 syn_mode |= ISPCCDC_SYN_MODE_HDPOL; 991 syn_mode |= ISPCCDC_SYN_MODE_HDPOL;
1013 else
1014 syn_mode &= ~ISPCCDC_SYN_MODE_HDPOL;
1015 992
1016 if (syncif->vdpol) 993 if (syncif->vdpol)
1017 syn_mode |= ISPCCDC_SYN_MODE_VDPOL; 994 syn_mode |= ISPCCDC_SYN_MODE_VDPOL;
1018 else
1019 syn_mode &= ~ISPCCDC_SYN_MODE_VDPOL;
1020
1021 if (syncif->ccdc_mastermode) {
1022 syn_mode |= ISPCCDC_SYN_MODE_FLDOUT | ISPCCDC_SYN_MODE_VDHDOUT;
1023 isp_reg_writel(isp,
1024 syncif->hs_width << ISPCCDC_HD_VD_WID_HDW_SHIFT
1025 | syncif->vs_width << ISPCCDC_HD_VD_WID_VDW_SHIFT,
1026 OMAP3_ISP_IOMEM_CCDC,
1027 ISPCCDC_HD_VD_WID);
1028
1029 isp_reg_writel(isp,
1030 syncif->ppln << ISPCCDC_PIX_LINES_PPLN_SHIFT
1031 | syncif->hlprf << ISPCCDC_PIX_LINES_HLPRF_SHIFT,
1032 OMAP3_ISP_IOMEM_CCDC,
1033 ISPCCDC_PIX_LINES);
1034 } else
1035 syn_mode &= ~(ISPCCDC_SYN_MODE_FLDOUT |
1036 ISPCCDC_SYN_MODE_VDHDOUT);
1037 995
1038 isp_reg_writel(isp, syn_mode, OMAP3_ISP_IOMEM_CCDC, ISPCCDC_SYN_MODE); 996 isp_reg_writel(isp, syn_mode, OMAP3_ISP_IOMEM_CCDC, ISPCCDC_SYN_MODE);
1039 997
@@ -1154,6 +1112,7 @@ static void ccdc_configure(struct isp_ccdc_device *ccdc)
1154 omap3isp_configure_bridge(isp, ccdc->input, pdata, shift); 1112 omap3isp_configure_bridge(isp, ccdc->input, pdata, shift);
1155 1113
1156 ccdc->syncif.datsz = depth_out; 1114 ccdc->syncif.datsz = depth_out;
1115 ccdc->syncif.datapol = 0;
1157 ccdc->syncif.hdpol = pdata ? pdata->hs_pol : 0; 1116 ccdc->syncif.hdpol = pdata ? pdata->hs_pol : 0;
1158 ccdc->syncif.vdpol = pdata ? pdata->vs_pol : 0; 1117 ccdc->syncif.vdpol = pdata ? pdata->vs_pol : 0;
1159 ccdc_config_sync_if(ccdc, &ccdc->syncif); 1118 ccdc_config_sync_if(ccdc, &ccdc->syncif);
@@ -2487,13 +2446,7 @@ int omap3isp_ccdc_init(struct isp_device *isp)
2487 INIT_LIST_HEAD(&ccdc->lsc.free_queue); 2446 INIT_LIST_HEAD(&ccdc->lsc.free_queue);
2488 spin_lock_init(&ccdc->lsc.req_lock); 2447 spin_lock_init(&ccdc->lsc.req_lock);
2489 2448
2490 ccdc->syncif.ccdc_mastermode = 0;
2491 ccdc->syncif.datapol = 0;
2492 ccdc->syncif.datsz = 0; 2449 ccdc->syncif.datsz = 0;
2493 ccdc->syncif.fldmode = 0;
2494 ccdc->syncif.fldout = 0;
2495 ccdc->syncif.fldpol = 0;
2496 ccdc->syncif.fldstat = 0;
2497 2450
2498 ccdc->clamp.oblen = 0; 2451 ccdc->clamp.oblen = 0;
2499 ccdc->clamp.dcsubval = 0; 2452 ccdc->clamp.dcsubval = 0;
diff --git a/drivers/media/video/omap3isp/ispccdc.h b/drivers/media/video/omap3isp/ispccdc.h
index 890f6b3a68fd..57007d7b2d56 100644
--- a/drivers/media/video/omap3isp/ispccdc.h
+++ b/drivers/media/video/omap3isp/ispccdc.h
@@ -48,35 +48,17 @@ enum ccdc_input_entity {
48 48
49/* 49/*
50 * struct ispccdc_syncif - Structure for Sync Interface between sensor and CCDC 50 * struct ispccdc_syncif - Structure for Sync Interface between sensor and CCDC
51 * @ccdc_mastermode: Master mode. 1 - Master, 0 - Slave.
52 * @fldstat: Field state. 0 - Odd Field, 1 - Even Field.
53 * @datsz: Data size. 51 * @datsz: Data size.
54 * @fldmode: 0 - Progressive, 1 - Interlaced.
55 * @datapol: 0 - Positive, 1 - Negative. 52 * @datapol: 0 - Positive, 1 - Negative.
56 * @fldpol: 0 - Positive, 1 - Negative.
57 * @hdpol: 0 - Positive, 1 - Negative. 53 * @hdpol: 0 - Positive, 1 - Negative.
58 * @vdpol: 0 - Positive, 1 - Negative. 54 * @vdpol: 0 - Positive, 1 - Negative.
59 * @fldout: 0 - Input, 1 - Output.
60 * @hs_width: Width of the Horizontal Sync pulse, used for HS/VS Output.
61 * @vs_width: Width of the Vertical Sync pulse, used for HS/VS Output.
62 * @ppln: Number of pixels per line, used for HS/VS Output.
63 * @hlprf: Number of half lines per frame, used for HS/VS Output.
64 * @bt_r656_en: 1 - Enable ITU-R BT656 mode, 0 - Sync mode. 55 * @bt_r656_en: 1 - Enable ITU-R BT656 mode, 0 - Sync mode.
65 */ 56 */
66struct ispccdc_syncif { 57struct ispccdc_syncif {
67 u8 ccdc_mastermode;
68 u8 fldstat;
69 u8 datsz; 58 u8 datsz;
70 u8 fldmode;
71 u8 datapol; 59 u8 datapol;
72 u8 fldpol;
73 u8 hdpol; 60 u8 hdpol;
74 u8 vdpol; 61 u8 vdpol;
75 u8 fldout;
76 u8 hs_width;
77 u8 vs_width;
78 u8 ppln;
79 u8 hlprf;
80 u8 bt_r656_en; 62 u8 bt_r656_en;
81}; 63};
82 64