Re: KMS Framebuffer on Intel N2600 (GMA3600)

From: Alan Cox
Date: Wed Nov 14 2012 - 06:47:26 EST


> - CPU: Intel Atom N2600
> - Chipset: Intel NM10
> - Integrated graphics system: Intel GMA 3600
> - LCD Panel with LVDS controller (LCD resolution is 800x480, 18 bpp, 60Hz)

Ok

> CONFIG_DRM=y
> CONFIG_DRM_KMS_HELPER=y
> # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set

Ok

> CONFIG_DRM_GMA500=y
> # CONFIG_DRM_GMA600 is not set
> CONFIG_DRM_GMA3600=y

Ditto

> To boot my new kernel I use these parameters: video=LVDS-1:800x480-18@60D drm.debug=0x06
>
> The kernel boots correctly but the LCD screen is completely black (with backlight off).
> Using SSH I can login to my system and have a look at dmesg:
>

> [ 5.749614] [drm:cdv_get_max_backlight], LVDS Panel PWM value is 0!
> [ 5.749622] [drm:cdv_get_max_backlight], LVDS Panel PWM value is 0!
> [ 5.749633] [drm] Initialized gma500 1.0.0 2011-06-06 for 0000:00:02.0 on minor 0

So the panel backlight register is set to indicate that the brightness
will be handled by the firmware in some other way and not by the graphics.
Do you have ACPI backlight support in your kernel ? Do you have the LVDS
panel enabled in the BIOS ?

It could be the value hasn't been initialised when it should have been,
it could be your hardware has some other interface for this.

If you look at cdv_device.c you'll see cdv_get_max_backlight() checks for
this case. If you can find out what the value should be then you can
substitute

if (max == 0) {
DRM_DEBUG_KMS("LVDS Panel PWM value is 0!\n");
/* i915 does this, I believe which means that we should
* smash PWM control as firmware will take control of it.
return 1;
}


with
if (max == 0)
max = max_value << 16;

and test that case. If that doesn't work then probably the backlight is
wired some other way. If ACPI handles it you may be able to handle it
that way. If it's a custom driver interface in Windows you may have a
problem.

Alan


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/