int nr;
struct bridge_init bridge;
- DRM_DEBUG_DRIVER("%s\n", __FILE__);
+ DRM_DEBUG("[DEV:%s] flags: 0x%lx\n", dev->devname, flags);
private = kzalloc(sizeof(struct exynos_drm_private), GFP_KERNEL);
if (!private) {
}
for (nr = 0; nr < MAX_PLANE; nr++) {
- ret = exynos_plane_init(dev, nr);
- if (ret)
+ struct drm_plane *plane;
+ unsigned int possible_crtcs =
+ (1 << EXYNOS_DRM_DISPLAY_NUM_DISPLAYS) - 1;
+
+ plane = exynos_plane_init(dev, possible_crtcs, false);
+ if (!plane)
goto err_crtc;
}
ret = find_bridge("ptn3460-bridge", &bridge);
if (ret) {
DRM_ERROR("Could not get PTN3460 bridge %d\n", ret);
- goto err_kds;
+ goto err_vblank;
}
if (bridge.valid) {
ret = ptn3460_init(dev, bridge.client, bridge.node);
if (ret) {
DRM_ERROR("Failed to initialize the ptn bridge\n");
- goto err_kds;
+ goto err_vblank;
}
} else {
ret = find_bridge("ps8622-bridge", &bridge);
if (ret) {
DRM_ERROR("Could not get PS8622 bridge %d\n", ret);
- goto err_kds;
+ goto err_vblank;
}
if (bridge.valid) {
if (ret) {
DRM_ERROR("Failed to initialize the Parade "
"bridge\n");
- goto err_kds;
+ goto err_vblank;
}
}
}
{
struct exynos_drm_private *private = dev->dev_private;
- DRM_DEBUG_DRIVER("%s\n", __FILE__);
+ DRM_DEBUG("[DEV:%s]\n", dev->devname);
exynos_drm_fbdev_fini(dev);
exynos_drm_device_unregister(dev);
{
struct exynos_drm_file_private *file_private;
- DRM_DEBUG_DRIVER("%s\n", __FILE__);
+ DRM_DEBUG("[DEV:%s]\n", dev->devname);
file_private = kzalloc(sizeof(*file_private), GFP_KERNEL);
if (!file_private) {
struct exynos_drm_file_private *file_private = file->driver_priv;
struct exynos_drm_gem_obj_node *cur, *d;
- DRM_DEBUG_DRIVER("%s\n", __FILE__);
+ DRM_DEBUG("[DEV:%s]\n", dev->devname);
mutex_lock(&dev->struct_mutex);
/* release kds resource sets for outstanding GEM object acquires */
static void exynos_drm_postclose(struct drm_device *dev, struct drm_file *file)
{
- DRM_DEBUG_DRIVER("%s\n", __FILE__);
+ DRM_DEBUG("[DEV:%s]\n", dev->devname);
if (!file->driver_priv)
return;
static void exynos_drm_lastclose(struct drm_device *dev)
{
- DRM_DEBUG_DRIVER("%s\n", __FILE__);
+ DRM_DEBUG("[DEV:%s]\n", dev->devname);
exynos_drm_fbdev_restore_mode(dev);
}
DRM_AUTH),
DRM_IOCTL_DEF_DRV(EXYNOS_GEM_MMAP,
exynos_drm_gem_mmap_ioctl, DRM_UNLOCKED | DRM_AUTH),
- DRM_IOCTL_DEF_DRV(EXYNOS_PLANE_SET_ZPOS, exynos_plane_set_zpos_ioctl,
- DRM_UNLOCKED | DRM_AUTH),
DRM_IOCTL_DEF_DRV(EXYNOS_VIDI_CONNECTION,
vidi_connection_ioctl, DRM_UNLOCKED | DRM_AUTH),
DRM_IOCTL_DEF_DRV(EXYNOS_GEM_CPU_ACQUIRE,
struct device *dev = &pdev->dev;
int ret;
- DRM_DEBUG_DRIVER("%s\n", __FILE__);
+ DRM_DEBUG("[PDEV:%s]\n", pdev->name);
#ifdef CONFIG_EXYNOS_IOMMU
if (iommu_init(pdev)) {
{
struct device *dev = &pdev->dev;
- DRM_DEBUG_DRIVER("%s\n", __FILE__);
+ DRM_DEBUG("[PDEV:%s]\n", pdev->name);
pm_vt_switch_unregister(dev);
pm_runtime_disable(dev);
return 0;
}
+const char *exynos_display_type_name(const struct exynos_drm_display *display)
+{
+ switch (display->display_type) {
+ case EXYNOS_DRM_DISPLAY_TYPE_FIMD:
+ return "FIMD";
+ case EXYNOS_DRM_DISPLAY_TYPE_MIXER:
+ return "MIXER";
+ case EXYNOS_DRM_DISPLAY_TYPE_VIDI:
+ return "VIDI";
+ default:
+ return "?";
+ }
+}
+
void exynos_display_attach_panel(enum exynos_drm_display_type type,
struct exynos_panel_ops *ops, void *ctx)
{
{
int ret, i;
- DRM_DEBUG_DRIVER("%s\n", __FILE__);
+ DRM_DEBUG_DRIVER("\n");
for (i = 0; i < EXYNOS_DRM_DISPLAY_NUM_DISPLAYS; i++) {
displays[i] = kzalloc(sizeof(*displays[i]), GFP_KERNEL);
{
int i;
- DRM_DEBUG_DRIVER("%s\n", __FILE__);
+ DRM_DEBUG_DRIVER("\n");
platform_driver_unregister(&exynos_drm_platform_driver);