Skip to contentSkip to conversation

Fix typo in savage4 series definition in linux-3.0.0

PATCH New John Stanley 1 participant 1 message Aug 2, 2011 Framebuffer layer

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix typo in savage4 series definition in linux-3.0.0

Thanks Tormod,

Attached is the same patch, but with your 'Reviewed-by' added.

Yeah, the T22 is rather old, and a bit of a 'Frankenstein PC' at this point, but its quite functional even with Linux-3.0 and KDE-4.7

thanks again,
John

Quoted 32 lines · Tormod Volden
Quoted 8 lines · John Stanley

I have an old T22 Thinkpad with integrated Savage/IX-MV video. As of
linux-3.0, the video is non-functional; the PC either hard hangs immediately or has totally garbled video, and then hard hangs, as soon as I attempt to edit a file or cat a file with more than a screen-full of text. The foregoing details are actually not important any more as in looking at the code changes I discovered a typo in linux-3.0.0/drivers/video/savage/savagefb.h and have applied the attached patch to fix the issue.

John, you are absolutely correct. My bad, this was from a commit of mine. You may add my

to your patch. I'd suggest you change the patch description (mail subject) to "[PATCH] Fix typo in savage4 series definition" or something similar.

The patch should also go into the stable series (by cc'ing [email protected] if I remember correctly).

Quoted 6 lines

PLEASE NOTE:
I realize that the patch does not quite adhere to linux kernel patch
coding-style conventions (in particular, spaces around logical operators, and lines not exceeding 80 chars), but I have simply changed an '||' to an'&&' -- and NOT attempted to resolve pre-existing coding-style violations.

I also preserved the old coding style, which is the same in the xorg driver which shares much of this code. We can always change it there as well if somebody would like to fix it up.

Quoted 3 lines

thanks much,
John

Quoted 8 lines
Quoted 2 lines

P.S. Many, many thanks for lifting the 800x600 resolution limit! I've been using a patch/hack to bump the limit to 1024x768 for an very long time...

Glad to hear that! So there are still other savagefb users around :) My apologies to those who were affected by the typo.

Cheers,
Tormod

This patch corrects a typo/regression in the savage driver code occurring in going from linux-2.6.39.3 to linux-3.0.0.

In linux-2.6.39.3, there were two savage4 variants (S3_SAVAGE4 and S3_PROSAVAGE). Hence, S3_SAVAGE4_SERIES was defined as

S3_SAVAGE4 or S3_PROSAVAGE

In linux-3.0.0, two additional savage4 variants (S3_TWISTER and S3_PROSAVAGEDDR) have been added. Hence S3_SAVAGE4_SERIES should be defined as

S3_SAVAGE4, S3_PROSAVAGE, S3_TWISTER, or S3_PROSAVAGEDDR

In going from linux-2.6.39.3 to linux-3.0.0, the define statement for S3_SAVAGE4_SERIES was incompletely modified: the '||' should have been changed to an '&&'; for an '||' will set S3_SAVAGE4_SERIES true for any card.

drivers/video/savage/savagefb.h renamed from drivers/video/savage/savagefb.h.orig +1 -1
@@ -55,7 +55,7 @@
 
 #define S3_SAVAGE3D_SERIES(chip)  ((chip>=S3_SAVAGE3D) && (chip<=S3_SAVAGE_MX))
 
-#define S3_SAVAGE4_SERIES(chip)   ((chip>=S3_SAVAGE4) || (chip<=S3_PROSAVAGEDDR))
+#define S3_SAVAGE4_SERIES(chip)   ((chip>=S3_SAVAGE4) && (chip<=S3_PROSAVAGEDDR))
 
 #define S3_SAVAGE_MOBILE_SERIES(chip)  ((chip==S3_SAVAGE_MX) || (chip==S3_SUPERSAVAGE))