diff options
Diffstat (limited to 'drivers/video/sis')
-rw-r--r-- | drivers/video/sis/init.h | 45 | ||||
-rw-r--r-- | drivers/video/sis/sis_main.c | 41 |
2 files changed, 21 insertions, 65 deletions
diff --git a/drivers/video/sis/init.h b/drivers/video/sis/init.h index aff73842d877..85d6738b6c64 100644 --- a/drivers/video/sis/init.h +++ b/drivers/video/sis/init.h | |||
@@ -105,51 +105,6 @@ static const unsigned short ModeIndex_1920x1440[] = {0x68, 0x69, 0x00, 0x6b}; | |||
105 | static const unsigned short ModeIndex_300_2048x1536[]= {0x6c, 0x6d, 0x00, 0x00}; | 105 | static const unsigned short ModeIndex_300_2048x1536[]= {0x6c, 0x6d, 0x00, 0x00}; |
106 | static const unsigned short ModeIndex_310_2048x1536[]= {0x6c, 0x6d, 0x00, 0x6e}; | 106 | static const unsigned short ModeIndex_310_2048x1536[]= {0x6c, 0x6d, 0x00, 0x6e}; |
107 | 107 | ||
108 | static const unsigned short SiS_DRAMType[17][5]={ | ||
109 | {0x0C,0x0A,0x02,0x40,0x39}, | ||
110 | {0x0D,0x0A,0x01,0x40,0x48}, | ||
111 | {0x0C,0x09,0x02,0x20,0x35}, | ||
112 | {0x0D,0x09,0x01,0x20,0x44}, | ||
113 | {0x0C,0x08,0x02,0x10,0x31}, | ||
114 | {0x0D,0x08,0x01,0x10,0x40}, | ||
115 | {0x0C,0x0A,0x01,0x20,0x34}, | ||
116 | {0x0C,0x09,0x01,0x08,0x32}, | ||
117 | {0x0B,0x08,0x02,0x08,0x21}, | ||
118 | {0x0C,0x08,0x01,0x08,0x30}, | ||
119 | {0x0A,0x08,0x02,0x04,0x11}, | ||
120 | {0x0B,0x0A,0x01,0x10,0x28}, | ||
121 | {0x09,0x08,0x02,0x02,0x01}, | ||
122 | {0x0B,0x09,0x01,0x08,0x24}, | ||
123 | {0x0B,0x08,0x01,0x04,0x20}, | ||
124 | {0x0A,0x08,0x01,0x02,0x10}, | ||
125 | {0x09,0x08,0x01,0x01,0x00} | ||
126 | }; | ||
127 | |||
128 | static const unsigned short SiS_SDRDRAM_TYPE[13][5] = | ||
129 | { | ||
130 | { 2,12, 9,64,0x35}, | ||
131 | { 1,13, 9,64,0x44}, | ||
132 | { 2,12, 8,32,0x31}, | ||
133 | { 2,11, 9,32,0x25}, | ||
134 | { 1,12, 9,32,0x34}, | ||
135 | { 1,13, 8,32,0x40}, | ||
136 | { 2,11, 8,16,0x21}, | ||
137 | { 1,12, 8,16,0x30}, | ||
138 | { 1,11, 9,16,0x24}, | ||
139 | { 1,11, 8, 8,0x20}, | ||
140 | { 2, 9, 8, 4,0x01}, | ||
141 | { 1,10, 8, 4,0x10}, | ||
142 | { 1, 9, 8, 2,0x00} | ||
143 | }; | ||
144 | |||
145 | static const unsigned short SiS_DDRDRAM_TYPE[4][5] = | ||
146 | { | ||
147 | { 2,12, 9,64,0x35}, | ||
148 | { 2,12, 8,32,0x31}, | ||
149 | { 2,11, 8,16,0x21}, | ||
150 | { 2, 9, 8, 4,0x01} | ||
151 | }; | ||
152 | |||
153 | static const unsigned char SiS_MDA_DAC[] = | 108 | static const unsigned char SiS_MDA_DAC[] = |
154 | { | 109 | { |
155 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, | 110 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
diff --git a/drivers/video/sis/sis_main.c b/drivers/video/sis/sis_main.c index 078ca2167d6f..a7a48db64ce2 100644 --- a/drivers/video/sis/sis_main.c +++ b/drivers/video/sis/sis_main.c | |||
@@ -4222,6 +4222,26 @@ sisfb_post_300_buswidth(struct sis_video_info *ivideo) | |||
4222 | return 1; /* 32bit */ | 4222 | return 1; /* 32bit */ |
4223 | } | 4223 | } |
4224 | 4224 | ||
4225 | static const unsigned short __devinitconst SiS_DRAMType[17][5] = { | ||
4226 | {0x0C,0x0A,0x02,0x40,0x39}, | ||
4227 | {0x0D,0x0A,0x01,0x40,0x48}, | ||
4228 | {0x0C,0x09,0x02,0x20,0x35}, | ||
4229 | {0x0D,0x09,0x01,0x20,0x44}, | ||
4230 | {0x0C,0x08,0x02,0x10,0x31}, | ||
4231 | {0x0D,0x08,0x01,0x10,0x40}, | ||
4232 | {0x0C,0x0A,0x01,0x20,0x34}, | ||
4233 | {0x0C,0x09,0x01,0x08,0x32}, | ||
4234 | {0x0B,0x08,0x02,0x08,0x21}, | ||
4235 | {0x0C,0x08,0x01,0x08,0x30}, | ||
4236 | {0x0A,0x08,0x02,0x04,0x11}, | ||
4237 | {0x0B,0x0A,0x01,0x10,0x28}, | ||
4238 | {0x09,0x08,0x02,0x02,0x01}, | ||
4239 | {0x0B,0x09,0x01,0x08,0x24}, | ||
4240 | {0x0B,0x08,0x01,0x04,0x20}, | ||
4241 | {0x0A,0x08,0x01,0x02,0x10}, | ||
4242 | {0x09,0x08,0x01,0x01,0x00} | ||
4243 | }; | ||
4244 | |||
4225 | static int __devinit | 4245 | static int __devinit |
4226 | sisfb_post_300_rwtest(struct sis_video_info *ivideo, int iteration, int buswidth, | 4246 | sisfb_post_300_rwtest(struct sis_video_info *ivideo, int iteration, int buswidth, |
4227 | int PseudoRankCapacity, int PseudoAdrPinCount, | 4247 | int PseudoRankCapacity, int PseudoAdrPinCount, |
@@ -4231,27 +4251,8 @@ sisfb_post_300_rwtest(struct sis_video_info *ivideo, int iteration, int buswidth | |||
4231 | unsigned short sr14; | 4251 | unsigned short sr14; |
4232 | unsigned int k, RankCapacity, PageCapacity, BankNumHigh, BankNumMid; | 4252 | unsigned int k, RankCapacity, PageCapacity, BankNumHigh, BankNumMid; |
4233 | unsigned int PhysicalAdrOtherPage, PhysicalAdrHigh, PhysicalAdrHalfPage; | 4253 | unsigned int PhysicalAdrOtherPage, PhysicalAdrHigh, PhysicalAdrHalfPage; |
4234 | static const unsigned short SiS_DRAMType[17][5] = { | ||
4235 | {0x0C,0x0A,0x02,0x40,0x39}, | ||
4236 | {0x0D,0x0A,0x01,0x40,0x48}, | ||
4237 | {0x0C,0x09,0x02,0x20,0x35}, | ||
4238 | {0x0D,0x09,0x01,0x20,0x44}, | ||
4239 | {0x0C,0x08,0x02,0x10,0x31}, | ||
4240 | {0x0D,0x08,0x01,0x10,0x40}, | ||
4241 | {0x0C,0x0A,0x01,0x20,0x34}, | ||
4242 | {0x0C,0x09,0x01,0x08,0x32}, | ||
4243 | {0x0B,0x08,0x02,0x08,0x21}, | ||
4244 | {0x0C,0x08,0x01,0x08,0x30}, | ||
4245 | {0x0A,0x08,0x02,0x04,0x11}, | ||
4246 | {0x0B,0x0A,0x01,0x10,0x28}, | ||
4247 | {0x09,0x08,0x02,0x02,0x01}, | ||
4248 | {0x0B,0x09,0x01,0x08,0x24}, | ||
4249 | {0x0B,0x08,0x01,0x04,0x20}, | ||
4250 | {0x0A,0x08,0x01,0x02,0x10}, | ||
4251 | {0x09,0x08,0x01,0x01,0x00} | ||
4252 | }; | ||
4253 | 4254 | ||
4254 | for(k = 0; k <= 16; k++) { | 4255 | for(k = 0; k < ARRAY_SIZE(SiS_DRAMType); k++) { |
4255 | 4256 | ||
4256 | RankCapacity = buswidth * SiS_DRAMType[k][3]; | 4257 | RankCapacity = buswidth * SiS_DRAMType[k][3]; |
4257 | 4258 | ||