xf86-video-intel: 3 commits - src/intel_display.c
Jesse Barnes
jbarnes at kemper.freedesktop.org
Tue Sep 7 14:48:18 PDT 2010
src/intel_display.c | 42 ++++++++++++++++++++++--------------------
1 file changed, 22 insertions(+), 20 deletions(-)
New commits:
commit 0fa4321a765126228170ecb9536f32c134886d51
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date: Tue Sep 7 13:56:16 2010 -0700
KMS: initialize backlight support for eDP panels too
Since being able to control the backlight is handy.
Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
diff --git a/src/intel_display.c b/src/intel_display.c
index e189831..ed3fdd0 100644
--- a/src/intel_display.c
+++ b/src/intel_display.c
@@ -1290,7 +1290,8 @@ intel_output_init(ScrnInfoPtr scrn, struct intel_mode *mode, int num)
output->subpixel_order = subpixel_conv_table[koutput->subpixel];
output->driver_private = intel_output;
- if (koutput->connector_type == DRM_MODE_CONNECTOR_LVDS)
+ if (koutput->connector_type == DRM_MODE_CONNECTOR_LVDS ||
+ koutput->connector_type == DRM_MODE_CONNECTOR_eDP)
intel_output_backlight_init(output);
output->possible_crtcs = kencoder->possible_crtcs;
commit f56c839f30ec39ea22bbf6a7fda4cefd7cbfbfc2
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date: Tue Sep 7 13:53:47 2010 -0700
KMS: rename LVDS fields to reflect actual usage
These are used for panels, not just LVDS connections, so name them as such.
Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
diff --git a/src/intel_display.c b/src/intel_display.c
index 20c5164..e189831 100644
--- a/src/intel_display.c
+++ b/src/intel_display.c
@@ -86,9 +86,9 @@ struct intel_output {
struct intel_property *props;
void *private_data;
- Bool has_lvds_limits;
- int lvds_hdisplay;
- int lvds_vdisplay;
+ Bool has_panel_limits;
+ int panel_hdisplay;
+ int panel_vdisplay;
int dpms_mode;
const char *backlight_iface;
@@ -689,12 +689,12 @@ intel_output_mode_valid(xf86OutputPtr output, DisplayModePtr pModes)
struct intel_output *intel_output = output->driver_private;
/*
- * If the connector type is LVDS, we will use the panel limit to
+ * If the connector type is a panel, we will use the panel limit to
* verfiy whether the mode is valid.
*/
- if (intel_output->has_lvds_limits) {
- if (pModes->HDisplay > intel_output->lvds_hdisplay ||
- pModes->VDisplay > intel_output->lvds_vdisplay)
+ if (intel_output->has_panel_limits) {
+ if (pModes->HDisplay > intel_output->panel_hdisplay ||
+ pModes->VDisplay > intel_output->panel_vdisplay)
return MODE_PANEL;
}
@@ -747,7 +747,7 @@ intel_output_attach_edid(xf86OutputPtr output)
}
static DisplayModePtr
-intel_output_lvds_edid(xf86OutputPtr output, DisplayModePtr modes)
+intel_output_panel_edid(xf86OutputPtr output, DisplayModePtr modes)
{
xf86MonPtr mon = output->MonInfo;
@@ -814,29 +814,29 @@ intel_output_get_modes(xf86OutputPtr output)
}
/*
- * If the connector type is LVDS, we will traverse the kernel mode to
+ * If the connector type is a panel, we will traverse the kernel mode to
* get the panel limit. And then add all the standard modes to fake
* the fullscreen experience.
* If it is incorrect, please fix me.
*/
- intel_output->has_lvds_limits = FALSE;
+ intel_output->has_panel_limits = FALSE;
if (koutput->connector_type == DRM_MODE_CONNECTOR_LVDS ||
koutput->connector_type == DRM_MODE_CONNECTOR_eDP) {
for (i = 0; i < koutput->count_modes; i++) {
drmModeModeInfo *mode_ptr;
mode_ptr = &koutput->modes[i];
- if (mode_ptr->hdisplay > intel_output->lvds_hdisplay)
- intel_output->lvds_hdisplay = mode_ptr->hdisplay;
- if (mode_ptr->vdisplay > intel_output->lvds_vdisplay)
- intel_output->lvds_vdisplay = mode_ptr->vdisplay;
+ if (mode_ptr->hdisplay > intel_output->panel_hdisplay)
+ intel_output->panel_hdisplay = mode_ptr->hdisplay;
+ if (mode_ptr->vdisplay > intel_output->panel_vdisplay)
+ intel_output->panel_vdisplay = mode_ptr->vdisplay;
}
- intel_output->has_lvds_limits =
- intel_output->lvds_hdisplay &&
- intel_output->lvds_vdisplay;
+ intel_output->has_panel_limits =
+ intel_output->panel_hdisplay &&
+ intel_output->panel_vdisplay;
- Modes = intel_output_lvds_edid(output, Modes);
+ Modes = intel_output_panel_edid(output, Modes);
}
return Modes;
commit 0d26d950fdada1f59dc6cb31fe2f03004825f773
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date: Tue Sep 7 13:46:58 2010 -0700
KMS: add fake EDID on eDP too
This gives us a few more standard modes on eDP panels with just a simple
fixed timing in the VBT, just like on older, LVDS attached panels.
Fixes FDO bug https://bugs.freedesktop.org/show_bug.cgi?id=30069.
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
Tested-by: Manoj Iyer <manoj.iyer at canonical.com>
Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
diff --git a/src/intel_display.c b/src/intel_display.c
index e65df6e..20c5164 100644
--- a/src/intel_display.c
+++ b/src/intel_display.c
@@ -820,7 +820,8 @@ intel_output_get_modes(xf86OutputPtr output)
* If it is incorrect, please fix me.
*/
intel_output->has_lvds_limits = FALSE;
- if (koutput->connector_type == DRM_MODE_CONNECTOR_LVDS) {
+ if (koutput->connector_type == DRM_MODE_CONNECTOR_LVDS ||
+ koutput->connector_type == DRM_MODE_CONNECTOR_eDP) {
for (i = 0; i < koutput->count_modes; i++) {
drmModeModeInfo *mode_ptr;
More information about the xorg-commit
mailing list