Re: [PATCH] drm/radeon/kms: Convert RS600 to new init path

From: Dave Airlie
Date: Tue Oct 06 2009 - 23:57:59 EST


On Thu, Oct 1, 2009 at 6:09 AM, Jerome Glisse <jglisse@xxxxxxxxxx> wrote:
> New init path allow to simply asic initialization and make easier
> to trace what happen on each different asic. We are removing most
> callback. Do a massive RS600 register cleanup to clarify RS600
> register, we are still bit fuzy on some register and waiting for
> more informations. I don't have hw to test, so this patch is a
> best effort to not break anythings and to try to improve things.

This patch breaks irq handling on all rs600->r5xx chips.
>  }
>
>  static inline uint32_t rs600_irq_ack(struct radeon_device *rdev, u32 *r500_disp_int)
>  {
> -       uint32_t irqs = RREG32(RADEON_GEN_INT_STATUS);

^ this was perfectly fine correct code.

> -       uint32_t irq_mask = RADEON_SW_INT_TEST;
> -
> -       if (irqs & AVIVO_DISPLAY_INT_STATUS) {
> -               *r500_disp_int = RREG32(AVIVO_DISP_INTERRUPT_STATUS);
> -               if (*r500_disp_int & AVIVO_D1_VBLANK_INTERRUPT) {
> -                       WREG32(AVIVO_D1MODE_VBLANK_STATUS, AVIVO_VBLANK_ACK);
> +       uint32_t irqs = RREG32(R_000040_GEN_INT_CNTL);

^ this is not doing the same thing at all.

If these auto generated registers are meant to have made life easier I can't see
how I'm wasting more time tracking down bugs that weren't there before this,
than fixing real problems. I'm about 5 mins from reverting back to
just using radeon_reg.h

Dave.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/