162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_proto.h,v 1.10 2003/07/31 20:24:29 mvojkovi Exp $ */
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#ifndef __NV_PROTO_H__
562306a36Sopenharmony_ci#define __NV_PROTO_H__
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci/* in nv_setup.c */
862306a36Sopenharmony_ciint NVCommonSetup(struct fb_info *info);
962306a36Sopenharmony_civoid NVWriteCrtc(struct nvidia_par *par, u8 index, u8 value);
1062306a36Sopenharmony_ciu8 NVReadCrtc(struct nvidia_par *par, u8 index);
1162306a36Sopenharmony_civoid NVWriteGr(struct nvidia_par *par, u8 index, u8 value);
1262306a36Sopenharmony_ciu8 NVReadGr(struct nvidia_par *par, u8 index);
1362306a36Sopenharmony_civoid NVWriteSeq(struct nvidia_par *par, u8 index, u8 value);
1462306a36Sopenharmony_ciu8 NVReadSeq(struct nvidia_par *par, u8 index);
1562306a36Sopenharmony_civoid NVWriteAttr(struct nvidia_par *par, u8 index, u8 value);
1662306a36Sopenharmony_ciu8 NVReadAttr(struct nvidia_par *par, u8 index);
1762306a36Sopenharmony_civoid NVWriteMiscOut(struct nvidia_par *par, u8 value);
1862306a36Sopenharmony_ciu8 NVReadMiscOut(struct nvidia_par *par);
1962306a36Sopenharmony_civoid NVWriteDacMask(struct nvidia_par *par, u8 value);
2062306a36Sopenharmony_civoid NVWriteDacReadAddr(struct nvidia_par *par, u8 value);
2162306a36Sopenharmony_civoid NVWriteDacWriteAddr(struct nvidia_par *par, u8 value);
2262306a36Sopenharmony_civoid NVWriteDacData(struct nvidia_par *par, u8 value);
2362306a36Sopenharmony_ciu8 NVReadDacData(struct nvidia_par *par);
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci/* in nv_hw.c */
2662306a36Sopenharmony_civoid NVCalcStateExt(struct nvidia_par *par, struct _riva_hw_state *,
2762306a36Sopenharmony_ci		    int, int, int, int, int, int);
2862306a36Sopenharmony_civoid NVLoadStateExt(struct nvidia_par *par, struct _riva_hw_state *);
2962306a36Sopenharmony_civoid NVUnloadStateExt(struct nvidia_par *par, struct _riva_hw_state *);
3062306a36Sopenharmony_civoid NVSetStartAddress(struct nvidia_par *par, u32);
3162306a36Sopenharmony_ciint NVShowHideCursor(struct nvidia_par *par, int);
3262306a36Sopenharmony_civoid NVLockUnlock(struct nvidia_par *par, int);
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci/* in nvidia-i2c.c */
3562306a36Sopenharmony_ci#ifdef CONFIG_FB_NVIDIA_I2C
3662306a36Sopenharmony_civoid nvidia_create_i2c_busses(struct nvidia_par *par);
3762306a36Sopenharmony_civoid nvidia_delete_i2c_busses(struct nvidia_par *par);
3862306a36Sopenharmony_ciint nvidia_probe_i2c_connector(struct fb_info *info, int conn,
3962306a36Sopenharmony_ci			       u8 ** out_edid);
4062306a36Sopenharmony_ci#else
4162306a36Sopenharmony_ci#define nvidia_create_i2c_busses(...)
4262306a36Sopenharmony_ci#define nvidia_delete_i2c_busses(...)
4362306a36Sopenharmony_ci#define nvidia_probe_i2c_connector(p, c, edid) (-1)
4462306a36Sopenharmony_ci#endif
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ciint nvidia_probe_of_connector(struct fb_info *info, int conn,
4762306a36Sopenharmony_ci			      u8 ** out_edid);
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci/* in nv_accel.c */
5062306a36Sopenharmony_ciextern void NVResetGraphics(struct fb_info *info);
5162306a36Sopenharmony_ciextern void nvidiafb_copyarea(struct fb_info *info,
5262306a36Sopenharmony_ci			      const struct fb_copyarea *region);
5362306a36Sopenharmony_ciextern void nvidiafb_fillrect(struct fb_info *info,
5462306a36Sopenharmony_ci			      const struct fb_fillrect *rect);
5562306a36Sopenharmony_ciextern void nvidiafb_imageblit(struct fb_info *info,
5662306a36Sopenharmony_ci			       const struct fb_image *image);
5762306a36Sopenharmony_ciextern int nvidiafb_sync(struct fb_info *info);
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci/* in nv_backlight.h */
6062306a36Sopenharmony_ci#ifdef CONFIG_FB_NVIDIA_BACKLIGHT
6162306a36Sopenharmony_ciextern void nvidia_bl_init(struct nvidia_par *par);
6262306a36Sopenharmony_ciextern void nvidia_bl_exit(struct nvidia_par *par);
6362306a36Sopenharmony_ci#else
6462306a36Sopenharmony_cistatic inline void nvidia_bl_init(struct nvidia_par *par) {}
6562306a36Sopenharmony_cistatic inline void nvidia_bl_exit(struct nvidia_par *par) {}
6662306a36Sopenharmony_ci#endif
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci#endif				/* __NV_PROTO_H__ */
69