Subversion Repositories Kolibri OS

Rev

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
}