FILE
ast_vbios.h
File preview with syntax highlighting.
linux-6.19.14/drivers/gpu/drm/ast/ast_vbios.h
1/* SPDX-License-Identifier: MIT */ 2/* 3 * Copyright (c) 2005 ASPEED Technology Inc. 4 * 5 * Permission to use, copy, modify, distribute, and sell this software and its 6 * documentation for any purpose is hereby granted without fee, provided that 7 * the above copyright notice appear in all copies and that both that 8 * copyright notice and this permission notice appear in supporting 9 * documentation, and that the name of the authors not be used in 10 * advertising or publicity pertaining to distribution of the software without 11 * specific, written prior permission. The authors makes no representations 12 * about the suitability of this software for any purpose. It is provided 13 * "as is" without express or implied warranty. 14 * 15 * THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 16 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 17 * EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR 18 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 19 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 20 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 21 * PERFORMANCE OF THIS SOFTWARE. 22 */ 23/* Ported from xf86-video-ast driver */ 24 25#ifndef AST_VBIOS_H 26#define AST_VBIOS_H 27 28#include <linux/types.h> 29 30struct ast_device; 31struct drm_display_mode; 32 33#define Charx8Dot 0x00000001 34#define HalfDCLK 0x00000002 35#define DoubleScanMode 0x00000004 36#define LineCompareOff 0x00000008 37#define HBorder 0x00000020 38#define VBorder 0x00000010 39#define WideScreenMode 0x00000100 40#define NewModeInfo 0x00000200 41#define NHSync 0x00000400 42#define PHSync 0x00000800 43#define NVSync 0x00001000 44#define PVSync 0x00002000 45#define SyncPP (PVSync | PHSync) 46#define SyncPN (PVSync | NHSync) 47#define SyncNP (NVSync | PHSync) 48#define SyncNN (NVSync | NHSync) 49#define AST2500PreCatchCRT 0x00004000 50 51/* DCLK Index */ 52#define VCLK25_175 0x00 53#define VCLK28_322 0x01 54#define VCLK31_5 0x02 55#define VCLK36 0x03 56#define VCLK40 0x04 57#define VCLK49_5 0x05 58#define VCLK50 0x06 59#define VCLK56_25 0x07 60#define VCLK65 0x08 61#define VCLK75 0x09 62#define VCLK78_75 0x0a 63#define VCLK94_5 0x0b 64#define VCLK108 0x0c 65#define VCLK135 0x0d 66#define VCLK157_5 0x0e 67#define VCLK162 0x0f 68/* #define VCLK193_25 0x10 */ 69#define VCLK154 0x10 70#define VCLK83_5 0x11 71#define VCLK106_5 0x12 72#define VCLK146_25 0x13 73#define VCLK148_5 0x14 74#define VCLK71 0x15 75#define VCLK88_75 0x16 76#define VCLK119 0x17 77#define VCLK85_5 0x18 78#define VCLK97_75 0x19 79#define VCLK118_25 0x1a 80 81struct ast_vbios_enhtable { 82 u32 ht; 83 u32 hde; 84 u32 hfp; 85 u32 hsync; 86 u32 vt; 87 u32 vde; 88 u32 vfp; 89 u32 vsync; 90 u32 dclk_index; 91 u32 flags; 92 u32 refresh_rate; 93 u32 refresh_rate_index; 94 u32 mode_id; 95}; 96 97#define AST_VBIOS_INVALID_MODE \ 98 {0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u} 99 100static inline bool ast_vbios_mode_is_valid(const struct ast_vbios_enhtable *vmode) 101{ 102 return vmode->ht && vmode->vt && vmode->refresh_rate; 103} 104 105const struct ast_vbios_enhtable *ast_vbios_find_mode(const struct ast_device *ast, 106 const struct drm_display_mode *mode); 107 108#endif
~/
Read-only file preview.