• Home
  • Raw
  • Download

Lines Matching +full:rockchip +full:- +full:display

1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) Fuzhou Rockchip Electronics Co.Ltd
5 * Sandy Huang <hjc@rock-chips.com>
9 #include <linux/media-bus-format.h>
12 #include <drm/display/drm_dp_helper.h>
39 struct drm_connector *connector = conn_state->connector; in rockchip_rgb_encoder_atomic_check()
40 struct drm_display_info *info = &connector->display_info; in rockchip_rgb_encoder_atomic_check()
43 if (info->num_bus_formats) in rockchip_rgb_encoder_atomic_check()
44 bus_format = info->bus_formats[0]; in rockchip_rgb_encoder_atomic_check()
50 s->output_mode = ROCKCHIP_OUT_MODE_P666; in rockchip_rgb_encoder_atomic_check()
53 s->output_mode = ROCKCHIP_OUT_MODE_P565; in rockchip_rgb_encoder_atomic_check()
58 s->output_mode = ROCKCHIP_OUT_MODE_P888; in rockchip_rgb_encoder_atomic_check()
62 s->output_type = DRM_MODE_CONNECTOR_LVDS; in rockchip_rgb_encoder_atomic_check()
88 return ERR_PTR(-ENOMEM); in rockchip_rgb_init()
90 rgb->dev = dev; in rockchip_rgb_init()
91 rgb->drm_dev = drm_dev; in rockchip_rgb_init()
93 port = of_graph_get_port_by_id(dev->of_node, video_port); in rockchip_rgb_init()
95 return ERR_PTR(-EINVAL); in rockchip_rgb_init()
106 ret = drm_of_find_panel_or_bridge(dev->of_node, video_port, in rockchip_rgb_init()
121 if (ret != -EPROBE_DEFER) in rockchip_rgb_init()
126 encoder = &rgb->encoder.encoder; in rockchip_rgb_init()
127 encoder->possible_crtcs = drm_crtc_mask(crtc); in rockchip_rgb_init()
131 DRM_DEV_ERROR(drm_dev->dev, in rockchip_rgb_init()
145 rgb->bridge = bridge; in rockchip_rgb_init()
147 ret = drm_bridge_attach(encoder, rgb->bridge, NULL, in rockchip_rgb_init()
152 connector = &rgb->connector; in rockchip_rgb_init()
153 connector = drm_bridge_connector_init(rgb->drm_dev, encoder); in rockchip_rgb_init()
155 DRM_DEV_ERROR(drm_dev->dev, in rockchip_rgb_init()
162 rgb->encoder.crtc_endpoint_id = endpoint_id; in rockchip_rgb_init()
166 DRM_DEV_ERROR(drm_dev->dev, in rockchip_rgb_init()
183 drm_panel_bridge_remove(rgb->bridge); in rockchip_rgb_fini()
184 drm_connector_cleanup(&rgb->connector); in rockchip_rgb_fini()
185 drm_encoder_cleanup(&rgb->encoder.encoder); in rockchip_rgb_fini()