Thread (10 messages) 10 messages, 3 authors, 2023-01-04

Re: matroxfb: cannot determine memory size

From: Helge Deller <deller@gmx.de>
Date: 2022-12-16 21:21:46
Also in: regressions, stable
Subsystem: framebuffer layer, matrox framebuffer driver, the rest · Maintainers: Helge Deller, Linus Torvalds

* Paul Menzel [off-list ref]:
[Cc: +regressions@, +stable@]

#regzbot ^introduced: 62d89a7d49afe46e6b9bbe9e23b004ad848dbde4


Dear Helge,


Thank you for your prompt reply.

Am 16.12.22 um 00:02 schrieb Helge Deller:
quoted
On 12/15/22 17:39, Paul Menzel wrote:
quoted
quoted
Between Linux 5.10.103 and 5.10.110/5.15.77, matrixfb fails to load.

## Working:

     [    0.000000] Linux version 5.10.103.mx64.429 (root@theinternet.molgen.mpg.de) (gcc (GCC) 7.5.0, GNU ld (GNU Binutils) 2.37) #1 SMP Mon Mar 7 16:41:58 CET 2022
     [    0.000000] Command line: BOOT_IMAGE=/boot/bzImage-5.10.103.mx64.429 root=LABEL=root ro crashkernel=64G-:256M console=ttyS0,115200n8 console=tty0 init=/bin/systemd audit=0 random.trust_cpu=on systemd.unified_cgroup_hierarchy
     […]
     [    0.000000] DMI: Dell Inc. PowerEdge R910/0KYD3D, BIOS 2.10.0 08/29/2013
     […]
     [   48.045530] matroxfb: Matrox MGA-G200eW (PCI) detected
     [   48.054675] matroxfb: 640x480x8bpp (virtual: 640x13107)
     [   48.059966] matroxfb: framebuffer at 0xC5000000, mapped to 0x00000000ca7238fa, size 8388608

## Non-working:

### 5.10.110

     [    0.000000] Linux version 5.10.110.mx64.433
(root@theinternet.molgen.mpg.de) (gcc (GCC) 7.5.0, GNU ld (GNU
Binutils) 2.37) #1 SMP Thu Apr 14 15:28:53 CEST 2022
     [    0.000000] Command line: root=LABEL=root ro crashkernel=64G-:256M console=ttyS0,115200n8 console=tty0 init=/bin/systemd audit=0 random.trust_cpu=on systemd.unified_cgroup_hierarchy
     […]
     [    0.000000] DMI: Dell Inc. PowerEdge R910/0KYD3D, BIOS 2.10.0 08/29/2013
     […]
     [   35.225987] matroxfb: Matrox MGA-G200eW (PCI) detected
     [   35.234088] matroxfb: cannot determine memory size
     [   35.238931] matroxfb: probe of 0000:09:03.0 failed with error -1

### 5.15.77

     [    0.000000] Linux version 5.15.77.mx64.440 (root@theinternet.molgen.mpg.de) (gcc (GCC) 10.4.0, GNU ld (GNU Binutils) 2.37) #1 SMP Tue Nov 8 15:42:33 CET 2022
     [    0.000000] Command line: root=LABEL=root ro crashkernel=64G-:256M console=ttyS0,115200n8 console=tty0 init=/bin/systemd audit=0 random.trust_cpu=on systemd.unified_cgroup_hierarchy
     […]
     [    0.000000] DMI: Dell Inc. PowerEdge R715/0G2DP3, BIOS 1.5.2 04/19/2011
     […]
     [    9.436420] matroxfb: Matrox MGA-G200eW (PCI) detected
     [    9.444502] matroxfb: cannot determine memory size
     [    9.449316] matroxfb: probe of 0000:0a:03.0 failed with error -1

We see it on several systems:

     $ lspci -nn -s 0a:03.0 # Dell PowerEdge R715
     0a:03.0 VGA compatible controller [0300]: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 [102b:0532] (rev 0a)

     $ lspci -nn -s 09:03.0 # Dell PowerEdge R910
     09:03.0 VGA compatible controller [0300]: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 [102b:0532] (rev 0a)

I found some old log from April 2022, where I booted 5.10.109, and
the error is not there, pointing toward the regression to be
introduced between 5.10.109 and 5.10.110.
$ git log --oneline v5.10.109..v5.10.110 --grep fbdev
[…]
quoted
quoted
Is it worthwhile to test commit f8bf19f7f311 (video: fbdev:
matroxfb: set maxvram of vbG200eW to the same as vbG200 to avoid
black screen)?
Yes, it is.
Please try and report back.
It seems to be the only relevant patch, and it fits with the name of
your card.
I tested Linus’ master with commit 84e57d292203 (Merge tag
'exfat-for-6.2-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat) and the
error is still there. Reverting commit fixes the issue.

Tested on:

    DMI: Dell Inc. PowerEdge R910/0KYD3D, BIOS 2.10.0 08/29/2013

Current master:

    [   36.221595] matroxfb 0000:09:03.0: vgaarb: deactivate vga console
    [   36.228355] Console: switching to colour dummy device 80x25
    [   36.234069] matroxfb: Matrox MGA-G200eW (PCI) detected
    [   36.239316] PInS memtype = 7
    [   36.242198] matroxfb: cannot determine memory size
    [   36.242209] matroxfb: probe of 0000:09:03.0 failed with error -1

After reverting 62d89a7d49af (video: fbdev: matroxfb: set maxvram of
vbG200eW to the same as vbG200 to avoid black screen):

    [   38.140763] matroxfb 0000:09:03.0: vgaarb: deactivate vga console
    [   38.148057] Console: switching to colour dummy device 80x25
    [   38.153789] matroxfb: Matrox MGA-G200eW (PCI) detected
    [   38.159042] PInS memtype = 7
    [   38.161953] matroxfb: 640x480x8bpp (virtual: 640x13107)
2022-12-16T12:26:11.301999+01:00 invidia kernel: [   38.167175] matroxfb:
framebuffer at 0xC5000000, mapped to 0x000000006f41c38c, size 8388608
quoted
quoted
The master commit 62d89a7d49a was added to v5.18-rc1, and was also
backported to the Linux 5.15 series in 5.15.33.
Good.

Could you test if the patch below works for you as well (on top of git master) ?
I believe the commit f8bf19f7f311 (video: fbdev: matroxfb: set maxvram of vbG200eW to the same as vbG200 to avoid black screen)
changed the wrong value...

If it works, can you send a patch?

Helge

diff --git a/drivers/video/fbdev/matrox/matroxfb_base.c b/drivers/video/fbdev/matrox/matroxfb_base.c
index 0d3cee7ae726..5192c7ac459a 100644
--- a/drivers/video/fbdev/matrox/matroxfb_base.c
+++ b/drivers/video/fbdev/matrox/matroxfb_base.c
@@ -1378,8 +1378,8 @@ static struct video_board vbG200 = {
 	.lowlevel = &matrox_G100
 };
 static struct video_board vbG200eW = {
-	.maxvram = 0x100000,
-	.maxdisplayable = 0x800000,
+	.maxvram = 0x800000,
+	.maxdisplayable = 0x100000,
 	.accelID = FB_ACCEL_MATROX_MGAG200,
 	.lowlevel = &matrox_G100
 };
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help