[Mesa-dev] [PATCH] winsys/radeon: fix nop packet padding v2.

Alex Deucher alexdeucher at gmail.com
Thu Jul 24 17:07:51 PDT 2014


On Thu, Jul 24, 2014 at 6:28 PM,  <j.glisse at gmail.com> wrote:
> From: Jerome Glisse <jglisse at redhat.com>
>
> The ucode we got for hawaii does not support 0xffff1000 special nop
> packet type 3 and this leads to gpu reading invalid memory. As packet
> type 2 still exist just use packet type 2.
>
> Note this only partialy fix hawaii issues and some zbuffer tiling
> issues are still present.
>
> Changed since v1:
>   - use packet type 2 instead of packet 3.

We don't need this change if we use the updated firmware in my 3.17
tree.  Looks like the original hawaii CP ucode didn't support the new
0xffff1000 special case NOP packet.

Alex

>
> Signed-off-by: Jérôme Glisse <jglisse at redhat.com>
> ---
>  src/gallium/winsys/radeon/drm/radeon_drm_cs.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
> index a06ecb2..9ac7d0e 100644
> --- a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
> +++ b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
> @@ -447,13 +447,8 @@ static void radeon_drm_cs_flush(struct radeon_winsys_cs *rcs,
>          /* pad DMA ring to 8 DWs to meet CP fetch alignment requirements
>           * r6xx, requires at least 4 dw alignment to avoid a hw bug.
>           */
> -        if (cs->ws->info.chip_class <= SI) {
> -            while (rcs->cdw & 7)
> -                OUT_CS(&cs->base, 0x80000000); /* type2 nop packet */
> -        } else {
> -            while (rcs->cdw & 7)
> -                OUT_CS(&cs->base, 0xffff1000); /* type3 nop packet */
> -        }
> +        while (rcs->cdw & 7)
> +            OUT_CS(&cs->base, 0x80000000); /* type2 nop packet */
>          break;
>      case RING_UVD:
>          while (rcs->cdw & 15)
> --
> 1.8.3.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list