frame buffer: geforce 7300 gt
My geforce isn't supported by nvidia frame buffer. /sbin/lspci 01:00.0 VGA compatible controller: nVidia Corporation Unknown device 02e2 (rev a2) /usr/sbin/fbset -i mode "1024x768-60" # D: 65.003 MHz, H: 48.365 kHz, V: 60.006 Hz geometry 1024 768 1024 32767 8 timings 15384 160 24 29 3 136 6 accel true rgba 8/0,8/0,8/0,0/0 endmode Frame buffer device information: Name : NV2e Address : 0xe0000000 Size : 134217728 Type : PACKED PIXELS Visual : PSEUDOCOLOR XPanStep : 8 YPanStep : 1 YWrapStep : 0 LineLength : 1024 MMIO Address: 0xf6000000 MMIO Size : 16777216 Accelerator : Unknown (46) Here is a patch for this problem. Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
880169dd2e
Коммит
bc0ca06e24
|
@ -149,8 +149,7 @@ static void nvGetClocks(struct nvidia_par *par, unsigned int *MClk,
|
||||||
pll = NV_RD32(par->PMC, 0x4024);
|
pll = NV_RD32(par->PMC, 0x4024);
|
||||||
M = pll & 0xFF;
|
M = pll & 0xFF;
|
||||||
N = (pll >> 8) & 0xFF;
|
N = (pll >> 8) & 0xFF;
|
||||||
if (((par->Chipset & 0xfff0) == 0x0290) ||
|
if (((par->Chipset & 0xfff0) == 0x0290) || ((par->Chipset & 0xfff0) == 0x0390) || ((par->Chipset & 0xfff0) == 0x02E0)) {
|
||||||
((par->Chipset & 0xfff0) == 0x0390)) {
|
|
||||||
MB = 1;
|
MB = 1;
|
||||||
NB = 1;
|
NB = 1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -963,6 +962,7 @@ void NVLoadStateExt(struct nvidia_par *par, RIVA_HW_STATE * state)
|
||||||
|
|
||||||
if (((par->Chipset & 0xfff0) == 0x0090) ||
|
if (((par->Chipset & 0xfff0) == 0x0090) ||
|
||||||
((par->Chipset & 0xfff0) == 0x01D0) ||
|
((par->Chipset & 0xfff0) == 0x01D0) ||
|
||||||
|
((par->Chipset & 0xfff0) == 0x02E0) ||
|
||||||
((par->Chipset & 0xfff0) == 0x0290))
|
((par->Chipset & 0xfff0) == 0x0290))
|
||||||
regions = 15;
|
regions = 15;
|
||||||
for(i = 0; i < regions; i++) {
|
for(i = 0; i < regions; i++) {
|
||||||
|
@ -1275,6 +1275,7 @@ void NVLoadStateExt(struct nvidia_par *par, RIVA_HW_STATE * state)
|
||||||
0x00100000);
|
0x00100000);
|
||||||
break;
|
break;
|
||||||
case 0x0090:
|
case 0x0090:
|
||||||
|
case 0x02E0:
|
||||||
case 0x0290:
|
case 0x0290:
|
||||||
NV_WR32(par->PRAMDAC, 0x0608,
|
NV_WR32(par->PRAMDAC, 0x0608,
|
||||||
NV_RD32(par->PRAMDAC, 0x0608) |
|
NV_RD32(par->PRAMDAC, 0x0608) |
|
||||||
|
@ -1352,6 +1353,7 @@ void NVLoadStateExt(struct nvidia_par *par, RIVA_HW_STATE * state)
|
||||||
} else {
|
} else {
|
||||||
if (((par->Chipset & 0xfff0) == 0x0090) ||
|
if (((par->Chipset & 0xfff0) == 0x0090) ||
|
||||||
((par->Chipset & 0xfff0) == 0x01D0) ||
|
((par->Chipset & 0xfff0) == 0x01D0) ||
|
||||||
|
((par->Chipset & 0xfff0) == 0x02E0) ||
|
||||||
((par->Chipset & 0xfff0) == 0x0290)) {
|
((par->Chipset & 0xfff0) == 0x0290)) {
|
||||||
for (i = 0; i < 60; i++) {
|
for (i = 0; i < 60; i++) {
|
||||||
NV_WR32(par->PGRAPH,
|
NV_WR32(par->PGRAPH,
|
||||||
|
@ -1403,6 +1405,7 @@ void NVLoadStateExt(struct nvidia_par *par, RIVA_HW_STATE * state)
|
||||||
} else {
|
} else {
|
||||||
if ((par->Chipset & 0xfff0) == 0x0090 ||
|
if ((par->Chipset & 0xfff0) == 0x0090 ||
|
||||||
(par->Chipset & 0xfff0) == 0x01D0 ||
|
(par->Chipset & 0xfff0) == 0x01D0 ||
|
||||||
|
(par->Chipset & 0xfff0) == 0x02E0 ||
|
||||||
(par->Chipset & 0xfff0) == 0x0290) {
|
(par->Chipset & 0xfff0) == 0x0290) {
|
||||||
NV_WR32(par->PGRAPH, 0x0DF0,
|
NV_WR32(par->PGRAPH, 0x0DF0,
|
||||||
NV_RD32(par->PFB, 0x0200));
|
NV_RD32(par->PFB, 0x0200));
|
||||||
|
|
|
@ -1243,6 +1243,7 @@ static u32 __devinit nvidia_get_arch(struct fb_info *info)
|
||||||
case 0x0140: /* GeForce 6600 */
|
case 0x0140: /* GeForce 6600 */
|
||||||
case 0x0160: /* GeForce 6200 */
|
case 0x0160: /* GeForce 6200 */
|
||||||
case 0x01D0: /* GeForce 7200, 7300, 7400 */
|
case 0x01D0: /* GeForce 7200, 7300, 7400 */
|
||||||
|
case 0x02E0: /* GeForce 7300 GT */
|
||||||
case 0x0090: /* GeForce 7800 */
|
case 0x0090: /* GeForce 7800 */
|
||||||
case 0x0210: /* GeForce 6800 */
|
case 0x0210: /* GeForce 6800 */
|
||||||
case 0x0220: /* GeForce 6200 */
|
case 0x0220: /* GeForce 6200 */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче