Merge branch 'for-linus' of git://neil.brown.name/md
[pandora-kernel.git] / drivers / gpu / drm / exynos / exynos_drm_drv.h
index 832b650..c03683f 100644 (file)
@@ -63,18 +63,25 @@ struct exynos_drm_overlay_ops {
 /*
  * Exynos drm common overlay structure.
  *
- * @offset_x: offset to x position.
- * @offset_y: offset to y position.
- * @width: window width.
- * @height: window height.
+ * @fb_x: offset x on a framebuffer to be displayed.
+ *     - the unit is screen coordinates.
+ * @fb_y: offset y on a framebuffer to be displayed.
+ *     - the unit is screen coordinates.
+ * @fb_width: width of a framebuffer.
+ * @fb_height: height of a framebuffer.
+ * @crtc_x: offset x on hardware screen.
+ * @crtc_y: offset y on hardware screen.
+ * @crtc_width: window width to be displayed (hardware screen).
+ * @crtc_height: window height to be displayed (hardware screen).
+ * @mode_width: width of screen mode.
+ * @mode_height: height of screen mode.
+ * @refresh: refresh rate.
+ * @scan_flag: interlace or progressive way.
+ *     (it could be DRM_MODE_FLAG_*)
  * @bpp: pixel size.(in bit)
  * @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.
- * @buf_offsize: this value has result from
- *                     (framebuffer width - display width) * bpp.
- * @line_size: line size to this overlay memory in bytes.
  * @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
@@ -87,16 +94,22 @@ struct exynos_drm_overlay_ops {
  * to hardware specific overlay info.
  */
 struct exynos_drm_overlay {
-       unsigned int offset_x;
-       unsigned int offset_y;
-       unsigned int width;
-       unsigned int height;
+       unsigned int fb_x;
+       unsigned int fb_y;
+       unsigned int fb_width;
+       unsigned int fb_height;
+       unsigned int crtc_x;
+       unsigned int crtc_y;
+       unsigned int crtc_width;
+       unsigned int crtc_height;
+       unsigned int mode_width;
+       unsigned int mode_height;
+       unsigned int refresh;
+       unsigned int scan_flag;
        unsigned int bpp;
+       unsigned int pitch;
        dma_addr_t paddr;
        void __iomem *vaddr;
-       unsigned int buf_off;
-       unsigned int buf_offsize;
-       unsigned int line_size;
 
        bool default_win;
        bool color_key;
@@ -110,7 +123,7 @@ struct exynos_drm_overlay {
  * Exynos DRM Display Structure.
  *     - this structure is common to analog tv, digital tv and lcd panel.
  *
- * @type: one of exynos_DISPLAY_TYPE_LCD and HDMI.
+ * @type: one of EXYNOS_DISPLAY_TYPE_LCD and HDMI.
  * @is_connected: check for that display is connected or not.
  * @get_edid: get edid modes from display driver.
  * @get_timing: get timing object from display driver.
@@ -174,9 +187,8 @@ struct exynos_drm_manager {
 struct exynos_drm_private {
        struct drm_fb_helper *fb_helper;
 
-       /* for pageflip */
+       /* list head for new event to be added. */
        struct list_head pageflip_event_list;
-       bool pageflip_event;
 
        /*
         * created crtc object would be contained at this array and
@@ -204,7 +216,7 @@ struct exynos_drm_subdrv {
        struct list_head list;
        struct drm_device *drm_dev;
 
-       int (*probe)(struct drm_device *dev);
+       int (*probe)(struct drm_device *drm_dev, struct device *dev);
        void (*remove)(struct drm_device *dev);
 
        struct exynos_drm_manager manager;