From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753743AbdEQHlV (ORCPT ); Wed, 17 May 2017 03:41:21 -0400 Received: from mail.free-electrons.com ([62.4.15.54]:47708 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753259AbdEQHlL (ORCPT ); Wed, 17 May 2017 03:41:11 -0400 From: Maxime Ripard To: Chen-Yu Tsai , Maxime Ripard , Mike Turquette , Stephen Boyd Cc: Daniel Vetter , David Airlie , dri-devel@lists.freedesktop.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Thomas Petazzoni Subject: [PATCH v3 13/21] drm/sun4i: tcon: Change vertical total size computation inconsistency Date: Wed, 17 May 2017 09:40:42 +0200 Message-Id: <5f1e156ed132defe5ec58b4e2a97764d73eba5f3.1495006350.git-series.maxime.ripard@free-electrons.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Both TCON channels need to have the resolution doubled, since the size the hardware is going to use is whatever we put in the register divided by two. However, we handle it differently for the two channels: in the channel 0, our register access macro does the multiplication of the value passed as paremeter, while in the channel 1, the macro doesn't do this, and we need to do it before calling it. Make this consistent by aligning the channel 0 with the channel 1 behaviour. Signed-off-by: Maxime Ripard Acked-by: Chen-Yu Tsai --- drivers/gpu/drm/sun4i/sun4i_tcon.c | 2 +- drivers/gpu/drm/sun4i/sun4i_tcon.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c index 931dd374552e..62e254aedb57 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c @@ -194,7 +194,7 @@ void sun4i_tcon0_mode_set(struct sun4i_tcon *tcon, /* Set vertical display timings */ regmap_write(tcon->regs, SUN4I_TCON0_BASIC2_REG, - SUN4I_TCON0_BASIC2_V_TOTAL(mode->crtc_vtotal) | + SUN4I_TCON0_BASIC2_V_TOTAL(mode->crtc_vtotal * 2) | SUN4I_TCON0_BASIC2_V_BACKPORCH(bp)); /* Set Hsync and Vsync length */ diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.h b/drivers/gpu/drm/sun4i/sun4i_tcon.h index f60e0b4c6db8..e3c50ecdcd04 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.h +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h @@ -52,7 +52,7 @@ #define SUN4I_TCON0_BASIC1_H_BACKPORCH(bp) (((bp) - 1) & 0xfff) #define SUN4I_TCON0_BASIC2_REG 0x50 -#define SUN4I_TCON0_BASIC2_V_TOTAL(total) ((((total) * 2) & 0x1fff) << 16) +#define SUN4I_TCON0_BASIC2_V_TOTAL(total) (((total) & 0x1fff) << 16) #define SUN4I_TCON0_BASIC2_V_BACKPORCH(bp) (((bp) - 1) & 0xfff) #define SUN4I_TCON0_BASIC3_REG 0x54 -- git-series 0.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Ripard Subject: [PATCH v3 13/21] drm/sun4i: tcon: Change vertical total size computation inconsistency Date: Wed, 17 May 2017 09:40:42 +0200 Message-ID: <5f1e156ed132defe5ec58b4e2a97764d73eba5f3.1495006350.git-series.maxime.ripard@free-electrons.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: In-Reply-To: References: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Chen-Yu Tsai , Maxime Ripard , Mike Turquette , Stephen Boyd Cc: Thomas Petazzoni , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Daniel Vetter , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org Qm90aCBUQ09OIGNoYW5uZWxzIG5lZWQgdG8gaGF2ZSB0aGUgcmVzb2x1dGlvbiBkb3VibGVkLCBz aW5jZSB0aGUgc2l6ZSB0aGUKaGFyZHdhcmUgaXMgZ29pbmcgdG8gdXNlIGlzIHdoYXRldmVyIHdl IHB1dCBpbiB0aGUgcmVnaXN0ZXIgZGl2aWRlZCBieSB0d28uCgpIb3dldmVyLCB3ZSBoYW5kbGUg aXQgZGlmZmVyZW50bHkgZm9yIHRoZSB0d28gY2hhbm5lbHM6IGluIHRoZSBjaGFubmVsIDAsCm91 ciByZWdpc3RlciBhY2Nlc3MgbWFjcm8gZG9lcyB0aGUgbXVsdGlwbGljYXRpb24gb2YgdGhlIHZh bHVlIHBhc3NlZCBhcwpwYXJlbWV0ZXIsIHdoaWxlIGluIHRoZSBjaGFubmVsIDEsIHRoZSBtYWNy byBkb2Vzbid0IGRvIHRoaXMsIGFuZCB3ZSBuZWVkCnRvIGRvIGl0IGJlZm9yZSBjYWxsaW5nIGl0 LgoKTWFrZSB0aGlzIGNvbnNpc3RlbnQgYnkgYWxpZ25pbmcgdGhlIGNoYW5uZWwgMCB3aXRoIHRo ZSBjaGFubmVsIDEKYmVoYXZpb3VyLgoKU2lnbmVkLW9mZi1ieTogTWF4aW1lIFJpcGFyZCA8bWF4 aW1lLnJpcGFyZEBmcmVlLWVsZWN0cm9ucy5jb20+CkFja2VkLWJ5OiBDaGVuLVl1IFRzYWkgPHdl bnNAY3NpZS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3Rjb24uYyB8IDIg Ky0KIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV90Y29uLmggfCAyICstCiAyIGZpbGVzIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfdGNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1 bjRpX3Rjb24uYwppbmRleCA5MzFkZDM3NDU1MmUuLjYyZTI1NGFlZGI1NyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3Rjb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfdGNvbi5jCkBAIC0xOTQsNyArMTk0LDcgQEAgdm9pZCBzdW40aV90Y29uMF9t b2RlX3NldChzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNvbiwKIAogCS8qIFNldCB2ZXJ0aWNhbCBkaXNw bGF5IHRpbWluZ3MgKi8KIAlyZWdtYXBfd3JpdGUodGNvbi0+cmVncywgU1VONElfVENPTjBfQkFT SUMyX1JFRywKLQkJICAgICBTVU40SV9UQ09OMF9CQVNJQzJfVl9UT1RBTChtb2RlLT5jcnRjX3Z0 b3RhbCkgfAorCQkgICAgIFNVTjRJX1RDT04wX0JBU0lDMl9WX1RPVEFMKG1vZGUtPmNydGNfdnRv dGFsICogMikgfAogCQkgICAgIFNVTjRJX1RDT04wX0JBU0lDMl9WX0JBQ0tQT1JDSChicCkpOwog CiAJLyogU2V0IEhzeW5jIGFuZCBWc3luYyBsZW5ndGggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9zdW40aS9zdW40aV90Y29uLmggYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlf dGNvbi5oCmluZGV4IGY2MGUwYjRjNmRiOC4uZTNjNTBlY2RjZDA0IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfdGNvbi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40 aS9zdW40aV90Y29uLmgKQEAgLTUyLDcgKzUyLDcgQEAKICNkZWZpbmUgU1VONElfVENPTjBfQkFT SUMxX0hfQkFDS1BPUkNIKGJwKQkJKCgoYnApIC0gMSkgJiAweGZmZikKIAogI2RlZmluZSBTVU40 SV9UQ09OMF9CQVNJQzJfUkVHCQkJMHg1MAotI2RlZmluZSBTVU40SV9UQ09OMF9CQVNJQzJfVl9U T1RBTCh0b3RhbCkJCSgoKCh0b3RhbCkgKiAyKSAmIDB4MWZmZikgPDwgMTYpCisjZGVmaW5lIFNV TjRJX1RDT04wX0JBU0lDMl9WX1RPVEFMKHRvdGFsKQkJKCgodG90YWwpICYgMHgxZmZmKSA8PCAx NikKICNkZWZpbmUgU1VONElfVENPTjBfQkFTSUMyX1ZfQkFDS1BPUkNIKGJwKQkJKCgoYnApIC0g MSkgJiAweGZmZikKIAogI2RlZmluZSBTVU40SV9UQ09OMF9CQVNJQzNfUkVHCQkJMHg1NAotLSAK Z2l0LXNlcmllcyAwLjkuMQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: maxime.ripard@free-electrons.com (Maxime Ripard) Date: Wed, 17 May 2017 09:40:42 +0200 Subject: [PATCH v3 13/21] drm/sun4i: tcon: Change vertical total size computation inconsistency In-Reply-To: References: Message-ID: <5f1e156ed132defe5ec58b4e2a97764d73eba5f3.1495006350.git-series.maxime.ripard@free-electrons.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Both TCON channels need to have the resolution doubled, since the size the hardware is going to use is whatever we put in the register divided by two. However, we handle it differently for the two channels: in the channel 0, our register access macro does the multiplication of the value passed as paremeter, while in the channel 1, the macro doesn't do this, and we need to do it before calling it. Make this consistent by aligning the channel 0 with the channel 1 behaviour. Signed-off-by: Maxime Ripard Acked-by: Chen-Yu Tsai --- drivers/gpu/drm/sun4i/sun4i_tcon.c | 2 +- drivers/gpu/drm/sun4i/sun4i_tcon.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c index 931dd374552e..62e254aedb57 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c @@ -194,7 +194,7 @@ void sun4i_tcon0_mode_set(struct sun4i_tcon *tcon, /* Set vertical display timings */ regmap_write(tcon->regs, SUN4I_TCON0_BASIC2_REG, - SUN4I_TCON0_BASIC2_V_TOTAL(mode->crtc_vtotal) | + SUN4I_TCON0_BASIC2_V_TOTAL(mode->crtc_vtotal * 2) | SUN4I_TCON0_BASIC2_V_BACKPORCH(bp)); /* Set Hsync and Vsync length */ diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.h b/drivers/gpu/drm/sun4i/sun4i_tcon.h index f60e0b4c6db8..e3c50ecdcd04 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.h +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h @@ -52,7 +52,7 @@ #define SUN4I_TCON0_BASIC1_H_BACKPORCH(bp) (((bp) - 1) & 0xfff) #define SUN4I_TCON0_BASIC2_REG 0x50 -#define SUN4I_TCON0_BASIC2_V_TOTAL(total) ((((total) * 2) & 0x1fff) << 16) +#define SUN4I_TCON0_BASIC2_V_TOTAL(total) (((total) & 0x1fff) << 16) #define SUN4I_TCON0_BASIC2_V_BACKPORCH(bp) (((bp) - 1) & 0xfff) #define SUN4I_TCON0_BASIC3_REG 0x54 -- git-series 0.9.1