linux/drivers/staging/sm750fb/sm750.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef LYNXDRV_H_
#define LYNXDRV_H_

#define FB_ACCEL_SMI

#define MHZ(x)

#define DEFAULT_SM750_CHIP_CLOCK
#define DEFAULT_SM750LE_CHIP_CLOCK
#ifndef SM750LE_REVISION_ID
#define SM750LE_REVISION_ID
#endif

enum sm750_pnltype {};

/* vga channel is not concerned  */
enum sm750_dataflow {};

enum sm750_channel {};

enum sm750_path {};

struct init_status {};

struct lynx_accel {};

struct sm750_dev {};

struct lynx_cursor {};

struct lynxfb_crtc {};

struct lynxfb_output {};

struct lynxfb_par {};

static inline unsigned long ps_to_hz(unsigned int psvalue)
{}

int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev);
int hw_sm750_inithw(struct sm750_dev *sm750_dev, struct pci_dev *pdev);
void hw_sm750_initAccel(struct sm750_dev *sm750_dev);
int hw_sm750_deWait(void);
int hw_sm750le_deWait(void);

int hw_sm750_output_setMode(struct lynxfb_output *output,
			    struct fb_var_screeninfo *var,
			    struct fb_fix_screeninfo *fix);

int hw_sm750_crtc_checkMode(struct lynxfb_crtc *crtc,
			    struct fb_var_screeninfo *var);

int hw_sm750_crtc_setMode(struct lynxfb_crtc *crtc,
			  struct fb_var_screeninfo *var,
			  struct fb_fix_screeninfo *fix);

int hw_sm750_setColReg(struct lynxfb_crtc *crtc, ushort index,
		       ushort red, ushort green, ushort blue);

int hw_sm750_setBLANK(struct lynxfb_output *output, int blank);
int hw_sm750le_setBLANK(struct lynxfb_output *output, int blank);
int hw_sm750_pan_display(struct lynxfb_crtc *crtc,
			 const struct fb_var_screeninfo *var,
			 const struct fb_info *info);

#endif