All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Buttchereit, Axel (XL)" <XL@XLsigned.net>
To: linux-fbdev-devel@lists.sourceforge.net
Cc: sylvain.meyer@worldonline.fr, adaplas@pol.net
Subject: Re: [patch] intelfb: add (partial) support for 915G
Date: Mon, 07 Feb 2005 05:10:37 +0100	[thread overview]
Message-ID: <4206EA3D.7040502@XLsigned.net> (raw)
In-Reply-To: <200502031242.24560.adaplas@swissinfo.org>

[-- Attachment #1: Type: text/plain, Size: 1780 bytes --]


Antonino A. Daplas wrote:
> On Thursday 03 February 2005 00:40, Buttchereit, Axel (XL) wrote:
> 
>>Antonino A. Daplas wrote:
>>
>>>On Saturday 29 January 2005 13:11, Buttchereit, Axel (XL) wrote:
>>>
>>>>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"
>>>
>>>Can you resend?  Patch is malformed.
>>
>>Sure!
>>But it would be much easier for me, if I know what's wrong with my patch.
> 
> 
> It's line-wrapped, I think, your mailer probably mangled it.  You can resend
> the patch as a text attachment.
> 
> 
>>I assume that the kernel source version I was using is wrong (outdated),
>>i. e. I have to make my patch base on (at least) version 2.6.11-rc2.
> 
> 
> The source tree is not a problem, you can use any kernel >= 2.6.10.
> 
> Tony

Sorry for my late response, but I was quite busy with "subversioning the kernel",
i. e. I'm now able to (semi-)automatically update my subversion repository
using (downloaded) patches from kernel.org (mirrors).

I have attached the same patch I've send before, though I do not understand
why it was mangled. (I've tested this by sendind myself an email
containing the patch...)

For the patch was build on 2.6.10 with gentoo-patches already applied,
I have verified that my patch works on 2.6.11-rc3 from kernel.org, too.
It works! (The patching, i. e. I've not built a 2.6.11-rc3-kernel yet)

Hope that I'm able to remove the "partial" soon.

Cheers,
Axel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: intelfb-915G.patch --]
[-- Type: text/x-patch; name="intelfb-915G.patch", Size: 6452 bytes --]

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 */

      reply	other threads:[~2005-02-07  4:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-29  5:11 [patch] intelfb: add (partial) support for 915G Buttchereit, Axel (XL)
2005-01-29 12:03 ` 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) [this message]

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=4206EA3D.7040502@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.