aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/via/hw.h
diff options
context:
space:
mode:
authorFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2010-09-04 21:33:28 -0400
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2010-09-23 22:14:59 -0400
commit2a9183923af1f6f4da66aeabf9fa5af0dc58ccec (patch)
tree710f8f8fc1b5f922e4c6405abf60eedaff5eb715 /drivers/video/via/hw.h
parentcd7e9103e983ff0f518ac0e85cee265027ccbfa4 (diff)
viafb: add interface for output device configuration
This patch extends the proc entry to contain a possibility to view and change the output devices for each IGA. This is useful for debugging output problems as it provides a reliable way to query which low level devices are active after VIAs output device configuration nightmare happended. It's as well suitable for daily use as one can change the output configuration on the fly for example to connect a projector. At the moment it's still unstable. The reason is that we have to handle a bunch of undocumented output devices (those without a proper name) and that this patch is the first step to collect and verify the needed information. Basically the only configuration change that is expected to work at the moment is switching output devices between IGA1 and IGA2. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Acked-by: Jonathan Corbet <corbet@lwn.net> Cc: Joseph Chan <JosephChan@via.com.tw> Cc: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'drivers/video/via/hw.h')
-rw-r--r--drivers/video/via/hw.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/video/via/hw.h b/drivers/video/via/hw.h
index 45dee39a8b23..657dbd64a089 100644
--- a/drivers/video/via/hw.h
+++ b/drivers/video/via/hw.h
@@ -22,6 +22,8 @@
22#ifndef __HW_H__ 22#ifndef __HW_H__
23#define __HW_H__ 23#define __HW_H__
24 24
25#include <linux/seq_file.h>
26
25#include "viamode.h" 27#include "viamode.h"
26#include "global.h" 28#include "global.h"
27#include "via_modesetting.h" 29#include "via_modesetting.h"
@@ -882,6 +884,11 @@ struct pci_device_id_info {
882 u32 chip_index; 884 u32 chip_index;
883}; 885};
884 886
887struct via_device_mapping {
888 u32 device;
889 const char *name;
890};
891
885extern unsigned int viafb_second_virtual_xres; 892extern unsigned int viafb_second_virtual_xres;
886extern int viafb_SAMM_ON; 893extern int viafb_SAMM_ON;
887extern int viafb_dual_fb; 894extern int viafb_dual_fb;
@@ -899,6 +906,9 @@ void viafb_load_reg(int timing_value, int viafb_load_reg_num,
899 int io_type); 906 int io_type);
900void viafb_crt_disable(void); 907void viafb_crt_disable(void);
901void viafb_crt_enable(void); 908void viafb_crt_enable(void);
909void via_set_source(u32 devices, u8 iga);
910u32 via_parse_odev(char *input, char **end);
911void via_odev_to_seq(struct seq_file *m, u32 odev);
902void init_ad9389(void); 912void init_ad9389(void);
903/* Access I/O Function */ 913/* Access I/O Function */
904void viafb_lock_crt(void); 914void viafb_lock_crt(void);