drm/i2c: tda998x: switch to boolean is_on
Rather than storing the DPMS mode (which will always be on or off) use a boolean to store this instead. Tested-by: Robin Murphy <robin.murphy@arm.com> Tested-by: Jon Medhurst <tixy@linaro.org> Acked-by: Jon Medhurst <tixy@linaro.org> Tested-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
This commit is contained in:
parent
02efac0fbf
commit
3cb43378d8
|
@ -42,7 +42,7 @@ struct tda998x_priv {
|
|||
struct mutex mutex;
|
||||
u16 rev;
|
||||
u8 current_page;
|
||||
int dpms;
|
||||
bool is_on;
|
||||
bool supports_infoframes;
|
||||
bool sink_has_audio;
|
||||
u8 vip_cntrl_0;
|
||||
|
@ -1159,16 +1159,15 @@ static int tda998x_connector_init(struct tda998x_priv *priv,
|
|||
static void tda998x_encoder_dpms(struct drm_encoder *encoder, int mode)
|
||||
{
|
||||
struct tda998x_priv *priv = enc_to_tda998x_priv(encoder);
|
||||
bool on;
|
||||
|
||||
/* we only care about on or off: */
|
||||
if (mode != DRM_MODE_DPMS_ON)
|
||||
mode = DRM_MODE_DPMS_OFF;
|
||||
on = mode == DRM_MODE_DPMS_ON;
|
||||
|
||||
if (mode == priv->dpms)
|
||||
if (on == priv->is_on)
|
||||
return;
|
||||
|
||||
switch (mode) {
|
||||
case DRM_MODE_DPMS_ON:
|
||||
if (on) {
|
||||
/* enable video ports, audio will be enabled later */
|
||||
reg_write(priv, REG_ENA_VP_0, 0xff);
|
||||
reg_write(priv, REG_ENA_VP_1, 0xff);
|
||||
|
@ -1177,16 +1176,16 @@ static void tda998x_encoder_dpms(struct drm_encoder *encoder, int mode)
|
|||
reg_write(priv, REG_VIP_CNTRL_0, priv->vip_cntrl_0);
|
||||
reg_write(priv, REG_VIP_CNTRL_1, priv->vip_cntrl_1);
|
||||
reg_write(priv, REG_VIP_CNTRL_2, priv->vip_cntrl_2);
|
||||
break;
|
||||
case DRM_MODE_DPMS_OFF:
|
||||
|
||||
priv->is_on = true;
|
||||
} else {
|
||||
/* disable video ports */
|
||||
reg_write(priv, REG_ENA_VP_0, 0x00);
|
||||
reg_write(priv, REG_ENA_VP_1, 0x00);
|
||||
reg_write(priv, REG_ENA_VP_2, 0x00);
|
||||
break;
|
||||
}
|
||||
|
||||
priv->dpms = mode;
|
||||
priv->is_on = false;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1482,8 +1481,6 @@ static int tda998x_create(struct i2c_client *client, struct tda998x_priv *priv)
|
|||
if (!priv->cec)
|
||||
return -ENODEV;
|
||||
|
||||
priv->dpms = DRM_MODE_DPMS_OFF;
|
||||
|
||||
mutex_init(&priv->mutex); /* protect the page access */
|
||||
init_waitqueue_head(&priv->edid_delay_waitq);
|
||||
setup_timer(&priv->edid_delay_timer, tda998x_edid_delay_done,
|
||||
|
|
Loading…
Reference in New Issue