diff options
Diffstat (limited to 'drivers/staging/gma500/mdfld_dsi_dbi_dpu.h')
-rw-r--r-- | drivers/staging/gma500/mdfld_dsi_dbi_dpu.h | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/drivers/staging/gma500/mdfld_dsi_dbi_dpu.h b/drivers/staging/gma500/mdfld_dsi_dbi_dpu.h deleted file mode 100644 index 42367ed..0000000 --- a/drivers/staging/gma500/mdfld_dsi_dbi_dpu.h +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright © 2010 Intel Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * jim liu <jim.liu@intel.com> - * Jackie Li<yaodong.li@intel.com> - */ - -#ifndef __MDFLD_DSI_DBI_DPU_H__ -#define __MDFLD_DSI_DBI_DPU_H__ - -#include "mdfld_dsi_dbi.h" - -typedef enum { - MDFLD_PLANEA, - MDFLD_PLANEC, - MDFLD_CURSORA, - MDFLD_CURSORC, - MDFLD_OVERLAYA, - MDFLD_OVERLAYC, - MDFLD_PLANE_NUM, -} mdfld_plane_t; - -#define MDFLD_PIPEA_PLANE_MASK 0x15 -#define MDFLD_PIPEC_PLANE_MASK 0x2A - -struct mdfld_cursor_info { - int x, y; - int size; -}; - -#define MDFLD_CURSOR_SIZE 64 - -/* - * enter DSR mode if screen has no update for 2 frames. - */ -#define MDFLD_MAX_IDLE_COUNT 2 - -struct mdfld_dbi_dpu_info { - struct drm_device *dev; - /* Lock */ - spinlock_t dpu_update_lock; - - /* Cursor postion */ - struct mdfld_cursor_info cursors[2]; - - /* Damaged area for each plane */ - struct psb_drm_dpu_rect damaged_rects[MDFLD_PLANE_NUM]; - - /* Final damaged area */ - struct psb_drm_dpu_rect damage_pipea; - struct psb_drm_dpu_rect damage_pipec; - - /* Pending */ - u32 pending; - - /* DPU timer */ - struct timer_list dpu_timer; - spinlock_t dpu_timer_lock; - - /* DPU idle count */ - u32 idle_count; - - /* DSI outputs */ - struct mdfld_dsi_dbi_output *dbi_outputs[2]; - int dbi_output_num; -}; - -static inline int mdfld_dpu_region_extent(struct psb_drm_dpu_rect *origin, - struct psb_drm_dpu_rect *rect) -{ - int x1, y1, x2, y2; - - x1 = origin->x + origin->width; - y1 = origin->y + origin->height; - - x2 = rect->x + rect->width; - y2 = rect->y + rect->height; - - origin->x = min(origin->x, rect->x); - origin->y = min(origin->y, rect->y); - origin->width = max(x1, x2) - origin->x; - origin->height = max(y1, y2) - origin->y; - - return 0; -} - -static inline void mdfld_check_boundary(struct mdfld_dbi_dpu_info *dpu_info, - struct psb_drm_dpu_rect *rect) -{ - if (rect->x < 0) - rect->x = 0; - if (rect->y < 0) - rect->y = 0; - - if (rect->x + rect->width > 864) - rect->width = 864 - rect->x; - if (rect->y + rect->height > 480) - rect->height = 480 - rect->height; - - if (!rect->width) - rect->width = 1; - if (!rect->height) - rect->height = 1; -} - -static inline void mdfld_dpu_init_damage(struct mdfld_dbi_dpu_info *dpu_info, - int pipe) -{ - struct psb_drm_dpu_rect *rect; - - if (pipe == 0) - rect = &dpu_info->damage_pipea; - else - rect = &dpu_info->damage_pipec; - - rect->x = 864; - rect->y = 480; - rect->width = -864; - rect->height = -480; -} - -extern int mdfld_dsi_dbi_dsr_off(struct drm_device *dev, - struct psb_drm_dpu_rect *rect); -extern int mdfld_dbi_dpu_report_damage(struct drm_device *dev, - mdfld_plane_t plane, - struct psb_drm_dpu_rect *rect); -extern int mdfld_dbi_dpu_report_fullscreen_damage(struct drm_device *dev); -extern int mdfld_dpu_exit_dsr(struct drm_device *dev); -extern void mdfld_dbi_dpu_timer_start(struct mdfld_dbi_dpu_info *dpu_info); -extern int mdfld_dbi_dpu_init(struct drm_device *dev); -extern void mdfld_dbi_dpu_exit(struct drm_device *dev); -extern void mdfld_dpu_update_panel(struct drm_device *dev); - -#endif /*__MDFLD_DSI_DBI_DPU_H__*/ |