Lines Matching refs:lconfig
144 const struct osd_layer_config *lconfig) in _osd_dm6446_vid0_pingpong() argument
151 if (!field_inversion || !lconfig->interlaced) { in _osd_dm6446_vid0_pingpong()
161 (fb_base_phys & ~0x1F) - lconfig->line_length, in _osd_dm6446_vid0_pingpong()
164 (fb_base_phys & ~0x1F) + lconfig->line_length, in _osd_dm6446_vid0_pingpong()
527 struct osd_layer_config *cfg = &win->lconfig; in osd_enable_layer()
637 cbcr_offset_32 = win->lconfig.line_length * in _osd_start_layer()
638 win->lconfig.ysize; in _osd_start_layer()
646 if (win->lconfig.pixfmt == PIXFMT_NV12) { in _osd_start_layer()
699 if (win->lconfig.pixfmt != PIXFMT_NV12) { in _osd_start_layer()
729 if (win->lconfig.pixfmt != PIXFMT_NV12) { in _osd_start_layer()
754 struct osd_layer_config *cfg = &win->lconfig; in osd_start_layer()
773 struct osd_layer_config *lconfig) in osd_get_layer_config() argument
781 *lconfig = win->lconfig; in osd_get_layer_config()
799 struct osd_layer_config *lconfig) in try_layer_config() argument
806 switch (lconfig->pixfmt) { in try_layer_config()
844 *lconfig = win->lconfig; in try_layer_config()
851 is_osd_win(layer) && is_rgb_pixfmt(lconfig->pixfmt)) { in try_layer_config()
855 pixfmt = osd->win[WIN_OSD1].lconfig.pixfmt; in try_layer_config()
857 pixfmt = osd->win[WIN_OSD0].lconfig.pixfmt; in try_layer_config()
864 *lconfig = win->lconfig; in try_layer_config()
871 lconfig->pixfmt == PIXFMT_RGB888) { in try_layer_config()
875 pixfmt = osd->win[WIN_VID1].lconfig.pixfmt; in try_layer_config()
877 pixfmt = osd->win[WIN_VID0].lconfig.pixfmt; in try_layer_config()
884 *lconfig = win->lconfig; in try_layer_config()
890 if (!lconfig->line_length || !lconfig->xsize || !lconfig->ysize) { in try_layer_config()
891 *lconfig = win->lconfig; in try_layer_config()
896 lconfig->line_length = ((lconfig->line_length + 31) / 32) * 32; in try_layer_config()
897 lconfig->line_length = in try_layer_config()
898 min(lconfig->line_length, (unsigned)MAX_LINE_LENGTH); in try_layer_config()
899 lconfig->xsize = min(lconfig->xsize, (unsigned)MAX_WIN_SIZE); in try_layer_config()
900 lconfig->ysize = min(lconfig->ysize, (unsigned)MAX_WIN_SIZE); in try_layer_config()
901 lconfig->xpos = min(lconfig->xpos, (unsigned)MAX_WIN_SIZE); in try_layer_config()
902 lconfig->ypos = min(lconfig->ypos, (unsigned)MAX_WIN_SIZE); in try_layer_config()
903 lconfig->interlaced = (lconfig->interlaced != 0); in try_layer_config()
904 if (lconfig->interlaced) { in try_layer_config()
906 lconfig->ysize &= ~1; in try_layer_config()
907 lconfig->ypos &= ~1; in try_layer_config()
960 const struct osd_layer_config *lconfig) in _osd_set_layer_config() argument
964 _osd_set_cbcr_order(sd, lconfig->pixfmt); in _osd_set_layer_config()
970 if (lconfig->pixfmt == PIXFMT_RGB565) in _osd_set_layer_config()
975 switch (lconfig->pixfmt) { in _osd_set_layer_config()
995 switch (lconfig->pixfmt) { in _osd_set_layer_config()
1013 if (lconfig->interlaced) in _osd_set_layer_config()
1017 osd_write(sd, lconfig->line_length >> 5, OSD_OSDWIN0OFST); in _osd_set_layer_config()
1018 osd_write(sd, lconfig->xpos, OSD_OSDWIN0XP); in _osd_set_layer_config()
1019 osd_write(sd, lconfig->xsize, OSD_OSDWIN0XL); in _osd_set_layer_config()
1020 if (lconfig->interlaced) { in _osd_set_layer_config()
1021 osd_write(sd, lconfig->ypos >> 1, OSD_OSDWIN0YP); in _osd_set_layer_config()
1022 osd_write(sd, lconfig->ysize >> 1, OSD_OSDWIN0YL); in _osd_set_layer_config()
1024 osd_write(sd, lconfig->ypos, OSD_OSDWIN0YP); in _osd_set_layer_config()
1025 osd_write(sd, lconfig->ysize, OSD_OSDWIN0YL); in _osd_set_layer_config()
1030 if (lconfig->interlaced) in _osd_set_layer_config()
1034 osd_write(sd, lconfig->line_length >> 5, OSD_VIDWIN0OFST); in _osd_set_layer_config()
1035 osd_write(sd, lconfig->xpos, OSD_VIDWIN0XP); in _osd_set_layer_config()
1036 osd_write(sd, lconfig->xsize, OSD_VIDWIN0XL); in _osd_set_layer_config()
1042 (lconfig->pixfmt == PIXFMT_NV12)) { in _osd_set_layer_config()
1044 if (lconfig->interlaced) { in _osd_set_layer_config()
1053 osd_write(sd, lconfig->line_length >> 5, in _osd_set_layer_config()
1055 osd_write(sd, lconfig->xpos, OSD_VIDWIN1XP); in _osd_set_layer_config()
1056 osd_write(sd, lconfig->xsize, OSD_VIDWIN1XL); in _osd_set_layer_config()
1062 if (lconfig->xsize % 32) { in _osd_set_layer_config()
1064 ((lconfig->xsize + 31) & ~31), in _osd_set_layer_config()
1067 ((lconfig->xsize + 31) & ~31), in _osd_set_layer_config()
1071 (lconfig->pixfmt != PIXFMT_NV12)) { in _osd_set_layer_config()
1076 if (lconfig->interlaced) { in _osd_set_layer_config()
1077 osd_write(sd, lconfig->ypos >> 1, OSD_VIDWIN0YP); in _osd_set_layer_config()
1078 osd_write(sd, lconfig->ysize >> 1, OSD_VIDWIN0YL); in _osd_set_layer_config()
1080 lconfig->pixfmt == PIXFMT_NV12) { in _osd_set_layer_config()
1081 osd_write(sd, lconfig->ypos >> 1, in _osd_set_layer_config()
1083 osd_write(sd, lconfig->ysize >> 1, in _osd_set_layer_config()
1087 osd_write(sd, lconfig->ypos, OSD_VIDWIN0YP); in _osd_set_layer_config()
1088 osd_write(sd, lconfig->ysize, OSD_VIDWIN0YL); in _osd_set_layer_config()
1090 lconfig->pixfmt == PIXFMT_NV12) { in _osd_set_layer_config()
1091 osd_write(sd, lconfig->ypos, OSD_VIDWIN1YP); in _osd_set_layer_config()
1092 osd_write(sd, lconfig->ysize, OSD_VIDWIN1YL); in _osd_set_layer_config()
1102 if (lconfig->pixfmt == PIXFMT_OSD_ATTR) { in _osd_set_layer_config()
1115 if (lconfig->pixfmt == PIXFMT_RGB565) in _osd_set_layer_config()
1120 switch (lconfig->pixfmt) { in _osd_set_layer_config()
1142 switch (lconfig->pixfmt) { in _osd_set_layer_config()
1162 if (lconfig->interlaced) in _osd_set_layer_config()
1166 osd_write(sd, lconfig->line_length >> 5, OSD_OSDWIN1OFST); in _osd_set_layer_config()
1167 osd_write(sd, lconfig->xpos, OSD_OSDWIN1XP); in _osd_set_layer_config()
1168 osd_write(sd, lconfig->xsize, OSD_OSDWIN1XL); in _osd_set_layer_config()
1169 if (lconfig->interlaced) { in _osd_set_layer_config()
1170 osd_write(sd, lconfig->ypos >> 1, OSD_OSDWIN1YP); in _osd_set_layer_config()
1171 osd_write(sd, lconfig->ysize >> 1, OSD_OSDWIN1YL); in _osd_set_layer_config()
1173 osd_write(sd, lconfig->ypos, OSD_OSDWIN1YP); in _osd_set_layer_config()
1174 osd_write(sd, lconfig->ysize, OSD_OSDWIN1YL); in _osd_set_layer_config()
1179 if (lconfig->interlaced) in _osd_set_layer_config()
1183 osd_write(sd, lconfig->line_length >> 5, OSD_VIDWIN1OFST); in _osd_set_layer_config()
1184 osd_write(sd, lconfig->xpos, OSD_VIDWIN1XP); in _osd_set_layer_config()
1185 osd_write(sd, lconfig->xsize, OSD_VIDWIN1XL); in _osd_set_layer_config()
1191 if (lconfig->pixfmt == PIXFMT_NV12) { in _osd_set_layer_config()
1193 if (lconfig->interlaced) { in _osd_set_layer_config()
1201 osd_write(sd, lconfig->line_length >> 5, in _osd_set_layer_config()
1203 osd_write(sd, lconfig->xpos, OSD_VIDWIN0XP); in _osd_set_layer_config()
1204 osd_write(sd, lconfig->xsize, OSD_VIDWIN0XL); in _osd_set_layer_config()
1211 if (lconfig->interlaced) { in _osd_set_layer_config()
1212 osd_write(sd, lconfig->ypos >> 1, OSD_VIDWIN1YP); in _osd_set_layer_config()
1213 osd_write(sd, lconfig->ysize >> 1, OSD_VIDWIN1YL); in _osd_set_layer_config()
1215 lconfig->pixfmt == PIXFMT_NV12) { in _osd_set_layer_config()
1216 osd_write(sd, lconfig->ypos >> 1, in _osd_set_layer_config()
1218 osd_write(sd, lconfig->ysize >> 1, in _osd_set_layer_config()
1222 osd_write(sd, lconfig->ypos, OSD_VIDWIN1YP); in _osd_set_layer_config()
1223 osd_write(sd, lconfig->ysize, OSD_VIDWIN1YL); in _osd_set_layer_config()
1225 lconfig->pixfmt == PIXFMT_NV12) { in _osd_set_layer_config()
1226 osd_write(sd, lconfig->ypos, OSD_VIDWIN0YP); in _osd_set_layer_config()
1227 osd_write(sd, lconfig->ysize, OSD_VIDWIN0YL); in _osd_set_layer_config()
1235 struct osd_layer_config *lconfig) in osd_set_layer_config() argument
1239 struct osd_layer_config *cfg = &win->lconfig; in osd_set_layer_config()
1245 reject_config = try_layer_config(sd, layer, lconfig); in osd_set_layer_config()
1252 if (is_yc_pixfmt(lconfig->pixfmt)) in osd_set_layer_config()
1253 osd->yc_pixfmt = lconfig->pixfmt; in osd_set_layer_config()
1260 if (((lconfig->pixfmt == PIXFMT_OSD_ATTR) && in osd_set_layer_config()
1262 ((lconfig->pixfmt != PIXFMT_OSD_ATTR) && in osd_set_layer_config()
1269 _osd_set_layer_config(sd, layer, lconfig); in osd_set_layer_config()
1275 if ((lconfig->pixfmt != PIXFMT_OSD_ATTR) && in osd_set_layer_config()
1292 lconfig->pixfmt); in osd_set_layer_config()
1298 } else if ((lconfig->pixfmt == PIXFMT_OSD_ATTR) && in osd_set_layer_config()
1314 if ((lconfig->pixfmt != cfg->pixfmt) && in osd_set_layer_config()
1315 ((lconfig->pixfmt == PIXFMT_1BPP) || in osd_set_layer_config()
1316 (lconfig->pixfmt == PIXFMT_2BPP) || in osd_set_layer_config()
1317 (lconfig->pixfmt == PIXFMT_4BPP))) { in osd_set_layer_config()
1325 switch (lconfig->pixfmt) { in osd_set_layer_config()
1348 lconfig->pixfmt); in osd_set_layer_config()
1353 *cfg = *lconfig; in osd_set_layer_config()
1355 if (osd->win[WIN_VID0].lconfig.pixfmt == PIXFMT_RGB888) in osd_set_layer_config()
1357 else if (osd->win[WIN_VID1].lconfig.pixfmt == PIXFMT_RGB888) in osd_set_layer_config()
1380 struct osd_layer_config *cfg = &win->lconfig; in osd_init_layer()