* [patch] intelfb: add (partial) support for 915G
@ 2005-01-29 5:11 Buttchereit, Axel (XL)
2005-01-29 12:03 ` Antonino A. Daplas
2005-02-02 12:30 ` Antonino A. Daplas
0 siblings, 2 replies; 7+ messages in thread
From: Buttchereit, Axel (XL) @ 2005-01-29 5:11 UTC (permalink / raw)
To: sylvain.meyer; +Cc: adaplas, linux-fbdev-devel
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch] intelfb: add (partial) support for 915G
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
1 sibling, 1 reply; 7+ messages in thread
From: Antonino A. Daplas @ 2005-01-29 12:03 UTC (permalink / raw)
To: Buttchereit, Axel (XL), sylvain.meyer; +Cc: adaplas, linux-fbdev-devel
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
Is the driver usable? If not, make it work with your machine at least.
Tony
-------------------------------------------------------
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch] intelfb: add (partial) support for 915G
2005-01-29 12:03 ` Antonino A. Daplas
@ 2005-01-29 15:52 ` Buttchereit, Axel (XL)
0 siblings, 0 replies; 7+ messages in thread
From: Buttchereit, Axel (XL) @ 2005-01-29 15:52 UTC (permalink / raw)
To: linux-fbdev-devel
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
>
>
> Is the driver usable? If not, make it work with your machine at least.
>
The driver works with my machine. Both as a module and statically linked.
Support is partial/incomplete, because
- hwcursor does not work, i. e. I haven't managed yet to
derive the special code for hwcursor on 915G from
the XFree86/Xorg-code. That is why I'm hard-wiring the
value of hwcusror to "0" on 915G.
- DPMS does nor work properly, but I do not know whether this
is because of my incomplete patch, because of my
hardware or because of the kernel (version).
Furthermore I think that support for the mobila variant 915GM,
should be inlcuded, but I haven't got the hardware.
I would be happy to get feedback from a user that has tried the patched
and the unpatched "intelfb" with current 2.6.10 on 830/855/865 to
see what is wrong with DPMS and from a user that has the 915GM.
The "final" patch should support "hwcusor", "DPMS" and 915GM.
Cheers
--Axel
-------------------------------------------------------
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch] intelfb: add (partial) support for 915G
2005-01-29 5:11 [patch] intelfb: add (partial) support for 915G Buttchereit, Axel (XL)
2005-01-29 12:03 ` Antonino A. Daplas
@ 2005-02-02 12:30 ` Antonino A. Daplas
2005-02-02 16:40 ` Buttchereit, Axel (XL)
1 sibling, 1 reply; 7+ messages in thread
From: Antonino A. Daplas @ 2005-02-02 12:30 UTC (permalink / raw)
To: Buttchereit, Axel (XL), sylvain.meyer; +Cc: adaplas, linux-fbdev-devel
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.
Tony
-------------------------------------------------------
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch] intelfb: add (partial) support for 915G
2005-02-02 12:30 ` Antonino A. Daplas
@ 2005-02-02 16:40 ` Buttchereit, Axel (XL)
2005-02-03 4:42 ` Antonino A. Daplas
0 siblings, 1 reply; 7+ messages in thread
From: Buttchereit, Axel (XL) @ 2005-02-02 16:40 UTC (permalink / raw)
To: linux-fbdev-devel; +Cc: sylvain.meyer, adaplas
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.
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.
I would like to know, if the following statements are true:
@2.6.10 = kernel/v2.6/linux-2.6.10.tar.bz2
@2.6.11-rc1 = @2.6.10 + kernel/v2.6/testing/patch-2.6.11-rc1.bz2
@2.6.11-rc2 = @2.6.10 + kernel/v2.6/testing/patch-2.6.11-rc2.bz2
@2.6.11-rc2-bk1 = @2.6.11-rc2 + kernel/v2.6/snapshots/patch-2.6.11-rc2-bk1.bz2
@2.6.11-rc2-bk2 = @2.6.11-rc2 + kernel/v2.6/snapshots/patch-2.6.11-rc2-bk2.bz2
...
@2.6.11-rc1-mm1 = @2.6.11-rc1 + kernel/people/akpm/patches/2.6/2.6.11-rc1/2.6.11-rc1-mm1/2.6.11-rc1-mm1.bz2
@2.6.11-rc1-mm2 = @2.6.11-rc1 + kernel/people/akpm/patches/2.6/2.6.11-rc1/2.6.11-rc1-mm2/2.6.11-rc1-mm2.bz2
@2.6.11-rc2-mm1 = @2.6.11-rc2 + kernel/people/akpm/patches/2.6/2.6.11-rc2/2.6.11-rc2-mm1/2.6.11-rc2-mm1.bz2
@2.6.11-rc2-mm2 = @2.6.11-rc2 + kernel/people/akpm/patches/2.6/2.6.11-rc2/2.6.11-rc2-mm2/2.6.11-rc2-mm2.bz2
The "2.6.11-rc[V]-bk[W]" are maintained by Linus who integrates patches from Andrews's mm-tree,
i. e. "patch-2.6.11-rc[V]-bk[W]" is a subset (selected patches) from Andrew's current
"2.6.11-rc2-mm[I]" patchset.
Right?
(What about the "-ac" patches? Are they also running into "2.6.11-rc[V]-bk[W]")
Thanks for your patience
--Axel
-------------------------------------------------------
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch] intelfb: add (partial) support for 915G
2005-02-02 16:40 ` Buttchereit, Axel (XL)
@ 2005-02-03 4:42 ` Antonino A. Daplas
2005-02-07 4:10 ` Buttchereit, Axel (XL)
0 siblings, 1 reply; 7+ messages in thread
From: Antonino A. Daplas @ 2005-02-03 4:42 UTC (permalink / raw)
To: linux-fbdev-devel, Buttchereit, Axel (XL); +Cc: sylvain.meyer, adaplas
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
-------------------------------------------------------
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch] intelfb: add (partial) support for 915G
2005-02-03 4:42 ` Antonino A. Daplas
@ 2005-02-07 4:10 ` Buttchereit, Axel (XL)
0 siblings, 0 replies; 7+ messages in thread
From: Buttchereit, Axel (XL) @ 2005-02-07 4:10 UTC (permalink / raw)
To: linux-fbdev-devel; +Cc: sylvain.meyer, adaplas
[-- 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 */
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2005-02-07 4:10 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 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).