3.7+ kernels and Radeon HD 4250 backlight

Sergey Korshunoff seyko2 at gmail.com
Tue Sep 9 09:59:44 PDT 2014


Hi!
There is a notebook eMashines e442 142G25Mikk Model PEW86 with a video
card Radeon HD 4250. Since a kernel 3.7.10 (tested until 3.16.1) it
have a problem: screen is a white (not black) when PC is idle. A
changes causing problem is:

--- linux-3.6.11/drivers/gpu/drm/radeon/radeon_encoders.c
2012-10-01 03:47:46.000000000 +0400
+++ linux-3.7.10/dribers/gpu/drm/radeon/radeon_encoders.c
2012-12-11 07:30:57.000000000 +0400
@@ -153,6 +161,7 @@
 void
 radeon_link_encoder_connector(struct drm_device *dev)
 {
+       struct radeon_device *rdev = dev->dev_private;
        struct drm_connector *connector;
        struct radeon_connector *radeon_connector;
        struct drm_encoder *encoder;
@@ -163,8 +172,16 @@
                radeon_connector = to_radeon_connector(connector);
                list_for_each_entry(encoder,
&dev->mode_config.encoder_list, head) {
                        radeon_encoder = to_radeon_encoder(encoder);
-                       if (radeon_encoder->devices & radeon_connector->devices)
+                       if (radeon_encoder->devices &
radeon_connector->devices) {

drm_mode_connector_attach_encoder(connector, encoder);
+                               if (radeon_encoder->devices &
(ATOM_DEVICE_LCD_SUPPORT)) {
+                                       if (rdev->is_atom_bios)
+
radeon_atom_backlight_init(radeon_encoder, connector);
+                                       else
+
radeon_legacy_backlight_init(radeon_encoder, connector);
+                                       rdev->mode_info.bl_encoder =
radeon_encoder;
+                               }
+                       }
                }
        }
 }

bios is atom. But radeon_atom_backlight_init() do something wrong (I think).
Thanks for any suggestions.


More information about the dri-devel mailing list