Skip to content

Commit

Permalink
drm/gma500: Convert to generic encoder funcs
Browse files Browse the repository at this point in the history
Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
  • Loading branch information
Patrik Jakobsson committed Jul 23, 2013
1 parent 5934584 commit c9d4959
Show file tree
Hide file tree
Showing 16 changed files with 58 additions and 124 deletions.
13 changes: 6 additions & 7 deletions drivers/gpu/drm/gma500/cdv_intel_crt.c
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ static enum drm_connector_status cdv_intel_crt_detect(
static void cdv_intel_crt_destroy(struct drm_connector *connector)
{
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);

psb_intel_i2c_destroy(psb_intel_encoder->ddc_bus);
drm_sysfs_connector_remove(connector);
Expand All @@ -209,7 +209,7 @@ static void cdv_intel_crt_destroy(struct drm_connector *connector)
static int cdv_intel_crt_get_modes(struct drm_connector *connector)
{
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);
return psb_intel_ddc_get_modes(connector, &psb_intel_encoder->ddc_bus->adapter);
}

Expand All @@ -227,8 +227,8 @@ static int cdv_intel_crt_set_property(struct drm_connector *connector,
static const struct drm_encoder_helper_funcs cdv_intel_crt_helper_funcs = {
.dpms = cdv_intel_crt_dpms,
.mode_fixup = cdv_intel_crt_mode_fixup,
.prepare = psb_intel_encoder_prepare,
.commit = psb_intel_encoder_commit,
.prepare = gma_encoder_prepare,
.commit = gma_encoder_commit,
.mode_set = cdv_intel_crt_mode_set,
};

Expand All @@ -244,7 +244,7 @@ static const struct drm_connector_helper_funcs
cdv_intel_crt_connector_helper_funcs = {
.mode_valid = cdv_intel_crt_mode_valid,
.get_modes = cdv_intel_crt_get_modes,
.best_encoder = psb_intel_best_encoder,
.best_encoder = gma_best_encoder,
};

static void cdv_intel_crt_enc_destroy(struct drm_encoder *encoder)
Expand Down Expand Up @@ -284,8 +284,7 @@ void cdv_intel_crt_init(struct drm_device *dev,
drm_encoder_init(dev, encoder,
&cdv_intel_crt_enc_funcs, DRM_MODE_ENCODER_DAC);

psb_intel_connector_attach_encoder(psb_intel_connector,
psb_intel_encoder);
gma_connector_attach_encoder(psb_intel_connector, psb_intel_encoder);

/* Set up the DDC bus. */
i2c_reg = GPIOA;
Expand Down
4 changes: 2 additions & 2 deletions drivers/gpu/drm/gma500/cdv_intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@ static bool is_pipeb_lvds(struct drm_device *dev, struct drm_crtc *crtc)

list_for_each_entry(connector, &mode_config->connector_list, head) {
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);

if (!connector->encoder
|| connector->encoder->crtc != crtc)
Expand Down Expand Up @@ -634,7 +634,7 @@ static int cdv_intel_crtc_mode_set(struct drm_crtc *crtc,

list_for_each_entry(connector, &mode_config->connector_list, head) {
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);

if (!connector->encoder
|| connector->encoder->crtc != crtc)
Expand Down
17 changes: 9 additions & 8 deletions drivers/gpu/drm/gma500/cdv_intel_dp.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ static int
cdv_intel_dp_mode_valid(struct drm_connector *connector,
struct drm_display_mode *mode)
{
struct psb_intel_encoder *encoder = psb_intel_attached_encoder(connector);
struct psb_intel_encoder *encoder = gma_attached_encoder(connector);
struct cdv_intel_dp *intel_dp = encoder->dev_priv;
int max_link_clock = cdv_intel_dp_link_clock(cdv_intel_dp_max_link_bw(encoder));
int max_lanes = cdv_intel_dp_max_lane_count(encoder);
Expand Down Expand Up @@ -1532,7 +1532,7 @@ cdv_dp_detect(struct psb_intel_encoder *encoder)
static enum drm_connector_status
cdv_intel_dp_detect(struct drm_connector *connector, bool force)
{
struct psb_intel_encoder *encoder = psb_intel_attached_encoder(connector);
struct psb_intel_encoder *encoder = gma_attached_encoder(connector);
struct cdv_intel_dp *intel_dp = encoder->dev_priv;
enum drm_connector_status status;
struct edid *edid = NULL;
Expand Down Expand Up @@ -1566,7 +1566,8 @@ cdv_intel_dp_detect(struct drm_connector *connector, bool force)

static int cdv_intel_dp_get_modes(struct drm_connector *connector)
{
struct psb_intel_encoder *intel_encoder = psb_intel_attached_encoder(connector);
struct psb_intel_encoder *intel_encoder =
gma_attached_encoder(connector);
struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv;
struct edid *edid = NULL;
int ret = 0;
Expand Down Expand Up @@ -1622,7 +1623,7 @@ static int cdv_intel_dp_get_modes(struct drm_connector *connector)
static bool
cdv_intel_dp_detect_audio(struct drm_connector *connector)
{
struct psb_intel_encoder *encoder = psb_intel_attached_encoder(connector);
struct psb_intel_encoder *encoder = gma_attached_encoder(connector);
struct cdv_intel_dp *intel_dp = encoder->dev_priv;
struct edid *edid;
bool has_audio = false;
Expand All @@ -1648,7 +1649,7 @@ cdv_intel_dp_set_property(struct drm_connector *connector,
uint64_t val)
{
struct drm_psb_private *dev_priv = connector->dev->dev_private;
struct psb_intel_encoder *encoder = psb_intel_attached_encoder(connector);
struct psb_intel_encoder *encoder = gma_attached_encoder(connector);
struct cdv_intel_dp *intel_dp = encoder->dev_priv;
int ret;

Expand Down Expand Up @@ -1702,7 +1703,7 @@ static void
cdv_intel_dp_destroy(struct drm_connector *connector)
{
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);
struct cdv_intel_dp *intel_dp = psb_intel_encoder->dev_priv;

if (is_edp(psb_intel_encoder)) {
Expand Down Expand Up @@ -1742,7 +1743,7 @@ static const struct drm_connector_funcs cdv_intel_dp_connector_funcs = {
static const struct drm_connector_helper_funcs cdv_intel_dp_connector_helper_funcs = {
.get_modes = cdv_intel_dp_get_modes,
.mode_valid = cdv_intel_dp_mode_valid,
.best_encoder = psb_intel_best_encoder,
.best_encoder = gma_best_encoder,
};

static const struct drm_encoder_funcs cdv_intel_dp_enc_funcs = {
Expand Down Expand Up @@ -1828,7 +1829,7 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev
drm_connector_init(dev, connector, &cdv_intel_dp_connector_funcs, type);
drm_encoder_init(dev, encoder, &cdv_intel_dp_enc_funcs, DRM_MODE_ENCODER_TMDS);

psb_intel_connector_attach_encoder(psb_intel_connector, psb_intel_encoder);
gma_connector_attach_encoder(psb_intel_connector, psb_intel_encoder);

if (type == DRM_MODE_CONNECTOR_DisplayPort)
psb_intel_encoder->type = INTEL_OUTPUT_DISPLAYPORT;
Expand Down
19 changes: 9 additions & 10 deletions drivers/gpu/drm/gma500/cdv_intel_hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ static void cdv_hdmi_save(struct drm_connector *connector)
{
struct drm_device *dev = connector->dev;
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);
struct mid_intel_hdmi_priv *hdmi_priv = psb_intel_encoder->dev_priv;

hdmi_priv->save_HDMIB = REG_READ(hdmi_priv->hdmi_reg);
Expand All @@ -127,7 +127,7 @@ static void cdv_hdmi_restore(struct drm_connector *connector)
{
struct drm_device *dev = connector->dev;
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);
struct mid_intel_hdmi_priv *hdmi_priv = psb_intel_encoder->dev_priv;

REG_WRITE(hdmi_priv->hdmi_reg, hdmi_priv->save_HDMIB);
Expand All @@ -138,7 +138,7 @@ static enum drm_connector_status cdv_hdmi_detect(
struct drm_connector *connector, bool force)
{
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);
struct mid_intel_hdmi_priv *hdmi_priv = psb_intel_encoder->dev_priv;
struct edid *edid = NULL;
enum drm_connector_status status = connector_status_disconnected;
Expand Down Expand Up @@ -222,7 +222,7 @@ static int cdv_hdmi_set_property(struct drm_connector *connector,
static int cdv_hdmi_get_modes(struct drm_connector *connector)
{
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);
struct edid *edid = NULL;
int ret = 0;

Expand Down Expand Up @@ -257,7 +257,7 @@ static int cdv_hdmi_mode_valid(struct drm_connector *connector,
static void cdv_hdmi_destroy(struct drm_connector *connector)
{
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);

if (psb_intel_encoder->i2c_bus)
psb_intel_i2c_destroy(psb_intel_encoder->i2c_bus);
Expand All @@ -269,16 +269,16 @@ static void cdv_hdmi_destroy(struct drm_connector *connector)
static const struct drm_encoder_helper_funcs cdv_hdmi_helper_funcs = {
.dpms = cdv_hdmi_dpms,
.mode_fixup = cdv_hdmi_mode_fixup,
.prepare = psb_intel_encoder_prepare,
.prepare = gma_encoder_prepare,
.mode_set = cdv_hdmi_mode_set,
.commit = psb_intel_encoder_commit,
.commit = gma_encoder_commit,
};

static const struct drm_connector_helper_funcs
cdv_hdmi_connector_helper_funcs = {
.get_modes = cdv_hdmi_get_modes,
.mode_valid = cdv_hdmi_mode_valid,
.best_encoder = psb_intel_best_encoder,
.best_encoder = gma_best_encoder,
};

static const struct drm_connector_funcs cdv_hdmi_connector_funcs = {
Expand Down Expand Up @@ -328,8 +328,7 @@ void cdv_hdmi_init(struct drm_device *dev,
drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs,
DRM_MODE_ENCODER_TMDS);

psb_intel_connector_attach_encoder(psb_intel_connector,
psb_intel_encoder);
gma_connector_attach_encoder(psb_intel_connector, psb_intel_encoder);
psb_intel_encoder->type = INTEL_OUTPUT_HDMI;
hdmi_priv->hdmi_reg = reg;
hdmi_priv->has_hdmi_sink = false;
Expand Down
9 changes: 4 additions & 5 deletions drivers/gpu/drm/gma500/cdv_intel_lvds.c
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ static int cdv_intel_lvds_get_modes(struct drm_connector *connector)
struct drm_device *dev = connector->dev;
struct drm_psb_private *dev_priv = dev->dev_private;
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);
struct psb_intel_mode_device *mode_dev = &dev_priv->mode_dev;
int ret;

Expand Down Expand Up @@ -445,7 +445,7 @@ static int cdv_intel_lvds_get_modes(struct drm_connector *connector)
static void cdv_intel_lvds_destroy(struct drm_connector *connector)
{
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);

if (psb_intel_encoder->i2c_bus)
psb_intel_i2c_destroy(psb_intel_encoder->i2c_bus);
Expand Down Expand Up @@ -529,7 +529,7 @@ static const struct drm_connector_helper_funcs
cdv_intel_lvds_connector_helper_funcs = {
.get_modes = cdv_intel_lvds_get_modes,
.mode_valid = cdv_intel_lvds_mode_valid,
.best_encoder = psb_intel_best_encoder,
.best_encoder = gma_best_encoder,
};

static const struct drm_connector_funcs cdv_intel_lvds_connector_funcs = {
Expand Down Expand Up @@ -659,8 +659,7 @@ void cdv_intel_lvds_init(struct drm_device *dev,
DRM_MODE_ENCODER_LVDS);


psb_intel_connector_attach_encoder(psb_intel_connector,
psb_intel_encoder);
gma_connector_attach_encoder(psb_intel_connector, psb_intel_encoder);
psb_intel_encoder->type = INTEL_OUTPUT_LVDS;

drm_encoder_helper_add(encoder, &cdv_intel_lvds_helper_funcs);
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/gma500/framebuffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -704,7 +704,7 @@ static void psb_setup_outputs(struct drm_device *dev)
list_for_each_entry(connector, &dev->mode_config.connector_list,
head) {
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);
struct drm_encoder *encoder = &psb_intel_encoder->base;
int crtc_mask = 0, clone_mask = 0;

Expand Down
4 changes: 2 additions & 2 deletions drivers/gpu/drm/gma500/gma_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ bool gma_pipe_has_type(struct drm_crtc *crtc, int type)
list_for_each_entry(l_entry, &mode_config->connector_list, head) {
if (l_entry->encoder && l_entry->encoder->crtc == crtc) {
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(l_entry);
gma_attached_encoder(l_entry);
if (psb_intel_encoder->type == type)
return true;
}
Expand Down Expand Up @@ -547,7 +547,7 @@ void gma_encoder_destroy(struct drm_encoder *encoder)
struct drm_encoder *gma_best_encoder(struct drm_connector *connector)
{
struct psb_intel_encoder *psb_intel_encoder =
psb_intel_attached_encoder(connector);
gma_attached_encoder(connector);

return &psb_intel_encoder->base;
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/gma500/mdfld_intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -747,7 +747,7 @@ static int mdfld_crtc_mode_set(struct drm_crtc *crtc,
if (encoder->crtc != crtc)
continue;

psb_intel_encoder = psb_intel_attached_encoder(connector);
psb_intel_encoder = gma_attached_encoder(connector);

switch (psb_intel_encoder->type) {
case INTEL_OUTPUT_MIPI:
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/gma500/oaktrail_crtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ static int oaktrail_crtc_mode_set(struct drm_crtc *crtc,
if (!connector->encoder || connector->encoder->crtc != crtc)
continue;

psb_intel_encoder = psb_intel_attached_encoder(connector);
psb_intel_encoder = gma_attached_encoder(connector);

switch (psb_intel_encoder->type) {
case INTEL_OUTPUT_LVDS:
Expand Down
9 changes: 4 additions & 5 deletions drivers/gpu/drm/gma500/oaktrail_hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -609,16 +609,16 @@ static void oaktrail_hdmi_destroy(struct drm_connector *connector)
static const struct drm_encoder_helper_funcs oaktrail_hdmi_helper_funcs = {
.dpms = oaktrail_hdmi_dpms,
.mode_fixup = oaktrail_hdmi_mode_fixup,
.prepare = psb_intel_encoder_prepare,
.prepare = gma_encoder_prepare,
.mode_set = oaktrail_hdmi_mode_set,
.commit = psb_intel_encoder_commit,
.commit = gma_encoder_commit,
};

static const struct drm_connector_helper_funcs
oaktrail_hdmi_connector_helper_funcs = {
.get_modes = oaktrail_hdmi_get_modes,
.mode_valid = oaktrail_hdmi_mode_valid,
.best_encoder = psb_intel_best_encoder,
.best_encoder = gma_best_encoder,
};

static const struct drm_connector_funcs oaktrail_hdmi_connector_funcs = {
Expand Down Expand Up @@ -663,8 +663,7 @@ void oaktrail_hdmi_init(struct drm_device *dev,
&oaktrail_hdmi_enc_funcs,
DRM_MODE_ENCODER_TMDS);

psb_intel_connector_attach_encoder(psb_intel_connector,
psb_intel_encoder);
gma_connector_attach_encoder(psb_intel_connector, psb_intel_encoder);

psb_intel_encoder->type = INTEL_OUTPUT_HDMI;
drm_encoder_helper_add(encoder, &oaktrail_hdmi_helper_funcs);
Expand Down
3 changes: 1 addition & 2 deletions drivers/gpu/drm/gma500/oaktrail_lvds.c
Original file line number Diff line number Diff line change
Expand Up @@ -352,8 +352,7 @@ void oaktrail_lvds_init(struct drm_device *dev,
drm_encoder_init(dev, encoder, &psb_intel_lvds_enc_funcs,
DRM_MODE_ENCODER_LVDS);

psb_intel_connector_attach_encoder(psb_intel_connector,
psb_intel_encoder);
gma_connector_attach_encoder(psb_intel_connector, psb_intel_encoder);
psb_intel_encoder->type = INTEL_OUTPUT_LVDS;

drm_encoder_helper_add(encoder, &oaktrail_lvds_helper_funcs);
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/gma500/psb_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ static int psb_driver_load(struct drm_device *dev, unsigned long chipset)
/* Only add backlight support if we have LVDS output */
list_for_each_entry(connector, &dev->mode_config.connector_list,
head) {
psb_intel_encoder = psb_intel_attached_encoder(connector);
psb_intel_encoder = gma_attached_encoder(connector);

switch (psb_intel_encoder->type) {
case INTEL_OUTPUT_LVDS:
Expand Down
Loading

0 comments on commit c9d4959

Please sign in to comment.