Re: [PATCH] drm/mgag200: Increase bandwidth for G200se A rev1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jocelyn

Am 17.07.23 um 15:29 schrieb Jocelyn Falempe:
A G200SE_A rev 1 user reported that prior to v6.0, he was able to get Xorg
working at 1440x900@60Hz. This somehow bypassed the bandwidth test in the
driver. After v6.0, and the driver refactor, it's no longer possible.

I took that bandwidth number from the old source code at


https://elixir.bootlin.com/linux/v5.19/source/drivers/gpu/drm/mgag200/mgag200_mode.c#L725

From this code, I don't see how it skipped this test. Maybe the refactoring is incorrect.

Do you have the opportunity to further debug this issue on the users machine? I'd be interested in the exact model and the unique_rev_id (you said A, rev1 ?) and if the early-out branches in mga_vga_calculate_mode_bandwidth() are being taken. Can you figure out how exactly the CPU moves through mga_vga_mode_valid().

Best regards
Thomas

So increase the bandwidth, as the hardware is able to do it.

In mgag200_calculate_mode_bandwidth(), the bandwidth for 1440x900@60 is
30318019, while 24400 * 1024 = 24985600 and 30100 * 1024 = 30822400.
Raising the bandwidth from 24400 to 30100 is enough to allow this mode.

Reported-by: Roger Sewell <roger.sewell@xxxxxxxxxx>
Tested-by: Roger Sewell <roger.sewell@xxxxxxxxxx>
Signed-off-by: Jocelyn Falempe <jfalempe@xxxxxxxxxx>
---
  drivers/gpu/drm/mgag200/mgag200_g200se.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_g200se.c b/drivers/gpu/drm/mgag200/mgag200_g200se.c
index bd6e573c9a1a..3b49e30931e1 100644
--- a/drivers/gpu/drm/mgag200/mgag200_g200se.c
+++ b/drivers/gpu/drm/mgag200/mgag200_g200se.c
@@ -437,7 +437,7 @@ static int mgag200_g200se_pipeline_init(struct mga_device *mdev)
   */
static const struct mgag200_device_info mgag200_g200se_a_01_device_info =
-	MGAG200_DEVICE_INFO_INIT(1600, 1200, 24400, false, 0, 1, true);
+	MGAG200_DEVICE_INFO_INIT(1600, 1200, 30100, false, 0, 1, true);
static const struct mgag200_device_info mgag200_g200se_a_02_device_info =
  	MGAG200_DEVICE_INFO_INIT(1920, 1200, 30100, false, 0, 1, true);

base-commit: c2268daa65fb415cfd463016ad54c20afef8f75e

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux