]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/video/fbdev/gxt4500.c
gxt4500: fix 16bpp 565 mode
[karo-tx-linux.git] / drivers / video / fbdev / gxt4500.c
index f19133a80e8c3163a679c070253c285e2b2034d9..3c481d0634fe3fe89cc80d67f3e76248d6dbf83e 100644 (file)
@@ -525,7 +525,7 @@ static int gxt4500_setcolreg(unsigned int reg, unsigned int red,
                u32 val = reg;
                switch (par->pixfmt) {
                case DFA_PIX_16BIT_565:
-                       val |= (reg << 11) | (reg << 6);
+                       val |= (reg << 11) | (reg << 5);
                        break;
                case DFA_PIX_16BIT_1555:
                        val |= (reg << 10) | (reg << 5);
@@ -670,8 +670,15 @@ static int gxt4500_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
        pci_set_drvdata(pdev, info);
 
+#ifdef __BIG_ENDIAN
        /* Set byte-swapping for DFA aperture for all pixel sizes */
        pci_write_config_dword(pdev, CFG_ENDIAN0, 0x333300);
+#else /* __LITTLE_ENDIAN */
+       /* not sure what this means but fgl23 driver does that */
+       pci_write_config_dword(pdev, CFG_ENDIAN0, 0x2300);
+/*     pci_write_config_dword(pdev, CFG_ENDIAN0 + 4, 0x400000);*/
+       pci_write_config_dword(pdev, CFG_ENDIAN0 + 8, 0x98530000);
+#endif
 
        info->fbops = &gxt4500_ops;
        info->flags = FBINFO_FLAG_DEFAULT;