From: Paul Menzel <pmenzel@molgen.mpg.de>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: "Z. Liu" <liuzx@knownsec.com>, Helge Deller <deller@gmx.de>,
linux-fbdev@vger.kernel.org, it+linux-fbdev@molgen.mpg.de
Subject: Why is mgag200 not used over matroxfb? (was: matroxfb: cannot determine memory size)
Date: Fri, 16 Dec 2022 14:16:18 +0100 [thread overview]
Message-ID: <7b85b832-e6fd-fe42-c6a1-93ebb591383c@molgen.mpg.de> (raw)
In-Reply-To: <972999d3-b75d-5680-fcef-6e6905c52ac5@suse.de>
Dear Thomas,
Thank you for your reply.
Am 16.12.22 um 13:27 schrieb Thomas Zimmermann:
> Am 15.12.22 um 17:39 schrieb Paul Menzel:
[…]
>> Between Linux 5.10.103 and 5.10.110/5.15.77, matrixfb fails to load.
>
> Off-topic, but related. matroxfb is obsolete and there's a maintained
> DRM replacement (mgag200) for this hardware.
I also remembered something like this in the back of my head. Though I
thought about using simpledrm (`DRM_SIMPLEDRM`), we do not build though.
> Is there anything missing from mgag200 that prevents you from switching?
No, it looks like the matroxfb modules take precedence over the mgag200
module:
$ grep -e FB_MATROX -e MGAG /boot/config-5.15.77.mx64.440
CONFIG_DRM_MGAG200=m
CONFIG_FB_MATROX=m
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G=y
CONFIG_FB_MATROX_I2C=m
# CONFIG_FB_MATROX_MAVEN is not set
$ lsmod | grep matrox
matroxfb_base 28672 0
matroxfb_g450 16384 1 matroxfb_base
matroxfb_Ti3026 16384 1 matroxfb_base
matroxfb_accel 16384 1 matroxfb_base
matroxfb_DAC1064 20480 1 matroxfb_base
g450_pll 16384 2 matroxfb_g450,matroxfb_DAC1064
matroxfb_misc 20480 5
g450_pll,matroxfb_Ti3026,matroxfb_base,matroxfb_g450,matroxfb_DAC1064
Kind regards,
Paul
PS: Output of `modinfo`:
```
$ modinfo matroxfb_base
filename:
/lib/modules/5.15.77.mx64.440/kernel/drivers/video/fbdev/matrox/matroxfb_base.ko
license: GPL
description: Accelerated FBDev driver for Matrox
Millennium/Mystique/G100/G200/G400/G450/G550
author: (c) 1998-2002 Petr Vandrovec <vandrove@vc.cvut.cz>
alias: pci:v0000102Bd00002527sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000525sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000521sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000532sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000520sv*sd*bc*sc*i*
alias: pci:v0000102Bd00001001sv*sd*bc*sc*i*
alias: pci:v0000102Bd00001000sv*sd*bc*sc*i*
alias: pci:v0000102Bd0000051Asv*sd*bc*sc*i*
alias: pci:v0000102Bd0000051Fsv*sd*bc*sc*i*
alias: pci:v0000102Bd0000051Bsv*sd*bc*sc*i*
alias: pci:v0000102Bd00000519sv*sd*bc*sc*i*
depends:
matroxfb_g450,matroxfb_misc,matroxfb_DAC1064,matroxfb_Ti3026,matroxfb_accel
retpoline: Y
intree: Y
name: matroxfb_base
vermagic: 5.15.77.mx64.440 SMP mod_unload modversions
parm: mem:Size of available memory in MB, KB or B
(2,4,8,12,16MB, default=autodetect) (int)
parm: disabled:Disabled (0 or 1=disabled) (default=0) (int)
parm: noaccel:Do not use accelerating engine (0 or 1=disabled)
(default=0) (int)
parm: nopan:Disable pan on startup (0 or 1=disabled)
(default=0) (int)
parm: no_pci_retry:PCI retries enabled (0 or 1=disabled)
(default=0) (int)
parm: novga:VGA I/O (0x3C0-0x3DF) disabled (0 or 1=disabled)
(default=0) (int)
parm: nobios:Disables ROM BIOS (0 or 1=disabled) (default=do
not change BIOS state) (int)
parm: noinit:Disables W/SG/SD-RAM and bus interface
initialization (0 or 1=do not initialize) (default=0) (int)
parm: memtype:Memory type for G200/G400 (see
Documentation/fb/matroxfb.rst for explanation) (default=3 for G200, 0
for G400) (int)
parm: mtrr:This speeds up video memory accesses (0=disabled or
1) (default=1) (int)
parm: sgram:Indicates that G100/G200/G400 has SGRAM memory
(0=SDRAM, 1=SGRAM) (default=0) (int)
parm: inv24:Inverts clock polarity for 24bpp and loop
frequency > 100MHz (default=do not invert polarity) (int)
parm: inverse:Inverse (0 or 1) (default=0) (int)
parm: dev:Multihead support, attach to device ID (0..N)
(default=all working) (int)
parm: vesa:Startup videomode (0x000-0x1FF) (default=0x101) (int)
parm: xres:Horizontal resolution (px), overrides xres from
vesa (default=vesa) (int)
parm: yres:Vertical resolution (scans), overrides yres from
vesa (default=vesa) (int)
parm: upper:Upper blank space (scans), overrides upper from
vesa (default=vesa) (int)
parm: lower:Lower blank space (scans), overrides lower from
vesa (default=vesa) (int)
parm: vslen:Vertical sync length (scans), overrides lower from
vesa (default=vesa) (int)
parm: left:Left blank space (px), overrides left from vesa
(default=vesa) (int)
parm: right:Right blank space (px), overrides right from vesa
(default=vesa) (int)
parm: hslen:Horizontal sync length (px), overrides hslen from
vesa (default=vesa) (int)
parm: pixclock:Pixelclock (ns), overrides pixclock from vesa
(default=vesa) (int)
parm: sync:Sync polarity, overrides sync from vesa
(default=vesa) (int)
parm: depth:Color depth (0=text,8,15,16,24,32) (default=vesa)
(int)
parm: maxclk:Startup maximal clock, 0-999MHz, 1000-999999kHz,
1000000-INF Hz (int)
parm: fh:Startup horizontal frequency, 0-999kHz, 1000-INF Hz (int)
parm: fv:Startup vertical frequency, 0-INF Hz
You should specify
"fv:max_monitor_vsync,fh:max_monitor_hsync,maxclk:max_monitor_dotclock"
(int)
parm: grayscale:Sets display into grayscale. Works perfectly
with paletized videomode (4, 8bpp), some limitations apply to 16, 24 and
32bpp videomodes (default=nograyscale) (int)
parm: cross4MB:Specifies that 4MB boundary can be in middle of
line. (default=autodetected) (int)
parm: dfp:Specifies whether to use digital flat panel
interface of G200/G400 (0 or 1) (default=0) (int)
parm: dfp_type:Specifies DFP interface type (0 to 255)
(default=read from hardware) (int)
parm: outputs:Specifies which CRTC is mapped to which output
(string of up to three letters, consisting of 0 (disabled), 1 (CRTC1), 2
(CRTC2)) (default=111 for Gx50, 101 for G200/G400 with DFP, and 100 for
all other devices) (string)
```
```
$ modinfo mgag200
filename:
/lib/modules/5.15.77.mx64.440/kernel/drivers/gpu/drm/mgag200/mgag200.ko
license: GPL
description: MGA G200 SE
author: Matthew Garrett
alias: pci:v0000102Bd00000538sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000536sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000534sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000533sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000532sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000530sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000524sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000522sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000521sv*sd*bc*sc*i*
alias: pci:v0000102Bd00000520sv*sd*bc*sc*i*
depends: drm,drm_kms_helper,i2c-algo-bit
retpoline: Y
intree: Y
name: mgag200
vermagic: 5.15.77.mx64.440 SMP mod_unload modversions
parm: modeset:Disable/Enable modesetting (int)
```
next prev parent reply other threads:[~2022-12-16 13:16 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-15 16:39 matroxfb: cannot determine memory size Paul Menzel
2022-12-15 23:02 ` Helge Deller
2022-12-16 11:58 ` Paul Menzel
2022-12-16 21:21 ` Helge Deller
2022-12-19 11:58 ` Paul Menzel
2022-12-19 12:19 ` Helge Deller
2023-02-16 12:50 ` Linux regression tracking #update (Thorsten Leemhuis)
2022-12-16 12:27 ` Thomas Zimmermann
2022-12-16 13:16 ` Paul Menzel [this message]
2023-01-03 16:20 ` Why is mgag200 not used over matroxfb? Paul Menzel
2023-01-04 8:19 ` Thomas Zimmermann
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=7b85b832-e6fd-fe42-c6a1-93ebb591383c@molgen.mpg.de \
--to=pmenzel@molgen.mpg.de \
--cc=deller@gmx.de \
--cc=it+linux-fbdev@molgen.mpg.de \
--cc=linux-fbdev@vger.kernel.org \
--cc=liuzx@knownsec.com \
--cc=tzimmermann@suse.de \
/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.