11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_proto.h,v 1.10 2003/07/31 20:24:29 mvojkovi Exp $ */
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef __NV_PROTO_H__
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define __NV_PROTO_H__
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* in nv_setup.c */
7918799ab6f278805d4811770e9b18ae36408c17fAntonino A. Daplasint NVCommonSetup(struct fb_info *info);
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVWriteCrtc(struct nvidia_par *par, u8 index, u8 value);
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsu8 NVReadCrtc(struct nvidia_par *par, u8 index);
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVWriteGr(struct nvidia_par *par, u8 index, u8 value);
111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsu8 NVReadGr(struct nvidia_par *par, u8 index);
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVWriteSeq(struct nvidia_par *par, u8 index, u8 value);
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsu8 NVReadSeq(struct nvidia_par *par, u8 index);
141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVWriteAttr(struct nvidia_par *par, u8 index, u8 value);
151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsu8 NVReadAttr(struct nvidia_par *par, u8 index);
161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVWriteMiscOut(struct nvidia_par *par, u8 value);
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsu8 NVReadMiscOut(struct nvidia_par *par);
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVWriteDacMask(struct nvidia_par *par, u8 value);
191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVWriteDacReadAddr(struct nvidia_par *par, u8 value);
201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVWriteDacWriteAddr(struct nvidia_par *par, u8 value);
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVWriteDacData(struct nvidia_par *par, u8 value);
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsu8 NVReadDacData(struct nvidia_par *par);
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* in nv_hw.c */
251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVCalcStateExt(struct nvidia_par *par, struct _riva_hw_state *,
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		    int, int, int, int, int, int);
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVLoadStateExt(struct nvidia_par *par, struct _riva_hw_state *);
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVUnloadStateExt(struct nvidia_par *par, struct _riva_hw_state *);
291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVSetStartAddress(struct nvidia_par *par, u32);
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsint NVShowHideCursor(struct nvidia_par *par, int);
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid NVLockUnlock(struct nvidia_par *par, int);
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* in nvidia-i2c.c */
3485f1503aff46089acd9f780b5259752839cf0162Benjamin Herrenschmidt#ifdef CONFIG_FB_NVIDIA_I2C
351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid nvidia_create_i2c_busses(struct nvidia_par *par);
361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid nvidia_delete_i2c_busses(struct nvidia_par *par);
37094bb659f53b6d90aab6067268d6d14f1f352d30Antonino A. Daplasint nvidia_probe_i2c_connector(struct fb_info *info, int conn,
381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			       u8 ** out_edid);
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#else
401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define nvidia_create_i2c_busses(...)
411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define nvidia_delete_i2c_busses(...)
4285f1503aff46089acd9f780b5259752839cf0162Benjamin Herrenschmidt#define nvidia_probe_i2c_connector(p, c, edid) (-1)
4385f1503aff46089acd9f780b5259752839cf0162Benjamin Herrenschmidt#endif
4485f1503aff46089acd9f780b5259752839cf0162Benjamin Herrenschmidt
45c53ca784dc3e72a17dc210bee0361e13ad83d4cdAndrew Morton#ifdef CONFIG_PPC_OF
4685f1503aff46089acd9f780b5259752839cf0162Benjamin Herrenschmidtint nvidia_probe_of_connector(struct fb_info *info, int conn,
4785f1503aff46089acd9f780b5259752839cf0162Benjamin Herrenschmidt			      u8 ** out_edid);
4885f1503aff46089acd9f780b5259752839cf0162Benjamin Herrenschmidt#else
497f8c54d20b258acf291dd4490b0e22fa10b2a17fAndrew Mortonstatic inline int nvidia_probe_of_connector(struct fb_info *info, int conn,
507f8c54d20b258acf291dd4490b0e22fa10b2a17fAndrew Morton				      u8 ** out_edid)
517f8c54d20b258acf291dd4490b0e22fa10b2a17fAndrew Morton{
527f8c54d20b258acf291dd4490b0e22fa10b2a17fAndrew Morton	return -1;
537f8c54d20b258acf291dd4490b0e22fa10b2a17fAndrew Morton}
541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif
551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* in nv_accel.c */
571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void NVResetGraphics(struct fb_info *info);
581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void nvidiafb_copyarea(struct fb_info *info,
591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			      const struct fb_copyarea *region);
601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void nvidiafb_fillrect(struct fb_info *info,
611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			      const struct fb_fillrect *rect);
621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void nvidiafb_imageblit(struct fb_info *info,
631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			       const struct fb_image *image);
641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern int nvidiafb_sync(struct fb_info *info);
655474c120aafe78ca54bf272f7a01107c42da2b21Michael Hanselmann
665474c120aafe78ca54bf272f7a01107c42da2b21Michael Hanselmann/* in nv_backlight.h */
675474c120aafe78ca54bf272f7a01107c42da2b21Michael Hanselmann#ifdef CONFIG_FB_NVIDIA_BACKLIGHT
685474c120aafe78ca54bf272f7a01107c42da2b21Michael Hanselmannextern void nvidia_bl_init(struct nvidia_par *par);
695474c120aafe78ca54bf272f7a01107c42da2b21Michael Hanselmannextern void nvidia_bl_exit(struct nvidia_par *par);
705474c120aafe78ca54bf272f7a01107c42da2b21Michael Hanselmann#else
715474c120aafe78ca54bf272f7a01107c42da2b21Michael Hanselmannstatic inline void nvidia_bl_init(struct nvidia_par *par) {}
725474c120aafe78ca54bf272f7a01107c42da2b21Michael Hanselmannstatic inline void nvidia_bl_exit(struct nvidia_par *par) {}
735474c120aafe78ca54bf272f7a01107c42da2b21Michael Hanselmann#endif
745474c120aafe78ca54bf272f7a01107c42da2b21Michael Hanselmann
751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif				/* __NV_PROTO_H__ */
76