162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef __MATROXFB_CRTC2_H__
362306a36Sopenharmony_ci#define __MATROXFB_CRTC2_H__
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <linux/ioctl.h>
662306a36Sopenharmony_ci#include "matroxfb_base.h"
762306a36Sopenharmony_ci
862306a36Sopenharmony_cistruct matroxfb_dh_fb_info {
962306a36Sopenharmony_ci	struct fb_info		fbcon;
1062306a36Sopenharmony_ci	int			fbcon_registered;
1162306a36Sopenharmony_ci	int                     initialized;
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	struct matrox_fb_info*	primary_dev;
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	struct {
1662306a36Sopenharmony_ci		unsigned long	base;	/* physical */
1762306a36Sopenharmony_ci		vaddr_t		vbase;	/* virtual */
1862306a36Sopenharmony_ci		unsigned int	len;
1962306a36Sopenharmony_ci		unsigned int	len_usable;
2062306a36Sopenharmony_ci		unsigned int	len_maximum;
2162306a36Sopenharmony_ci		unsigned int 	offbase;
2262306a36Sopenharmony_ci		unsigned int	borrowed;
2362306a36Sopenharmony_ci			      } video;
2462306a36Sopenharmony_ci	struct {
2562306a36Sopenharmony_ci		unsigned long	base;
2662306a36Sopenharmony_ci		vaddr_t		vbase;
2762306a36Sopenharmony_ci		unsigned int	len;
2862306a36Sopenharmony_ci			      } mmio;
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	unsigned int		interlaced:1;
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	u_int32_t cmap[16];
3362306a36Sopenharmony_ci};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci#endif /* __MATROXFB_CRTC2_H__ */
36