linux/drivers/video/sh_mobile_lcdcfb.h
<<
lue=12lue=12>>lulue=lue=12 ">lue=12lue=12Searchlue=12Prefs2 12lulu ">le=12 22
2 21#ifndef2SH_MOBILE_LCDCFB_Hl2 22#define2SH_MOBILE_LCDCFB_Hl2 23l2 24#include <linux/comple v2.h>l2 25#include <linux/fb.h>l2 26#include <linux/mutex.h>l2 27#include <linux/wait.h>l2 28l2 29/* per-channel registers */2 > a>enum {2LDDCKPAT1R> a>,2LDDCKPAT2R> a>,2LDMT1R> a>,2LDMT2R> a>,2LDMT3R> a>,2LDDFR> a>,2LDSM1R> a>,22 11 e=12 2LDSM2R> a>,2LDSA1R> a>,2LDSA2R> a>,2LDMLSR> a>,2LDHCNR> a>,2LDHSYNR> a>,2LDVLNR> a>,2LDVSYNR> a>,2LDPMR> a>,22 12 e=12 2LDHAJR> a>,22 13 e=12 2NR_CH_REGS };l2 14l2 15#define2PALETTE_NR 16l2 16l2 17struct2backlight_device;l2 18struct2fb_info;l2 19struct2module;l2 20struct2sh_mobile_lcdc_chan;l2 21struct2sh_mobile_lcdc_entity;l2 22struct2sh_mobile_lcdc_format_info;l2 23struct2sh_mobile_lcdc_priv;l2 24l2 25#define2SH_MOBILE_LCDC_DISPLAY_DISCONNECTED e=120l2 26#define2SH_MOBILE_LCDC_DISPLAY_CONNECTED e=122 21l2 27l2 28struct2sh_mobile_lcdc_entity_ops {l2 29 e=122 2/* Display */2 30 e=122 2int (*display_on)(struct2sh_mobile_lcdc_entity *entity);l2 31 e=12 2 void (*display_off)(struct2sh_mobile_lcdc_entity *entity);l2 32};l2 33l2 34> a>enum sh_mobile_lcdc_entity_event {l2 35 e=122 2SH_MOBILE_LCDC_EVENT_DISPLAY_CONNECT> a>,22 36 e=122 2SH_MOBILE_LCDC_EVENT_DISPLAY_DISCONNECT> a>,22 37 e=122 2SH_MOBILE_LCDC_EVENT_DISPLAY_MODE> a>,22 38};l2 39l2 40struct2sh_mobile_lcdc_entity {l2 41 e=12 2 struct2module *owner;l2 42 e=12 2 const struct2sh_mobile_lcdc_entity_ops *ops;l2 43 e=12 2 struct2sh_mobile_lcdc_chan *lcdc;l2 44 e=12 2 struct2fb_videomode def_mode;l2 45};l2 46l2 47/*2 48 * struct2sh_mobile_lcdc_chan - LCDC display channel2 49 *2 50 * @pa2_y_offset: Panning linear offset2in bytes (luma component)2 51 * @base_addr_y: Fram buffer viewport base address (luma component)2 52 * @base_addr_c: Fram buffer viewport base address (chroma component)2 53 * @pitch: Fram buffer line pitch2 54 */2 55struct2sh_mobile_lcdc_chan {l2 56 e=12 2 struct2sh_mobile_lcdc_priv *lcdc;l2 57 e=12 2 struct2sh_mobile_lcdc_entity *tx_dev;l2 58 e=12 2 const struct2sh_mobile_lcdc_chan_cfg *cfg;l2 59l2 60 e=122 2unsigned long *reg_offs;l2 61 e=122 2unsigned long ldmt1r_> ;l2 62 e=122 2unsigned long enabled;2/* ME and SE2in LDCNT2R */2 63 e=12 2 void *cach ;l2 64l2 65 e=12 2 struct2mutex open_lock;2 e=122 2/* protects the use counter */2 66 e=12 2 int use_count;l2 67l2 68 e=12 2 void *fb_mem;l2 69 e=122 2unsigned long fb_size;l2 70l2 71 e=122 2dma_addr_t dma_handle;l2 72 e=122 2unsigned long pa2_y_offset;l2 73l2 74 e=122 2unsigned long fram _end;l2 75 e=122 2wait_queue_head_t fram _end_wait;l2 76 e=12 2 struct2comple v2 vsync_comple v2;l2 77l2 78 e=12 2 const struct2sh_mobile_lcdc_format_info *format;l2 79 e=122 2u322colorspace;l2 80 e=122 2unsigned int xres;l2 81 e=122 2unsigned int xres_virtual;l2 82 e=122 2unsigned int yres;l2 83 e=122 2unsigned int yres_virtual;l2 84 e=122 2unsigned int pitch;l2 85l2 86 e=122 2unsigned long base_addr_y;l2 87 e=122 2unsigned long base_addr_c;l2 88 e=122 2unsigned int line_size;l2 89l2 90 e=122 2int (*notify)(struct2sh_mobile_lcdc_chan *ch,22 91 e=122 222222222222222enum sh_mobile_lcdc_entity_event event,22 92 e=122 222222222222222const struct2fb_videomode *mode,22 93 e=122 222222222222222const struct2fb_monspecs *monspec);l2 94l2 95 e=122 2/* Backlight */2 96 e=12 2 struct2backlight_device *bl;l2 97l2 98 e=122 2/* FB */2 99 e=12 2 struct2fb_info *info;l2100 e=122 2u322pseudo_pale te[PALETTE_NR];l2101 e=12 2 struct2{l2102 e=122 222222222unsigned int width;l2103 e=122 222222222unsigned int height;l2104 e=122 222222222struct2fb_videomode mode;l2105 e=122 2} display;l2106 e=12 2 struct2fb_deferred_io defio;l2107 e=12 2 struct2sca terlist *sglist;l2108 e=122 2int blank_status;l2109};l2110l2111#endifl2112 The original LXR software by the LXR community, this experimental verstionby lxr@linux.no. lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux2consulting and opera v2s services since 1995.