From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754123AbbIGJXX (ORCPT ); Mon, 7 Sep 2015 05:23:23 -0400 Received: from mail-la0-f43.google.com ([209.85.215.43]:34399 "EHLO mail-la0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753521AbbIGJXV (ORCPT ); Mon, 7 Sep 2015 05:23:21 -0400 Subject: Re: [PATCH] gpu: host1x: Fix MLOCK's debug info To: Thierry Reding References: <1435519624-16444-1-git-send-email-digetx@gmail.com> Cc: =?UTF-8?Q?Terje_Bergstr=c3=b6m?= , dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org From: Dmitry Osipenko Message-ID: <55ED5765.6080807@gmail.com> Date: Mon, 7 Sep 2015 12:22:45 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <1435519624-16444-1-git-send-email-digetx@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 28.06.2015 22:27, Dmitry Osipenko пишет: > MLOCK's debug info, spewed on CDMA timeout, contains meaningless MLOCK > owner channel ID because HOST1X_SYNC_MLOCK_OWNER_CHID_F() returns shifted > value, while unshifted should be used. Fix it by changing '_F' to '_V'. > > Signed-off-by: Dmitry Osipenko > --- > drivers/gpu/host1x/hw/debug_hw.c | 2 +- > drivers/gpu/host1x/hw/hw_host1x01_sync.h | 8 ++++---- > drivers/gpu/host1x/hw/hw_host1x02_sync.h | 8 ++++---- > drivers/gpu/host1x/hw/hw_host1x04_sync.h | 8 ++++---- > 4 files changed, 13 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/host1x/hw/debug_hw.c b/drivers/gpu/host1x/hw/debug_hw.c > index 791de93..cc3f182 100644 > --- a/drivers/gpu/host1x/hw/debug_hw.c > +++ b/drivers/gpu/host1x/hw/debug_hw.c > @@ -298,7 +298,7 @@ static void host1x_debug_show_mlocks(struct host1x *host, struct output *o) > host1x_sync_readl(host, HOST1X_SYNC_MLOCK_OWNER(i)); > if (HOST1X_SYNC_MLOCK_OWNER_CH_OWNS_V(owner)) > host1x_debug_output(o, "%d: locked by channel %d\n", > - i, HOST1X_SYNC_MLOCK_OWNER_CHID_F(owner)); > + i, HOST1X_SYNC_MLOCK_OWNER_CHID_V(owner)); > else if (HOST1X_SYNC_MLOCK_OWNER_CPU_OWNS_V(owner)) > host1x_debug_output(o, "%d: locked by cpu\n", i); > else > diff --git a/drivers/gpu/host1x/hw/hw_host1x01_sync.h b/drivers/gpu/host1x/hw/hw_host1x01_sync.h > index ac704e5..31238c2 100644 > --- a/drivers/gpu/host1x/hw/hw_host1x01_sync.h > +++ b/drivers/gpu/host1x/hw/hw_host1x01_sync.h > @@ -131,12 +131,12 @@ static inline u32 host1x_sync_mlock_owner_r(unsigned int id) > } > #define HOST1X_SYNC_MLOCK_OWNER(id) \ > host1x_sync_mlock_owner_r(id) > -static inline u32 host1x_sync_mlock_owner_chid_f(u32 v) > +static inline u32 host1x_sync_mlock_owner_chid_v(u32 v) > { > - return (v & 0xf) << 8; > + return (v >> 8) & 0xf; > } > -#define HOST1X_SYNC_MLOCK_OWNER_CHID_F(v) \ > - host1x_sync_mlock_owner_chid_f(v) > +#define HOST1X_SYNC_MLOCK_OWNER_CHID_V(v) \ > + host1x_sync_mlock_owner_chid_v(v) > static inline u32 host1x_sync_mlock_owner_cpu_owns_v(u32 r) > { > return (r >> 1) & 0x1; > diff --git a/drivers/gpu/host1x/hw/hw_host1x02_sync.h b/drivers/gpu/host1x/hw/hw_host1x02_sync.h > index 4495401..540c7b6 100644 > --- a/drivers/gpu/host1x/hw/hw_host1x02_sync.h > +++ b/drivers/gpu/host1x/hw/hw_host1x02_sync.h > @@ -131,12 +131,12 @@ static inline u32 host1x_sync_mlock_owner_r(unsigned int id) > } > #define HOST1X_SYNC_MLOCK_OWNER(id) \ > host1x_sync_mlock_owner_r(id) > -static inline u32 host1x_sync_mlock_owner_chid_f(u32 v) > +static inline u32 host1x_sync_mlock_owner_chid_v(u32 v) > { > - return (v & 0xf) << 8; > + return (v >> 8) & 0xf; > } > -#define HOST1X_SYNC_MLOCK_OWNER_CHID_F(v) \ > - host1x_sync_mlock_owner_chid_f(v) > +#define HOST1X_SYNC_MLOCK_OWNER_CHID_V(v) \ > + host1x_sync_mlock_owner_chid_v(v) > static inline u32 host1x_sync_mlock_owner_cpu_owns_v(u32 r) > { > return (r >> 1) & 0x1; > diff --git a/drivers/gpu/host1x/hw/hw_host1x04_sync.h b/drivers/gpu/host1x/hw/hw_host1x04_sync.h > index ef2275b..3d6c8ec 100644 > --- a/drivers/gpu/host1x/hw/hw_host1x04_sync.h > +++ b/drivers/gpu/host1x/hw/hw_host1x04_sync.h > @@ -131,12 +131,12 @@ static inline u32 host1x_sync_mlock_owner_r(unsigned int id) > } > #define HOST1X_SYNC_MLOCK_OWNER(id) \ > host1x_sync_mlock_owner_r(id) > -static inline u32 host1x_sync_mlock_owner_chid_f(u32 v) > +static inline u32 host1x_sync_mlock_owner_chid_v(u32 v) > { > - return (v & 0xf) << 8; > + return (v >> 8) & 0xf; > } > -#define HOST1X_SYNC_MLOCK_OWNER_CHID_F(v) \ > - host1x_sync_mlock_owner_chid_f(v) > +#define HOST1X_SYNC_MLOCK_OWNER_CHID_V(v) \ > + host1x_sync_mlock_owner_chid_v(v) > static inline u32 host1x_sync_mlock_owner_cpu_owns_v(u32 r) > { > return (r >> 1) & 0x1; > Ping Thierry -- Dmitry