Rev 5078 | Rev 5271 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5078 | Rev 5179 | ||
---|---|---|---|
Line 156... | Line 156... | ||
156 | } |
156 | } |
Line 157... | Line 157... | ||
157 | 157 | ||
158 | return ret; |
158 | return ret; |
Line -... | Line 159... | ||
- | 159 | } |
|
- | 160 | ||
- | 161 | static void radeon_encoder_add_backlight(struct radeon_encoder *radeon_encoder, |
|
- | 162 | struct drm_connector *connector) |
|
- | 163 | { |
|
- | 164 | struct drm_device *dev = radeon_encoder->base.dev; |
|
- | 165 | struct radeon_device *rdev = dev->dev_private; |
|
- | 166 | bool use_bl = false; |
|
- | 167 | ||
- | 168 | if (!(radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT))) |
|
- | 169 | return; |
|
- | 170 | ||
- | 171 | if (radeon_backlight == 0) { |
|
- | 172 | return; |
|
- | 173 | } else if (radeon_backlight == 1) { |
|
- | 174 | use_bl = true; |
|
- | 175 | } else if (radeon_backlight == -1) { |
|
- | 176 | /* Quirks */ |
|
- | 177 | /* Amilo Xi 2550 only works with acpi bl */ |
|
- | 178 | if ((rdev->pdev->device == 0x9583) && |
|
- | 179 | (rdev->pdev->subsystem_vendor == 0x1734) && |
|
- | 180 | (rdev->pdev->subsystem_device == 0x1107)) |
|
- | 181 | use_bl = false; |
|
- | 182 | else |
|
- | 183 | use_bl = true; |
|
- | 184 | } |
|
- | 185 | ||
- | 186 | if (use_bl) { |
|
- | 187 | if (rdev->is_atom_bios) |
|
- | 188 | radeon_atom_backlight_init(radeon_encoder, connector); |
|
- | 189 | else |
|
- | 190 | radeon_legacy_backlight_init(radeon_encoder, connector); |
|
- | 191 | rdev->mode_info.bl_encoder = radeon_encoder; |
|
- | 192 | } |
|
159 | } |
193 | } |
160 | 194 | ||
161 | void |
195 | void |
162 | radeon_link_encoder_connector(struct drm_device *dev) |
- | |
163 | { |
196 | radeon_link_encoder_connector(struct drm_device *dev) |
164 | struct radeon_device *rdev = dev->dev_private; |
197 | { |
165 | struct drm_connector *connector; |
198 | struct drm_connector *connector; |
166 | struct radeon_connector *radeon_connector; |
199 | struct radeon_connector *radeon_connector; |
Line 172... | Line 205... | ||
172 | radeon_connector = to_radeon_connector(connector); |
205 | radeon_connector = to_radeon_connector(connector); |
173 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { |
206 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { |
174 | radeon_encoder = to_radeon_encoder(encoder); |
207 | radeon_encoder = to_radeon_encoder(encoder); |
175 | if (radeon_encoder->devices & radeon_connector->devices) { |
208 | if (radeon_encoder->devices & radeon_connector->devices) { |
176 | drm_mode_connector_attach_encoder(connector, encoder); |
209 | drm_mode_connector_attach_encoder(connector, encoder); |
177 | if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { |
210 | if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) |
178 | if (rdev->is_atom_bios) |
- | |
179 | radeon_atom_backlight_init(radeon_encoder, connector); |
- | |
180 | else |
- | |
181 | radeon_legacy_backlight_init(radeon_encoder, connector); |
211 | radeon_encoder_add_backlight(radeon_encoder, connector); |
182 | rdev->mode_info.bl_encoder = radeon_encoder; |
- | |
183 | } |
- | |
184 | } |
212 | } |
185 | } |
213 | } |
186 | } |
214 | } |
187 | } |
215 | } |