From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH v3 04/24] drm/rockchip: dw-mipi-dsi: fix command header writes Date: Mon, 30 Jan 2017 10:43:06 -0500 Message-ID: <20170130154306.GE20076@art_vandelay> References: <20170129132444.25251-1-john@metanate.com> <20170129132444.25251-5-john@metanate.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170129132444.25251-5-john@metanate.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: John Keeping Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Chris Zhong , linux-arm-kernel@lists.infradead.org List-Id: linux-rockchip.vger.kernel.org T24gU3VuLCBKYW4gMjksIDIwMTcgYXQgMDE6MjQ6MjRQTSArMDAwMCwgSm9obiBLZWVwaW5nIHdy b3RlOgo+IEluIGEgY291cGxlIG9mIHBsYWNlcyBoZXJlIHdlIHVzZSAidmFsIiBmb3IgdGhlIHZh bHVlIHRoYXQgaXMgYWJvdXQgdG8KPiBiZSB3cml0dGVuIHRvIGEgcmVnaXN0ZXIgYnV0IHRoZW4g cmV1c2UgdGhlIHNhbWUgdmFyaWFibGUgZm9yIHRoZSB2YWx1ZQo+IG9mIGEgc3RhdHVzIHJlZ2lz dGVyIGJlZm9yZSB3ZSBnZXQgYXJvdW5kIHRvIHdyaXRpbmcgaXQuICBSZW5hbWUgdGhlCj4gdmFs dWUgdG8gYmUgd3JpdHRlbiB0byBzbyB0aGF0IHdlIHdyaXRlIHRoZSB2YWx1ZSB3ZSBpbnRlbmQg dG8gYW5kIG5vdAo+IHdoYXQgd2UgaGF2ZSBqdXN0IHJlYWQgZnJvbSB0aGUgc3RhdHVzIHJlZ2lz dGVyLgo+IAoKT2ggbXkuCgpSZXZpZXdlZC1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1 bS5vcmc+Cgo+IFNpZ25lZC1vZmYtYnk6IEpvaG4gS2VlcGluZyA8am9obkBtZXRhbmF0ZS5jb20+ Cj4gVGVzdGVkLWJ5OiBDaHJpcyBaaG9uZyA8enl3QHJvY2stY2hpcHMuY29tPgo+IFJldmlld2Vk LWJ5OiBDaHJpcyBaaG9uZyA8enl3QHJvY2stY2hpcHMuY29tPgo+IC0tLQo+IFVuY2hhbmdlZCBp biB2Mwo+IFVuY2hhbmdlZCBpbiB2Mgo+IAo+ICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHct bWlwaS1kc2kuYyB8IDEwICsrKysrKy0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL2R3LW1pcGktZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1k c2kuYwo+IGluZGV4IGJkOTJlNThiNjRmMy4uNGNiYmJjYjYxOWI3IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRzaS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMKPiBAQCAtNTQyLDkgKzU0MiwxMCBAQCBzdGF0aWMg aW50IGR3X21pcGlfZHNpX2hvc3RfZGV0YWNoKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAo+ ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgZHdfbWlwaV9kc2lfZ2VuX3BrdF9o ZHJfd3JpdGUoc3RydWN0IGR3X21pcGlfZHNpICpkc2ksIHUzMiB2YWwpCj4gK3N0YXRpYyBpbnQg ZHdfbWlwaV9kc2lfZ2VuX3BrdF9oZHJfd3JpdGUoc3RydWN0IGR3X21pcGlfZHNpICpkc2ksIHUz MiBoZHJfdmFsKQo+ICB7Cj4gIAlpbnQgcmV0Owo+ICsJdTMyIHZhbDsKPiAgCj4gIAlyZXQgPSBy ZWFkeF9wb2xsX3RpbWVvdXQocmVhZGwsIGRzaS0+YmFzZSArIERTSV9DTURfUEtUX1NUQVRVUywK PiAgCQkJCSB2YWwsICEodmFsICYgR0VOX0NNRF9GVUxMKSwgMTAwMCwKPiBAQCAtNTU0LDcgKzU1 NSw3IEBAIHN0YXRpYyBpbnQgZHdfbWlwaV9kc2lfZ2VuX3BrdF9oZHJfd3JpdGUoc3RydWN0IGR3 X21pcGlfZHNpICpkc2ksIHUzMiB2YWwpCj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAgCj4gLQlk c2lfd3JpdGUoZHNpLCBEU0lfR0VOX0hEUiwgdmFsKTsKPiArCWRzaV93cml0ZShkc2ksIERTSV9H RU5fSERSLCBoZHJfdmFsKTsKPiAgCj4gIAlyZXQgPSByZWFkeF9wb2xsX3RpbWVvdXQocmVhZGws IGRzaS0+YmFzZSArIERTSV9DTURfUEtUX1NUQVRVUywKPiAgCQkJCSB2YWwsIHZhbCAmIChHRU5f Q01EX0VNUFRZIHwgR0VOX1BMRF9XX0VNUFRZKSwKPiBAQCAtNTg3LDggKzU4OCw5IEBAIHN0YXRp YyBpbnQgZHdfbWlwaV9kc2lfZGNzX2xvbmdfd3JpdGUoc3RydWN0IGR3X21pcGlfZHNpICpkc2ks Cj4gIHsKPiAgCWNvbnN0IHUzMiAqdHhfYnVmID0gbXNnLT50eF9idWY7Cj4gIAlpbnQgbGVuID0g bXNnLT50eF9sZW4sIHBsZF9kYXRhX2J5dGVzID0gc2l6ZW9mKCp0eF9idWYpLCByZXQ7Cj4gLQl1 MzIgdmFsID0gR0VOX0hEQVRBKG1zZy0+dHhfbGVuKSB8IEdFTl9IVFlQRShtc2ctPnR5cGUpOwo+ ICsJdTMyIGhkcl92YWwgPSBHRU5fSERBVEEobXNnLT50eF9sZW4pIHwgR0VOX0hUWVBFKG1zZy0+ dHlwZSk7Cj4gIAl1MzIgcmVtYWluZGVyID0gMDsKPiArCXUzMiB2YWw7Cj4gIAo+ICAJaWYgKG1z Zy0+dHhfbGVuIDwgMykgewo+ICAJCWRldl9lcnIoZHNpLT5kZXYsICJ3cm9uZyB0eCBidWYgbGVu Z3RoICV6dSBmb3IgbG9uZyB3cml0ZVxuIiwKPiBAQCAtNjE3LDcgKzYxOSw3IEBAIHN0YXRpYyBp bnQgZHdfbWlwaV9kc2lfZGNzX2xvbmdfd3JpdGUoc3RydWN0IGR3X21pcGlfZHNpICpkc2ksCj4g IAkJfQo+ICAJfQo+ICAKPiAtCXJldHVybiBkd19taXBpX2RzaV9nZW5fcGt0X2hkcl93cml0ZShk c2ksIHZhbCk7Cj4gKwlyZXR1cm4gZHdfbWlwaV9kc2lfZ2VuX3BrdF9oZHJfd3JpdGUoZHNpLCBo ZHJfdmFsKTsKPiAgfQo+ICAKPiAgc3RhdGljIHNzaXplX3QgZHdfbWlwaV9kc2lfaG9zdF90cmFu c2ZlcihzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwKPiAtLSAKPiAyLjExLjAuMTk3LmdiNTU2 ZGU1LmRpcnR5Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCgotLSAKU2VhbiBQYXVsLCBTb2Z0d2FyZSBFbmdpbmVlciwgR29vZ2xlIC8gQ2hy b21pdW0gT1MKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: seanpaul@chromium.org (Sean Paul) Date: Mon, 30 Jan 2017 10:43:06 -0500 Subject: [PATCH v3 04/24] drm/rockchip: dw-mipi-dsi: fix command header writes In-Reply-To: <20170129132444.25251-5-john@metanate.com> References: <20170129132444.25251-1-john@metanate.com> <20170129132444.25251-5-john@metanate.com> Message-ID: <20170130154306.GE20076@art_vandelay> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Sun, Jan 29, 2017 at 01:24:24PM +0000, John Keeping wrote: > In a couple of places here we use "val" for the value that is about to > be written to a register but then reuse the same variable for the value > of a status register before we get around to writing it. Rename the > value to be written to so that we write the value we intend to and not > what we have just read from the status register. > Oh my. Reviewed-by: Sean Paul > Signed-off-by: John Keeping > Tested-by: Chris Zhong > Reviewed-by: Chris Zhong > --- > Unchanged in v3 > Unchanged in v2 > > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > index bd92e58b64f3..4cbbbcb619b7 100644 > --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > @@ -542,9 +542,10 @@ static int dw_mipi_dsi_host_detach(struct mipi_dsi_host *host, > return 0; > } > > -static int dw_mipi_dsi_gen_pkt_hdr_write(struct dw_mipi_dsi *dsi, u32 val) > +static int dw_mipi_dsi_gen_pkt_hdr_write(struct dw_mipi_dsi *dsi, u32 hdr_val) > { > int ret; > + u32 val; > > ret = readx_poll_timeout(readl, dsi->base + DSI_CMD_PKT_STATUS, > val, !(val & GEN_CMD_FULL), 1000, > @@ -554,7 +555,7 @@ static int dw_mipi_dsi_gen_pkt_hdr_write(struct dw_mipi_dsi *dsi, u32 val) > return ret; > } > > - dsi_write(dsi, DSI_GEN_HDR, val); > + dsi_write(dsi, DSI_GEN_HDR, hdr_val); > > ret = readx_poll_timeout(readl, dsi->base + DSI_CMD_PKT_STATUS, > val, val & (GEN_CMD_EMPTY | GEN_PLD_W_EMPTY), > @@ -587,8 +588,9 @@ static int dw_mipi_dsi_dcs_long_write(struct dw_mipi_dsi *dsi, > { > const u32 *tx_buf = msg->tx_buf; > int len = msg->tx_len, pld_data_bytes = sizeof(*tx_buf), ret; > - u32 val = GEN_HDATA(msg->tx_len) | GEN_HTYPE(msg->type); > + u32 hdr_val = GEN_HDATA(msg->tx_len) | GEN_HTYPE(msg->type); > u32 remainder = 0; > + u32 val; > > if (msg->tx_len < 3) { > dev_err(dsi->dev, "wrong tx buf length %zu for long write\n", > @@ -617,7 +619,7 @@ static int dw_mipi_dsi_dcs_long_write(struct dw_mipi_dsi *dsi, > } > } > > - return dw_mipi_dsi_gen_pkt_hdr_write(dsi, val); > + return dw_mipi_dsi_gen_pkt_hdr_write(dsi, hdr_val); > } > > static ssize_t dw_mipi_dsi_host_transfer(struct mipi_dsi_host *host, > -- > 2.11.0.197.gb556de5.dirty > > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Sean Paul, Software Engineer, Google / Chromium OS From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753782AbdA3Pv1 (ORCPT ); Mon, 30 Jan 2017 10:51:27 -0500 Received: from mail-qt0-f169.google.com ([209.85.216.169]:34915 "EHLO mail-qt0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753762AbdA3PvZ (ORCPT ); Mon, 30 Jan 2017 10:51:25 -0500 Date: Mon, 30 Jan 2017 10:43:06 -0500 From: Sean Paul To: John Keeping Cc: Mark Yao , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Chris Zhong , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v3 04/24] drm/rockchip: dw-mipi-dsi: fix command header writes Message-ID: <20170130154306.GE20076@art_vandelay> References: <20170129132444.25251-1-john@metanate.com> <20170129132444.25251-5-john@metanate.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170129132444.25251-5-john@metanate.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Jan 29, 2017 at 01:24:24PM +0000, John Keeping wrote: > In a couple of places here we use "val" for the value that is about to > be written to a register but then reuse the same variable for the value > of a status register before we get around to writing it. Rename the > value to be written to so that we write the value we intend to and not > what we have just read from the status register. > Oh my. Reviewed-by: Sean Paul > Signed-off-by: John Keeping > Tested-by: Chris Zhong > Reviewed-by: Chris Zhong > --- > Unchanged in v3 > Unchanged in v2 > > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > index bd92e58b64f3..4cbbbcb619b7 100644 > --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > @@ -542,9 +542,10 @@ static int dw_mipi_dsi_host_detach(struct mipi_dsi_host *host, > return 0; > } > > -static int dw_mipi_dsi_gen_pkt_hdr_write(struct dw_mipi_dsi *dsi, u32 val) > +static int dw_mipi_dsi_gen_pkt_hdr_write(struct dw_mipi_dsi *dsi, u32 hdr_val) > { > int ret; > + u32 val; > > ret = readx_poll_timeout(readl, dsi->base + DSI_CMD_PKT_STATUS, > val, !(val & GEN_CMD_FULL), 1000, > @@ -554,7 +555,7 @@ static int dw_mipi_dsi_gen_pkt_hdr_write(struct dw_mipi_dsi *dsi, u32 val) > return ret; > } > > - dsi_write(dsi, DSI_GEN_HDR, val); > + dsi_write(dsi, DSI_GEN_HDR, hdr_val); > > ret = readx_poll_timeout(readl, dsi->base + DSI_CMD_PKT_STATUS, > val, val & (GEN_CMD_EMPTY | GEN_PLD_W_EMPTY), > @@ -587,8 +588,9 @@ static int dw_mipi_dsi_dcs_long_write(struct dw_mipi_dsi *dsi, > { > const u32 *tx_buf = msg->tx_buf; > int len = msg->tx_len, pld_data_bytes = sizeof(*tx_buf), ret; > - u32 val = GEN_HDATA(msg->tx_len) | GEN_HTYPE(msg->type); > + u32 hdr_val = GEN_HDATA(msg->tx_len) | GEN_HTYPE(msg->type); > u32 remainder = 0; > + u32 val; > > if (msg->tx_len < 3) { > dev_err(dsi->dev, "wrong tx buf length %zu for long write\n", > @@ -617,7 +619,7 @@ static int dw_mipi_dsi_dcs_long_write(struct dw_mipi_dsi *dsi, > } > } > > - return dw_mipi_dsi_gen_pkt_hdr_write(dsi, val); > + return dw_mipi_dsi_gen_pkt_hdr_write(dsi, hdr_val); > } > > static ssize_t dw_mipi_dsi_host_transfer(struct mipi_dsi_host *host, > -- > 2.11.0.197.gb556de5.dirty > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Sean Paul, Software Engineer, Google / Chromium OS