linux/drivers/gpu/drm/mgag200
Jocelyn Falempe 3650c063f2 drm/mgag200: Fix PLL setup for G200_SE_A rev >=4
commit b389286d02 upstream.

For G200_SE_A, PLL M setting is wrong, which leads to blank screen,
or "signal out of range" on VGA display.
previous code had "m |= 0x80" which was changed to
m |= ((pixpllcn & BIT(8)) >> 1);

Tested on G200_SE_A rev 42

This line of code was moved to another file with
commit 877507bb95 ("drm/mgag200: Provide per-device callbacks for
PIXPLLC") but can be easily backported before this commit.

v2: * put BIT(7) First to respect MSB-to-LSB (Thomas)
    * Add a comment to explain that this bit must be set (Thomas)

Fixes: 2dd040946e ("drm/mgag200: Store values (not bits) in struct mgag200_pll_values")
Cc: stable@vger.kernel.org
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20221013132810.521945-1-jfalempe@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2023-01-07 11:11:57 +01:00
..
Kconfig drm/mgag200: Add support for G200 desktop cards 2020-08-03 09:43:00 +02:00
Makefile drm/mgag200: Provide per-device callbacks for PIXPLLC 2022-07-29 16:01:47 +02:00
mgag200_bmc.c drm/mgag200: Provide per-device callbacks for BMC synchronization 2022-07-29 16:01:47 +02:00
mgag200_drv.c drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
mgag200_drv.h drm/mgag200: Remove type field from struct mga_device 2022-07-29 16:01:47 +02:00
mgag200_g200.c drm/mgag200: Remove type field from struct mga_device 2022-07-29 16:01:47 +02:00
mgag200_g200eh.c drm/mgag200: Remove type field from struct mga_device 2022-07-29 16:01:47 +02:00
mgag200_g200eh3.c drm/mgag200: Remove type field from struct mga_device 2022-07-29 16:01:47 +02:00
mgag200_g200er.c drm/mgag200: Remove type field from struct mga_device 2022-07-29 16:01:47 +02:00
mgag200_g200ev.c drm/mgag200: Remove type field from struct mga_device 2022-07-29 16:01:47 +02:00
mgag200_g200ew3.c drm/mgag200: Remove type field from struct mga_device 2022-07-29 16:01:47 +02:00
mgag200_g200se.c drm/mgag200: Fix PLL setup for G200_SE_A rev >=4 2023-01-07 11:11:57 +01:00
mgag200_g200wb.c drm/mgag200: Remove type field from struct mga_device 2022-07-29 16:01:47 +02:00
mgag200_i2c.c drm/mgag200: Store positions of I2C data and clock bits in device info 2022-06-07 09:40:11 +02:00
mgag200_mode.c drm/format-helper: Merge drm_fb_memcpy() and drm_fb_memcpy_toio() 2022-08-10 09:15:51 +02:00
mgag200_reg.h drm/mgag200:remove rebundant word "or" in comments 2022-07-18 18:44:01 +02:00