From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH v3 05/24] drm/rockchip: dw-mipi-dsi: fix generic packet status check Date: Mon, 30 Jan 2017 12:56:04 -0500 Message-ID: <20170130175604.GF20076@art_vandelay> References: <20170129132444.25251-1-john@metanate.com> <20170129132444.25251-6-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-6-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 T24gU3VuLCBKYW4gMjksIDIwMTcgYXQgMDE6MjQ6MjVQTSArMDAwMCwgSm9obiBLZWVwaW5nIHdy b3RlOgo+IFdlIHdhbnQgdG8gY2hlY2sgdGhhdCBib3RoIHRoZSBHRU5fQ01EX0VNUFRZIGFuZCBH RU5fUExEX1dfRU1QVFkgYml0cwo+IGFyZSBzZXQgc28gd2UgY2FuJ3QganVzdCBjaGVjayAidmFs ICYgbWFzayIgYmVjYXVzZSB0aGF0IHdpbGwgYmUgdHJ1ZSBpZgo+IGVpdGhlciBiaXQgaXMgc2V0 Lgo+IAoKUmV2aWV3ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgoKPiBT aWduZWQtb2ZmLWJ5OiBKb2huIEtlZXBpbmcgPGpvaG5AbWV0YW5hdGUuY29tPgo+IFJldmlld2Vk LWJ5OiBDaHJpcyBaaG9uZyA8enl3QHJvY2stY2hpcHMuY29tPgo+IC0tLQo+IHYzOgo+IC0gQWRk IENocmlzJyBSZXZpZXdlZC1ieQo+IFVuY2hhbmdlZCBpbiB2Mgo+IAo+ICBkcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYyB8IDUgKysrLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDMg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAv ZHctbWlwaS1kc2kuYwo+IGluZGV4IDRjYmJiY2I2MTliNy4uNGJlMWZmM2E0MmJiIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRzaS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMKPiBAQCAtNTQ1LDcgKzU0NSw3IEBA IHN0YXRpYyBpbnQgZHdfbWlwaV9kc2lfaG9zdF9kZXRhY2goc3RydWN0IG1pcGlfZHNpX2hvc3Qg Kmhvc3QsCj4gIHN0YXRpYyBpbnQgZHdfbWlwaV9kc2lfZ2VuX3BrdF9oZHJfd3JpdGUoc3RydWN0 IGR3X21pcGlfZHNpICpkc2ksIHUzMiBoZHJfdmFsKQo+ICB7Cj4gIAlpbnQgcmV0Owo+IC0JdTMy IHZhbDsKPiArCXUzMiB2YWwsIG1hc2s7Cj4gIAo+ICAJcmV0ID0gcmVhZHhfcG9sbF90aW1lb3V0 KHJlYWRsLCBkc2ktPmJhc2UgKyBEU0lfQ01EX1BLVF9TVEFUVVMsCj4gIAkJCQkgdmFsLCAhKHZh bCAmIEdFTl9DTURfRlVMTCksIDEwMDAsCj4gQEAgLTU1Nyw4ICs1NTcsOSBAQCBzdGF0aWMgaW50 IGR3X21pcGlfZHNpX2dlbl9wa3RfaGRyX3dyaXRlKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpLCB1 MzIgaGRyX3ZhbCkKPiAgCj4gIAlkc2lfd3JpdGUoZHNpLCBEU0lfR0VOX0hEUiwgaGRyX3ZhbCk7 Cj4gIAo+ICsJbWFzayA9IEdFTl9DTURfRU1QVFkgfCBHRU5fUExEX1dfRU1QVFk7Cj4gIAlyZXQg PSByZWFkeF9wb2xsX3RpbWVvdXQocmVhZGwsIGRzaS0+YmFzZSArIERTSV9DTURfUEtUX1NUQVRV UywKPiAtCQkJCSB2YWwsIHZhbCAmIChHRU5fQ01EX0VNUFRZIHwgR0VOX1BMRF9XX0VNUFRZKSwK PiArCQkJCSB2YWwsICh2YWwgJiBtYXNrKSA9PSBtYXNrLAo+ICAJCQkJIDEwMDAsIENNRF9QS1Rf U1RBVFVTX1RJTUVPVVRfVVMpOwo+ICAJaWYgKHJldCA8IDApIHsKPiAgCQlkZXZfZXJyKGRzaS0+ ZGV2LCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1hbmQgRklGT1xuIik7Cj4gLS0gCj4gMi4xMS4wLjE5 Ny5nYjU1NmRlNS5kaXJ0eQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAoKLS0gClNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2ds ZSAvIENocm9taXVtIE9TCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: seanpaul@chromium.org (Sean Paul) Date: Mon, 30 Jan 2017 12:56:04 -0500 Subject: [PATCH v3 05/24] drm/rockchip: dw-mipi-dsi: fix generic packet status check In-Reply-To: <20170129132444.25251-6-john@metanate.com> References: <20170129132444.25251-1-john@metanate.com> <20170129132444.25251-6-john@metanate.com> Message-ID: <20170130175604.GF20076@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:25PM +0000, John Keeping wrote: > We want to check that both the GEN_CMD_EMPTY and GEN_PLD_W_EMPTY bits > are set so we can't just check "val & mask" because that will be true if > either bit is set. > Reviewed-by: Sean Paul > Signed-off-by: John Keeping > Reviewed-by: Chris Zhong > --- > v3: > - Add Chris' Reviewed-by > Unchanged in v2 > > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > index 4cbbbcb619b7..4be1ff3a42bb 100644 > --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > @@ -545,7 +545,7 @@ static int dw_mipi_dsi_host_detach(struct mipi_dsi_host *host, > static int dw_mipi_dsi_gen_pkt_hdr_write(struct dw_mipi_dsi *dsi, u32 hdr_val) > { > int ret; > - u32 val; > + u32 val, mask; > > ret = readx_poll_timeout(readl, dsi->base + DSI_CMD_PKT_STATUS, > val, !(val & GEN_CMD_FULL), 1000, > @@ -557,8 +557,9 @@ static int dw_mipi_dsi_gen_pkt_hdr_write(struct dw_mipi_dsi *dsi, u32 hdr_val) > > dsi_write(dsi, DSI_GEN_HDR, hdr_val); > > + mask = GEN_CMD_EMPTY | GEN_PLD_W_EMPTY; > ret = readx_poll_timeout(readl, dsi->base + DSI_CMD_PKT_STATUS, > - val, val & (GEN_CMD_EMPTY | GEN_PLD_W_EMPTY), > + val, (val & mask) == mask, > 1000, CMD_PKT_STATUS_TIMEOUT_US); > if (ret < 0) { > dev_err(dsi->dev, "failed to write command FIFO\n"); > -- > 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 S1753971AbdA3SYQ (ORCPT ); Mon, 30 Jan 2017 13:24:16 -0500 Received: from mail-qk0-f175.google.com ([209.85.220.175]:36720 "EHLO mail-qk0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752154AbdA3SYP (ORCPT ); Mon, 30 Jan 2017 13:24:15 -0500 Date: Mon, 30 Jan 2017 12:56:04 -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 05/24] drm/rockchip: dw-mipi-dsi: fix generic packet status check Message-ID: <20170130175604.GF20076@art_vandelay> References: <20170129132444.25251-1-john@metanate.com> <20170129132444.25251-6-john@metanate.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170129132444.25251-6-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:25PM +0000, John Keeping wrote: > We want to check that both the GEN_CMD_EMPTY and GEN_PLD_W_EMPTY bits > are set so we can't just check "val & mask" because that will be true if > either bit is set. > Reviewed-by: Sean Paul > Signed-off-by: John Keeping > Reviewed-by: Chris Zhong > --- > v3: > - Add Chris' Reviewed-by > Unchanged in v2 > > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > index 4cbbbcb619b7..4be1ff3a42bb 100644 > --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > @@ -545,7 +545,7 @@ static int dw_mipi_dsi_host_detach(struct mipi_dsi_host *host, > static int dw_mipi_dsi_gen_pkt_hdr_write(struct dw_mipi_dsi *dsi, u32 hdr_val) > { > int ret; > - u32 val; > + u32 val, mask; > > ret = readx_poll_timeout(readl, dsi->base + DSI_CMD_PKT_STATUS, > val, !(val & GEN_CMD_FULL), 1000, > @@ -557,8 +557,9 @@ static int dw_mipi_dsi_gen_pkt_hdr_write(struct dw_mipi_dsi *dsi, u32 hdr_val) > > dsi_write(dsi, DSI_GEN_HDR, hdr_val); > > + mask = GEN_CMD_EMPTY | GEN_PLD_W_EMPTY; > ret = readx_poll_timeout(readl, dsi->base + DSI_CMD_PKT_STATUS, > - val, val & (GEN_CMD_EMPTY | GEN_PLD_W_EMPTY), > + val, (val & mask) == mask, > 1000, CMD_PKT_STATUS_TIMEOUT_US); > if (ret < 0) { > dev_err(dsi->dev, "failed to write command FIFO\n"); > -- > 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