Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH v2 26/28] drm/i2c: tda998x: code optimization

2 views
Skip to first unread message

Jean-Francois Moine

unread,
Jan 9, 2014, 6:20:03 AM1/9/14
to
This patch reduces the number of I2C exchanges by setting many bits in
one write and removing a useless write.

Signed-off-by: Jean-Francois Moine <moi...@free.fr>
---
drivers/gpu/drm/i2c/tda998x_drv.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
index 6b4f6d2..d3b3f3a 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -751,10 +751,10 @@ tda998x_configure_audio(struct tda998x_priv *priv,
}

reg_write(priv, REG_AIP_CLKSEL, clksel_aip);
- reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT);
+ reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT |

/* Enable automatic CTS generation */
- reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_ACR_MAN);
+ AIP_CNTRL_0_ACR_MAN);
reg_write(priv, REG_CTS_N, cts_n);

/*
@@ -1001,10 +1001,10 @@ tda998x_encoder_mode_set(struct drm_encoder *encoder,
reg_write(priv, REG_VIP_CNTRL_5, VIP_CNTRL_5_SP_CNT(0));
reg_write(priv, REG_VIP_CNTRL_4, VIP_CNTRL_4_BLANKIT(0) |
VIP_CNTRL_4_BLC(0));
- reg_clear(priv, REG_PLL_SERIAL_3, PLL_SERIAL_3_SRL_CCIR);

reg_clear(priv, REG_PLL_SERIAL_1, PLL_SERIAL_1_SRL_MAN_IZ);
- reg_clear(priv, REG_PLL_SERIAL_3, PLL_SERIAL_3_SRL_DE);
+ reg_clear(priv, REG_PLL_SERIAL_3, PLL_SERIAL_3_SRL_CCIR |
+ PLL_SERIAL_3_SRL_DE);
reg_write(priv, REG_SERIALIZER, 0);

/* video quantization range = 0: full, 1: RGB/YUV, 2: YUV */
@@ -1026,8 +1026,6 @@ tda998x_encoder_mode_set(struct drm_encoder *encoder,
/* set BIAS tmds value: */
reg_write(priv, REG_ANA_GENERAL, 0x09);

- reg_write(priv, REG_TBG_CNTRL_0, 0);
-
/*
* Sync on rising HSYNC/VSYNC
*/
--
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef | http://moinejf.free.fr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Russell King - ARM Linux

unread,
Jan 11, 2014, 2:00:03 PM1/11/14
to
On Thu, Jan 09, 2014 at 12:07:25PM +0100, Jean-Francois Moine wrote:
> This patch reduces the number of I2C exchanges by setting many bits in
> one write and removing a useless write.
>
> Signed-off-by: Jean-Francois Moine <moi...@free.fr>
> ---
> drivers/gpu/drm/i2c/tda998x_drv.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
> index 6b4f6d2..d3b3f3a 100644
> --- a/drivers/gpu/drm/i2c/tda998x_drv.c
> +++ b/drivers/gpu/drm/i2c/tda998x_drv.c
> @@ -751,10 +751,10 @@ tda998x_configure_audio(struct tda998x_priv *priv,
> }
>
> reg_write(priv, REG_AIP_CLKSEL, clksel_aip);
> - reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT);
> + reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT |

This patch clearly hasn't even been build tested, so I doubt there's
much point reviewing this or the following patches. From a quick scan
of the following patches, this never got fixed so the following patches
can't have been build tested either.

Thanks.

--
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

Jean-Francois Moine

unread,
Jan 12, 2014, 3:30:02 AM1/12/14
to
On Sat, 11 Jan 2014 18:55:09 +0000
Russell King - ARM Linux <li...@arm.linux.org.uk> wrote:

> On Thu, Jan 09, 2014 at 12:07:25PM +0100, Jean-Francois Moine wrote:
> > This patch reduces the number of I2C exchanges by setting many bits in
> > one write and removing a useless write.
> >
> > Signed-off-by: Jean-Francois Moine <moi...@free.fr>
> > ---
> > drivers/gpu/drm/i2c/tda998x_drv.c | 10 ++++------
> > 1 file changed, 4 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
> > index 6b4f6d2..d3b3f3a 100644
> > --- a/drivers/gpu/drm/i2c/tda998x_drv.c
> > +++ b/drivers/gpu/drm/i2c/tda998x_drv.c
> > @@ -751,10 +751,10 @@ tda998x_configure_audio(struct tda998x_priv *priv,
> > }
> >
> > reg_write(priv, REG_AIP_CLKSEL, clksel_aip);
> > - reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT);
> > + reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT |
>
> This patch clearly hasn't even been build tested, so I doubt there's
> much point reviewing this or the following patches. From a quick scan
> of the following patches, this never got fixed so the following patches
> can't have been build tested either.

I don't see what can be the problem with this patch. It does not change
anything in the logic. About testing, it is applied to my Cubox kernel
for more than 4 months and everything works correctly.

I will move the following comment a bit upwards. Maybe the code will be
clearer.

--
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef | http://moinejf.free.fr/

Russell King - ARM Linux

unread,
Jan 12, 2014, 4:50:03 AM1/12/14
to
You're replacing ");" with "|" here, which is not legal C. Parenthesis
must be balanced and statements must be terminated.

--
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

Jean-Francois Moine

unread,
Jan 12, 2014, 5:20:02 AM1/12/14
to
On Sun, 12 Jan 2014 09:45:33 +0000
!? they are:

- reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT);
+ reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT |

/* Enable automatic CTS generation */
- reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_ACR_MAN);
+ AIP_CNTRL_0_ACR_MAN);

gives:

reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT |

/* Enable automatic CTS generation */
AIP_CNTRL_0_ACR_MAN);


--
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef | http://moinejf.free.fr/

Russell King - ARM Linux

unread,
Jan 12, 2014, 5:40:02 AM1/12/14
to
Yuck, that's absolutely horrid. No wonder I mis-read it. NAK for bad
and confusing style.

--
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".
0 new messages