uvd failed to resume during suspend
Tom St Denis
tom.stdenis at amd.com
Mon Oct 23 13:54:55 UTC 2017
On 23/10/17 09:27 AM, Tom St Denis wrote:
> Doing a suspend during playback results in the uvd not resuming when
> waking up with drm-next as the kernel.
Trying with cg_mask=pg_mask=0 It hangs on decode start. I've attached
the readout of the ring which looks normal.
Initially I thought maybe it's a PG related issue with suspend/resume
but since I can't reliably playback with PG/CG disabled I can't test
this theory.
Tom
-------------- next part --------------
carrizo.uvd.rptr == 32
carrizo.uvd.wptr == 64
carrizo.uvd.drv_wptr == 64
carrizo.uvd.ring[ 1] == 0x00000000 ...
carrizo.uvd.ring[ 2] == 0x00003c67 ...
carrizo.uvd.ring[ 3] == 0x005e6500 ...
carrizo.uvd.ring[ 4] == 0x00003c66 ...
carrizo.uvd.ring[ 5] == 0x00000000 ...
carrizo.uvd.ring[ 6] == 0x00003da2 ...
carrizo.uvd.ring[ 7] == 0x00000030 ...
carrizo.uvd.ring[ 8] == 0x00003dbd ...
carrizo.uvd.ring[ 9] == 0x0000000d ...
carrizo.uvd.ring[ 10] == 0x00003bc4 ...
carrizo.uvd.ring[ 11] == 0x00296560 ...
carrizo.uvd.ring[ 12] == 0x00003bc5 ...
carrizo.uvd.ring[ 13] == 0x000000f4 ...
carrizo.uvd.ring[ 14] == 0x00003bc3 ...
carrizo.uvd.ring[ 15] == 0x00000000 ...
carrizo.uvd.ring[ 16] == 0x00003bc4 ...
carrizo.uvd.ring[ 17] == 0x00000000 ...
carrizo.uvd.ring[ 18] == 0x00003bc5 ...
carrizo.uvd.ring[ 19] == 0x00000000 ...
carrizo.uvd.ring[ 20] == 0x00003bc3 ...
carrizo.uvd.ring[ 21] == 0x00000002 ...
carrizo.uvd.ring[ 22] == 0x00003bff ...
carrizo.uvd.ring[ 23] == 0x00003bff ...
carrizo.uvd.ring[ 24] == 0x00003bff ...
carrizo.uvd.ring[ 25] == 0x00003bff ...
carrizo.uvd.ring[ 26] == 0x00003bff ...
carrizo.uvd.ring[ 27] == 0x00003bff ...
carrizo.uvd.ring[ 28] == 0x00003bff ...
carrizo.uvd.ring[ 29] == 0x00003bff ...
carrizo.uvd.ring[ 30] == 0x00003bff ...
carrizo.uvd.ring[ 31] == 0x00003bff ...
carrizo.uvd.ring[ 32] == 0x00003da1 r.. PKT0, COUNT:1, BASE_INDEX:0x3da1
carrizo.uvd.ring[ 33] == 0x00000000 ... word (0): uvd6.mmUVD_LMI_RBC_IB_VMID(0x3da1) <= 0x0
carrizo.uvd.ring[ 34] == 0x00003c67 ... PKT0, COUNT:1, BASE_INDEX:0x3c67
carrizo.uvd.ring[ 35] == 0x005e9800 ... word (0): uvd6.mmUVD_LMI_RBC_IB_64BIT_BAR_LOW(0x3c67) <= 0x5e9800
carrizo.uvd.ring[ 36] == 0x00003c66 ... PKT0, COUNT:1, BASE_INDEX:0x3c66
carrizo.uvd.ring[ 37] == 0x00000000 ... word (0): uvd6.mmUVD_LMI_RBC_IB_64BIT_BAR_HIGH(0x3c66) <= 0x0
carrizo.uvd.ring[ 38] == 0x00003da2 ... PKT0, COUNT:1, BASE_INDEX:0x3da2
carrizo.uvd.ring[ 39] == 0x00000030 ... word (0): uvd6.mmUVD_RBC_IB_SIZE(0x3da2) <= 0x30
carrizo.uvd.ring[ 40] == 0x00003dbd ... PKT0, COUNT:1, BASE_INDEX:0x3dbd
carrizo.uvd.ring[ 41] == 0x0000000e ... word (0): uvd6.mmUVD_CONTEXT_ID(0x3dbd) <= 0xe
carrizo.uvd.ring[ 42] == 0x00003bc4 ... PKT0, COUNT:1, BASE_INDEX:0x3bc4
carrizo.uvd.ring[ 43] == 0x00296560 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA0(0x3bc4) <= 0x296560
carrizo.uvd.ring[ 44] == 0x00003bc5 ... PKT0, COUNT:1, BASE_INDEX:0x3bc5
carrizo.uvd.ring[ 45] == 0x000000f4 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA1(0x3bc5) <= 0xf4
carrizo.uvd.ring[ 46] == 0x00003bc3 ... PKT0, COUNT:1, BASE_INDEX:0x3bc3
carrizo.uvd.ring[ 47] == 0x00000000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_CMD(0x3bc3) <= 0x0
carrizo.uvd.ring[ 48] == 0x00003bc4 ... PKT0, COUNT:1, BASE_INDEX:0x3bc4
carrizo.uvd.ring[ 49] == 0x00000000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA0(0x3bc4) <= 0x0
carrizo.uvd.ring[ 50] == 0x00003bc5 ... PKT0, COUNT:1, BASE_INDEX:0x3bc5
carrizo.uvd.ring[ 51] == 0x00000000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA1(0x3bc5) <= 0x0
carrizo.uvd.ring[ 52] == 0x00003bc3 ... PKT0, COUNT:1, BASE_INDEX:0x3bc3
carrizo.uvd.ring[ 53] == 0x00000002 ... word (0): uvd6.mmUVD_GPCOM_VCPU_CMD(0x3bc3) <= 0x2
carrizo.uvd.ring[ 54] == 0x00003bff ... PKT0, COUNT:1, BASE_INDEX:0x3bff
carrizo.uvd.ring[ 55] == 0x00003bff ... word (0): uvd6.mmUVD_NO_OP(0x3bff) <= 0x3bff
carrizo.uvd.ring[ 56] == 0x00003bff ... PKT0, COUNT:1, BASE_INDEX:0x3bff
carrizo.uvd.ring[ 57] == 0x00003bff ... word (0): uvd6.mmUVD_NO_OP(0x3bff) <= 0x3bff
carrizo.uvd.ring[ 58] == 0x00003bff ... PKT0, COUNT:1, BASE_INDEX:0x3bff
carrizo.uvd.ring[ 59] == 0x00003bff ... word (0): uvd6.mmUVD_NO_OP(0x3bff) <= 0x3bff
carrizo.uvd.ring[ 60] == 0x00003bff ... PKT0, COUNT:1, BASE_INDEX:0x3bff
carrizo.uvd.ring[ 61] == 0x00003bff ... word (0): uvd6.mmUVD_NO_OP(0x3bff) <= 0x3bff
carrizo.uvd.ring[ 62] == 0x00003bff ... PKT0, COUNT:1, BASE_INDEX:0x3bff
carrizo.uvd.ring[ 63] == 0x00003bff ... word (0): uvd6.mmUVD_NO_OP(0x3bff) <= 0x3bff
carrizo.uvd.ring[ 64] == 0x00003da1 .wD PKT0, COUNT:1, BASE_INDEX:0x3da1
Dumping IB at (gfxhub) VMID:0 0x5e9800 of 48 words
IB[ 0] = 0x00003bc4 ... PKT0, COUNT:1, BASE_INDEX:0x3bc4
IB[ 1] = 0x00eee000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA0(0x3bc4) <= 0xeee000
IB[ 2] = 0x00003bc5 ... PKT0, COUNT:1, BASE_INDEX:0x3bc5
IB[ 3] = 0x00000000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA1(0x3bc5) <= 0x0
IB[ 4] = 0x00003bc3 ... PKT0, COUNT:1, BASE_INDEX:0x3bc3
IB[ 5] = 0x00000000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_CMD(0x3bc3) <= 0x0
IB[ 6] = 0x00003bc4 ... PKT0, COUNT:1, BASE_INDEX:0x3bc4
IB[ 7] = 0x11133000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA0(0x3bc4) <= 0x11133000
IB[ 8] = 0x00003bc5 ... PKT0, COUNT:1, BASE_INDEX:0x3bc5
IB[ 9] = 0x000000f4 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA1(0x3bc5) <= 0xf4
IB[ 10] = 0x00003bc3 ... PKT0, COUNT:1, BASE_INDEX:0x3bc3
IB[ 11] = 0x00000002 ... word (0): uvd6.mmUVD_GPCOM_VCPU_CMD(0x3bc3) <= 0x2
IB[ 12] = 0x00003bc4 ... PKT0, COUNT:1, BASE_INDEX:0x3bc4
IB[ 13] = 0x10e3d000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA0(0x3bc4) <= 0x10e3d000
IB[ 14] = 0x00003bc5 ... PKT0, COUNT:1, BASE_INDEX:0x3bc5
IB[ 15] = 0x000000f4 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA1(0x3bc5) <= 0xf4
IB[ 16] = 0x00003bc3 ... PKT0, COUNT:1, BASE_INDEX:0x3bc3
IB[ 17] = 0x0000040c ... word (0): uvd6.mmUVD_GPCOM_VCPU_CMD(0x3bc3) <= 0x40c
IB[ 18] = 0x00003bc4 ... PKT0, COUNT:1, BASE_INDEX:0x3bc4
IB[ 19] = 0x00ef0000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA0(0x3bc4) <= 0xef0000
IB[ 20] = 0x00003bc5 ... PKT0, COUNT:1, BASE_INDEX:0x3bc5
IB[ 21] = 0x00000000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA1(0x3bc5) <= 0x0
IB[ 22] = 0x00003bc3 ... PKT0, COUNT:1, BASE_INDEX:0x3bc3
IB[ 23] = 0x00000200 ... word (0): uvd6.mmUVD_GPCOM_VCPU_CMD(0x3bc3) <= 0x200
IB[ 24] = 0x00003bc4 ... PKT0, COUNT:1, BASE_INDEX:0x3bc4
IB[ 25] = 0x0e400000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA0(0x3bc4) <= 0xe400000
IB[ 26] = 0x00003bc5 ... PKT0, COUNT:1, BASE_INDEX:0x3bc5
IB[ 27] = 0x000000f4 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA1(0x3bc5) <= 0xf4
IB[ 28] = 0x00003bc3 ... PKT0, COUNT:1, BASE_INDEX:0x3bc3
IB[ 29] = 0x00000004 ... word (0): uvd6.mmUVD_GPCOM_VCPU_CMD(0x3bc3) <= 0x4
IB[ 30] = 0x00003bc4 ... PKT0, COUNT:1, BASE_INDEX:0x3bc4
IB[ 31] = 0x00eef000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA0(0x3bc4) <= 0xeef000
IB[ 32] = 0x00003bc5 ... PKT0, COUNT:1, BASE_INDEX:0x3bc5
IB[ 33] = 0x00000000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA1(0x3bc5) <= 0x0
IB[ 34] = 0x00003bc3 ... PKT0, COUNT:1, BASE_INDEX:0x3bc3
IB[ 35] = 0x00000006 ... word (0): uvd6.mmUVD_GPCOM_VCPU_CMD(0x3bc3) <= 0x6
IB[ 36] = 0x00003bc4 ... PKT0, COUNT:1, BASE_INDEX:0x3bc4
IB[ 37] = 0x00eef800 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA0(0x3bc4) <= 0xeef800
IB[ 38] = 0x00003bc5 ... PKT0, COUNT:1, BASE_INDEX:0x3bc5
IB[ 39] = 0x00000000 ... word (0): uvd6.mmUVD_GPCOM_VCPU_DATA1(0x3bc5) <= 0x0
IB[ 40] = 0x00003bc3 ... PKT0, COUNT:1, BASE_INDEX:0x3bc3
IB[ 41] = 0x00000408 ... word (0): uvd6.mmUVD_GPCOM_VCPU_CMD(0x3bc3) <= 0x408
IB[ 42] = 0x00003bc6 ... PKT0, COUNT:1, BASE_INDEX:0x3bc6
IB[ 43] = 0x00000001 ... word (0): uvd6.mmUVD_ENGINE_CNTL(0x3bc6) <= 0x1
IB[ 44] = 0x80000000 ... PKT2
IB[ 45] = 0x80000000 ... PKT2
IB[ 46] = 0x80000000 ... PKT2
IB[ 47] = 0x80000000 ... PKT2
More information about the amd-gfx
mailing list