18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_proto.h,v 1.10 2003/07/31 20:24:29 mvojkovi Exp $ */
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci#ifndef __NV_PROTO_H__
58c2ecf20Sopenharmony_ci#define __NV_PROTO_H__
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci/* in nv_setup.c */
88c2ecf20Sopenharmony_ciint NVCommonSetup(struct fb_info *info);
98c2ecf20Sopenharmony_civoid NVWriteCrtc(struct nvidia_par *par, u8 index, u8 value);
108c2ecf20Sopenharmony_ciu8 NVReadCrtc(struct nvidia_par *par, u8 index);
118c2ecf20Sopenharmony_civoid NVWriteGr(struct nvidia_par *par, u8 index, u8 value);
128c2ecf20Sopenharmony_ciu8 NVReadGr(struct nvidia_par *par, u8 index);
138c2ecf20Sopenharmony_civoid NVWriteSeq(struct nvidia_par *par, u8 index, u8 value);
148c2ecf20Sopenharmony_ciu8 NVReadSeq(struct nvidia_par *par, u8 index);
158c2ecf20Sopenharmony_civoid NVWriteAttr(struct nvidia_par *par, u8 index, u8 value);
168c2ecf20Sopenharmony_ciu8 NVReadAttr(struct nvidia_par *par, u8 index);
178c2ecf20Sopenharmony_civoid NVWriteMiscOut(struct nvidia_par *par, u8 value);
188c2ecf20Sopenharmony_ciu8 NVReadMiscOut(struct nvidia_par *par);
198c2ecf20Sopenharmony_civoid NVWriteDacMask(struct nvidia_par *par, u8 value);
208c2ecf20Sopenharmony_civoid NVWriteDacReadAddr(struct nvidia_par *par, u8 value);
218c2ecf20Sopenharmony_civoid NVWriteDacWriteAddr(struct nvidia_par *par, u8 value);
228c2ecf20Sopenharmony_civoid NVWriteDacData(struct nvidia_par *par, u8 value);
238c2ecf20Sopenharmony_ciu8 NVReadDacData(struct nvidia_par *par);
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci/* in nv_hw.c */
268c2ecf20Sopenharmony_civoid NVCalcStateExt(struct nvidia_par *par, struct _riva_hw_state *,
278c2ecf20Sopenharmony_ci		    int, int, int, int, int, int);
288c2ecf20Sopenharmony_civoid NVLoadStateExt(struct nvidia_par *par, struct _riva_hw_state *);
298c2ecf20Sopenharmony_civoid NVUnloadStateExt(struct nvidia_par *par, struct _riva_hw_state *);
308c2ecf20Sopenharmony_civoid NVSetStartAddress(struct nvidia_par *par, u32);
318c2ecf20Sopenharmony_ciint NVShowHideCursor(struct nvidia_par *par, int);
328c2ecf20Sopenharmony_civoid NVLockUnlock(struct nvidia_par *par, int);
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci/* in nvidia-i2c.c */
358c2ecf20Sopenharmony_ci#ifdef CONFIG_FB_NVIDIA_I2C
368c2ecf20Sopenharmony_civoid nvidia_create_i2c_busses(struct nvidia_par *par);
378c2ecf20Sopenharmony_civoid nvidia_delete_i2c_busses(struct nvidia_par *par);
388c2ecf20Sopenharmony_ciint nvidia_probe_i2c_connector(struct fb_info *info, int conn,
398c2ecf20Sopenharmony_ci			       u8 ** out_edid);
408c2ecf20Sopenharmony_ci#else
418c2ecf20Sopenharmony_ci#define nvidia_create_i2c_busses(...)
428c2ecf20Sopenharmony_ci#define nvidia_delete_i2c_busses(...)
438c2ecf20Sopenharmony_ci#define nvidia_probe_i2c_connector(p, c, edid) (-1)
448c2ecf20Sopenharmony_ci#endif
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ciint nvidia_probe_of_connector(struct fb_info *info, int conn,
478c2ecf20Sopenharmony_ci			      u8 ** out_edid);
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci/* in nv_accel.c */
508c2ecf20Sopenharmony_ciextern void NVResetGraphics(struct fb_info *info);
518c2ecf20Sopenharmony_ciextern void nvidiafb_copyarea(struct fb_info *info,
528c2ecf20Sopenharmony_ci			      const struct fb_copyarea *region);
538c2ecf20Sopenharmony_ciextern void nvidiafb_fillrect(struct fb_info *info,
548c2ecf20Sopenharmony_ci			      const struct fb_fillrect *rect);
558c2ecf20Sopenharmony_ciextern void nvidiafb_imageblit(struct fb_info *info,
568c2ecf20Sopenharmony_ci			       const struct fb_image *image);
578c2ecf20Sopenharmony_ciextern int nvidiafb_sync(struct fb_info *info);
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci/* in nv_backlight.h */
608c2ecf20Sopenharmony_ci#ifdef CONFIG_FB_NVIDIA_BACKLIGHT
618c2ecf20Sopenharmony_ciextern void nvidia_bl_init(struct nvidia_par *par);
628c2ecf20Sopenharmony_ciextern void nvidia_bl_exit(struct nvidia_par *par);
638c2ecf20Sopenharmony_ci#else
648c2ecf20Sopenharmony_cistatic inline void nvidia_bl_init(struct nvidia_par *par) {}
658c2ecf20Sopenharmony_cistatic inline void nvidia_bl_exit(struct nvidia_par *par) {}
668c2ecf20Sopenharmony_ci#endif
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci#endif				/* __NV_PROTO_H__ */
69