Lines Matching full:csc
1415 /* CSC */
1435 void (*to_regval)(const struct dispc_csc_coef *csc, u32 *regval);
1446 void dispc_csc_offset_regval(const struct dispc_csc_coef *csc, u32 *regval) in dispc_csc_offset_regval() argument
1449 regval[5] = OVAL(csc->preoffset[0], csc->preoffset[1]); in dispc_csc_offset_regval()
1450 regval[6] = OVAL(csc->preoffset[2], csc->postoffset[0]); in dispc_csc_offset_regval()
1451 regval[7] = OVAL(csc->postoffset[1], csc->postoffset[2]); in dispc_csc_offset_regval()
1457 void dispc_csc_yuv2rgb_regval(const struct dispc_csc_coef *csc, u32 *regval) in dispc_csc_yuv2rgb_regval() argument
1459 regval[0] = CVAL(csc->m[CSC_RY], csc->m[CSC_RCR]); in dispc_csc_yuv2rgb_regval()
1460 regval[1] = CVAL(csc->m[CSC_RCB], csc->m[CSC_GY]); in dispc_csc_yuv2rgb_regval()
1461 regval[2] = CVAL(csc->m[CSC_GCR], csc->m[CSC_GCB]); in dispc_csc_yuv2rgb_regval()
1462 regval[3] = CVAL(csc->m[CSC_BY], csc->m[CSC_BCR]); in dispc_csc_yuv2rgb_regval()
1463 regval[4] = CVAL(csc->m[CSC_BCB], 0); in dispc_csc_yuv2rgb_regval()
1465 dispc_csc_offset_regval(csc, regval); in dispc_csc_yuv2rgb_regval()
1469 void dispc_csc_rgb2yuv_regval(const struct dispc_csc_coef *csc, u32 *regval) in dispc_csc_rgb2yuv_regval() argument
1471 regval[0] = CVAL(csc->m[CSC_YR], csc->m[CSC_YG]); in dispc_csc_rgb2yuv_regval()
1472 regval[1] = CVAL(csc->m[CSC_YB], csc->m[CSC_CRR]); in dispc_csc_rgb2yuv_regval()
1473 regval[2] = CVAL(csc->m[CSC_CRG], csc->m[CSC_CRB]); in dispc_csc_rgb2yuv_regval()
1474 regval[3] = CVAL(csc->m[CSC_CBR], csc->m[CSC_CBG]); in dispc_csc_rgb2yuv_regval()
1475 regval[4] = CVAL(csc->m[CSC_CBB], 0); in dispc_csc_rgb2yuv_regval()
1477 dispc_csc_offset_regval(csc, regval); in dispc_csc_rgb2yuv_regval()
1480 static void dispc_csc_cpr_regval(const struct dispc_csc_coef *csc, in dispc_csc_cpr_regval() argument
1483 regval[0] = CVAL(csc->m[CSC_RR], csc->m[CSC_RG]); in dispc_csc_cpr_regval()
1484 regval[1] = CVAL(csc->m[CSC_RB], csc->m[CSC_GR]); in dispc_csc_cpr_regval()
1485 regval[2] = CVAL(csc->m[CSC_GG], csc->m[CSC_GB]); in dispc_csc_cpr_regval()
1486 regval[3] = CVAL(csc->m[CSC_BR], csc->m[CSC_BG]); in dispc_csc_cpr_regval()
1487 regval[4] = CVAL(csc->m[CSC_BB], 0); in dispc_csc_cpr_regval()
1489 dispc_csc_offset_regval(csc, regval); in dispc_csc_cpr_regval()
1495 const struct dispc_csc_coef *csc) in dispc_k2g_vid_write_csc() argument
1506 csc->to_regval(csc, regval); in dispc_k2g_vid_write_csc()
1510 __func__, csc->name); in dispc_k2g_vid_write_csc()
1518 const struct dispc_csc_coef *csc) in dispc_k3_vid_write_csc() argument
1529 csc->to_regval(csc, regval); in dispc_k3_vid_write_csc()
1587 const struct dispc_csc_coef *csc; member
1608 return dispc_csc_table[i].csc; in dispc_find_csc()
1621 dev_err(dispc->dev, "%s: CSC (%u,%u) not found\n", in dispc_vid_csc_setup()
2039 "%s: Unsupported CSC (%u,%u) for HW plane %u\n", in dispc_plane_check()
2520 static void dispc_k2g_vp_csc_cpr_regval(const struct dispc_csc_coef *csc, in dispc_k2g_vp_csc_cpr_regval() argument
2523 regval[0] = CVAL(csc->m[CSC_BB], csc->m[CSC_BG], csc->m[CSC_BR]); in dispc_k2g_vp_csc_cpr_regval()
2524 regval[1] = CVAL(csc->m[CSC_GB], csc->m[CSC_GG], csc->m[CSC_GR]); in dispc_k2g_vp_csc_cpr_regval()
2525 regval[2] = CVAL(csc->m[CSC_RB], csc->m[CSC_RG], csc->m[CSC_RR]); in dispc_k2g_vp_csc_cpr_regval()
2531 const struct dispc_csc_coef *csc) in dispc_k2g_vp_write_csc() argument
2540 dispc_k2g_vp_csc_cpr_regval(csc, regval); in dispc_k2g_vp_write_csc()
2596 const struct dispc_csc_coef *csc) in dispc_k3_vp_write_csc() argument
2606 csc->to_regval(csc, regval); in dispc_k3_vp_write_csc()
2619 struct dispc_csc_coef csc; in dispc_k3_vp_set_ctm() local
2621 dispc_csc_from_ctm(ctm, &csc); in dispc_k3_vp_set_ctm()
2622 dispc_k3_vp_write_csc(dispc, hw_videoport, &csc); in dispc_k3_vp_set_ctm()