Lines Matching full:isp
5 * TI OMAP3 ISP driver - Preview module
20 #include "isp.h"
152 struct isp_device *isp = to_isp_device(prev); in preview_config_luma_enhancement() local
156 isp_reg_writel(isp, ISPPRV_YENH_TABLE_ADDR, in preview_config_luma_enhancement()
159 isp_reg_writel(isp, yt->table[i], in preview_config_luma_enhancement()
170 struct isp_device *isp = to_isp_device(prev); in preview_enable_luma_enhancement() local
173 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_luma_enhancement()
176 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_luma_enhancement()
185 struct isp_device *isp = to_isp_device(prev); in preview_enable_invalaw() local
188 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_invalaw()
191 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_invalaw()
201 struct isp_device *isp = to_isp_device(prev); in preview_config_hmed() local
204 isp_reg_writel(isp, (hmed->odddist == 1 ? 0 : ISPPRV_HMED_ODDDIST) | in preview_config_hmed()
215 struct isp_device *isp = to_isp_device(prev); in preview_enable_hmed() local
218 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_hmed()
221 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_hmed()
244 struct isp_device *isp = to_isp_device(prev); in preview_config_cfa() local
248 isp_reg_writel(isp, in preview_config_cfa()
253 isp_reg_writel(isp, ISPPRV_CFA_TABLE_ADDR, in preview_config_cfa()
260 isp_reg_writel(isp, block[j], OMAP3_ISP_IOMEM_PREV, in preview_config_cfa()
272 struct isp_device *isp = to_isp_device(prev); in preview_config_chroma_suppression() local
275 isp_reg_writel(isp, in preview_config_chroma_suppression()
287 struct isp_device *isp = to_isp_device(prev); in preview_enable_chroma_suppression() local
290 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_chroma_suppression()
293 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_chroma_suppression()
306 struct isp_device *isp = to_isp_device(prev); in preview_config_whitebalance() local
310 isp_reg_writel(isp, wbal->dgain, OMAP3_ISP_IOMEM_PREV, ISPPRV_WB_DGAIN); in preview_config_whitebalance()
316 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_WBGAIN); in preview_config_whitebalance()
318 isp_reg_writel(isp, in preview_config_whitebalance()
345 struct isp_device *isp = to_isp_device(prev); in preview_config_blkadj() local
348 isp_reg_writel(isp, (blkadj->blue << ISPPRV_BLKADJOFF_B_SHIFT) | in preview_config_blkadj()
361 struct isp_device *isp = to_isp_device(prev); in preview_config_rgb_blending() local
367 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_RGB_MAT1); in preview_config_rgb_blending()
371 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_RGB_MAT2); in preview_config_rgb_blending()
375 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_RGB_MAT3); in preview_config_rgb_blending()
379 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_RGB_MAT4); in preview_config_rgb_blending()
382 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_RGB_MAT5); in preview_config_rgb_blending()
386 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_RGB_OFF1); in preview_config_rgb_blending()
389 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_RGB_OFF2); in preview_config_rgb_blending()
399 struct isp_device *isp = to_isp_device(prev); in preview_config_csc() local
406 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_CSC0); in preview_config_csc()
411 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_CSC1); in preview_config_csc()
416 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_CSC2); in preview_config_csc()
421 isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_CSC_OFFSET); in preview_config_csc()
431 struct isp_device *isp = to_isp_device(prev); in preview_config_yc_range() local
434 isp_reg_writel(isp, in preview_config_yc_range()
449 struct isp_device *isp = to_isp_device(prev); in preview_config_dcor() local
452 isp_reg_writel(isp, dcor->detect_correct[0], in preview_config_dcor()
454 isp_reg_writel(isp, dcor->detect_correct[1], in preview_config_dcor()
456 isp_reg_writel(isp, dcor->detect_correct[2], in preview_config_dcor()
458 isp_reg_writel(isp, dcor->detect_correct[3], in preview_config_dcor()
460 isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_config_dcor()
470 struct isp_device *isp = to_isp_device(prev); in preview_enable_dcor() local
473 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_dcor()
476 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_dcor()
486 struct isp_device *isp = to_isp_device(prev); in preview_enable_drkframe_capture() local
489 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_drkframe_capture()
492 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_drkframe_capture()
501 struct isp_device *isp = to_isp_device(prev); in preview_enable_drkframe() local
504 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_drkframe()
507 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_drkframe()
518 struct isp_device *isp = to_isp_device(prev); in preview_config_noisefilter() local
522 isp_reg_writel(isp, nf->spread, OMAP3_ISP_IOMEM_PREV, ISPPRV_NF); in preview_config_noisefilter()
523 isp_reg_writel(isp, ISPPRV_NF_TABLE_ADDR, in preview_config_noisefilter()
526 isp_reg_writel(isp, nf->table[i], in preview_config_noisefilter()
537 struct isp_device *isp = to_isp_device(prev); in preview_enable_noisefilter() local
540 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_noisefilter()
543 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_noisefilter()
554 struct isp_device *isp = to_isp_device(prev); in preview_config_gammacorrn() local
558 isp_reg_writel(isp, ISPPRV_REDGAMMA_TABLE_ADDR, in preview_config_gammacorrn()
561 isp_reg_writel(isp, gt->red[i], OMAP3_ISP_IOMEM_PREV, in preview_config_gammacorrn()
564 isp_reg_writel(isp, ISPPRV_GREENGAMMA_TABLE_ADDR, in preview_config_gammacorrn()
567 isp_reg_writel(isp, gt->green[i], OMAP3_ISP_IOMEM_PREV, in preview_config_gammacorrn()
570 isp_reg_writel(isp, ISPPRV_BLUEGAMMA_TABLE_ADDR, in preview_config_gammacorrn()
573 isp_reg_writel(isp, gt->blue[i], OMAP3_ISP_IOMEM_PREV, in preview_config_gammacorrn()
586 struct isp_device *isp = to_isp_device(prev); in preview_enable_gammacorrn() local
589 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_gammacorrn()
592 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_gammacorrn()
605 struct isp_device *isp = to_isp_device(prev); in preview_config_contrast() local
607 isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_CNT_BRT, in preview_config_contrast()
619 struct isp_device *isp = to_isp_device(prev); in preview_config_brightness() local
621 isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_CNT_BRT, in preview_config_brightness()
853 * @prev: ISP preview engine
962 struct isp_device *isp = to_isp_device(prev); in preview_config_ycpos() local
976 isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_config_ycpos()
987 struct isp_device *isp = to_isp_device(prev); in preview_config_averager() local
989 isp_reg_writel(isp, ISPPRV_AVE_EVENDIST_2 << ISPPRV_AVE_EVENDIST_SHIFT | in preview_config_averager()
1011 struct isp_device *isp = to_isp_device(prev); in preview_config_input_format() local
1015 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_config_input_format()
1018 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_config_input_format()
1036 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_config_input_format()
1041 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, ISPPRV_PCR_CFAEN); in preview_config_input_format()
1042 isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_config_input_format()
1065 struct isp_device *isp = to_isp_device(prev); in preview_config_input_size() local
1096 isp_reg_writel(isp, (sph << ISPPRV_HORZ_INFO_SPH_SHIFT) | eph, in preview_config_input_size()
1098 isp_reg_writel(isp, (slv << ISPPRV_VERT_INFO_SLV_SHIFT) | elv, in preview_config_input_size()
1115 struct isp_device *isp = to_isp_device(prev); in preview_config_inlineoffset() local
1117 isp_reg_writel(isp, offset & 0xffff, OMAP3_ISP_IOMEM_PREV, in preview_config_inlineoffset()
1129 struct isp_device *isp = to_isp_device(prev); in preview_set_inaddr() local
1131 isp_reg_writel(isp, addr, OMAP3_ISP_IOMEM_PREV, ISPPRV_RSDR_ADDR); in preview_set_inaddr()
1143 struct isp_device *isp = to_isp_device(prev); in preview_config_outlineoffset() local
1145 isp_reg_writel(isp, offset & 0xffff, OMAP3_ISP_IOMEM_PREV, in preview_config_outlineoffset()
1157 struct isp_device *isp = to_isp_device(prev); in preview_set_outaddr() local
1159 isp_reg_writel(isp, addr, OMAP3_ISP_IOMEM_PREV, ISPPRV_WSDR_ADDR); in preview_set_outaddr()
1165 struct isp_device *isp = to_isp_device(prev); in preview_adjust_bandwidth() local
1177 isp_reg_clr(isp, OMAP3_ISP_IOMEM_SBL, ISPSBL_SDR_REQ_EXP, in preview_adjust_bandwidth()
1206 dev_dbg(isp->dev, "%s: cycles per request = %u\n", __func__, value); in preview_adjust_bandwidth()
1207 isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_SBL, ISPSBL_SDR_REQ_EXP, in preview_adjust_bandwidth()
1217 struct isp_device *isp = to_isp_device(prev); in omap3isp_preview_busy() local
1219 return isp_reg_readl(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR) in omap3isp_preview_busy()
1226 void omap3isp_preview_restore_context(struct isp_device *isp) in omap3isp_preview_restore_context() argument
1228 struct isp_prev_device *prev = &isp->isp_prev; in omap3isp_preview_restore_context()
1243 #define PREV_PRINT_REGISTER(isp, name)\ argument
1244 dev_dbg(isp->dev, "###PRV " #name "=0x%08x\n", \
1245 isp_reg_readl(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_##name))
1249 struct isp_device *isp = to_isp_device(prev); in preview_print_status() local
1251 dev_dbg(isp->dev, "-------------Preview Register dump----------\n"); in preview_print_status()
1253 PREV_PRINT_REGISTER(isp, PCR); in preview_print_status()
1254 PREV_PRINT_REGISTER(isp, HORZ_INFO); in preview_print_status()
1255 PREV_PRINT_REGISTER(isp, VERT_INFO); in preview_print_status()
1256 PREV_PRINT_REGISTER(isp, RSDR_ADDR); in preview_print_status()
1257 PREV_PRINT_REGISTER(isp, RADR_OFFSET); in preview_print_status()
1258 PREV_PRINT_REGISTER(isp, DSDR_ADDR); in preview_print_status()
1259 PREV_PRINT_REGISTER(isp, DRKF_OFFSET); in preview_print_status()
1260 PREV_PRINT_REGISTER(isp, WSDR_ADDR); in preview_print_status()
1261 PREV_PRINT_REGISTER(isp, WADD_OFFSET); in preview_print_status()
1262 PREV_PRINT_REGISTER(isp, AVE); in preview_print_status()
1263 PREV_PRINT_REGISTER(isp, HMED); in preview_print_status()
1264 PREV_PRINT_REGISTER(isp, NF); in preview_print_status()
1265 PREV_PRINT_REGISTER(isp, WB_DGAIN); in preview_print_status()
1266 PREV_PRINT_REGISTER(isp, WBGAIN); in preview_print_status()
1267 PREV_PRINT_REGISTER(isp, WBSEL); in preview_print_status()
1268 PREV_PRINT_REGISTER(isp, CFA); in preview_print_status()
1269 PREV_PRINT_REGISTER(isp, BLKADJOFF); in preview_print_status()
1270 PREV_PRINT_REGISTER(isp, RGB_MAT1); in preview_print_status()
1271 PREV_PRINT_REGISTER(isp, RGB_MAT2); in preview_print_status()
1272 PREV_PRINT_REGISTER(isp, RGB_MAT3); in preview_print_status()
1273 PREV_PRINT_REGISTER(isp, RGB_MAT4); in preview_print_status()
1274 PREV_PRINT_REGISTER(isp, RGB_MAT5); in preview_print_status()
1275 PREV_PRINT_REGISTER(isp, RGB_OFF1); in preview_print_status()
1276 PREV_PRINT_REGISTER(isp, RGB_OFF2); in preview_print_status()
1277 PREV_PRINT_REGISTER(isp, CSC0); in preview_print_status()
1278 PREV_PRINT_REGISTER(isp, CSC1); in preview_print_status()
1279 PREV_PRINT_REGISTER(isp, CSC2); in preview_print_status()
1280 PREV_PRINT_REGISTER(isp, CSC_OFFSET); in preview_print_status()
1281 PREV_PRINT_REGISTER(isp, CNT_BRT); in preview_print_status()
1282 PREV_PRINT_REGISTER(isp, CSUP); in preview_print_status()
1283 PREV_PRINT_REGISTER(isp, SETUP_YC); in preview_print_status()
1284 PREV_PRINT_REGISTER(isp, SET_TBL_ADDR); in preview_print_status()
1285 PREV_PRINT_REGISTER(isp, CDC_THR0); in preview_print_status()
1286 PREV_PRINT_REGISTER(isp, CDC_THR1); in preview_print_status()
1287 PREV_PRINT_REGISTER(isp, CDC_THR2); in preview_print_status()
1288 PREV_PRINT_REGISTER(isp, CDC_THR3); in preview_print_status()
1290 dev_dbg(isp->dev, "--------------------------------------------\n"); in preview_print_status()
1359 * returns maximum width output for current isp revision
1363 struct isp_device *isp = to_isp_device(prev); in preview_max_out_width() local
1365 switch (isp->revision) { in preview_max_out_width()
1380 struct isp_device *isp = to_isp_device(prev); in preview_configure() local
1414 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_configure()
1417 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_configure()
1421 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_configure()
1424 isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_configure()
1445 struct isp_device *isp = to_isp_device(prev); in preview_enable_oneshot() local
1452 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_oneshot()
1455 isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR, in preview_enable_oneshot()
1518 * omap3isp_preview_isr - ISP preview engine interrupt handler
1552 * ISP video operations
1558 struct isp_prev_device *prev = &video->isp->isp_prev; in preview_video_queue()
1632 struct isp_device *isp = to_isp_device(prev); in preview_set_stream() local
1639 omap3isp_subclk_enable(isp, OMAP3_ISP_SUBCLK_PREVIEW); in preview_set_stream()
1648 omap3isp_sbl_enable(isp, OMAP3_ISP_SBL_PREVIEW_WRITE); in preview_set_stream()
1659 omap3isp_sbl_enable(isp, OMAP3_ISP_SBL_PREVIEW_READ); in preview_set_stream()
1661 omap3isp_sbl_enable(isp, OMAP3_ISP_SBL_PREVIEW_WRITE); in preview_set_stream()
1670 omap3isp_sbl_disable(isp, OMAP3_ISP_SBL_PREVIEW_READ); in preview_set_stream()
1671 omap3isp_sbl_disable(isp, OMAP3_ISP_SBL_PREVIEW_WRITE); in preview_set_stream()
1672 omap3isp_subclk_disable(isp, OMAP3_ISP_SUBCLK_PREVIEW); in preview_set_stream()
1724 * @prev: ISP preview engine
1808 * @prev: ISP preview engine
1924 * @sd: ISP preview V4L2 subdevice
1967 * @sd: ISP preview V4L2 subdevice
2080 * @sd: ISP preview V4L2 subdevice
2185 * The ISP core doesn't support pipelines with multiple video outputs. in preview_link_setup()
2258 * ISP previewer initialisation and cleanup
2277 strscpy(sd->name, "OMAP3 ISP preview", sizeof(sd->name)); in preview_init_entities()
2278 sd->grp_id = 1 << 16; /* group ID for isp subdevs */ in preview_init_entities()
2309 prev->video_in.isp = to_isp_device(prev); in preview_init_entities()
2314 prev->video_out.isp = to_isp_device(prev); in preview_init_entities()
2339 * @isp : Pointer to ISP device
2342 int omap3isp_preview_init(struct isp_device *isp) in omap3isp_preview_init() argument
2344 struct isp_prev_device *prev = &isp->isp_prev; in omap3isp_preview_init()
2353 void omap3isp_preview_cleanup(struct isp_device *isp) in omap3isp_preview_cleanup() argument
2355 struct isp_prev_device *prev = &isp->isp_prev; in omap3isp_preview_cleanup()