deal,
My thinkpad x200's X.server can not startup on the kernel 2.6.28,
and dmesg will show as below:
-->>--
[drm] Initialized drm 1.1.0 20060810
pci 0000:00:02.0: power state changed by ACPI to D0
pci 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
pci 0000:00:02.0: setting latency timer to 64
[drm] Initialized i915 1.6.0 20060119 on minor 0
pci 0000:00:02.0: pg_start == 0x00001f7f, intel_private.gtt_entries == 0x00001fff
pci 0000:00:02.0: trying to insert into local/stolen memory
--<<--
Then, I change file "drivers/char/agp/intel-agp.c" as this:
-->>--
--diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
index 9cf6e9b..e681f75 100644
--- a/drivers/char/agp/intel-agp.c
+++ b/drivers/char/agp/intel-agp.c
@@ -528,7 +528,8 @@ static void intel_i830_init_gtt_entries(void)
* stolen, ignore it in stolen gtt entries counting. However,
* 4KB of the stolen memory doesn't get mapped to the GTT.
*/
- size = 4;
+ /* size = 4; */
+ size = 516;
} else {
/* On previous hardware, the GTT size was just what was
* required to map the aperture.
--<<--
And Xorg can start now.
(1) Is it correct ?
Because older kernel use size as "512 + 4" at here, but now use "size = 4".
(2) How to deal with it if the patch is not right ?
(3) How to get more specification about gm4500 ?
On Mon, 10 Nov 2008 23:25:18 +0800 [email protected] wrote:
> deal,
>
> My thinkpad x200's X.server can not startup on the kernel 2.6.28,
Were any earlier kernels OK? If so, which version(s)?
Thanks.
> and dmesg will show as below:
> -->>--
> [drm] Initialized drm 1.1.0 20060810
> pci 0000:00:02.0: power state changed by ACPI to D0
> pci 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> pci 0000:00:02.0: setting latency timer to 64
> [drm] Initialized i915 1.6.0 20060119 on minor 0
> pci 0000:00:02.0: pg_start == 0x00001f7f, intel_private.gtt_entries == 0x00001fff
> pci 0000:00:02.0: trying to insert into local/stolen memory
> --<<--
>
> Then, I change file "drivers/char/agp/intel-agp.c" as this:
> -->>--
> --diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
> index 9cf6e9b..e681f75 100644
> --- a/drivers/char/agp/intel-agp.c
> +++ b/drivers/char/agp/intel-agp.c
> @@ -528,7 +528,8 @@ static void intel_i830_init_gtt_entries(void)
> * stolen, ignore it in stolen gtt entries counting. However,
> * 4KB of the stolen memory doesn't get mapped to the GTT.
> */
> - size = 4;
> + /* size = 4; */
> + size = 516;
> } else {
> /* On previous hardware, the GTT size was just what was
> * required to map the aperture.
> --<<--
>
> And Xorg can start now.
> (1) Is it correct ?
> Because older kernel use size as "512 + 4" at here, but now use "size = 4".
> (2) How to deal with it if the patch is not right ?
> (3) How to get more specification about gm4500 ?
On Tue, 11 Nov 2008, Andrew Morton wrote:
> On Mon, 10 Nov 2008 23:25:18 +0800 [email protected] wrote:
>
> > deal,
> >
> > My thinkpad x200's X.server can not startup on the kernel 2.6.28,
>
> Were any earlier kernels OK? If so, which version(s)?
What userspace Intel X driver is in use? afaik the GM45 wasn't supported
until after we fixed this issue. Hacking around the size in the kernel
won't actually fix the problem it actually makes a lot of things a lot
worse.
Dave.
> > Thanks.
>
> > and dmesg will show as below:
> > -->>--
> > [drm] Initialized drm 1.1.0 20060810
> > pci 0000:00:02.0: power state changed by ACPI to D0
> > pci 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> > pci 0000:00:02.0: setting latency timer to 64
> > [drm] Initialized i915 1.6.0 20060119 on minor 0
> > pci 0000:00:02.0: pg_start == 0x00001f7f, intel_private.gtt_entries == 0x00001fff
> > pci 0000:00:02.0: trying to insert into local/stolen memory
> > --<<--
> >
> > Then, I change file "drivers/char/agp/intel-agp.c" as this:
> > -->>--
> > --diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
> > index 9cf6e9b..e681f75 100644
> > --- a/drivers/char/agp/intel-agp.c
> > +++ b/drivers/char/agp/intel-agp.c
> > @@ -528,7 +528,8 @@ static void intel_i830_init_gtt_entries(void)
> > * stolen, ignore it in stolen gtt entries counting. However,
> > * 4KB of the stolen memory doesn't get mapped to the GTT.
> > */
> > - size = 4;
> > + /* size = 4; */
> > + size = 516;
> > } else {
> > /* On previous hardware, the GTT size was just what was
> > * required to map the aperture.
> > --<<--
> >
> > And Xorg can start now.
> > (1) Is it correct ?
> > Because older kernel use size as "512 + 4" at here, but now use "size = 4".
> > (2) How to deal with it if the patch is not right ?
> > (3) How to get more specification about gm4500 ?
>
>
On Tue, Nov 11, 2008 at 12:46:43AM -0800, Andrew Morton wrote:
> On Mon, 10 Nov 2008 23:25:18 +0800 [email protected] wrote:
> > My thinkpad x200's X.server can not startup on the kernel 2.6.28,
>
> Were any earlier kernels OK? If so, which version(s)?
v2.6.27 work fine while v2.6.27-rc[1,2,3,4] do not work.
On Tue, Nov 11, 2008 at 08:50:39AM +0000, Dave Airlie wrote:
> On Tue, 11 Nov 2008, Andrew Morton wrote:
>
> > On Mon, 10 Nov 2008 23:25:18 +0800 [email protected] wrote:
> >
> > > deal,
> > >
> > > My thinkpad x200's X.server can not startup on the kernel 2.6.28,
> >
> > Were any earlier kernels OK? If so, which version(s)?
> What userspace Intel X driver is in use? afaik the GM45 wasn't supported
> until after we fixed this issue. Hacking around the size in the kernel
> won't actually fix the problem it actually makes a lot of things a lot
> worse.
My video-driver is "xf86-video-intel 2.3.2",
and "X.Org X Server 1.4.2", my distribution is Archlinux.
The patch's size is calculated with the dmesg from kernel-2.6.27.
My lap-top computer work now, but I'm not sure that, So is there any
specification about it or any suggestion, I'm glad to do some test on
it.
> >
> > > and dmesg will show as below:
> > > -->>--
> > > [drm] Initialized drm 1.1.0 20060810
> > > pci 0000:00:02.0: power state changed by ACPI to D0
> > > pci 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> > > pci 0000:00:02.0: setting latency timer to 64
> > > [drm] Initialized i915 1.6.0 20060119 on minor 0
> > > pci 0000:00:02.0: pg_start == 0x00001f7f, intel_private.gtt_entries == 0x00001fff
> > > pci 0000:00:02.0: trying to insert into local/stolen memory
> > > --<<--
> > >
> > > Then, I change file "drivers/char/agp/intel-agp.c" as this:
> > > -->>--
> > > --diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
> > > index 9cf6e9b..e681f75 100644
> > > --- a/drivers/char/agp/intel-agp.c
> > > +++ b/drivers/char/agp/intel-agp.c
> > > @@ -528,7 +528,8 @@ static void intel_i830_init_gtt_entries(void)
> > > * stolen, ignore it in stolen gtt entries counting. However,
> > > * 4KB of the stolen memory doesn't get mapped to the GTT.
> > > */
> > > - size = 4;
> > > + /* size = 4; */
> > > + size = 516;
> > > } else {
> > > /* On previous hardware, the GTT size was just what was
> > > * required to map the aperture.
> > > --<<--
> > >
> > > And Xorg can start now.
> > > (1) Is it correct ?
> > > Because older kernel use size as "512 + 4" at here, but now use "size = 4".
> > > (2) How to deal with it if the patch is not right ?
> > > (3) How to get more specification about gm4500 ?
> >
> >