/*
*/
#ifndef _EFB_H
#define _EFB_H
#include <sys/visual_io.h>
#include "drm_sunmod.h"
#include <sys/gfx_common.h>
#include "efb_vis.h"
#include "efb_reg.h"
/* Power */
/* Power levels */
#define EFB_PWR_OFF 0
struct efb_mapinfo {
};
struct efb_context {
void *mappings;
};
struct efb_private {
int w[2];
int h[2];
int primary_stream;
struct video_state {
/* DAC registers */
void *cur_ctx;
#if VIS_CONS_REV > 2
int setting_videomode;
#endif
};
extern int efb_attach(drm_device_t *);
extern void efb_detach(drm_device_t *);
extern int efb_map_registers(drm_device_t *);
extern void efb_unmap_registers(drm_device_t *);
extern void efb_getsize(efb_private_t *);
extern void efb_cmap_write(efb_private_t *, int);
extern void efb_cmap_read(efb_private_t *, int, int, int);
extern int efb_wait_fifo(efb_private_t *, int, const char *, int);
extern int efb_wait_idle(efb_private_t *, const char *, int);
extern int efb_wait_host_data(efb_private_t *, const char *, int);
extern void efb_termemu_callback(drm_device_t *);
extern void * efb_devmap_set_callbacks(int);
efb_context_t *ctx);
extern void efb_ctx_wait(efb_private_t *);
#endif /* _EFB_H */