Re: [Mesa-dev] [PATCH] ac/radeonsi: fix CIK copy max size
Am 29.08.2018 um 05:53 schrieb Dave Airlie: From: Dave Airlie While adding transfer queues to radv, I started writing some tests, the first test I wrote fell over copying a buffer larger than this limit. Checked AMDVLK and found the correct limit. Cc: --- src/amd/common/sid.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/amd/common/sid.h b/src/amd/common/sid.h index 0671f7d3998..edb7d06afa6 100644 --- a/src/amd/common/sid.h +++ b/src/amd/common/sid.h @@ -9139,7 +9139,9 @@ #defineCIK_SDMA_PACKET_SEMAPHORE 0x7 #defineCIK_SDMA_PACKET_CONSTANT_FILL 0xb #defineCIK_SDMA_PACKET_SRBM_WRITE 0xe -#defineCIK_SDMA_COPY_MAX_SIZE 0x3fffe0 +/* There is apparently an undocumented HW "feature" that + prevents the HW from copying past 256 bytes of (1 << 22) */ +#defineCIK_SDMA_COPY_MAX_SIZE 0x3fff00 Well that is interesting. IIRC, the hardware documentation explicitly states that 0x3fffe0 is the maximum size. That would also explain a couple of problems we see with on CIK because the kernel doesn't get that right either. Christian. enum amd_cmp_class_flags { S_NAN = 1 << 0,// Signaling NaN ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] ac/radeonsi: fix CIK copy max size
Reviewed-by: Bas Nieuwenhuizen On Wed, Aug 29, 2018 at 5:53 AM Dave Airlie wrote: > > From: Dave Airlie > > While adding transfer queues to radv, I started writing some tests, > the first test I wrote fell over copying a buffer larger than this > limit. > > Checked AMDVLK and found the correct limit. > > Cc: > --- > src/amd/common/sid.h | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/src/amd/common/sid.h b/src/amd/common/sid.h > index 0671f7d3998..edb7d06afa6 100644 > --- a/src/amd/common/sid.h > +++ b/src/amd/common/sid.h > @@ -9139,7 +9139,9 @@ > #defineCIK_SDMA_PACKET_SEMAPHORE 0x7 > #defineCIK_SDMA_PACKET_CONSTANT_FILL 0xb > #defineCIK_SDMA_PACKET_SRBM_WRITE 0xe > -#defineCIK_SDMA_COPY_MAX_SIZE 0x3fffe0 > +/* There is apparently an undocumented HW "feature" that > + prevents the HW from copying past 256 bytes of (1 << 22) */ > +#defineCIK_SDMA_COPY_MAX_SIZE 0x3fff00 > > enum amd_cmp_class_flags { > S_NAN = 1 << 0,// Signaling NaN > -- > 2.17.1 > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] ac/radeonsi: fix CIK copy max size
From: Dave Airlie While adding transfer queues to radv, I started writing some tests, the first test I wrote fell over copying a buffer larger than this limit. Checked AMDVLK and found the correct limit. Cc: --- src/amd/common/sid.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/amd/common/sid.h b/src/amd/common/sid.h index 0671f7d3998..edb7d06afa6 100644 --- a/src/amd/common/sid.h +++ b/src/amd/common/sid.h @@ -9139,7 +9139,9 @@ #defineCIK_SDMA_PACKET_SEMAPHORE 0x7 #defineCIK_SDMA_PACKET_CONSTANT_FILL 0xb #defineCIK_SDMA_PACKET_SRBM_WRITE 0xe -#defineCIK_SDMA_COPY_MAX_SIZE 0x3fffe0 +/* There is apparently an undocumented HW "feature" that + prevents the HW from copying past 256 bytes of (1 << 22) */ +#defineCIK_SDMA_COPY_MAX_SIZE 0x3fff00 enum amd_cmp_class_flags { S_NAN = 1 << 0,// Signaling NaN -- 2.17.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev