struct exynos_drm_panel_info *panel)
{
struct fb_videomode *timing = &panel->timing;
- DRM_DEBUG_KMS("%s\n", __FILE__);
+ DRM_DEBUG_KMS("[MODE:%d:%s]\n", DRM_BASE_ID(mode), mode->name);
mode->clock = timing->pixclock / 1000;
mode->vrefresh = timing->refresh;
convert_to_video_timing(struct fb_videomode *timing,
struct drm_display_mode *mode)
{
- DRM_DEBUG_KMS("%s\n", __FILE__);
+ DRM_DEBUG_KMS("[MODE:%d:%s]\n", DRM_BASE_ID(mode), mode->name);
memset(timing, 0, sizeof(*timing));
int ret;
struct edid *edid;
+ DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", DRM_BASE_ID(connector),
+ drm_get_connector_name(connector));
+
if (!display->panel_ops->get_edid)
return -EINVAL;
struct drm_display_mode *mode;
struct exynos_drm_panel_info *panel;
+ DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", DRM_BASE_ID(connector),
+ drm_get_connector_name(connector));
+
if (!display->controller_ops->get_panel)
return -EINVAL;
{
int ret;
- DRM_DEBUG_KMS("%s\n", __FILE__);
+ DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", DRM_BASE_ID(connector),
+ drm_get_connector_name(connector));
/*
* First try getting modes from EDID. If that doesn't yield any results,
struct fb_videomode timing;
int ret = MODE_BAD;
- DRM_DEBUG_KMS("%s\n", __FILE__);
+ DRM_DEBUG_KMS("[CONNECTOR:%d:%s] [MODE:%d:%s]\n",
+ DRM_BASE_ID(connector),
+ drm_get_connector_name(connector), DRM_BASE_ID(mode),
+ mode->name);
convert_to_video_timing(&timing, mode);
struct drm_mode_object *obj;
struct drm_encoder *encoder;
- DRM_DEBUG_KMS("%s\n", __FILE__);
+ DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", DRM_BASE_ID(connector),
+ drm_get_connector_name(connector));
obj = drm_mode_object_find(dev, exynos_connector->encoder_id,
DRM_MODE_OBJECT_ENCODER);
encoder = obj_to_encoder(obj);
+ DRM_DEBUG_KMS("[CONNECTOR:%d:%s] == [ENCODER:%d:%s]\n",
+ DRM_BASE_ID(connector),
+ drm_get_connector_name(connector),
+ DRM_BASE_ID(encoder), drm_get_encoder_name(encoder));
+
return encoder;
}
unsigned int max_width, unsigned int max_height)
{
struct exynos_drm_display *display = display_from_connector(connector);
+ int ret;
unsigned int width, height;
+ DRM_DEBUG_KMS("[CONNECTOR:%d:%s] %d x %d\n", DRM_BASE_ID(connector),
+ drm_get_connector_name(connector), max_width,
+ max_height);
+
width = max_width;
height = max_height;
display->panel_ops->get_max_res(display->panel_ctx, &width,
&height);
- return drm_helper_probe_single_connector_modes(connector, width,
+ ret = drm_helper_probe_single_connector_modes(connector, width,
height);
+ if (ret < 0) {
+ DRM_ERROR("Failed to probe connector modes ret=%d\n", ret);
+ return ret;
+ }
+
+ if (display->controller_ops->adjust_modes)
+ display->controller_ops->adjust_modes(display->controller_ctx,
+ connector);
+
+ return ret;
}
/* get detection status of display device. */
struct exynos_drm_display *display = display_from_connector(connector);
enum drm_connector_status status;
- DRM_DEBUG_KMS("%s\n", __FILE__);
-
if (display->panel_ops->is_connected &&
display->panel_ops->is_connected(display->panel_ctx))
status = connector_status_connected;
else
status = connector_status_disconnected;
+ DRM_DEBUG_KMS("[CONNECTOR:%d:%s] force: %d == %s\n",
+ DRM_BASE_ID(connector),
+ drm_get_connector_name(connector), force,
+ drm_get_connector_status_name(status));
+
return status;
}
struct exynos_drm_connector *exynos_connector =
to_exynos_connector(connector);
- DRM_DEBUG_KMS("%s\n", __FILE__);
+ DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", DRM_BASE_ID(connector),
+ drm_get_connector_name(connector));
drm_sysfs_connector_remove(connector);
drm_connector_cleanup(connector);
int type;
int err;
- DRM_DEBUG_KMS("%s\n", __FILE__);
+ DRM_DEBUG_KMS("[DEV:%s] [ENCODER:%d:%s]\n", dev->devname,
+ DRM_BASE_ID(encoder), drm_get_encoder_name(encoder));
exynos_connector = kzalloc(sizeof(*exynos_connector), GFP_KERNEL);
if (!exynos_connector) {
goto err_sysfs;
}
- DRM_DEBUG_KMS("connector has been created\n");
+ DRM_DEBUG_KMS("New [CONNECTOR:%d:%s] attached to [ENCODER:%d:%s]\n",
+ DRM_BASE_ID(connector),
+ drm_get_connector_name(connector),
+ DRM_BASE_ID(encoder), drm_get_encoder_name(encoder));
return connector;