18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef __MATROXFB_CRTC2_H__
38c2ecf20Sopenharmony_ci#define __MATROXFB_CRTC2_H__
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <linux/ioctl.h>
68c2ecf20Sopenharmony_ci#include "matroxfb_base.h"
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cistruct matroxfb_dh_fb_info {
98c2ecf20Sopenharmony_ci	struct fb_info		fbcon;
108c2ecf20Sopenharmony_ci	int			fbcon_registered;
118c2ecf20Sopenharmony_ci	int                     initialized;
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci	struct matrox_fb_info*	primary_dev;
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci	struct {
168c2ecf20Sopenharmony_ci		unsigned long	base;	/* physical */
178c2ecf20Sopenharmony_ci		vaddr_t		vbase;	/* virtual */
188c2ecf20Sopenharmony_ci		unsigned int	len;
198c2ecf20Sopenharmony_ci		unsigned int	len_usable;
208c2ecf20Sopenharmony_ci		unsigned int	len_maximum;
218c2ecf20Sopenharmony_ci		unsigned int 	offbase;
228c2ecf20Sopenharmony_ci		unsigned int	borrowed;
238c2ecf20Sopenharmony_ci			      } video;
248c2ecf20Sopenharmony_ci	struct {
258c2ecf20Sopenharmony_ci		unsigned long	base;
268c2ecf20Sopenharmony_ci		vaddr_t		vbase;
278c2ecf20Sopenharmony_ci		unsigned int	len;
288c2ecf20Sopenharmony_ci			      } mmio;
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci	unsigned int		interlaced:1;
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci	u_int32_t cmap[16];
338c2ecf20Sopenharmony_ci};
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci#endif /* __MATROXFB_CRTC2_H__ */
36