162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright 1998-2008 VIA Technologies, Inc. All Rights Reserved.
462306a36Sopenharmony_ci * Copyright 2001-2008 S3 Graphics, Inc. All Rights Reserved.
562306a36Sopenharmony_ci * Copyright 2010 Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci/*
862306a36Sopenharmony_ci * basic modesetting functions
962306a36Sopenharmony_ci */
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#ifndef __VIA_MODESETTING_H__
1262306a36Sopenharmony_ci#define __VIA_MODESETTING_H__
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci#include <linux/types.h>
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci#define VIA_PITCH_SIZE	(1<<3)
1862306a36Sopenharmony_ci#define VIA_PITCH_MAX	0x3FF8
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cistruct via_display_timing {
2262306a36Sopenharmony_ci	u16 hor_total;
2362306a36Sopenharmony_ci	u16 hor_addr;
2462306a36Sopenharmony_ci	u16 hor_blank_start;
2562306a36Sopenharmony_ci	u16 hor_blank_end;
2662306a36Sopenharmony_ci	u16 hor_sync_start;
2762306a36Sopenharmony_ci	u16 hor_sync_end;
2862306a36Sopenharmony_ci	u16 ver_total;
2962306a36Sopenharmony_ci	u16 ver_addr;
3062306a36Sopenharmony_ci	u16 ver_blank_start;
3162306a36Sopenharmony_ci	u16 ver_blank_end;
3262306a36Sopenharmony_ci	u16 ver_sync_start;
3362306a36Sopenharmony_ci	u16 ver_sync_end;
3462306a36Sopenharmony_ci};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_civoid via_set_primary_timing(const struct via_display_timing *timing);
3862306a36Sopenharmony_civoid via_set_secondary_timing(const struct via_display_timing *timing);
3962306a36Sopenharmony_civoid via_set_primary_address(u32 addr);
4062306a36Sopenharmony_civoid via_set_secondary_address(u32 addr);
4162306a36Sopenharmony_civoid via_set_primary_pitch(u32 pitch);
4262306a36Sopenharmony_civoid via_set_secondary_pitch(u32 pitch);
4362306a36Sopenharmony_civoid via_set_primary_color_depth(u8 depth);
4462306a36Sopenharmony_civoid via_set_secondary_color_depth(u8 depth);
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci#endif /* __VIA_MODESETTING_H__ */
47