#ifndef __KMB_DRV_H__
#define __KMB_DRV_H__
#include <drm/drm_device.h>
#include "kmb_plane.h"
#include "kmb_regs.h"
#define KMB_MAX_WIDTH …
#define KMB_MAX_HEIGHT …
#define KMB_MIN_WIDTH …
#define KMB_MIN_HEIGHT …
#define DRIVER_DATE …
#define DRIVER_MAJOR …
#define DRIVER_MINOR …
#define KMB_CRTC_MIN_VFP …
#define KMB_CRTC_MAX_WIDTH …
#define KMB_CRTC_MAX_HEIGHT …
#define KMB_CRTC_MIN_WIDTH …
#define KMB_CRTC_MIN_HEIGHT …
#define KMB_FB_MAX_WIDTH …
#define KMB_FB_MAX_HEIGHT …
#define KMB_FB_MIN_WIDTH …
#define KMB_FB_MIN_HEIGHT …
#define KMB_MIN_VREFRESH …
#define KMB_MAX_VREFRESH …
#define KMB_LCD_DEFAULT_CLK …
#define KMB_SYS_CLK_MHZ …
#define ICAM_MMIO …
#define ICAM_LCD_OFFSET …
#define ICAM_MMIO_SIZE …
struct kmb_dsi;
struct kmb_clock { … };
struct kmb_drm_private { … };
static inline struct kmb_drm_private *to_kmb(const struct drm_device *dev)
{ … }
static inline struct kmb_drm_private *crtc_to_kmb_priv(const struct drm_crtc *x)
{ … }
static inline void kmb_write_lcd(struct kmb_drm_private *dev_p,
unsigned int reg, u32 value)
{ … }
static inline u32 kmb_read_lcd(struct kmb_drm_private *dev_p, unsigned int reg)
{ … }
static inline void kmb_set_bitmask_lcd(struct kmb_drm_private *dev_p,
unsigned int reg, u32 mask)
{ … }
static inline void kmb_clr_bitmask_lcd(struct kmb_drm_private *dev_p,
unsigned int reg, u32 mask)
{ … }
int kmb_setup_crtc(struct drm_device *dev);
void kmb_set_scanout(struct kmb_drm_private *lcd);
#endif