Lines Matching refs:dbidev

240 static void mipi_dbi_set_window_address(struct mipi_dbi_dev *dbidev,
244 struct mipi_dbi *dbi = &dbidev->dbi;
246 xs += dbidev->left_offset;
247 xe += dbidev->left_offset;
248 ys += dbidev->top_offset;
249 ye += dbidev->top_offset;
261 struct mipi_dbi_dev *dbidev = drm_to_mipi_dbi_dev(fb->dev);
264 struct mipi_dbi *dbi = &dbidev->dbi;
282 tr = dbidev->tx_buf;
283 ret = mipi_dbi_buf_copy(dbidev->tx_buf, fb, rect, swap);
290 mipi_dbi_set_window_address(dbidev, rect->x1, rect->x2 - 1, rect->y1,
326 * @dbidev: MIPI DBI device structure
337 void mipi_dbi_enable_flush(struct mipi_dbi_dev *dbidev,
350 if (!drm_dev_enter(&dbidev->drm, &idx))
354 backlight_enable(dbidev->backlight);
360 static void mipi_dbi_blank(struct mipi_dbi_dev *dbidev)
362 struct drm_device *drm = &dbidev->drm;
365 struct mipi_dbi *dbi = &dbidev->dbi;
372 memset(dbidev->tx_buf, 0, len);
374 mipi_dbi_set_window_address(dbidev, 0, width - 1, 0, height - 1);
376 (u8 *)dbidev->tx_buf, len);
391 struct mipi_dbi_dev *dbidev = drm_to_mipi_dbi_dev(pipe->crtc.dev);
395 if (dbidev->backlight)
396 backlight_disable(dbidev->backlight);
398 mipi_dbi_blank(dbidev);
400 if (dbidev->regulator)
401 regulator_disable(dbidev->regulator);
407 struct mipi_dbi_dev *dbidev = drm_to_mipi_dbi_dev(connector->dev);
410 mode = drm_mode_duplicate(connector->dev, &dbidev->mode);
472 * @dbidev: MIPI DBI device structure to initialize
493 int mipi_dbi_dev_init_with_formats(struct mipi_dbi_dev *dbidev,
503 struct drm_device *drm = &dbidev->drm;
506 if (!dbidev->dbi.command)
513 dbidev->tx_buf = devm_kmalloc(drm->dev, tx_buf_size, GFP_KERNEL);
514 if (!dbidev->tx_buf)
517 drm_mode_copy(&dbidev->mode, mode);
518 ret = mipi_dbi_rotate_mode(&dbidev->mode, rotation);
524 drm_connector_helper_add(&dbidev->connector, &mipi_dbi_connector_hfuncs);
525 ret = drm_connector_init(drm, &dbidev->connector, &mipi_dbi_connector_funcs,
530 ret = drm_simple_display_pipe_init(drm, &dbidev->pipe, funcs, formats, format_count,
531 modifiers, &dbidev->connector);
535 drm_plane_enable_fb_damage_clips(&dbidev->pipe.plane);
538 drm->mode_config.min_width = dbidev->mode.hdisplay;
539 drm->mode_config.max_width = dbidev->mode.hdisplay;
540 drm->mode_config.min_height = dbidev->mode.vdisplay;
541 drm->mode_config.max_height = dbidev->mode.vdisplay;
542 dbidev->rotation = rotation;
552 * @dbidev: MIPI DBI device structure to initialize
567 int mipi_dbi_dev_init(struct mipi_dbi_dev *dbidev,
573 dbidev->drm.mode_config.preferred_depth = 16;
575 return mipi_dbi_dev_init_with_formats(dbidev, funcs, mipi_dbi_formats,
631 static int mipi_dbi_poweron_reset_conditional(struct mipi_dbi_dev *dbidev, bool cond)
633 struct device *dev = dbidev->drm.dev;
634 struct mipi_dbi *dbi = &dbidev->dbi;
637 if (dbidev->regulator) {
638 ret = regulator_enable(dbidev->regulator);
652 if (dbidev->regulator)
653 regulator_disable(dbidev->regulator);
672 * @dbidev: MIPI DBI device structure
680 int mipi_dbi_poweron_reset(struct mipi_dbi_dev *dbidev)
682 return mipi_dbi_poweron_reset_conditional(dbidev, false);
688 * @dbidev: MIPI DBI device structure
698 int mipi_dbi_poweron_conditional_reset(struct mipi_dbi_dev *dbidev)
700 return mipi_dbi_poweron_reset_conditional(dbidev, true);
1175 struct mipi_dbi_dev *dbidev = m->private;
1180 if (!drm_dev_enter(&dbidev->drm, &idx))
1219 ret = mipi_dbi_command_buf(&dbidev->dbi, cmd, parameters, i);
1231 struct mipi_dbi_dev *dbidev = m->private;
1232 struct mipi_dbi *dbi = &dbidev->dbi;
1237 if (!drm_dev_enter(&dbidev->drm, &idx))
1301 struct mipi_dbi_dev *dbidev = drm_to_mipi_dbi_dev(minor->dev);
1304 if (dbidev->dbi.read_commands)
1306 debugfs_create_file("command", mode, minor->debugfs_root, dbidev,