Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bc0ca06e24545117b69c94b1219dbe19392a0c5a
Commit:     bc0ca06e24545117b69c94b1219dbe19392a0c5a
Parent:     880169dd2edc4297b7811a0542be9766ca6945bc
Author:     Michal Piotrowski <[EMAIL PROTECTED]>
AuthorDate: Wed May 9 02:35:34 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Wed May 9 12:30:57 2007 -0700

    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 <[EMAIL PROTECTED]>
    Cc: "Antonino A. Daplas" <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 drivers/video/nvidia/nv_hw.c  |    7 +++++--
 drivers/video/nvidia/nvidia.c |    1 +
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/video/nvidia/nv_hw.c b/drivers/video/nvidia/nv_hw.c
index f297c7b..c627955 100644
--- a/drivers/video/nvidia/nv_hw.c
+++ b/drivers/video/nvidia/nv_hw.c
@@ -149,8 +149,7 @@ static void nvGetClocks(struct nvidia_par *par, unsigned 
int *MClk,
                pll = NV_RD32(par->PMC, 0x4024);
                M = pll & 0xFF;
                N = (pll >> 8) & 0xFF;
-               if (((par->Chipset & 0xfff0) == 0x0290) ||
-                               ((par->Chipset & 0xfff0) == 0x0390)) {
+               if (((par->Chipset & 0xfff0) == 0x0290) || ((par->Chipset & 
0xfff0) == 0x0390) || ((par->Chipset & 0xfff0) == 0x02E0)) {
                        MB = 1;
                        NB = 1;
                } else {
@@ -963,6 +962,7 @@ void NVLoadStateExt(struct nvidia_par *par, RIVA_HW_STATE * 
state)
 
                if (((par->Chipset & 0xfff0) == 0x0090) ||
                    ((par->Chipset & 0xfff0) == 0x01D0) ||
+                   ((par->Chipset & 0xfff0) == 0x02E0) ||
                    ((par->Chipset & 0xfff0) == 0x0290))
                        regions = 15;
                for(i = 0; i < regions; i++) {
@@ -1275,6 +1275,7 @@ void NVLoadStateExt(struct nvidia_par *par, RIVA_HW_STATE 
* state)
                                                0x00100000);
                                        break;
                                case 0x0090:
+                               case 0x02E0:
                                case 0x0290:
                                        NV_WR32(par->PRAMDAC, 0x0608,
                                                NV_RD32(par->PRAMDAC, 0x0608) |
@@ -1352,6 +1353,7 @@ void NVLoadStateExt(struct nvidia_par *par, RIVA_HW_STATE 
* state)
                        } else {
                                if (((par->Chipset & 0xfff0) == 0x0090) ||
                                    ((par->Chipset & 0xfff0) == 0x01D0) ||
+                                   ((par->Chipset & 0xfff0) == 0x02E0) ||
                                    ((par->Chipset & 0xfff0) == 0x0290)) {
                                        for (i = 0; i < 60; i++) {
                                                NV_WR32(par->PGRAPH,
@@ -1403,6 +1405,7 @@ void NVLoadStateExt(struct nvidia_par *par, RIVA_HW_STATE 
* state)
                                } else {
                                        if ((par->Chipset & 0xfff0) == 0x0090 ||
                                            (par->Chipset & 0xfff0) == 0x01D0 ||
+                                           (par->Chipset & 0xfff0) == 0x02E0 ||
                                            (par->Chipset & 0xfff0) == 0x0290) {
                                                NV_WR32(par->PGRAPH, 0x0DF0,
                                                        NV_RD32(par->PFB, 
0x0200));
diff --git a/drivers/video/nvidia/nvidia.c b/drivers/video/nvidia/nvidia.c
index 7c36b5f..f85edf0 100644
--- a/drivers/video/nvidia/nvidia.c
+++ b/drivers/video/nvidia/nvidia.c
@@ -1243,6 +1243,7 @@ static u32 __devinit nvidia_get_arch(struct fb_info *info)
        case 0x0140:            /* GeForce 6600 */
        case 0x0160:            /* GeForce 6200 */
        case 0x01D0:            /* GeForce 7200, 7300, 7400 */
+       case 0x02E0:            /* GeForce 7300 GT */
        case 0x0090:            /* GeForce 7800 */
        case 0x0210:            /* GeForce 6800 */
        case 0x0220:            /* GeForce 6200 */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to