Skip to content

Commit

Permalink
drm/nouveau: Put the dithering check back in nouveau_connector_create.
Browse files Browse the repository at this point in the history
a7b9f9e5adef dropped it by accident.

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Tested-by: Thibaut Girka <thib@sitedethib.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
  • Loading branch information
Francisco Jerez authored and Ben Skeggs committed Jul 13, 2010
1 parent 7a2e4e0 commit 2fa67f1
Showing 1 changed file with 22 additions and 4 deletions.
26 changes: 22 additions & 4 deletions drivers/gpu/drm/nouveau/nouveau_connector.c
Original file line number Diff line number Diff line change
Expand Up @@ -737,7 +737,7 @@ nouveau_connector_create(struct drm_device *dev,
struct nouveau_connector *nv_connector = NULL;
struct drm_connector *connector;
struct drm_encoder *encoder;
int type;
int type, ret = 0;

NV_DEBUG_KMS(dev, "\n");

Expand Down Expand Up @@ -813,9 +813,21 @@ nouveau_connector_create(struct drm_device *dev,

if (!connector->encoder_ids[0]) {
NV_WARN(dev, " no encoders, ignoring\n");
drm_connector_cleanup(connector);
kfree(connector);
return 0;
goto fail;
}

/* Check if we need dithering enabled */
if (dcb->type == DCB_CONNECTOR_LVDS) {
bool dummy, is_24bit = false;

ret = nouveau_bios_parse_lvds_table(dev, 0, &dummy, &is_24bit);
if (ret) {
NV_ERROR(dev, "Error parsing LVDS table, disabling "
"LVDS\n");
goto fail;
}

nv_connector->use_dithering = !is_24bit;
}

/* Init DVI-I specific properties */
Expand Down Expand Up @@ -865,4 +877,10 @@ nouveau_connector_create(struct drm_device *dev,

drm_sysfs_connector_add(connector);
return 0;

fail:
drm_connector_cleanup(connector);
kfree(connector);
return ret;

}

0 comments on commit 2fa67f1

Please sign in to comment.