sh_mobile_lcdcfb.h 931 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef SH_MOBILE_LCDCFB_H
  2. #define SH_MOBILE_LCDCFB_H
  3. #include <linux/completion.h>
  4. #include <linux/fb.h>
  5. #include <linux/wait.h>
  6. /* per-channel registers */
  7. enum { LDDCKPAT1R, LDDCKPAT2R, LDMT1R, LDMT2R, LDMT3R, LDDFR, LDSM1R,
  8. LDSM2R, LDSA1R, LDMLSR, LDHCNR, LDHSYNR, LDVLNR, LDVSYNR, LDPMR,
  9. LDHAJR,
  10. NR_CH_REGS };
  11. #define PALETTE_NR 16
  12. struct sh_mobile_lcdc_priv;
  13. struct fb_info;
  14. struct sh_mobile_lcdc_chan {
  15. struct sh_mobile_lcdc_priv *lcdc;
  16. unsigned long *reg_offs;
  17. unsigned long ldmt1r_value;
  18. unsigned long enabled; /* ME and SE in LDCNT2R */
  19. struct sh_mobile_lcdc_chan_cfg cfg;
  20. u32 pseudo_palette[PALETTE_NR];
  21. unsigned long saved_ch_regs[NR_CH_REGS];
  22. struct fb_info *info;
  23. dma_addr_t dma_handle;
  24. struct fb_deferred_io defio;
  25. struct scatterlist *sglist;
  26. unsigned long frame_end;
  27. unsigned long pan_offset;
  28. wait_queue_head_t frame_end_wait;
  29. struct completion vsync_completion;
  30. };
  31. #endif