Lines Matching refs:gvi
27 rk628->gvi.lanes = val; in rk628_gvi_parse()
30 rk628->gvi.division_mode = true; in rk628_gvi_parse()
32 rk628->gvi.division_mode = false; in rk628_gvi_parse()
35 rk628->gvi.frm_rst = true; in rk628_gvi_parse()
37 rk628->gvi.frm_rst = false; in rk628_gvi_parse()
41 rk628->gvi.bus_format = GVI_MEDIA_BUS_FMT_RGB666_1X18; in rk628_gvi_parse()
43 rk628->gvi.bus_format = GVI_MEDIA_BUS_FMT_RGB101010_1X30; in rk628_gvi_parse()
45 rk628->gvi.bus_format = GVI_MEDIA_BUS_FMT_YUYV8_1X16; in rk628_gvi_parse()
47 rk628->gvi.bus_format = GVI_MEDIA_BUS_FMT_YUYV10_1X20; in rk628_gvi_parse()
49 rk628->gvi.bus_format = GVI_MEDIA_BUS_FMT_RGB888_1X24; in rk628_gvi_parse()
59 static void rk628_gvi_get_info(struct rk628_gvi *gvi) in rk628_gvi_get_info() argument
61 switch (gvi->bus_format) { in rk628_gvi_get_info()
63 gvi->byte_mode = 3; in rk628_gvi_get_info()
64 gvi->color_depth = COLOR_DEPTH_RGB_YUV444_18BIT; in rk628_gvi_get_info()
67 gvi->byte_mode = 4; in rk628_gvi_get_info()
68 gvi->color_depth = COLOR_DEPTH_RGB_YUV444_24BIT; in rk628_gvi_get_info()
71 gvi->byte_mode = 4; in rk628_gvi_get_info()
72 gvi->color_depth = COLOR_DEPTH_RGB_YUV444_30BIT; in rk628_gvi_get_info()
75 gvi->byte_mode = 3; in rk628_gvi_get_info()
76 gvi->color_depth = COLOR_DEPTH_YUV422_16BIT; in rk628_gvi_get_info()
79 gvi->byte_mode = 3; in rk628_gvi_get_info()
80 gvi->color_depth = COLOR_DEPTH_YUV422_20BIT; in rk628_gvi_get_info()
83 gvi->byte_mode = 3; in rk628_gvi_get_info()
84 gvi->color_depth = COLOR_DEPTH_RGB_YUV444_24BIT; in rk628_gvi_get_info()
85 pr_err("unsupported bus_format: 0x%x\n", gvi->bus_format); in rk628_gvi_get_info()
93 struct rk628_gvi *gvi = &rk628->gvi; in rk628_gvi_get_lane_rate() local
104 total_bw = (u64)gvi->byte_mode * 10 * mode->clock;/* Kbps */ in rk628_gvi_get_lane_rate()
105 do_div(total_bw, gvi->lanes); in rk628_gvi_get_lane_rate()
116 static void rk628_gvi_pre_enable(struct rk628 *rk628, struct rk628_gvi *gvi) in rk628_gvi_pre_enable() argument
126 SYS_CTRL0_LANE_NUM(gvi->lanes - 1)); in rk628_gvi_pre_enable()
128 SYS_CTRL0_BYTE_MODE(gvi->byte_mode == in rk628_gvi_pre_enable()
129 3 ? 0 : (gvi->byte_mode == 4 ? 1 : 2))); in rk628_gvi_pre_enable()
131 SYS_CTRL0_SECTION_NUM(gvi->division_mode)); in rk628_gvi_pre_enable()
133 gvi->division_mode ? SW_SPLIT_EN : 0); in rk628_gvi_pre_enable()
135 gvi->division_mode ? SYS_CTRL1_DUAL_PIXEL_EN : 0); in rk628_gvi_pre_enable()
138 gvi->frm_rst ? SYS_CTRL0_FRM_RST_EN : 0); in rk628_gvi_pre_enable()
143 struct rk628_gvi *gvi) in rk628_gvi_enable_color_bar() argument
159 if (gvi->division_mode) { in rk628_gvi_enable_color_bar()
187 static void rk628_gvi_post_enable(struct rk628 *rk628, struct rk628_gvi *gvi) in rk628_gvi_post_enable() argument
197 struct rk628_gvi *gvi = &rk628->gvi; in rk628_gvi_enable() local
200 rk628_gvi_get_info(gvi); in rk628_gvi_enable()
208 rk628_combtxphy_set_gvi_division_mode(rk628, gvi->division_mode); in rk628_gvi_enable()
212 rk628_gvi_pre_enable(rk628, gvi); in rk628_gvi_enable()
214 rk628_gvi_enable_color_bar(rk628, gvi); in rk628_gvi_enable()
215 rk628_gvi_post_enable(rk628, gvi); in rk628_gvi_enable()
219 rate, gvi->lanes, gvi->byte_mode, gvi->color_depth, in rk628_gvi_enable()
220 gvi->division_mode ? "two" : "one"); in rk628_gvi_enable()