diff mbox

[1/3] drm/radeon/cik: Fix printing of client name on VM protection fault

Message ID 1379511582-8950-1-git-send-email-michel@daenzer.net (mailing list archive)
State New, archived
Headers show

Commit Message

Michel Dänzer Sept. 18, 2013, 1:39 p.m. UTC
From: Michel Dänzer <michel.daenzer@amd.com>

The string is encoded from the MSB to the LSB of the register.

Cc: stable@vger.kernel.org
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
---
 drivers/gpu/drm/radeon/cik.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Alex Deucher Sept. 18, 2013, 3:44 p.m. UTC | #1
On Wed, Sep 18, 2013 at 9:39 AM, Michel Dänzer <michel@daenzer.net> wrote:
> From: Michel Dänzer <michel.daenzer@amd.com>
>
> The string is encoded from the MSB to the LSB of the register.
>
> Cc: stable@vger.kernel.org
> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>

Patches 1 and 2 applied.  I don't think the 3rd one is necessary.

Thanks!

Alex

> ---
>  drivers/gpu/drm/radeon/cik.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
> index a77b593..4f1f419 100644
> --- a/drivers/gpu/drm/radeon/cik.c
> +++ b/drivers/gpu/drm/radeon/cik.c
> @@ -4721,12 +4721,13 @@ static void cik_vm_decode_fault(struct radeon_device *rdev,
>         u32 mc_id = (status & MEMORY_CLIENT_ID_MASK) >> MEMORY_CLIENT_ID_SHIFT;
>         u32 vmid = (status & FAULT_VMID_MASK) >> FAULT_VMID_SHIFT;
>         u32 protections = (status & PROTECTIONS_MASK) >> PROTECTIONS_SHIFT;
> -       char *block = (char *)&mc_client;
> +       char block[5] = { mc_client >> 24, (mc_client >> 16) & 0xff,
> +               (mc_client >> 8) & 0xff, mc_client & 0xff, 0 };
>
> -       printk("VM fault (0x%02x, vmid %d) at page %u, %s from %s (%d)\n",
> +       printk("VM fault (0x%02x, vmid %d) at page %u, %s from '%s' (0x%08x) (%d)\n",
>                protections, vmid, addr,
>                (status & MEMORY_CLIENT_RW_MASK) ? "write" : "read",
> -              block, mc_id);
> +              block, mc_client, mc_id);
>  }
>
>  /**
> --
> 1.8.4.rc3
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index a77b593..4f1f419 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -4721,12 +4721,13 @@  static void cik_vm_decode_fault(struct radeon_device *rdev,
 	u32 mc_id = (status & MEMORY_CLIENT_ID_MASK) >> MEMORY_CLIENT_ID_SHIFT;
 	u32 vmid = (status & FAULT_VMID_MASK) >> FAULT_VMID_SHIFT;
 	u32 protections = (status & PROTECTIONS_MASK) >> PROTECTIONS_SHIFT;
-	char *block = (char *)&mc_client;
+	char block[5] = { mc_client >> 24, (mc_client >> 16) & 0xff,
+		(mc_client >> 8) & 0xff, mc_client & 0xff, 0 };
 
-	printk("VM fault (0x%02x, vmid %d) at page %u, %s from %s (%d)\n",
+	printk("VM fault (0x%02x, vmid %d) at page %u, %s from '%s' (0x%08x) (%d)\n",
 	       protections, vmid, addr,
 	       (status & MEMORY_CLIENT_RW_MASK) ? "write" : "read",
-	       block, mc_id);
+	       block, mc_client, mc_id);
 }
 
 /**