diff options
author | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2010-08-09 20:45:06 -0400 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2010-09-23 22:14:48 -0400 |
commit | 661c65cd0ce180d5e3a3e05f08fc9e64cedcf91c (patch) | |
tree | b10a5d1ab088b643cab18c53655b81394ede485a | |
parent | f4ab2f7a21338ae0f59ad925c23545e790cd51e3 (diff) |
viafb: reduce viafb_set_iga_path usage
The result of viafb_set_iga_path can change after init only in the
hotplug ioctl. So we can move it there rather than doing it always
when a new mode is set. The setup during init is done via a call
from the init chip funtion.
This change enables a stable mapping between the old device scheme
and a new more powerfull one.
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Joseph Chan <JosephChan@via.com.tw>
-rw-r--r-- | drivers/video/via/hw.c | 1 | ||||
-rw-r--r-- | drivers/video/via/ioctl.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/drivers/video/via/hw.c b/drivers/video/via/hw.c index 4407943fa7d7..638cf96c8739 100644 --- a/drivers/video/via/hw.c +++ b/drivers/video/via/hw.c | |||
@@ -2313,7 +2313,6 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, | |||
2313 | via_write_reg(VIASR, i, VPIT.SR[i - 1]); | 2313 | via_write_reg(VIASR, i, VPIT.SR[i - 1]); |
2314 | 2314 | ||
2315 | viafb_write_reg_mask(0x15, VIASR, 0xA2, 0xA2); | 2315 | viafb_write_reg_mask(0x15, VIASR, 0xA2, 0xA2); |
2316 | viafb_set_iga_path(); | ||
2317 | 2316 | ||
2318 | /* Write CRTC */ | 2317 | /* Write CRTC */ |
2319 | viafb_fill_crtc_timing(crt_timing, vmode_tbl, video_bpp / 8, IGA1); | 2318 | viafb_fill_crtc_timing(crt_timing, vmode_tbl, video_bpp / 8, IGA1); |
diff --git a/drivers/video/via/ioctl.c b/drivers/video/via/ioctl.c index 4d553d0b8d7a..ea1c51428823 100644 --- a/drivers/video/via/ioctl.c +++ b/drivers/video/via/ioctl.c | |||
@@ -94,6 +94,7 @@ int viafb_ioctl_hotplug(int hres, int vres, int bpp) | |||
94 | viafb_CRT_ON = 0; | 94 | viafb_CRT_ON = 0; |
95 | viafb_LCD_ON = 0; | 95 | viafb_LCD_ON = 0; |
96 | viafb_DeviceStatus = DVI_Device; | 96 | viafb_DeviceStatus = DVI_Device; |
97 | viafb_set_iga_path(); | ||
97 | return viafb_DeviceStatus; | 98 | return viafb_DeviceStatus; |
98 | } | 99 | } |
99 | status = 1; | 100 | status = 1; |
@@ -107,6 +108,7 @@ int viafb_ioctl_hotplug(int hres, int vres, int bpp) | |||
107 | viafb_LCD_ON = 0; | 108 | viafb_LCD_ON = 0; |
108 | 109 | ||
109 | viafb_DeviceStatus = CRT_Device; | 110 | viafb_DeviceStatus = CRT_Device; |
111 | viafb_set_iga_path(); | ||
110 | return viafb_DeviceStatus; | 112 | return viafb_DeviceStatus; |
111 | } | 113 | } |
112 | 114 | ||