[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