From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: Re: [PATCH v5 1/7] drm/rockchip: vop: initialize registers directly Date: Wed, 26 Jul 2017 00:36:48 +0200 Message-ID: <3165793.eZGRgZzZRy@phil> References: <1500518564-30371-1-git-send-email-mark.yao@rock-chips.com> <1500518603-30486-1-git-send-email-mark.yao@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1500518603-30486-1-git-send-email-mark.yao@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mark Yao , linux-arm-kernel@lists.infradead.org Cc: linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-rockchip.vger.kernel.org SGkgTWFyaywKCkFtIERvbm5lcnN0YWcsIDIwLiBKdWxpIDIwMTcsIDEwOjQzOjIyIENFU1Qgc2No cmllYiBNYXJrIFlhbzoKPiBBdCBwcmVzZW50IHdlIGFyZSB1c2luZyBpbml0X3RhYmxlIHRvIGlu aXRpYWxpemUgc29tZQo+IHJlZ2lzdGVycywgYnV0IHRoZSBSZWdpc3RlciBpbml0IHRhYmxlIHVz ZSB1bi1kb2N1bWVudCBkZWZpbmUsCj4gaXQgaXMgdW5yZWFkYWJsZSwgYW5kIHNvbWV0aW1lcyB3 ZSBvbmx5IHdhbnQgdG8gdXBkYXRlIHRpbnkKPiBiaXRzLCBpbml0IHRhYmxlIG1ldGhvZCBpcyBu b3QgZnJpZW5kbHksIGl0J3MgZGlmZmN1bHQgdG8KPiByZXVzZSBmb3IgZGlmZmVyZW5jZSBjaGlw cy4KPiAKPiBUbyBtYWtlIGl0IGNsZWFuLCBpbml0aWFsaXplIHJlZ2lzdGVycyBkaXJlY3RseSwg YW5kIGRyb3BzCj4gaW5pdF90YWJsZSBtZWNoYW5pc20gb3V0Lgo+IAo+IENoYW5nZXMgaW4gdjM6 Cj4gLSBFeHBsYWluIG1vcmUgaW4gZGV0YWlscwo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hcmsgWWFv IDxtYXJrLnlhb0Byb2NrLWNoaXBzLmNvbT4KClsuLi5dCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfdm9wX3JlZy5jIGIvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYwo+IGluZGV4IGJhZmQ2OTguLjAwZTlkNzkgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF92b3BfcmVnLmMKPiBAQCAtMTI3 LDEzICsxMjcsNyBAQAo+ICAJLmNmZ19kb25lID0gVk9QX1JFRyhSSzMwMzZfUkVHX0NGR19ET05F LCAweDEsIDApLAo+ICB9Owo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCB2b3BfcmVnX2RhdGEg cmszMDM2X3ZvcF9pbml0X3JlZ190YWJsZVtdID0gewo+IC0Je1JLMzAzNl9EU1BfQ1RSTDEsIDB4 MDAwMDAwMDB9LAo+IC19Owo+IC0KPiAgc3RhdGljIGNvbnN0IHN0cnVjdCB2b3BfZGF0YSByazMw MzZfdm9wID0gewo+IC0JLmluaXRfdGFibGUgPSByazMwMzZfdm9wX2luaXRfcmVnX3RhYmxlLAo+ IC0JLnRhYmxlX3NpemUgPSBBUlJBWV9TSVpFKHJrMzAzNl92b3BfaW5pdF9yZWdfdGFibGUpLAo+ ICAJLmN0cmwgPSAmcmszMDM2X2N0cmxfZGF0YSwKPiAgCS5pbnRyID0gJnJrMzAzNl9pbnRyLAo+ ICAJLndpbiA9IHJrMzAzNl92b3Bfd2luX2RhdGEsCgpUaGlzIHNlZW1zIHRvIGJyZWFrIHZvcCBp bml0aWFsaXphdGlvbiBvbiBteSByazMwMzYga3lsaW4gYm9hcmQuCgpCZWZvcmUsIGt5bGluIHdh cyBhYmxlIHRvIGJyaW5nIG91dHB1dCB0byB0aGUgaGRtaSBidXQgd2l0aCB0aGlzCnBhdGNoIGFw cGxpZWQgdGhpcyBzdG9wcyB3b3JraW5nLiBBcyB0aGUgaW5pdC12YWx1ZSBpcyB0byB6ZXJvIGl0 IHNlZW1zCnRoZXJlIGlzIHN0aWxsIHNvbWV0aGluZyB0dXJuZWQgb24sIHRoYXQgc2hvdWxkIGJl IHR1cm5lZCBvZmYgaW5zdGVhZC4KCnJrMzI4OCBzZWVtcyB0byBzdGF5IGluIHdvcmtpbmcgY29u ZGl0aW9uIHRob3VnaC4KCgpIZWlrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: heiko@sntech.de (Heiko Stuebner) Date: Wed, 26 Jul 2017 00:36:48 +0200 Subject: [PATCH v5 1/7] drm/rockchip: vop: initialize registers directly In-Reply-To: <1500518603-30486-1-git-send-email-mark.yao@rock-chips.com> References: <1500518564-30371-1-git-send-email-mark.yao@rock-chips.com> <1500518603-30486-1-git-send-email-mark.yao@rock-chips.com> Message-ID: <3165793.eZGRgZzZRy@phil> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Mark, Am Donnerstag, 20. Juli 2017, 10:43:22 CEST schrieb Mark Yao: > At present we are using init_table to initialize some > registers, but the Register init table use un-document define, > it is unreadable, and sometimes we only want to update tiny > bits, init table method is not friendly, it's diffcult to > reuse for difference chips. > > To make it clean, initialize registers directly, and drops > init_table mechanism out. > > Changes in v3: > - Explain more in details > > Signed-off-by: Mark Yao [...] > diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c > index bafd698..00e9d79 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c > +++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c > @@ -127,13 +127,7 @@ > .cfg_done = VOP_REG(RK3036_REG_CFG_DONE, 0x1, 0), > }; > > -static const struct vop_reg_data rk3036_vop_init_reg_table[] = { > - {RK3036_DSP_CTRL1, 0x00000000}, > -}; > - > static const struct vop_data rk3036_vop = { > - .init_table = rk3036_vop_init_reg_table, > - .table_size = ARRAY_SIZE(rk3036_vop_init_reg_table), > .ctrl = &rk3036_ctrl_data, > .intr = &rk3036_intr, > .win = rk3036_vop_win_data, This seems to break vop initialization on my rk3036 kylin board. Before, kylin was able to bring output to the hdmi but with this patch applied this stops working. As the init-value is to zero it seems there is still something turned on, that should be turned off instead. rk3288 seems to stay in working condition though. Heiko From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751466AbdGYWgz (ORCPT ); Tue, 25 Jul 2017 18:36:55 -0400 Received: from gloria.sntech.de ([95.129.55.99]:49834 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750778AbdGYWgy (ORCPT ); Tue, 25 Jul 2017 18:36:54 -0400 From: Heiko Stuebner To: Mark Yao , linux-arm-kernel@lists.infradead.org Cc: David Airlie , dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v5 1/7] drm/rockchip: vop: initialize registers directly Date: Wed, 26 Jul 2017 00:36:48 +0200 Message-ID: <3165793.eZGRgZzZRy@phil> User-Agent: KMail/5.2.3 (Linux/4.9.0-2-amd64; KDE/5.28.0; x86_64; ; ) In-Reply-To: <1500518603-30486-1-git-send-email-mark.yao@rock-chips.com> References: <1500518564-30371-1-git-send-email-mark.yao@rock-chips.com> <1500518603-30486-1-git-send-email-mark.yao@rock-chips.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Mark, Am Donnerstag, 20. Juli 2017, 10:43:22 CEST schrieb Mark Yao: > At present we are using init_table to initialize some > registers, but the Register init table use un-document define, > it is unreadable, and sometimes we only want to update tiny > bits, init table method is not friendly, it's diffcult to > reuse for difference chips. > > To make it clean, initialize registers directly, and drops > init_table mechanism out. > > Changes in v3: > - Explain more in details > > Signed-off-by: Mark Yao [...] > diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c > index bafd698..00e9d79 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c > +++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c > @@ -127,13 +127,7 @@ > .cfg_done = VOP_REG(RK3036_REG_CFG_DONE, 0x1, 0), > }; > > -static const struct vop_reg_data rk3036_vop_init_reg_table[] = { > - {RK3036_DSP_CTRL1, 0x00000000}, > -}; > - > static const struct vop_data rk3036_vop = { > - .init_table = rk3036_vop_init_reg_table, > - .table_size = ARRAY_SIZE(rk3036_vop_init_reg_table), > .ctrl = &rk3036_ctrl_data, > .intr = &rk3036_intr, > .win = rk3036_vop_win_data, This seems to break vop initialization on my rk3036 kylin board. Before, kylin was able to bring output to the hdmi but with this patch applied this stops working. As the init-value is to zero it seems there is still something turned on, that should be turned off instead. rk3288 seems to stay in working condition though. Heiko