1 
   2 
   3 
   4 
   5 
   6 
   7 #ifndef __OMAPDRM_DRV_H__
   8 #define __OMAPDRM_DRV_H__
   9 
  10 #include <linux/module.h>
  11 #include <linux/types.h>
  12 #include <linux/workqueue.h>
  13 
  14 #include "dss/omapdss.h"
  15 
  16 #include <drm/drm_gem.h>
  17 #include <drm/omap_drm.h>
  18 
  19 #include "omap_connector.h"
  20 #include "omap_crtc.h"
  21 #include "omap_encoder.h"
  22 #include "omap_fb.h"
  23 #include "omap_fbdev.h"
  24 #include "omap_gem.h"
  25 #include "omap_irq.h"
  26 #include "omap_plane.h"
  27 
  28 #define DBG(fmt, ...) DRM_DEBUG_DRIVER(fmt"\n", ##__VA_ARGS__)
  29 #define VERB(fmt, ...) if (0) DRM_DEBUG_DRIVER(fmt, ##__VA_ARGS__) 
  30 
  31 #define MODULE_NAME     "omapdrm"
  32 
  33 struct omap_drm_usergart;
  34 
  35 struct omap_drm_pipeline {
  36         struct drm_crtc *crtc;
  37         struct drm_encoder *encoder;
  38         struct drm_connector *connector;
  39         struct omap_dss_device *output;
  40         unsigned int alias_id;
  41 };
  42 
  43 struct omap_drm_private {
  44         struct drm_device *ddev;
  45         struct device *dev;
  46         u32 omaprev;
  47 
  48         struct dss_device *dss;
  49         struct dispc_device *dispc;
  50         const struct dispc_ops *dispc_ops;
  51 
  52         unsigned int num_pipes;
  53         struct omap_drm_pipeline pipes[8];
  54         struct omap_drm_pipeline *channels[8];
  55 
  56         unsigned int num_planes;
  57         struct drm_plane *planes[8];
  58 
  59         struct drm_fb_helper *fbdev;
  60 
  61         struct workqueue_struct *wq;
  62 
  63         
  64         struct mutex list_lock;
  65 
  66         
  67         struct list_head obj_list;
  68 
  69         struct omap_drm_usergart *usergart;
  70         bool has_dmm;
  71 
  72         
  73         struct drm_property *zorder_prop;
  74 
  75         
  76         spinlock_t wait_lock;           
  77         struct list_head wait_list;     
  78         u32 irq_mask;                   
  79 
  80         
  81         unsigned int max_bandwidth;
  82 };
  83 
  84 
  85 int omap_debugfs_init(struct drm_minor *minor);
  86 
  87 #endif