Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Feb 2011 13:37:58 +0800
From:      Martin Wilke <miwi@FreeBSD.org>
To:        Warren Block <wblock@wonkity.com>
Cc:        freebsd-x11@freebsd.org
Subject:   Re: xf86-video-ati 6.14.0
Message-ID:  <AANLkTinvfjk87_zO1xWb9=3U0pX5TtK9QMdqs3jwtN5D@mail.gmail.com>
In-Reply-To: <alpine.BSF.2.00.1102031950160.23450@wonkity.com>
References:  <alpine.BSF.2.00.1102031950160.23450@wonkity.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Warren,

thx i've added ur patch in my cft.

On Sat, Feb 5, 2011 at 8:47 AM, Warren Block <wblock@wonkity.com> wrote:

> A quick update of the 6.13.2 port to build the just-released 6.14.0 ati
> video driver had problems with a Radeon 4650 with VGA, DVI, and HDMI ports.
>
> X starts, goes to a black screen... and that's it.  The machine is still
> alive, but video is not working until a reset.  The X log says:
>
> ...
> (II) RADEON(0): Acceleration enabled
> (**) RADEON(0): DPMS enabled
> (==) RADEON(0): Silken mouse enabled
> (II) RADEON(0): Set up textured video
> Output CRT2 disable success
> Segmentation fault: 11 at address 0x168
>
> Fatal server error:
> Caught signal 11 (Segmentation fault: 11). Server aborting
>
> This happens on line 1840 of atombios_output.c, inside
> atombios_pick_dig_encoder.  The first two outputs are fine, but output->crtc
> is null for the HDMI output.
>
> This happens due to output->crtc being null for the HDMI connector on line
> 1840 of atombios_output.c.  The other two outputs are set first, without
> problems.
>
> A quick hack to check for a null crtc pointer lets X start and work,
> although of course the HDMI output is probably not functional.  Again, this
> is a quick hack that doesn't fail but doesn't fix the problem of the crtc
> being null.  No idea why that's not set correctly, or whether it's the fault
> of FreeBSD, which is why I'm posting this here rather than on the x.orgbugzilla.  If anyone can help confirm or fix this, I can post a bug report
> in the appropriate place.
>
> --- src/atombios_output.c.orig  2011-01-27 10:05:58.000000000 -0700
> +++ src/atombios_output.c       2011-02-04 17:41:32.000000000 -0700
> @@ -1836,8 +1836,12 @@
>     }
>
>     if (IS_DCE32_VARIANT) {
> -        RADEONCrtcPrivatePtr radeon_crtc = output->crtc->driver_private;
> -        radeon_output->dig_encoder = radeon_crtc->crtc_id;
> +        if (output->crtc) {
> +            RADEONCrtcPrivatePtr radeon_crtc =
> output->crtc->driver_private;
> +            radeon_output->dig_encoder = radeon_crtc->crtc_id;
> +        } else {
> +            ErrorF("WB: crtc for %s output is null!\n", output->name);
> +        }
>         return;
>     }
>
> _______________________________________________
> freebsd-x11@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-x11
> To unsubscribe, send any mail to "freebsd-x11-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTinvfjk87_zO1xWb9=3U0pX5TtK9QMdqs3jwtN5D>