Hi,
Am Samstag, 3. August 2019, 11:51:59 CEST schrieb Linus Walleij:
On Thu, Jul 25, 2019 at 9:26 PM Fabian Vogt fabian@ritter-vogt.de wrote:
On a real CX the LCD displays shows content without any other changes to the set, but has a ~3Hz pulsating effect scrolling from the top to the bottom and the gray text changes color slightly.
So you mean something meaningful appears in the LCD but there are visual disturbances?
Without the patchset applied everything looks perfectly.
I tried setting vrefresh to 20, fb_bpp to 16 and forcing an inverted panel clock, but the pulsing didn't change.
Using the emulated CX I compared the contents of the registers and found that only the IPC bit (which I tried to set, so that's likely not it) and the interrupt registers have a different content.
Any idea?
I think it's the clock settings in patch 2/3.
I just set them to "1000" (1MHz since its in kHz) based on some educated guesses.
The old driver set the clock to "1" (kHz) so just try that first, maybe it is really that slow.
Did that, it looked rather unhealthy for the LCD. Mostly white with some glitching except for ~2-3 lines with content scrolling on the screen.
200kHz was still way to slow, so tried the opposite direction. With a clock of 10MHz the display seems to be working fine and produces a visibly stable output.
Thanks, Fabian
It's just that the old driver also set refres to 60 fps which doesn't add up, but I think that setting is simply ignored and that is why it works.
Yours, Linus Walleij
--- diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index e5cfe1398a3b..3addcdab8adb 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -2763,7 +2763,7 @@ static const struct panel_desc arm_rtsm = {
static const struct drm_display_mode nspire_cx_lcd_mode[] = { { - .clock = 1000, + .clock = 10000, .hdisplay = 320, .hsync_start = 320 + 50, .hsync_end = 320 + 50 + 6, @@ -2791,7 +2791,7 @@ static const struct panel_desc nspire_cx_lcd_panel = {
static const struct drm_display_mode nspire_classic_lcd_mode[] = { { - .clock = 1000, + .clock = 10000, .hdisplay = 320, .hsync_start = 320 + 6, .hsync_end = 320 + 6 + 6,