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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).