drm/exynos: added comments and code clean.
authorInki Dae <inki.dae@samsung.com>
Fri, 14 Oct 2011 04:29:50 +0000 (13:29 +0900)
committerDave Airlie <airlied@redhat.com>
Tue, 18 Oct 2011 09:01:18 +0000 (10:01 +0100)
this patch adds the following comments and code clean.
- add comment of exynos_drm_crtc_apply() call at page flip time.
- add comment that when exynos_drm_fbdev_reinit() is called,
  why num_connector is 0 and also the framebuffers should be destroyed.
- remove buf_off member from struct exynos_drm_overlay because this member
  isn't used anymore.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/exynos/exynos_drm_crtc.c
drivers/gpu/drm/exynos/exynos_drm_drv.h
drivers/gpu/drm/exynos/exynos_drm_fbdev.c

index 0587b52a18bf5aed10d6d50ce013e51c76c0f708..8cd9d8eec46ea1bd03d6fc21e2b72ff5b9f9df4c 100644 (file)
@@ -279,6 +279,12 @@ static int exynos_drm_crtc_page_flip(struct drm_crtc *crtc,
                        goto out;
                }
 
+               /*
+                * the values related to a buffer of the drm framebuffer
+                * to be applied should be set at here. because these values
+                * first, is set to shadow registers and then to
+                * real registers at vsync front porch period.
+                */
                exynos_drm_crtc_apply(crtc);
 
                dev_priv->pageflip_event = true;
index 002f2925106a375dd70c593979b93e7b5669fadd..63c1422403d86bc2820f61263ed0e6ac05c04bc5 100644 (file)
@@ -82,7 +82,6 @@ struct exynos_drm_overlay_ops {
  * @paddr: bus(accessed by dma) physical memory address to this overlay
  *             and this is physically continuous.
  * @vaddr: virtual memory addresss to this overlay.
- * @buf_off: start offset of framebuffer to be displayed.
  * @default_win: a window to be enabled.
  * @color_key: color key on or off.
  * @index_color: if using color key feature then this value would be used
@@ -111,7 +110,6 @@ struct exynos_drm_overlay {
        unsigned int pitch;
        dma_addr_t paddr;
        void __iomem *vaddr;
-       unsigned int buf_off;
 
        bool default_win;
        bool color_key;
index 4366dc5032ef862c3f96ef0d03ff77255bfb93af..1f4b3d1a77134d46ae193446a2720020dfd745cf 100644 (file)
@@ -393,6 +393,10 @@ int exynos_drm_fbdev_reinit(struct drm_device *dev)
        if (!private)
                return -EINVAL;
 
+       /*
+        * if all sub drivers were unloaded then num_connector is 0
+        * so at this time, the framebuffers also should be destroyed.
+        */
        if (!dev->mode_config.num_connector) {
                exynos_drm_fbdev_fini(dev);
                return 0;
@@ -429,7 +433,7 @@ int exynos_drm_fbdev_reinit(struct drm_device *dev)
                 * re-configure the fb helper. it means that this function
                 * has been called by the specific drivers.
                 */
-               return exynos_drm_fbdev_init(dev);
+               ret = exynos_drm_fbdev_init(dev);
        }
 
        return ret;