From mboxrd@z Thu Jan 1 00:00:00 1970 From: moinejf@free.fr (Jean-Francois Moine) Date: Thu, 9 Jan 2014 12:07:25 +0100 Subject: [PATCH v2 26/28] drm/i2c: tda998x: code optimization Message-ID: <20140109120725.0b0f3e55@armhf> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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 --- 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/ From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean-Francois Moine Subject: [PATCH v2 26/28] drm/i2c: tda998x: code optimization Date: Thu, 9 Jan 2014 12:07:25 +0100 Message-ID: <20140109120725.0b0f3e55@armhf> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtp1-g21.free.fr (smtp1-g21.free.fr [212.27.42.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 98AB0F9ED9 for ; Thu, 9 Jan 2014 03:13:10 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org To: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCByZWR1Y2VzIHRoZSBudW1iZXIgb2YgSTJDIGV4Y2hhbmdlcyBieSBzZXR0aW5n IG1hbnkgYml0cyBpbgpvbmUgd3JpdGUgYW5kIHJlbW92aW5nIGEgdXNlbGVzcyB3cml0ZS4KClNp Z25lZC1vZmYtYnk6IEplYW4tRnJhbmNvaXMgTW9pbmUgPG1vaW5lamZAZnJlZS5mcj4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMgICB8IDEwICsrKystLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2kyYy90 ZGE5OTh4X2Rydi5jCmluZGV4IDZiNGY2ZDIuLmQzYjNmM2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5 OHhfZHJ2LmMKQEAgLTc1MSwxMCArNzUxLDEwIEBAIHRkYTk5OHhfY29uZmlndXJlX2F1ZGlvKHN0 cnVjdCB0ZGE5OTh4X3ByaXYgKnByaXYsCiAJfQogCiAJcmVnX3dyaXRlKHByaXYsIFJFR19BSVBf Q0xLU0VMLCBjbGtzZWxfYWlwKTsKLQlyZWdfY2xlYXIocHJpdiwgUkVHX0FJUF9DTlRSTF8wLCBB SVBfQ05UUkxfMF9MQVlPVVQpOworCXJlZ19jbGVhcihwcml2LCBSRUdfQUlQX0NOVFJMXzAsIEFJ UF9DTlRSTF8wX0xBWU9VVCB8CiAKIAkvKiBFbmFibGUgYXV0b21hdGljIENUUyBnZW5lcmF0aW9u ICovCi0JcmVnX2NsZWFyKHByaXYsIFJFR19BSVBfQ05UUkxfMCwgQUlQX0NOVFJMXzBfQUNSX01B Tik7CisJCQkJCUFJUF9DTlRSTF8wX0FDUl9NQU4pOwogCXJlZ193cml0ZShwcml2LCBSRUdfQ1RT X04sIGN0c19uKTsKIAogCS8qCkBAIC0xMDAxLDEwICsxMDAxLDEwIEBAIHRkYTk5OHhfZW5jb2Rl cl9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJcmVnX3dyaXRlKHByaXYs IFJFR19WSVBfQ05UUkxfNSwgVklQX0NOVFJMXzVfU1BfQ05UKDApKTsKIAlyZWdfd3JpdGUocHJp diwgUkVHX1ZJUF9DTlRSTF80LCBWSVBfQ05UUkxfNF9CTEFOS0lUKDApIHwKIAkJCVZJUF9DTlRS TF80X0JMQygwKSk7Ci0JcmVnX2NsZWFyKHByaXYsIFJFR19QTExfU0VSSUFMXzMsIFBMTF9TRVJJ QUxfM19TUkxfQ0NJUik7CiAKIAlyZWdfY2xlYXIocHJpdiwgUkVHX1BMTF9TRVJJQUxfMSwgUExM X1NFUklBTF8xX1NSTF9NQU5fSVopOwotCXJlZ19jbGVhcihwcml2LCBSRUdfUExMX1NFUklBTF8z LCBQTExfU0VSSUFMXzNfU1JMX0RFKTsKKwlyZWdfY2xlYXIocHJpdiwgUkVHX1BMTF9TRVJJQUxf MywgUExMX1NFUklBTF8zX1NSTF9DQ0lSIHwKKwkJCQkJICBQTExfU0VSSUFMXzNfU1JMX0RFKTsK IAlyZWdfd3JpdGUocHJpdiwgUkVHX1NFUklBTElaRVIsIDApOwogCiAJLyogdmlkZW8gcXVhbnRp emF0aW9uIHJhbmdlID0gMDogZnVsbCwgMTogUkdCL1lVViwgMjogWVVWICovCkBAIC0xMDI2LDgg KzEwMjYsNiBAQCB0ZGE5OTh4X2VuY29kZXJfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLAogCS8qIHNldCBCSUFTIHRtZHMgdmFsdWU6ICovCiAJcmVnX3dyaXRlKHByaXYsIFJF R19BTkFfR0VORVJBTCwgMHgwOSk7CiAKLQlyZWdfd3JpdGUocHJpdiwgUkVHX1RCR19DTlRSTF8w LCAwKTsKLQogCS8qCiAJICogU3luYyBvbiByaXNpbmcgSFNZTkMvVlNZTkMKIAkgKi8KLS0gCktl biBhciBjJ2hlbnRhw7EJfAkgICAgICAqKiBCcmVpemggaGEgTGludXggYXRhdiEgKioKSmVmCQl8 CQlodHRwOi8vbW9pbmVqZi5mcmVlLmZyLwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756182AbaAILN3 (ORCPT ); Thu, 9 Jan 2014 06:13:29 -0500 Received: from smtp1-g21.free.fr ([212.27.42.1]:43106 "EHLO smtp1-g21.free.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755821AbaAILNL convert rfc822-to-8bit (ORCPT ); Thu, 9 Jan 2014 06:13:11 -0500 Date: Thu, 9 Jan 2014 12:07:25 +0100 From: Jean-Francois Moine To: dri-devel@lists.freedesktop.org Cc: Dave Airlie , Rob Clark , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 26/28] drm/i2c: tda998x: code optimization Message-ID: <20140109120725.0b0f3e55@armhf> X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.22; arm-unknown-linux-gnueabihf) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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/