Date: Sat, 5 Feb 2011 12:59:32 -0700 (MST) From: Warren Block <wblock@wonkity.com> To: freebsd-x11@freebsd.org Subject: Re: xf86-video-ati 6.14.0 Message-ID: <alpine.BSF.2.00.1102051254420.31303@wonkity.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
[-- Attachment #1 --] On Fri, 4 Feb 2011, Warren Block wrote: > 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. Alex Deucher has quickly fixed this: http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=84450ea9221f32296c1f786a6aa126a08bb9756f Attached are patches for the port to duplicate that change. [-- Attachment #2 --] --- src/radeon_output.c.orig 2011-02-01 17:01:22.000000000 -0700 +++ src/radeon_output.c 2011-02-05 12:22:53.000000000 -0700 @@ -120,6 +120,8 @@ radeon_bios_output_crtc(xf86OutputPtr output); static void radeon_bios_output_lock(xf86OutputPtr output, Bool lock); +extern void +atombios_pick_dig_encoder(xf86OutputPtr output); void RADEONPrintPortMap(ScrnInfoPtr pScrn) { @@ -731,6 +733,8 @@ } radeon_bios_output_lock(output, TRUE); + if (IS_AVIVO_VARIANT) + atombios_pick_dig_encoder(output); radeon_dpms(output, DPMSModeOff); radeon_crtc_dpms(output->crtc, DPMSModeOff); [-- Attachment #3 --] --- src/atombios_output.c.orig 2011-01-27 10:05:58.000000000 -0700 +++ src/atombios_output.c 2011-02-05 12:20:30.000000000 -0700 @@ -172,7 +172,6 @@ #define DP_SET_POWER_D3 0x2 static void do_displayport_link_train(xf86OutputPtr output); -static void atombios_pick_dig_encoder(xf86OutputPtr output); static int atombios_output_dac_setup(xf86OutputPtr output, int action) @@ -1469,7 +1468,6 @@ if (radeon_encoder == NULL) return; - atombios_pick_dig_encoder(output); switch (radeon_encoder->encoder_id) { case ENCODER_OBJECT_ID_INTERNAL_TMDS1: @@ -1781,7 +1779,7 @@ } } -static void +void atombios_pick_dig_encoder(xf86OutputPtr output) { xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(output->scrn); @@ -1878,7 +1876,6 @@ return; radeon_output->pixel_clock = adjusted_mode->Clock; - atombios_pick_dig_encoder(output); atombios_output_overscan_setup(output, mode, adjusted_mode); atombios_output_scaler_setup(output); atombios_set_output_crtc_source(output);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1102051254420.31303>
