[PATCH] drm/radeon/kms: r600 fix color buffer pitch check

Alex Deucher alexdeucher at gmail.com
Mon Apr 26 22:04:56 PDT 2010


On Mon, Apr 26, 2010 at 5:36 AM, Jerome Glisse <jglisse at redhat.com> wrote:
> Color buffer pitch need to be 64bits aligned not 64bytes.
> This patch correct the cs checker.
>

Nack for now.  It's actually quite a bit more complex.  I'll try and
put together some better info on the alignment requirements tomorrow.

Alex

> Signed-off-by: Jerome Glisse <jglisse at redhat.com>
> Cc: stable <stable at kernel.org>
> ---
>  drivers/gpu/drm/radeon/r600_cs.c |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
> index c39c1bc..865144e 100644
> --- a/drivers/gpu/drm/radeon/r600_cs.c
> +++ b/drivers/gpu/drm/radeon/r600_cs.c
> @@ -193,14 +193,14 @@ static inline int r600_cs_track_validate_cb(struct radeon_cs_parser *p, int i)
>        switch (G_0280A0_ARRAY_MODE(track->cb_color_info[i])) {
>        case V_0280A0_ARRAY_LINEAR_GENERAL:
>        case V_0280A0_ARRAY_LINEAR_ALIGNED:
> -               if (pitch & 0x3f) {
> +               if (pitch & 0x3) {
>                        dev_warn(p->dev, "%s:%d cb pitch (%d x %d = %d) invalid\n",
>                                __func__, __LINE__, pitch, bpe, pitch * bpe);
>                        return -EINVAL;
>                }
> -               if ((pitch * bpe) & (track->group_size - 1)) {
> -                       dev_warn(p->dev, "%s:%d cb pitch (%d) invalid\n",
> -                               __func__, __LINE__, pitch);
> +               if ((pitch * bpe * 8) & (track->group_size - 1)) {
> +                       dev_warn(p->dev, "%s:%d cb pitch (%d x %d = %d) %d invalid\n",
> +                               __func__, __LINE__, pitch, bpe, pitch * bpe, track->group_size);
>                        return -EINVAL;
>                }
>                break;
> --
> 1.7.0.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>


More information about the dri-devel mailing list