NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
xsrc/42913: Xorg on MacMini/PPC, hangup after shutdown, fix patch.
>Number: 42913
>Category: xsrc
>Synopsis: Xorg on MacMini/PPC, hangup after shutdown, fix patch.
>Confidential: no
>Severity: critical
>Priority: low
>Responsible: xsrc-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Mar 02 18:50:00 +0000 2010
>Originator: Hiroaki Urata
>Release: CURRENT
>Organization:
>Environment:
NetBSD hirobento 5.99.24 NetBSD 5.99.24 (MYKERNEL) #5: Mon Mar 1 06:47:34 JST
2010 root@hirobento:/usr/obj/sys/arch/macppc/compile/MYKERNEL macppc
>Description:
I use macppc on Mac Mini.
After Run Xserver, hangup all System when Run "kill X".
I make fix patch, quick hack.
P.S.
must add to "Option Device" in /etc/X11/Xorg.conf.
Section "Device"
Identifier "Card0"
Driver "radeon"
BusID "PCI:0:16:0"
Option "MacModel" "mini-internal"
EndSection
>How-To-Repeat:
>Fix:
Index: ./external/mit/xf86-video-ati/dist/src/legacy_crtc.c
===================================================================
RCS file: /cvsroot/xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c,v
retrieving revision 1.1.1.3
diff -u -8 -p -r1.1.1.3 legacy_crtc.c
--- ./external/mit/xf86-video-ati/dist/src/legacy_crtc.c 9 Nov 2009
00:51:53 -0000 1.1.1.3
+++ ./external/mit/xf86-video-ati/dist/src/legacy_crtc.c 2 Mar 2010
18:13:45 -0000
@@ -300,17 +300,18 @@ RADEONRestorePLLRegisters(ScrnInfoPtr pS
RADEONSavePtr restore)
{
RADEONInfoPtr info = RADEONPTR(pScrn);
unsigned char *RADEONMMIO = info->MMIO;
uint8_t pllGain;
#if defined(__powerpc__)
/* apparently restoring the pll causes a hang??? */
- if (info->MacModel == RADEON_MAC_IBOOK)
+ if (info->MacModel == RADEON_MAC_IBOOK
+ || info->MacModel == RADEON_MAC_MINI_INTERNAL)
return;
#endif
pllGain = RADEONComputePLLGain(info->pll.reference_freq,
restore->ppll_ref_div &
RADEON_PPLL_REF_DIV_MASK,
restore->ppll_div_3 &
RADEON_PPLL_FB3_DIV_MASK);
if (info->IsMobility) {
@@ -1237,17 +1238,18 @@ RADEONInitPLLRegisters(ScrnInfoPtr pScrn
save->feedback_div,
save->reference_div,
save->post_div);
save->ppll_ref_div = save->reference_div;
#if defined(__powerpc__)
/* apparently programming this otherwise causes a hang??? */
- if (info->MacModel == RADEON_MAC_IBOOK)
+ if (info->MacModel == RADEON_MAC_IBOOK ||
+ info->MacModel == RADEON_MAC_MINI_INTERNAL)
save->ppll_div_3 = 0x000600ad;
else
#endif
save->ppll_div_3 = (save->feedback_div | (post_div->bitvalue << 16));
save->htotal_cntl = mode->HTotal & 0x7;
save->vclk_ecp_cntl = (info->SavedReg->vclk_ecp_cntl &
Home |
Main Index |
Thread Index |
Old Index