Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
hwa742.c File Reference
#include <linux/module.h>
#include <linux/mm.h>
#include <linux/fb.h>
#include <linux/delay.h>
#include <linux/clk.h>
#include <linux/interrupt.h>
#include "omapfb.h"

Go to the source code of this file.

Data Structures

struct  update_param
 
struct  hwa742_request
 

Macros

#define HWA742_REV_CODE_REG   0x0
 
#define HWA742_CONFIG_REG   0x2
 
#define HWA742_PLL_DIV_REG   0x4
 
#define HWA742_PLL_0_REG   0x6
 
#define HWA742_PLL_1_REG   0x8
 
#define HWA742_PLL_2_REG   0xa
 
#define HWA742_PLL_3_REG   0xc
 
#define HWA742_PLL_4_REG   0xe
 
#define HWA742_CLK_SRC_REG   0x12
 
#define HWA742_PANEL_TYPE_REG   0x14
 
#define HWA742_H_DISP_REG   0x16
 
#define HWA742_H_NDP_REG   0x18
 
#define HWA742_V_DISP_1_REG   0x1a
 
#define HWA742_V_DISP_2_REG   0x1c
 
#define HWA742_V_NDP_REG   0x1e
 
#define HWA742_HS_W_REG   0x20
 
#define HWA742_HP_S_REG   0x22
 
#define HWA742_VS_W_REG   0x24
 
#define HWA742_VP_S_REG   0x26
 
#define HWA742_PCLK_POL_REG   0x28
 
#define HWA742_INPUT_MODE_REG   0x2a
 
#define HWA742_TRANSL_MODE_REG1   0x2e
 
#define HWA742_DISP_MODE_REG   0x34
 
#define HWA742_WINDOW_TYPE   0x36
 
#define HWA742_WINDOW_X_START_0   0x38
 
#define HWA742_WINDOW_X_START_1   0x3a
 
#define HWA742_WINDOW_Y_START_0   0x3c
 
#define HWA742_WINDOW_Y_START_1   0x3e
 
#define HWA742_WINDOW_X_END_0   0x40
 
#define HWA742_WINDOW_X_END_1   0x42
 
#define HWA742_WINDOW_Y_END_0   0x44
 
#define HWA742_WINDOW_Y_END_1   0x46
 
#define HWA742_MEMORY_WRITE_LSB   0x48
 
#define HWA742_MEMORY_WRITE_MSB   0x49
 
#define HWA742_MEMORY_READ_0   0x4a
 
#define HWA742_MEMORY_READ_1   0x4c
 
#define HWA742_MEMORY_READ_2   0x4e
 
#define HWA742_POWER_SAVE   0x56
 
#define HWA742_NDP_CTRL   0x58
 
#define HWA742_AUTO_UPDATE_TIME   (HZ / 20)
 
#define REQ_POOL_SIZE   24
 
#define IRQ_REQ_POOL_SIZE   4
 
#define REQ_FROM_IRQ_POOL   0x01
 
#define REQ_COMPLETE   0
 
#define REQ_PENDING   1
 
#define ADD_PREQ(_x, _y, _w, _h)
 

Functions

int hwa742_update_window_async (struct fb_info *fbi, struct omapfb_update_window *win, void(*complete_callback)(void *arg), void *complete_callback_data)
 
 EXPORT_SYMBOL (hwa742_update_window_async)
 

Variables

struct {
   enum omapfb_update_mode   update_mode
 
   enum omapfb_update_mode   update_mode_before_suspend
 
   struct timer_list   auto_update_timer
 
   int   stop_auto_update
 
   struct omapfb_update_window   auto_update_window
 
   unsigned   te_connected:1
 
   unsigned   vsync_only:1
 
   struct hwa742_request   req_pool [REQ_POOL_SIZE]
 
   struct list_head   pending_req_list
 
   struct list_head   free_req_list
 
   struct semaphore   req_sema
 
   spinlock_t   req_lock
 
   struct extif_timings reg_timings   lut_timings
 
   int   prev_color_mode
 
   int   prev_flags
 
   int   window_type
 
   u32   max_transmit_size
 
   u32   extif_clk_period
 
   unsigned long   pix_tx_time
 
   unsigned long   line_upd_time
 
   struct omapfb_device *   fbdev
 
   struct lcd_ctrl_extif *   extif
 
   struct lcd_ctrl *   int_ctrl
 
   struct clk *   sys_ck
 
hwa742
 
struct lcd_ctrl hwa742_ctrl
 

Macro Definition Documentation

#define ADD_PREQ (   _x,
  _y,
  _w,
  _h 
)
Value:
do { \
req = alloc_req(); \
req->handler = send_frame_handler; \
req->complete = send_frame_complete; \
req->par.update.x = _x; \
req->par.update.y = _y; \
req->par.update.width = _w; \
req->par.update.height = _h; \
req->par.update.color_mode = color_mode;\
req->par.update.flags = flags; \
list_add_tail(&req->entry, req_head); \
} while(0)

Definition at line 415 of file hwa742.c.

#define HWA742_AUTO_UPDATE_TIME   (HZ / 20)

Definition at line 72 of file hwa742.c.

#define HWA742_CLK_SRC_REG   0x12

Definition at line 40 of file hwa742.c.

#define HWA742_CONFIG_REG   0x2

Definition at line 33 of file hwa742.c.

#define HWA742_DISP_MODE_REG   0x34

Definition at line 54 of file hwa742.c.

#define HWA742_H_DISP_REG   0x16

Definition at line 42 of file hwa742.c.

#define HWA742_H_NDP_REG   0x18

Definition at line 43 of file hwa742.c.

#define HWA742_HP_S_REG   0x22

Definition at line 48 of file hwa742.c.

#define HWA742_HS_W_REG   0x20

Definition at line 47 of file hwa742.c.

#define HWA742_INPUT_MODE_REG   0x2a

Definition at line 52 of file hwa742.c.

#define HWA742_MEMORY_READ_0   0x4a

Definition at line 66 of file hwa742.c.

#define HWA742_MEMORY_READ_1   0x4c

Definition at line 67 of file hwa742.c.

#define HWA742_MEMORY_READ_2   0x4e

Definition at line 68 of file hwa742.c.

#define HWA742_MEMORY_WRITE_LSB   0x48

Definition at line 64 of file hwa742.c.

#define HWA742_MEMORY_WRITE_MSB   0x49

Definition at line 65 of file hwa742.c.

#define HWA742_NDP_CTRL   0x58

Definition at line 70 of file hwa742.c.

#define HWA742_PANEL_TYPE_REG   0x14

Definition at line 41 of file hwa742.c.

#define HWA742_PCLK_POL_REG   0x28

Definition at line 51 of file hwa742.c.

#define HWA742_PLL_0_REG   0x6

Definition at line 35 of file hwa742.c.

#define HWA742_PLL_1_REG   0x8

Definition at line 36 of file hwa742.c.

#define HWA742_PLL_2_REG   0xa

Definition at line 37 of file hwa742.c.

#define HWA742_PLL_3_REG   0xc

Definition at line 38 of file hwa742.c.

#define HWA742_PLL_4_REG   0xe

Definition at line 39 of file hwa742.c.

#define HWA742_PLL_DIV_REG   0x4

Definition at line 34 of file hwa742.c.

#define HWA742_POWER_SAVE   0x56

Definition at line 69 of file hwa742.c.

#define HWA742_REV_CODE_REG   0x0

Definition at line 32 of file hwa742.c.

#define HWA742_TRANSL_MODE_REG1   0x2e

Definition at line 53 of file hwa742.c.

#define HWA742_V_DISP_1_REG   0x1a

Definition at line 44 of file hwa742.c.

#define HWA742_V_DISP_2_REG   0x1c

Definition at line 45 of file hwa742.c.

#define HWA742_V_NDP_REG   0x1e

Definition at line 46 of file hwa742.c.

#define HWA742_VP_S_REG   0x26

Definition at line 50 of file hwa742.c.

#define HWA742_VS_W_REG   0x24

Definition at line 49 of file hwa742.c.

#define HWA742_WINDOW_TYPE   0x36

Definition at line 55 of file hwa742.c.

#define HWA742_WINDOW_X_END_0   0x40

Definition at line 60 of file hwa742.c.

#define HWA742_WINDOW_X_END_1   0x42

Definition at line 61 of file hwa742.c.

#define HWA742_WINDOW_X_START_0   0x38

Definition at line 56 of file hwa742.c.

#define HWA742_WINDOW_X_START_1   0x3a

Definition at line 57 of file hwa742.c.

#define HWA742_WINDOW_Y_END_0   0x44

Definition at line 62 of file hwa742.c.

#define HWA742_WINDOW_Y_END_1   0x46

Definition at line 63 of file hwa742.c.

#define HWA742_WINDOW_Y_START_0   0x3c

Definition at line 58 of file hwa742.c.

#define HWA742_WINDOW_Y_START_1   0x3e

Definition at line 59 of file hwa742.c.

#define IRQ_REQ_POOL_SIZE   4

Definition at line 76 of file hwa742.c.

#define REQ_COMPLETE   0

Definition at line 80 of file hwa742.c.

#define REQ_FROM_IRQ_POOL   0x01

Definition at line 78 of file hwa742.c.

#define REQ_PENDING   1

Definition at line 81 of file hwa742.c.

#define REQ_POOL_SIZE   24

Definition at line 75 of file hwa742.c.

Function Documentation

EXPORT_SYMBOL ( hwa742_update_window_async  )
int hwa742_update_window_async ( struct fb_info fbi,
struct omapfb_update_window win,
void(*)(void *arg complete_callback,
void complete_callback_data 
)

Definition at line 491 of file hwa742.c.

Variable Documentation

struct timer_list auto_update_timer

Definition at line 107 of file hwa742.c.

struct omapfb_update_window auto_update_window

Definition at line 109 of file hwa742.c.

Definition at line 132 of file hwa742.c.

u32 extif_clk_period

Definition at line 126 of file hwa742.c.

Definition at line 131 of file hwa742.c.

struct list_head free_req_list

Definition at line 115 of file hwa742.c.

struct { ... } hwa742
struct lcd_ctrl hwa742_ctrl
Initial value:
= {
.name = "hwa742",
.init = hwa742_init,
.cleanup = hwa742_cleanup,
.bind_client = hwa742_bind_client,
.get_caps = hwa742_get_caps,
.set_update_mode = hwa742_set_update_mode,
.get_update_mode = hwa742_get_update_mode,
.setup_plane = hwa742_setup_plane,
.enable_plane = hwa742_enable_plane,
.update_window = hwa742_update_window_async,
.sync = hwa742_sync,
.suspend = hwa742_suspend,
.resume = hwa742_resume,
}

Definition at line 138 of file hwa742.c.

struct lcd_ctrl* int_ctrl

Definition at line 133 of file hwa742.c.

unsigned long line_upd_time

Definition at line 128 of file hwa742.c.

struct extif_timings reg_timings lut_timings

Definition at line 119 of file hwa742.c.

u32 max_transmit_size

Definition at line 125 of file hwa742.c.

struct list_head pending_req_list

Definition at line 114 of file hwa742.c.

unsigned long pix_tx_time

Definition at line 127 of file hwa742.c.

int prev_color_mode

Definition at line 121 of file hwa742.c.

int prev_flags

Definition at line 122 of file hwa742.c.

spinlock_t req_lock

Definition at line 117 of file hwa742.c.

Definition at line 113 of file hwa742.c.

struct semaphore req_sema

Definition at line 116 of file hwa742.c.

int stop_auto_update

Definition at line 108 of file hwa742.c.

struct clk* sys_ck

Definition at line 135 of file hwa742.c.

unsigned te_connected

Definition at line 110 of file hwa742.c.

enum omapfb_update_mode update_mode

Definition at line 104 of file hwa742.c.

enum omapfb_update_mode update_mode_before_suspend

Definition at line 105 of file hwa742.c.

unsigned vsync_only

Definition at line 111 of file hwa742.c.

int window_type

Definition at line 123 of file hwa742.c.