Lines Matching refs:ctx

40 static int lg4573_spi_write_u16(struct lg4573 *ctx, u16 data)  in lg4573_spi_write_u16()  argument
48 dev_dbg(ctx->panel.dev, "writing data: %x\n", data); in lg4573_spi_write_u16()
53 return spi_sync(ctx->spi, &msg); in lg4573_spi_write_u16()
56 static int lg4573_spi_write_u16_array(struct lg4573 *ctx, const u16 *buffer, in lg4573_spi_write_u16_array() argument
63 ret = lg4573_spi_write_u16(ctx, buffer[i]); in lg4573_spi_write_u16_array()
71 static int lg4573_spi_write_dcs(struct lg4573 *ctx, u8 dcs) in lg4573_spi_write_dcs() argument
73 return lg4573_spi_write_u16(ctx, (0x70 << 8 | dcs)); in lg4573_spi_write_dcs()
76 static int lg4573_display_on(struct lg4573 *ctx) in lg4573_display_on() argument
80 ret = lg4573_spi_write_dcs(ctx, MIPI_DCS_EXIT_SLEEP_MODE); in lg4573_display_on()
86 return lg4573_spi_write_dcs(ctx, MIPI_DCS_SET_DISPLAY_ON); in lg4573_display_on()
89 static int lg4573_display_off(struct lg4573 *ctx) in lg4573_display_off() argument
93 ret = lg4573_spi_write_dcs(ctx, MIPI_DCS_SET_DISPLAY_OFF); in lg4573_display_off()
99 return lg4573_spi_write_dcs(ctx, MIPI_DCS_ENTER_SLEEP_MODE); in lg4573_display_off()
102 static int lg4573_display_mode_settings(struct lg4573 *ctx) in lg4573_display_mode_settings() argument
115 dev_dbg(ctx->panel.dev, "transfer display mode settings\n"); in lg4573_display_mode_settings()
116 return lg4573_spi_write_u16_array(ctx, display_mode_settings, in lg4573_display_mode_settings()
120 static int lg4573_power_settings(struct lg4573 *ctx) in lg4573_power_settings() argument
131 dev_dbg(ctx->panel.dev, "transfer power settings\n"); in lg4573_power_settings()
132 return lg4573_spi_write_u16_array(ctx, power_settings, in lg4573_power_settings()
136 static int lg4573_gamma_settings(struct lg4573 *ctx) in lg4573_gamma_settings() argument
156 dev_dbg(ctx->panel.dev, "transfer gamma settings\n"); in lg4573_gamma_settings()
157 return lg4573_spi_write_u16_array(ctx, gamma_settings, in lg4573_gamma_settings()
161 static int lg4573_init(struct lg4573 *ctx) in lg4573_init() argument
165 dev_dbg(ctx->panel.dev, "initializing LCD\n"); in lg4573_init()
167 ret = lg4573_display_mode_settings(ctx); in lg4573_init()
171 ret = lg4573_power_settings(ctx); in lg4573_init()
175 return lg4573_gamma_settings(ctx); in lg4573_init()
178 static int lg4573_power_on(struct lg4573 *ctx) in lg4573_power_on() argument
180 return lg4573_display_on(ctx); in lg4573_power_on()
185 struct lg4573 *ctx = panel_to_lg4573(panel); in lg4573_disable() local
187 return lg4573_display_off(ctx); in lg4573_disable()
192 struct lg4573 *ctx = panel_to_lg4573(panel); in lg4573_enable() local
194 lg4573_init(ctx); in lg4573_enable()
196 return lg4573_power_on(ctx); in lg4573_enable()
244 struct lg4573 *ctx; in lg4573_probe() local
247 ctx = devm_kzalloc(&spi->dev, sizeof(*ctx), GFP_KERNEL); in lg4573_probe()
248 if (!ctx) in lg4573_probe()
251 ctx->spi = spi; in lg4573_probe()
253 spi_set_drvdata(spi, ctx); in lg4573_probe()
262 drm_panel_init(&ctx->panel); in lg4573_probe()
263 ctx->panel.dev = &spi->dev; in lg4573_probe()
264 ctx->panel.funcs = &lg4573_drm_funcs; in lg4573_probe()
266 return drm_panel_add(&ctx->panel); in lg4573_probe()
271 struct lg4573 *ctx = spi_get_drvdata(spi); in lg4573_remove() local
273 lg4573_display_off(ctx); in lg4573_remove()
274 drm_panel_remove(&ctx->panel); in lg4573_remove()