linux/drivers/gpu/drm/imx/ipuv3-plane.h
<<
>>
Prefs
   1#ifndef __IPUV3_PLANE_H__
   2#define __IPUV3_PLANE_H__
   3
   4#include <drm/drm_crtc.h> /* drm_plane */
   5
   6struct drm_plane;
   7struct drm_device;
   8struct ipu_soc;
   9struct drm_crtc;
  10struct drm_framebuffer;
  11
  12struct ipuv3_channel;
  13struct dmfc_channel;
  14struct ipu_dp;
  15
  16struct ipu_plane {
  17        struct drm_plane        base;
  18
  19        struct ipu_soc          *ipu;
  20        struct ipuv3_channel    *ipu_ch;
  21        struct dmfc_channel     *dmfc;
  22        struct ipu_dp           *dp;
  23
  24        int                     dma;
  25        int                     dp_flow;
  26};
  27
  28struct ipu_plane *ipu_plane_init(struct drm_device *dev, struct ipu_soc *ipu,
  29                                 int dma, int dp, unsigned int possible_crtcs,
  30                                 enum drm_plane_type type);
  31
  32/* Init IDMAC, DMFC, DP */
  33int ipu_plane_mode_set(struct ipu_plane *plane, struct drm_crtc *crtc,
  34                       struct drm_display_mode *mode,
  35                       struct drm_framebuffer *fb, int crtc_x, int crtc_y,
  36                       unsigned int crtc_w, unsigned int crtc_h,
  37                       uint32_t src_x, uint32_t src_y, uint32_t src_w,
  38                       uint32_t src_h, bool interlaced);
  39
  40int ipu_plane_get_resources(struct ipu_plane *plane);
  41void ipu_plane_put_resources(struct ipu_plane *plane);
  42
  43int ipu_plane_irq(struct ipu_plane *plane);
  44
  45#endif
  46