linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

             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).