From: "Buttchereit, Axel (XL)" <XL@XLsigned.net>
To: sylvain.meyer@worldonline.fr
Cc: adaplas@pol.net, linux-fbdev-devel@lists.sourceforge.net
Subject: [patch] intelfb: add (partial) support for 915G
Date: Sat, 29 Jan 2005 06:11:07 +0100 [thread overview]
Message-ID: <41FB1AEB.4090206@XLsigned.net> (raw)
Add (partial) support for 915G
No HW cursor at the moment
Screen is blanked but signal/sync is not switched off
Mostly derived from XFree86/Xorg driver
Pass "vesa_modes" and VESA_MODEDB_SIZE in call to "fb_find_mode()"
to allow loading as module. Makes "vesa_modes" also the default
"modedb" when linking statically into the kernel.
Change PREFERRED_MODE to more reasonable value "1024x768-32@70"
Signed-off-by: Axel Buttchereit <XL@XLsigned.net>
diff -ru linux.orig/drivers/video/intelfb/intelfbdrv.c linux/drivers/video/intelfb/intelfbdrv.c
--- linux.orig/drivers/video/intelfb/intelfbdrv.c 2005-01-29 05:16:44.372522436 +0100
+++ linux/drivers/video/intelfb/intelfbdrv.c 2005-01-29 05:40:29.566548604 +0100
@@ -1,7 +1,7 @@
/*
* intelfb
*
- * Linux framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G
+ * Linux framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G
* integrated graphics chips.
*
* Copyright © 2002, 2003 David Dawes <dawes@xfree86.org>
@@ -153,6 +153,7 @@
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_845G, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_845G },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_85XGM, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_85XGM },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_865G, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_865G },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_915G, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_915G },
{ 0, }
};
@@ -470,6 +471,8 @@
struct agp_kern_info gtt_info;
int agp_memtype;
const char *s;
+ int aperture_bar = 0;
+ int mmio_bar = 1;
DBG_MSG("intelfb_pci_register\n");
@@ -516,13 +519,20 @@
}
/* Set base addresses. */
- dinfo->aperture.physical = pci_resource_start(pdev, 0);
- dinfo->aperture.size = pci_resource_len(pdev, 0);
- dinfo->mmio_base_phys = pci_resource_start(pdev, 1);
-
+ if (ent->device == PCI_DEVICE_ID_INTEL_915G) {
+ aperture_bar = 2;
+ mmio_bar = 0;
+ /* Disable HW cursor on 915G (not implemented yet) */
+ hwcursor = 0;
+ }
+ dinfo->aperture.physical = pci_resource_start(pdev, aperture_bar);
+ dinfo->aperture.size = pci_resource_len(pdev, aperture_bar);
+ dinfo->mmio_base_phys = pci_resource_start(pdev, mmio_bar);
DBG_MSG("fb aperture: 0x%lx/0x%lx, MMIO region: 0x%lx/0x%lx\n",
- pci_resource_start(pdev, 0), pci_resource_len(pdev, 0),
- pci_resource_start(pdev, 1), pci_resource_len(pdev, 1));
+ pci_resource_start(pdev, aperture_bar),
+ pci_resource_len(pdev, aperture_bar),
+ pci_resource_start(pdev, mmio_bar),
+ pci_resource_len(pdev, mmio_bar));
/* Reserve the fb and MMIO regions */
if (!request_mem_region(dinfo->aperture.physical, dinfo->aperture.size,
@@ -989,13 +999,15 @@
} else {
if (mode) {
msrc = fb_find_mode(var, dinfo->info, mode,
- NULL, 0, NULL, 0);
+ vesa_modes, VESA_MODEDB_SIZE,
+ NULL, 0);
if (msrc)
msrc |= 8;
}
if (!msrc) {
msrc = fb_find_mode(var, dinfo->info, PREFERRED_MODE,
- NULL, 0, NULL, 0);
+ vesa_modes, VESA_MODEDB_SIZE,
+ NULL, 0);
}
}
diff -ru linux.orig/drivers/video/intelfb/intelfbdrv.h linux/drivers/video/intelfb/intelfbdrv.h
--- linux.orig/drivers/video/intelfb/intelfbdrv.h 2005-01-29 05:16:44.373522137 +0100
+++ linux/drivers/video/intelfb/intelfbdrv.h 2005-01-29 03:33:52.021728146 +0100
@@ -5,7 +5,7 @@
******************************************************************************
* intelfb
*
- * Linux framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G
+ * Linux framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G
* integrated graphics chips.
*
* Copyright © 2004 Sylvain Meyer
diff -ru linux.orig/drivers/video/intelfb/intelfb.h linux/drivers/video/intelfb/intelfb.h
--- linux.orig/drivers/video/intelfb/intelfb.h 2005-01-29 05:16:44.360526028 +0100
+++ linux/drivers/video/intelfb/intelfb.h 2005-01-29 05:22:04.356713430 +0100
@@ -10,7 +10,7 @@
/*** Version/name ***/
#define INTELFB_VERSION "0.9.2"
#define INTELFB_MODULE_NAME "intelfb"
-#define SUPPORTED_CHIPSETS "830M/845G/852GM/855GM/865G"
+#define SUPPORTED_CHIPSETS "830M/845G/852GM/855GM/865G/915G"
/*** Debug/feature defines ***/
@@ -36,7 +36,7 @@
#endif
#ifndef PREFERRED_MODE
-#define PREFERRED_MODE "1024x768-16@60"
+#define PREFERRED_MODE "1024x768-32@70"
#endif
/*** hw-related values ***/
@@ -46,6 +46,7 @@
#define PCI_DEVICE_ID_INTEL_845G 0x2562
#define PCI_DEVICE_ID_INTEL_85XGM 0x3582
#define PCI_DEVICE_ID_INTEL_865G 0x2572
+#define PCI_DEVICE_ID_INTEL_915G 0x2582
/* Size of MMIO region */
#define INTEL_REG_SIZE 0x80000
@@ -117,7 +118,8 @@
INTEL_852GME,
INTEL_855GM,
INTEL_855GME,
- INTEL_865G
+ INTEL_865G,
+ INTEL_915G
};
struct intelfb_hwstate {
diff -ru linux.orig/drivers/video/intelfb/intelfbhw.c linux/drivers/video/intelfb/intelfbhw.c
--- linux.orig/drivers/video/intelfb/intelfbhw.c 2005-01-29 05:16:44.381519742 +0100
+++ linux/drivers/video/intelfb/intelfbhw.c 2005-01-29 03:40:41.971680927 +0100
@@ -98,6 +98,11 @@
*chipset = INTEL_865G;
*mobile = 0;
return 0;
+ case PCI_DEVICE_ID_INTEL_915G:
+ *name = "Intel(R) 915G";
+ *chipset = INTEL_915G;
+ *mobile = 0;
+ return 0;
default:
return 1;
}
@@ -169,6 +174,12 @@
case INTEL_855_GMCH_GMS_STOLEN_32M:
*stolen_size = MB(32) - KB(132);
return 0;
+ case INTEL_915G_GMCH_GMS_STOLEN_48M:
+ *stolen_size = MB(48) - KB(132);
+ return 0;
+ case INTEL_915G_GMCH_GMS_STOLEN_64M:
+ *stolen_size = MB(64) - KB(132);
+ return 0;
case INTEL_855_GMCH_GMS_DISABLED:
ERR_MSG("video memory is disabled\n");
return 0;
diff -ru linux.orig/drivers/video/intelfb/intelfbhw.h linux/drivers/video/intelfb/intelfbhw.h
--- linux.orig/drivers/video/intelfb/intelfbhw.h 2005-01-29 05:16:44.395515551 +0100
+++ linux/drivers/video/intelfb/intelfbhw.h 2005-01-29 03:37:01.004941554 +0100
@@ -46,6 +46,9 @@
#define INTEL_855_GMCH_GMS_STOLEN_16M (0x4 << 4)
#define INTEL_855_GMCH_GMS_STOLEN_32M (0x5 << 4)
+#define INTEL_915G_GMCH_GMS_STOLEN_48M (0x6 << 4)
+#define INTEL_915G_GMCH_GMS_STOLEN_64M (0x7 << 4)
+
/* HW registers */
/* Fence registers */
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
next reply other threads:[~2005-01-29 5:11 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-29 5:11 Buttchereit, Axel (XL) [this message]
2005-01-29 12:03 ` [patch] intelfb: add (partial) support for 915G Antonino A. Daplas
2005-01-29 15:52 ` Buttchereit, Axel (XL)
2005-02-02 12:30 ` Antonino A. Daplas
2005-02-02 16:40 ` Buttchereit, Axel (XL)
2005-02-03 4:42 ` Antonino A. Daplas
2005-02-07 4:10 ` Buttchereit, Axel (XL)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41FB1AEB.4090206@XLsigned.net \
--to=xl@xlsigned.net \
--cc=adaplas@pol.net \
--cc=linux-fbdev-devel@lists.sourceforge.net \
--cc=sylvain.meyer@worldonline.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.