On 12/19/22 12:58, Paul Menzel wrote:
Dear Helge,
Am 16.12.22 um 22:21 schrieb Helge Deller:
- Paul Menzel pmenzel@molgen.mpg.de:
[Cc: +regressions@, +stable@]
#regzbot ^introduced: 62d89a7d49afe46e6b9bbe9e23b004ad848dbde4
Am 16.12.22 um 00:02 schrieb Helge Deller:
On 12/15/22 17:39, Paul Menzel wrote:
Between Linux 5.10.103 and 5.10.110/5.15.77, matrixfb fails to load.
[…]
### 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)
Also Dell PowerEdge R815.
[…]
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) [ 38.167175] matroxfb: framebuffer at 0xC5000000, mapped to 0x000000006f41c38c, size 8388608
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...
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 };
Thank you. That worked.
$ dmesg | grep -e matroxfb -e "Linux version" -e "DMI:" [ 0.000000] Linux version 6.1.0.mx64.440-13147-gfa99506bedb1 (pmenzel@dontpanic.molgen.mpg.de) (gcc (GCC) 11.1.0, GNU ld (GNU Binutils) 2.37) #1 SMP PREEMPT_DYNAMIC Mon Dec 19 12:13:21 CET 2022 [ 0.000000] DMI: Dell Inc. PowerEdge R815/04Y8PT, BIOS 3.4.0 03/23/2018 [ 29.033666] matroxfb 0000:0a:03.0: vgaarb: deactivate vga console [ 29.046608] matroxfb: Matrox MGA-G200eW (PCI) detected [ 29.054769] matroxfb: 640x480x8bpp (virtual: 640x1638) [ 29.059901] matroxfb: framebuffer at 0xE4000000, mapped to 0x00000000d36c9776, size 8388608 [ 34.917829] matroxfb: Pixel PLL not locked after 5 secs $ lspci -nn -s 0a:03.0 0a:03.0 VGA compatible controller [0300]: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 [102b:0532] (rev 0a)
If it works, can you send a patch?
Will do.
Great.
If you have some explanation though, I could add to the commit message, that’d be great.
Look at the comment in the code, a few lines further down, for the vbG400 card:
/* from doc it looks like that accelerator can draw only to low 16MB :-( Direct accesses & displaying are OK for whole 32MB */ static struct video_board vbG400 = { .maxvram = 0x2000000, .maxdisplayable = 0x1000000,
it makes sense to have maxdisplayable smaller than maxvram. But Z Liu made maxvram lower than maxdisplayable.
Helge