# HG changeset patch # User Alan Coopersmith # Date 1303763933 25200 # Node ID 605549b491ac0dde03a7782331c8d19fdddd097c # Parent 00c1816630fe969d5deba381aee996d4b7d74b32 7039092 Move efb module for Xorg to X consolidation diff -r 00c1816630fe -r 605549b491ac exception_lists/packaging --- a/exception_lists/packaging Fri Apr 22 14:03:57 2011 -0700 +++ b/exception_lists/packaging Mon Apr 25 13:38:53 2011 -0700 @@ -51,6 +51,11 @@ usr/share/man/man5/Consortium.5 usr/share/man/man5/XProjectTeam.5 +# Upstream ati man pages don't apply to efb driver on sparc +usr/share/man/man7/ati.7 sparc +usr/share/man/man7/r128.7 sparc +usr/share/man/man7/radeon.7 sparc + # Only need the 32-bit versions of these files usr/lib/amd64/X11 i386 usr/lib/sparcv9/X11 sparc diff -r 00c1816630fe -r 605549b491ac open-src/driver/Makefile --- a/open-src/driver/Makefile Fri Apr 22 14:03:57 2011 -0700 +++ b/open-src/driver/Makefile Mon Apr 25 13:38:53 2011 -0700 @@ -31,7 +31,8 @@ xf86-video-ast \ xf86-video-dummy -OS_SUBDIRS_sparc = $(OS_SUBDIRS_common) +OS_SUBDIRS_sparc = $(OS_SUBDIRS_common) \ + efb OS_SUBDIRS_i386 = $(OS_SUBDIRS_common) \ xf86-input-acecad \ diff -r 00c1816630fe -r 605549b491ac open-src/driver/efb/COPYING --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/open-src/driver/efb/COPYING Mon Apr 25 13:38:53 2011 -0700 @@ -0,0 +1,2685 @@ +src/atidri.c: + Copyright 2000 Gareth Hughes + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + GARETH HUGHES BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------- + +src/radeon_atombios.c: + Copyright 2007 Egbert Eich + Copyright 2007 Luc Verhaegen + Copyright 2007 Matthias Hopf + Copyright 2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------- + +src/radeon_sarea.h: + Copyright 2000 ATI Technologies Inc., Markham, Ontario, + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR + THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + Authors: + Kevin E. Martin + Gareth Hughes + + + + +-------------------------------------------------------------------- + +src/atidga.c, src/r128_misc.c, src/atimode.c, src/atiwonderio.h, src/atimisc.c, src/atimach64version.h, src/atiwonderio.c, src/atimode.h, src/atidga.h, src/ativgaio.h, src/atiload.h, src/radeon_version.h, src/ativgaio.c, src/r128_version.h, src/atiload.c, src/radeon_misc.c, src/atimach64io.c: + Copyright 2000 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + + +-------------------------------------------------------------------- + +src/r128_cursor.c: + Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario, + Precision Insight, Inc., Cedar Park, Texas, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX + SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + + Authors: + Rickard E. Faith + Kevin E. Martin + + References: + + RAGE 128 VR/ RAGE 128 GL Register Reference Manual (Technical + Reference Manual P/N RRG-G04100-C Rev. 0.04), ATI Technologies: April + 1999. + + RAGE 128 Software Development Manual (Technical Reference Manual P/N + SDK-G04000 Rev. 0.01), ATI Technologies: June 1999. + + + + +-------------------------------------------------------------------- + +src/atidri.h, src/mach64_sarea.h, src/mach64_dri.h: + Copyright 2000 Gareth Hughes + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + GARETH HUGHES BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + + Authors: + Gareth Hughes + Leif Delgass + + + +-------------------------------------------------------------------- + +src/modes/xf86Modes.c: + Copyright (c) 1997-2003 by The XFree86 Project, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of the copyright holder(s) + and author(s) shall not be used in advertising or otherwise to promote + the sale, use or other dealings in this Software without prior written + authorization from the copyright holder(s) and author(s). + + + +-------------------------------------------------------------------- + +src/atimach64.c: + Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + + Copyright 1999-2000 Precision Insight, Inc., Cedar Park, Texas. + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + DRI support by: + Manuel Teira + Leif Delgass + + + +-------------------------------------------------------------------- + +src/radeon_atomwrapper.h: + Copyright 2007 Luc Verhaegen + Copyright 2007 Matthias Hopf + Copyright 2007 Egbert Eich + Copyright 2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + +-------------------------------------------------------------------- + +src/atipriv.h: + Copyright 1999 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + + +-------------------------------------------------------------------- + +src/r128_sarea.h: + Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario, + Precision Insight, Inc., Cedar Park, Texas, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX + SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + + Authors: + Kevin E. Martin + Gareth Hughes + + + + +-------------------------------------------------------------------- + +src/AtomBios/includes/CD_Definitions.h: + Copyright 2006-2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + +-------------------------------------------------------------------- + +src/atiregs.h: + Copyright 1994 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + Acknowledgements: + Jake Richter, Panacea Inc., Londonderry, New Hampshire, U.S.A. + Kevin E. Martin, martin@cs.unc.edu + Tiago Gons, tiago@comosjn.hobby.nl + Rickard E. Faith, faith@cs.unc.edu + Scott Laird, lair@kimbark.uchicago.edu + +-------------------------------------------------------------------- + +src/radeon_dripriv.h, src/radeon_dri.h: + Copyright 2000 ATI Technologies Inc., Markham, Ontario, + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR + THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + Authors: + Kevin E. Martin + Rickard E. Faith + + + + +-------------------------------------------------------------------- + +src/atimach64io.h: + Copyright 2000 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + DRI support by: + Manuel Teira + Leif Delgass + + + +-------------------------------------------------------------------- + +src/parser/xf86Parser.h: + + + Copyright (c) 1997 Metro Link Incorporated + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + Except as contained in this notice, the name of the Metro Link shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Metro Link. + + + + Copyright (c) 1997-2003 by The XFree86 Project, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of the copyright holder(s) + and author(s) shall not be used in advertising or otherwise to promote + the sale, use or other dealings in this Software without prior written + authorization from the copyright holder(s) and author(s). + + +-------------------------------------------------------------------- + +src/atimach64cursor.c, src/atimach64accel.h, src/atii2c.c, src/atiaudio.c, src/atidecoder.c, src/atituner.c, src/atii2c.h, src/atimach64i2c.c, src/atimach64xv.c: + Copyright 2003 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + + +-------------------------------------------------------------------- + +src/theatre200.h: + Copyright (C) 2005 Bogdan D. bogdand@users.sourceforge.net + + Permission is hereby granted, free of charge, to any person obtaining a copy of this + software and associated documentation files (the "Software"), to deal in the Software + without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE + AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of the author shall not be used in advertising or + otherwise to promote the sale, use or other dealings in this Software without prior written + authorization from the author. + + +-------------------------------------------------------------------- + +src/modes/xf86Modes.h: + Copyright © 2006 Intel Corporation + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + Authors: + Eric Anholt + + + + +-------------------------------------------------------------------- + +src/AtomBios/hwserv_drv.c: + Copyright 2006-2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------- + +src/atimach64accel.c: + Copyright 2003 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + + Copyright 1999-2000 Precision Insight, Inc., Cedar Park, Texas. + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + DRI support by: + Manuel Teira + Leif Delgass + + + +-------------------------------------------------------------------- + +src/atidecoder.h, src/atiaudio.h, src/atituner.h: + Copyright 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + + +-------------------------------------------------------------------- + +src/radeon_atomwrapper.c: + Copyright 2007 Luc Verhaegen + Copyright 2007 Matthias Hopf + Copyright 2007 Egbert Eich + Copyright 2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------- + +src/AtomBios/includes/CD_Opcodes.h: + Copyright 2006-2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------- + +src/pcidb/parse_pci_ids.pl: + Copyright 2007 Red Hat Inc. + This crappy script written by Dave Airlie to avoid hassle of adding + ids in every place. + + +-------------------------------------------------------------------- + +src/r128_accel.c, src/r128_driver.c, src/r128_probe.c, src/r128_dri.c: + Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario, + Precision Insight, Inc., Cedar Park, Texas, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX + SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------- + +src/radeon_exa_funcs.c: + Copyright 2005 Eric Anholt + Copyright 2005 Benjamin Herrenschmidt + Copyright 2006 Tungsten Graphics, Inc. + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + Authors: + Eric Anholt + Zack Rusin + Benjamin Herrenschmidt + Michel Dänzer + + + + +-------------------------------------------------------------------- + +src/radeon_accelfuncs.c, src/radeon_modes.c, src/radeon_dga.c, src/radeon_output.c, src/radeon_commonfuncs.c, src/radeon_cursor.c, src/radeon_crtc.c, src/radeon_probe.c, src/legacy_output.c, src/legacy_crtc.c, src/radeon_driver.c, src/radeon_accel.c: + Copyright 2000 ATI Technologies Inc., Markham, Ontario, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR + THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------- + +src/aticonsole.c: + Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + DRI support by: + Manuel Teira + Leif Delgass + + + +-------------------------------------------------------------------- + +src/theatre200.c: + + Copyright (C) 2005 Bogdan D. bogdand@users.sourceforge.net + + Permission is hereby granted, free of charge, to any person obtaining a copy of this + software and associated documentation files (the "Software"), to deal in the Software + without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE + AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of the author shall not be used in advertising or + otherwise to promote the sale, use or other dealings in this Software without prior written + authorization from the author. + + + *********************************************************************************** + + +-------------------------------------------------------------------- + +src/radeon_reg.h: + Copyright 2000 ATI Technologies Inc., Markham, Ontario, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR + THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + Authors: + Kevin E. Martin + Rickard E. Faith + Alan Hourihane + + References: + + !!!! FIXME !!!! + RAGE 128 VR/ RAGE 128 GL Register Reference Manual (Technical + Reference Manual P/N RRG-G04100-C Rev. 0.04), ATI Technologies: April + 1999. + + !!!! FIXME !!!! + RAGE 128 Software Development Manual (Technical Reference Manual P/N + SDK-G04000 Rev. 0.01), ATI Technologies: June 1999. + + + + !!!! FIXME !!!! NOTE: THIS FILE HAS BEEN CONVERTED FROM r128_reg.h + AND CONTAINS REGISTERS AND REGISTER DEFINITIONS THAT ARE NOT CORRECT + * ON THE RADEON. A FULL AUDIT OF THIS CODE IS NEEDED! + + +-------------------------------------------------------------------- + +src/theatre_detect.h: + + Copyright (C) 2005 Bogdan D. bogdand@users.sourceforge.net + + Permission is hereby granted, free of charge, to any person obtaining a copy of this + software and associated documentation files (the "Software"), to deal in the Software + without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE + AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of the author shall not be used in advertising or + otherwise to promote the sale, use or other dealings in this Software without prior written + authorization from the author. + +-------------------------------------------------------------------- + +src/modes/xf86Cursors.c: + Copyright © 2007 Keith Packard + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of the copyright holders not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. The copyright holders make no representations + about the suitability of this software for any purpose. It is provided "as + is" without express or implied warranty. + + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + OF THIS SOFTWARE. + + + +-------------------------------------------------------------------- + +src/r128_common.h: + r128_common.h -- common header definitions for R128 2D/3D/DRM suite + Created: Sun Apr 9 18:16:28 2000 by kevin@precisioninsight.com + + Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. + Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas. + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + Author: + Gareth Hughes + Kevin E. Martin + + Converted to common header format: + Jens Owen + + + + +-------------------------------------------------------------------- + +src/parser/xf86Optrec.h: + + + Copyright (c) 1997 Metro Link Incorporated + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + Except as contained in this notice, the name of the Metro Link shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Metro Link. + + + + Copyright (c) 1997-2001 by The XFree86 Project, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of the copyright holder(s) + and author(s) shall not be used in advertising or otherwise to promote + the sale, use or other dealings in this Software without prior written + authorization from the copyright holder(s) and author(s). + +-------------------------------------------------------------------- + +src/atombios_crtc.c: + Copyright © 2007 Red Hat, Inc. + + PLL code is: + Copyright 2007 Luc Verhaegen + Copyright 2007 Matthias Hopf + Copyright 2007 Egbert Eich + Copyright 2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + Authors: + Dave Airlie + + + + avivo crtc handling functions. + + +-------------------------------------------------------------------- + +src/atiscreen.c: + Copyright 1999 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + DRI support by: + Gareth Hughes + José Fonseca + Leif Delgass + + + +-------------------------------------------------------------------- + +src/AtomBios/includes/ObjectID.h: + Copyright 2006-2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + +-------------------------------------------------------------------- + +src/ati.c: + Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + +*********************************************************************** + + + Author: Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + This is the ATI driver for XFree86. + + John Donne once said "No man is an island", and I am most certainly not an + exception. Contributions, intentional or not, to this and previous versions + of this driver by the following are hereby acknowledged: + + Thomas Roell, Per Lindqvist, Doug Evans, Rik Faith, Arthur Tateishi, + Alain Hebert, Ton van Rosmalen, David Chambers, William Shubert, + ATI Technologies Incorporated, Robert Wolff, David Dawes, Mark Weaver, + Hans Nasten, Kevin Martin, Frederic Rienthaler, Marc Bolduc, Reuben Sumner, + Benjamin T. Yang, James Fast Kane, Randall Hopper, W. Marcus Miller, + Henrik Harmsen, Christian Lupien, Precision Insight Incorporated, + Mark Vojkovich, Huw D M Davies, Andrew C Aitchison, Ani Joshi, + Kostas Gewrgiou, Jakub Jelinek, David S. Miller, A E Lawrence, + Linus Torvalds, William Blew, Ignacio Garcia Etxebarria, Patrick Chase, + Vladimir Dergachev, Egbert Eich, Mike A. Harris + + ... and, many, many others from around the world. + + In addition, this work would not have been possible without the active + support, both moral and otherwise, of the staff and management of Computing + and Network Services at the University of Alberta, in Edmonton, Alberta, + Canada. + + The driver is intended to support all ATI adapters since their VGA Wonder + V3, including OEM counterparts. + + + +-------------------------------------------------------------------- + +src/aticonfig.c: + Copyright 2000 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + DRI support by: + Leif Delgass + + + +-------------------------------------------------------------------- + +src/efb.h: + Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------- + +src/efb_driver.c: + Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + Copyright 2000 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + + +-------------------------------------------------------------------- + +src/atistruct.h: + Copyright 1999 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + DRI support by: + Gareth Hughes + Leif Delgass + + + +-------------------------------------------------------------------- + +src/AtomBios/includes/Decoder.h: + Copyright 2006-2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------- + +src/modes/xf86Rotate.c, src/modes/xf86DiDGA.c, src/modes/xf86RandR12.h, src/modes/xf86Rename.h, src/local_xf86Rename.h, src/modes/xf86Crtc.c: + Copyright © 2006 Keith Packard + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of the copyright holders not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. The copyright holders make no representations + about the suitability of this software for any purpose. It is provided "as + is" without express or implied warranty. + + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + OF THIS SOFTWARE. + + + +-------------------------------------------------------------------- + +src/atioption.h: + Copyright 1999 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + DRI support by: + Leif Delgass + + + +-------------------------------------------------------------------- + +src/atipciids.h: + Copyright (c) 1995-2003 by The XFree86 Project, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of the copyright holder(s) + and author(s) shall not be used in advertising or otherwise to promote + the sale, use or other dealings in this Software without prior written + authorization from the copyright holder(s) and author(s). + + + + This file is a replacement for xf86PciInfo.h moving ATI related PCI IDs + locally to the driver module + + + +-------------------------------------------------------------------- + +src/modes/xf86cvt.c: + Copyright 2005-2006 Luc Verhaegen. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------- + +src/atirgb514.c, src/aticursor.h, src/atirgb514.h, src/atixv.h: + Copyright 2001 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + + +-------------------------------------------------------------------- + +src/atidripriv.h: + Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario, + Precision Insight, Inc., Cedar Park, Texas, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX + SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + + Authors: + Gareth Hughes + Leif Delgass + + + +-------------------------------------------------------------------- + +src/radeon_common.h: + radeon_common.h -- common header definitions for Radeon 2D/3D/DRM suite + + Copyright 2000 VA Linux Systems, Inc., Fremont, California. + Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas. + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + Author: + Gareth Hughes + Kevin E. Martin + Keith Whitwell + + Converted to common header format: + Jens Owen + + + + +-------------------------------------------------------------------- + +src/r128_dripriv.h, src/r128.h: + Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario, + Precision Insight, Inc., Cedar Park, Texas, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX + SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + + Authors: + Rickard E. Faith + Kevin E. Martin + + + + +-------------------------------------------------------------------- + +src/AtomBios/includes/CD_Structs.h: + Copyright 2006-2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + +-------------------------------------------------------------------- + +src/atombios_output.c: + Copyright © 2007 Red Hat, Inc. + Copyright 2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + Authors: + Dave Airlie + Alex Deucher + + +-------------------------------------------------------------------- + +src/modes/xf86RandR12.c: + Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of the copyright holders not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. The copyright holders make no representations + about the suitability of this software for any purpose. It is provided "as + is" without express or implied warranty. + + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + OF THIS SOFTWARE. + + + +-------------------------------------------------------------------- + +src/atimach64render.c: + Copyright 2006 George Sapountzis + All Rights Reserved. + + Based on the mach64 DRI and DRM drivers: + Copyright 2000 Gareth Hughes + Copyright 2002-2003 Leif Delgass + All Rights Reserved. + + Based on the ati hw/kdrive driver: + Copyright 2003 Eric Anholt, Anders Carlsson + + Based on the via hw/xfree86 driver: + Copyright 2006 Thomas Hellstrom. All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + Authors: + George Sapountzis + +-------------------------------------------------------------------- + +src/radeon_exa.c, src/radeon_exa_render.c: + Copyright 2005 Eric Anholt + Copyright 2005 Benjamin Herrenschmidt + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + Authors: + Eric Anholt + Zack Rusin + Benjamin Herrenschmidt + + + + +-------------------------------------------------------------------- + +src/AtomBios/includes/atombios.h: + Copyright 2006-2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------- + +src/ati.h, src/atipreinit.h, src/atipreinit.c, src/atilock.h, src/atiscreen.h, src/atilock.c: + Copyright 1999 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + + +-------------------------------------------------------------------- + +src/radeon_bios.c: + Copyright 2004 ATI Technologies Inc., Markham, Ontario + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR + THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------- + +src/atimach64exa.c: + Copyright 2003 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + + Copyright 1999-2000 Precision Insight, Inc., Cedar Park, Texas. + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + DRI support by: + Manuel Teira + Leif Delgass + + EXA support by: + Jakub Stachowski + George Sapountzis + + + +-------------------------------------------------------------------- + +src/radeon.h: + Copyright 2000 ATI Technologies Inc., Markham, Ontario, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR + THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + Authors: + Kevin E. Martin + Rickard E. Faith + Alan Hourihane + + + + +-------------------------------------------------------------------- + +src/gfx_common.h: + Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------- + +src/aticrtc.h: + Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + + +-------------------------------------------------------------------- + +src/radeon_render.c: + Copyright 2004 Eric Anholt + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + Authors: + Eric Anholt + Hui Yu + + + + +-------------------------------------------------------------------- + +src/radeon_probe.h: + Copyright 2000 ATI Technologies Inc., Markham, Ontario, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR + THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + Authors: + Kevin E. Martin + + Modified by Marc Aurele La France for ATI driver merge. + + + +-------------------------------------------------------------------- + +src/radeon_dri.c: + Copyright 2000 ATI Technologies Inc., Markham, Ontario, + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR + THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------- + +src/AtomBios/CD_Operations.c: + Copyright 2006-2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------- + +src/AtomBios/includes/CD_Common_Types.h: + Copyright 2006-2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------- + +src/modes/xf86Crtc.h: + Copyright © 2006 Keith Packard + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of the copyright holders not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. The copyright holders make no representations + about the suitability of this software for any purpose. It is provided "as + is" without express or implied warranty. + + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + OF THIS SOFTWARE. + + +-------------------------------------------------------------------- + +src/r128_probe.h: + Copyright 2000 ATI Technologies Inc., Markham, Ontario, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR + THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + Authors: + Kevin E. Martin + + Modified by Marc Aurele La France for ATI driver merge. + + + +-------------------------------------------------------------------- + +src/AtomBios/includes/CD_hw_services.h, src/AtomBios/includes/CD_binding.h: + Copyright 2006-2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + +-------------------------------------------------------------------- + +src/radeon_atombios.h: + Copyright 2007 Egbert Eich + Copyright 2007 Luc Verhaegen + Copyright 2007 Matthias Hopf + Copyright 2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + + +-------------------------------------------------------------------- + +src/atipcirename.h: + Copyright 2007 George Sapountzis + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + +-------------------------------------------------------------------- + +src/aticlock.c: + Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + +-------------------------------------------------------------------- + +src/r128_dri.h: + Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario, + Precision Insight, Inc., Cedar Park, Texas, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX + SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + + Authors: + Kevin E. Martin + Rickard E. Faith + Gareth Hughes + + + + +-------------------------------------------------------------------- + +src/modes/xf86EdidModes.c: + Copyright 2006 Luc Verhaegen. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sub license, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial portions + of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + +-------------------------------------------------------------------- + +src/AtomBios/includes/regsdef.h: + Copyright 2006-2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + +-------------------------------------------------------------------- + +src/mach64_common.h: + mach64_common.h -- common header definitions for Rage Pro 2D/3D/DRM suite + Created: Sun Dec 03 11:34:16 2000 by gareth@valinux.com + + Copyright 2000 Gareth Hughes + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + GARETH HUGHES BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Author: + Gareth Hughes + Leif Delgass + + + +-------------------------------------------------------------------- + +src/theatre_detect.c: + + Copyright (C) 2005 Bogdan D. bogdand@users.sourceforge.net + + Permission is hereby granted, free of charge, to any person obtaining a copy of this + software and associated documentation files (the "Software"), to deal in the Software + without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE + AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of the author shall not be used in advertising or + otherwise to promote the sale, use or other dealings in this Software without prior written + authorization from the author. + + +-------------------------------------------------------------------- + +src/AtomBios/Decoder.c: + Copyright 2006-2007 Advanced Micro Devices, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------- + +src/radeon_macros.h: + Copyright 2000 ATI Technologies Inc., Markham, Ontario, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR + THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + Authors: + Kevin E. Martin + Rickard E. Faith + Alan Hourihane + + References: + + !!!! FIXME !!!! + RAGE 128 VR/ RAGE 128 GL Register Reference Manual (Technical + Reference Manual P/N RRG-G04100-C Rev. 0.04), ATI Technologies: April + 1999. + + !!!! FIXME !!!! + RAGE 128 Software Development Manual (Technical Reference Manual P/N + SDK-G04000 Rev. 0.01), ATI Technologies: June 1999. + + + + + +-------------------------------------------------------------------- + +src/atidsp.c, src/atichip.c, src/atimach64probe.c, src/atimodule.c, src/atibank.h, src/atidsp.h, src/atimach64probe.h, src/atiprint.h, src/atividmem.c, src/atidac.h, src/atiprobe.c, src/atividmem.h, src/atiutil.h, src/atiadjust.h, src/atimach64i2c.h, src/ativalid.c, src/atichip.h, src/atibank.c, src/ativersion.h, src/aticlock.h, src/ativalid.h, src/atimach64.h, src/atiutil.c, src/atiprint.c, src/atibus.h, src/atiadjust.c, src/atiwonder.c, src/atibus.c, src/atiprobe.h, src/atiwonder.h, src/atidac.c, src/aticonsole.h, src/ativga.h, src/ativga.c: + Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of Marc Aurele La France not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. Marc Aurele La France makes no representations + about the suitability of this software for any purpose. It is provided + "as-is" without express or implied warranty. + + MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + + +-------------------------------------------------------------------- + +src/r128_reg.h: + Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario, + Precision Insight, Inc., Cedar Park, Texas, and + VA Linux Systems Inc., Fremont, California. + + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX + SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + + Authors: + Rickard E. Faith + Kevin E. Martin + Gareth Hughes + + References: + + RAGE 128 VR/ RAGE 128 GL Register Reference Manual (Technical + Reference Manual P/N RRG-G04100-C Rev. 0.04), ATI Technologies: April + 1999. + + RAGE 128 Software Development Manual (Technical Reference Manual P/N + SDK-G04000 Rev. 0.01), ATI Technologies: June 1999. + + + + +-------------------------------------------------------------------- + diff -r 00c1816630fe -r 605549b491ac open-src/driver/efb/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/open-src/driver/efb/Makefile Mon Apr 25 13:38:53 2011 -0700 @@ -0,0 +1,97 @@ +############################################################################### +# +# efb Makefile +# +# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +# + +# Package name used in tarballs +MODULE_NAME=xf86-video-ati + +# Version number (used in path names) +MODULE_VERSION=6.8.0 + +# Checksums for upstream tarball +TARBALL_MD5 = 3c97c7925ebf4162eeb3463e23adc0e3 +TARBALL_SHA1 = b6974237b6ae9b45b32fc37f31a3fee7358230d3 + +# Patches to apply to source after unpacking, in order +SOURCE_PATCHES = \ + RAC-API-removal.patch,-p1 \ + sparc-efb.patch,-p1 + +# Need to regenerate configure after patching Makefile.am in sparc-efb.patch +AUTORECONF=yes + +# pkg(5) name we deliver the files in (override default) +MODULE_PKGTAIL=xorg-efb +MODULE_PKGTAIL_SET=yes + +# Man pages to apply Sun footer to & attributes to list +SUNTOUCHED_MANPAGES=man/*.man +MODULE_STABILITY=Volatile + +# Use -KPIC instead of -Kpic because we have too many symbols on SPARC +DELIBTOOLIZE_FLAGS = -P + +# Extra flags to pass to configure script +MODULE_CONFIG_OPTS=--disable-dri + +# Merge in additional sources from sun-src directory +ADDITIONAL_SOURCE_DIR=sun-src + +# Extra rules to run when unpacking upstream source +CLEAN_LINEFEED_TARGET = $(SOURCE_DIR)/.source.clean.done +MODULE_ADD_SOURCE_TARGETS = $(CLEAN_LINEFEED_TARGET) + +XF86_VIDEO_ATI_SRC = $(PWD:efb=xf86-video-ati) + +# Libraries/modules to link with +MODULE_LD_OPTIONS= \ + -L$(PROTODIR)$(X11_SERVERMODS_DIR) \ + -L$(PROTODIR)$(X11_SERVERMODS_DIR)/extensions \ + -L$(PROTODIR)$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \ + -L$(PROTODIR)/usr/lib$(ARCHLIBSUBDIR) \ + -R$(X11_SERVERMODS_DIR) \ + -R$(X11_SERVERMODS_DIR)/extensions \ + -R$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \ + -R$(PROTODIR)/usr/lib$(ARCHLIBSUBDIR) \ + -lexa -lfb -lint10 -lvbe -lvgahw -lxaa -lshadow \ + -lpciaccess -lpixman-1 -ldrm -ldri -lglx -lm \ + -M $(XF86_VIDEO_ATI_SRC)/mapfile-bt829_drv-external \ + -M $(XF86_VIDEO_ATI_SRC)/mapfile-fi1236_drv-external \ + -M $(XF86_VIDEO_ATI_SRC)/mapfile-msp3430_drv-external \ + -M $(XF86_VIDEO_ATI_SRC)/mapfile-tda9885_drv-external \ + -M $(XF86_VIDEO_ATI_SRC)/mapfile-uda1380_drv-external \ + -M drv.mapfile + +include ../Makefile.inc + +# ATI's atombios code has ^M's at linefeeds which break Sun compilers +clean_linefeeds: $(CLEAN_LINEFEED_TARGET) +$(SOURCE_ADD_TARGET): $(CLEAN_LINEFEED_TARGET) + +$(CLEAN_LINEFEED_TARGET): $(SOURCE_INIT_TARGET) + find $(BUILD_DIR) -type f -name '*.[ch]' | \ + xargs perl -i -p -e 's{\r\n}{\n}g' + touch $(CLEAN_LINEFEED_TARGET) diff -r 00c1816630fe -r 605549b491ac open-src/driver/efb/RAC-API-removal.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/open-src/driver/efb/RAC-API-removal.patch Mon Apr 25 13:38:53 2011 -0700 @@ -0,0 +1,65 @@ +[Backported to xf86-video-ati 6.8.0] + +From 21a621c297ac71c65c239ea960c38706e718b91c Mon Sep 17 00:00:00 2001 +From: Dave Airlie +Date: Tue, 28 Jul 2009 13:32:28 +1000 +Subject: [PATCH] ati: update for resources/RAC API removal + +--- + src/radeon_driver.c | 6 +++++- + src/radeon_probe.c | 3 +++ + 2 files changed, 8 insertions(+), 1 deletions(-) + +diff --git a/src/radeon_driver.c b/src/radeon_driver.c +index 9c5fce6..25d912d 100644 +--- a/src/radeon_driver.c ++++ b/src/radeon_driver.c +@@ -92,9 +92,11 @@ + /* X and server generic header files */ + #include "xf86.h" + #include "xf86_OSproc.h" +-#include "xf86RAC.h" + #include "xf86RandR12.h" ++#ifndef XSERVER_LIBPCIACCESS ++#include "xf86RAC.h" + #include "xf86Resources.h" ++#endif + #include "xf86cmap.h" + #include "vbe.h" + +@@ -2633,6 +2635,7 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags) + PCI_DEV_DEV(info->PciInfo), + PCI_DEV_FUNC(info->PciInfo)); + ++#ifndef XSERVER_LIBPCIACCESS + if (xf86RegisterResources(info->pEnt->index, 0, ResExclusive)) + goto fail; + +@@ -2640,6 +2643,7 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags) + goto fail; + + pScrn->racMemFlags = RAC_FB | RAC_COLORMAP | RAC_VIEWPORT | RAC_CURSOR; ++#endif + pScrn->monitor = pScrn->confScreen->monitor; + + /* Allocate an xf86CrtcConfig */ +diff --git a/src/radeon_probe.c b/src/radeon_probe.c +index 4ec7485..36451f9 100644 +--- a/src/radeon_probe.c ++++ b/src/radeon_probe.c +@@ -46,12 +46,15 @@ + #include "xf86.h" + #define _XF86MISC_SERVER_ + #include ++#ifndef XSERVER_LIBPCIACCESS + #include "xf86Resources.h" ++#endif + + #include "radeon_chipset_gen.h" + + #include "radeon_pci_chipset_gen.h" + ++ + #ifdef XSERVER_LIBPCIACCESS + #include "radeon_pci_device_match_gen.h" + #endif diff -r 00c1816630fe -r 605549b491ac open-src/driver/efb/sparc-efb.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/open-src/driver/efb/sparc-efb.patch Mon Apr 25 13:38:53 2011 -0700 @@ -0,0 +1,1445 @@ +diff --git a/src/AtomBios/Decoder.c b/src/AtomBios/Decoder.c +index cdaa9ef..c6e3c9f 100644 +--- a/src/AtomBios/Decoder.c ++++ b/src/AtomBios/Decoder.c +@@ -210,7 +210,7 @@ CD_STATUS ParseTable(DEVICE_DATA STACK_BASED* pDeviceData, UINT8 IndexInMasterTa + { + IndexInMasterTable=ProcessCommandProperties((PARSER_TEMP_DATA STACK_BASED *)&ParserTempData); + (*CallTable[IndexInMasterTable].function)((PARSER_TEMP_DATA STACK_BASED *)&ParserTempData); +-#if (PARSER_TYPE!=DRIVER_TYPE_PARSER) ++#if (!defined(__sparc__) && (PARSER_TYPE!=DRIVER_TYPE_PARSER)) + BIOS_STACK_MODIFIER(); + #endif + } +diff --git a/src/AtomBios/hwserv_drv.c b/src/AtomBios/hwserv_drv.c +index a5f5a5b..2a454a4 100644 +--- a/src/AtomBios/hwserv_drv.c ++++ b/src/AtomBios/hwserv_drv.c +@@ -105,6 +105,10 @@ UINT8 ReadPCIReg8(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + CailReadPCIConfigData(pWorkingTableData->pDeviceData->CAIL,&rvl,pWorkingTableData->Index,sizeof(UINT8)); + return rvl; + } ++#else ++UINT8 ReadPCIReg8(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + + +@@ -117,6 +121,10 @@ UINT16 ReadPCIReg16(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + return rvl; + + } ++#else ++UINT16 ReadPCIReg16(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + + +@@ -129,6 +137,10 @@ UINT32 ReadPCIReg32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + CailReadPCIConfigData(pWorkingTableData->pDeviceData->CAIL,&rvl,pWorkingTableData->Index,sizeof(UINT32)); + return rvl; + } ++#else ++UINT32 ReadPCIReg32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + + +@@ -142,6 +154,10 @@ VOID WritePCIReg8 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + + } + ++#else ++VOID WritePCIReg8 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + + +@@ -152,6 +168,10 @@ VOID WritePCIReg16 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + CailWritePCIConfigData(pWorkingTableData->pDeviceData->CAIL,&(pWorkingTableData->DestData32),pWorkingTableData->Index,sizeof(UINT16)); + } + ++#else ++VOID WritePCIReg16 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + + +@@ -160,6 +180,10 @@ VOID WritePCIReg32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + { + CailWritePCIConfigData(pWorkingTableData->pDeviceData->CAIL,&(pWorkingTableData->DestData32),pWorkingTableData->Index,sizeof(UINT32)); + } ++#else ++VOID WritePCIReg32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + + +@@ -174,6 +198,10 @@ UINT8 ReadSysIOReg8 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + //rvl= (UINT8) ReadGenericPciCfg(dev,reg,sizeof(UINT8)); + return rvl; + } ++#else ++UINT8 ReadSysIOReg8 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + + +@@ -187,6 +215,10 @@ UINT16 ReadSysIOReg16(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + return rvl; + + } ++#else ++UINT16 ReadSysIOReg16(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + + +@@ -200,6 +232,10 @@ UINT32 ReadSysIOReg32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + //rvl= (UINT32) ReadGenericPciCfg(dev,reg,sizeof(UINT32)); + return rvl; + } ++#else ++UINT32 ReadSysIOReg32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + + +@@ -212,6 +248,10 @@ VOID WriteSysIOReg8 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + //WriteGenericPciCfg(dev,reg,sizeof(UINT8),(UINT32)value); + } + ++#else ++VOID WriteSysIOReg8 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + + +@@ -222,6 +262,10 @@ VOID WriteSysIOReg16 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + //WriteGenericPciCfg(dev,reg,sizeof(UINT16),(UINT32)value); + } + ++#else ++VOID WriteSysIOReg16 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + + +@@ -230,6 +274,10 @@ VOID WriteSysIOReg32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + { + //WriteGenericPciCfg(dev,reg,sizeof(UINT32),(UINT32)value); + } ++#else ++VOID WriteSysIOReg32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + + // ATI Registers Memory Mapped Access +@@ -257,6 +305,24 @@ VOID WriteIndReg32(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + CailWriteATIRegister(pWorkingTableData->pDeviceData->CAIL,*(UINT16*)(pWorkingTableData->IndirectIOTablePointer+1),pWorkingTableData->IndirectData ); + } + ++#else ++UINT32 ReadReg32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} ++ ++VOID WriteReg32(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} ++ ++ ++VOID ReadIndReg32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} ++ ++VOID WriteIndReg32(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} ++ + #endif + + // ATI Registers IO Mapped Access +@@ -271,8 +337,17 @@ VOID WriteRegIO(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + { + // return CailWriteATIRegister(pWorkingTableData->pDeviceData->CAIL,pWorkingTableData->Index,pWorkingTableData->DestData32 ); + } ++#else ++UINT32 ReadRegIO (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++ return 0; ++} ++VOID WriteRegIO(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} + #endif + ++#if !defined(__sparc__) + // access to Frame buffer, dummy function, need more information to implement it + UINT32 ReadFrameBuffer32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + { +@@ -286,6 +361,15 @@ VOID WriteFrameBuffer32(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) + CailWriteFBData(pWorkingTableData->pDeviceData->CAIL,(pWorkingTableData->Index <<2), pWorkingTableData->DestData32); + + } ++#else ++UINT32 ReadFrameBuffer32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} ++ ++VOID WriteFrameBuffer32(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData) ++{ ++} ++#endif /* __sparc__ */ + + + VOID *AllocateMemory(DEVICE_DATA *pDeviceData , UINT16 MemSize) +diff --git a/src/AtomBios/includes/CD_Structs.h b/src/AtomBios/includes/CD_Structs.h +index c43f81d..f61232a 100644 +--- a/src/AtomBios/includes/CD_Structs.h ++++ b/src/AtomBios/includes/CD_Structs.h +@@ -375,7 +375,7 @@ typedef UINT8 COMMAND_TYPE_OPCODE_ONLY; + typedef UINT8 COMMAND_HEADER_POINTER; + + +-#if (PARSER_TYPE==BIOS_TYPE_PARSER) ++#if (!defined(__sparc__) && (PARSER_TYPE==BIOS_TYPE_PARSER)) + + typedef struct _DEVICE_DATA { + UINT32 STACK_BASED *pParameterSpace; +diff --git a/src/AtomBios/includes/CD_binding.h b/src/AtomBios/includes/CD_binding.h +index 7b021d3..b74b5db 100644 +--- a/src/AtomBios/includes/CD_binding.h ++++ b/src/AtomBios/includes/CD_binding.h +@@ -36,7 +36,11 @@ + #define USE_SWITCH_COMMAND 1 + #define DRIVER_TYPE_PARSER 0x48 + ++#if !defined(__sparc__) + #define PARSER_TYPE DRIVER_TYPE_PARSER ++#else ++#define PARSER_TYPE 0 ++#endif /* __sparc__ */ + + #define AllocateWorkSpace(x,y) AllocateMemory(pDeviceData,y) + #define FreeWorkSpace(x,y) ReleaseMemory(x,y) +diff --git a/src/Makefile.am b/src/Makefile.am +index a146df3..7411677 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -27,8 +27,6 @@ + # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc. + + if DRI +-ATIMISC_DRI_SRCS = atidri.c +-R128_DRI_SRCS = r128_dri.c + RADEON_DRI_SRCS = radeon_dri.c + endif + +@@ -64,52 +62,17 @@ XMODE_SRCS=\ + modes/xf86Rotate.c \ + modes/xf86DiDGA.c + +-if ATIMISC_CPIO +-ATIMISC_CPIO_SOURCES = ativga.c ativgaio.c atibank.c atiwonder.c atiwonderio.c +-endif +- +-if ATIMISC_DGA +-ATIMISC_DGA_SOURCES = atidga.c +-endif +- + if USE_EXA +-ATIMISC_EXA_SOURCES = atimach64exa.c + RADEON_EXA_SOURCES = radeon_exa.c + endif + +-AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ @XMODES_CFLAGS@ -DDISABLE_EASF -DENABLE_ALL_SERVICE_FUNCTIONS -DATOM_BIOS -DATOM_BIOS_PARSER -DFGL_LINUX -DDRIVER_PARSER ++AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ @XMODES_CFLAGS@ -DDISABLE_EASF -DENABLE_ALL_SERVICE_FUNCTIONS -DATOM_BIOS -DATOM_BIOS_PARSER -DDRIVER_PARSER + INCLUDES = -I$(srcdir)/AtomBios/includes + +-ati_drv_la_LTLIBRARIES = ati_drv.la +-ati_drv_la_LDFLAGS = -module -avoid-version +-ati_drv_ladir = @moduledir@/drivers +-ati_drv_la_SOURCES = \ +- ati.c atimodule.c +- +-mach64_drv_la_LTLIBRARIES = mach64_drv.la +-mach64_drv_la_LDFLAGS = -module -avoid-version +-mach64_drv_ladir = @moduledir@/drivers +-mach64_drv_la_SOURCES = \ +- atibus.c atichip.c atiprobe.c atividmem.c \ +- atiadjust.c atiaudio.c aticlock.c aticonfig.c aticonsole.c \ +- atidac.c atidecoder.c atidsp.c atii2c.c \ +- atilock.c atimach64.c atimach64accel.c atimach64cursor.c \ +- atimach64i2c.c atimach64io.c atimach64xv.c atimode.c atipreinit.c \ +- atiprint.c atirgb514.c atiscreen.c atituner.c atiutil.c ativalid.c \ +- atiload.c atimisc.c atimach64probe.c $(ATIMISC_CPIO_SOURCES) \ +- $(ATIMISC_DGA_SOURCES) $(ATIMISC_DRI_SRCS) $(ATIMISC_EXA_SOURCES) +- +-r128_drv_la_LTLIBRARIES = r128_drv.la +-r128_drv_la_LDFLAGS = -module -avoid-version +-r128_drv_ladir = @moduledir@/drivers +-r128_drv_la_SOURCES = \ +- r128_accel.c r128_cursor.c r128_dga.c r128_driver.c \ +- r128_video.c r128_misc.c r128_probe.c $(R128_DRI_SRCS) +- +-radeon_drv_la_LTLIBRARIES = radeon_drv.la +-radeon_drv_la_LDFLAGS = -module -avoid-version +-radeon_drv_ladir = @moduledir@/drivers +-radeon_drv_la_SOURCES = \ ++efb_drv_la_LTLIBRARIES = efb_drv.la ++efb_drv_la_LDFLAGS = -module -avoid-version ++efb_drv_ladir = @moduledir@/drivers ++efb_drv_la_SOURCES = efb_driver.c \ + radeon_accel.c radeon_cursor.c radeon_dga.c \ + radeon_driver.c radeon_video.c radeon_bios.c radeon_mm_i2c.c \ + radeon_vip.c radeon_misc.c radeon_probe.c \ +@@ -119,31 +82,10 @@ radeon_drv_la_SOURCES = \ + $(RADEON_DRI_SRCS) $(RADEON_EXA_SOURCES) atombios_output.c atombios_crtc.c + + if XMODES +-radeon_drv_la_SOURCES += \ ++efb_drv_la_SOURCES += \ + $(XMODE_SRCS) + endif + +-theatre_detect_drv_la_LTLIBRARIES = theatre_detect_drv.la +-theatre_detect_drv_la_LDFLAGS = -module -avoid-version +-theatre_detect_drv_ladir = @moduledir@/multimedia +-theatre_detect_drv_la_SOURCES = \ +- theatre_detect.c theatre_detect_module.c +- +-theatre_drv_la_LTLIBRARIES = theatre_drv.la +-theatre_drv_la_LDFLAGS = -module -avoid-version +-theatre_drv_ladir = @moduledir@/multimedia +- +-theatre_drv_la_SOURCES = \ +- theatre.c theatre_module.c +- +-theatre200_drv_la_LTLIBRARIES = theatre200_drv.la +-theatre200_drv_la_LDFLAGS = -module -avoid-version +-theatre200_drv_ladir = @moduledir@/multimedia +-theatre200_drv_la_CFLAGS = \ +- $(AM_CFLAGS) -DMICROC_DIR=\"$(theatre200_drv_ladir)\" +-theatre200_drv_la_SOURCES = \ +- theatre200.c theatre200_module.c +- + EXTRA_DIST = \ + $(XMODE_SRCS) \ + atimach64render.c \ +diff --git a/src/ati.c b/src/ati.c +index b3f07ca..084b27f 100644 +--- a/src/ati.c ++++ b/src/ati.c +@@ -68,7 +68,12 @@ + /* names duplicated from version headers */ + #define MACH64_DRIVER_NAME "mach64" + #define R128_DRIVER_NAME "r128" ++ ++#if defined(__sparc__) ++#define RADEON_DRIVER_NAME "efb" ++#else + #define RADEON_DRIVER_NAME "radeon" ++#endif /* __sparc__ */ + + enum + { +diff --git a/src/aticonsole.c b/src/aticonsole.c +index 8efe897..aa3905a 100644 +--- a/src/aticonsole.c ++++ b/src/aticonsole.c +@@ -514,6 +514,20 @@ ATIEnterGraphics + ATIPtr pATI + ) + { ++ unsigned int PciReg; ++ pciConfigPtr pPCI; ++ pciVideoPtr pVideo, *xf86PciVideoInfo = xf86GetPciVideoInfo(); ++ ++ pVideo = xf86PciVideoInfo[pScreenInfo->scrnIndex]; ++ pPCI = pVideo->thisCard; ++/* ++* Possibly fix block I/O indicator in PCI configuration space. ++*/ ++ PciReg = pciReadLong(pPCI->tag, PCI_REG_USERCONFIG); ++ if (!(PciReg & 0x00000004U)) ++ pciWriteLong(pPCI->tag, PCI_REG_USERCONFIG, PciReg | ++ 0x00000004U); ++ + /* Map apertures */ + if (!ATIMapApertures(pScreenInfo->scrnIndex, pATI)) + return FALSE; +diff --git a/src/radeon.h b/src/radeon.h +index 7d63f28..ddb779e 100644 +--- a/src/radeon.h ++++ b/src/radeon.h +@@ -167,7 +167,15 @@ typedef enum { + OPTION_TVDAC_LOAD_DETECT, + OPTION_FORCE_TVOUT, + OPTION_TVSTD, +- OPTION_IGNORE_LID_STATUS ++ OPTION_IGNORE_LID_STATUS, ++#if defined(__sparc__) ++ OPTION_DUAL_DISPLAY, ++ OPTION_DUAL_DISPLAY_VERTICAL, ++ OPTION_STREAM_XOFFSET, ++ OPTION_STREAM_YOFFSET, ++ OPTION_OUTPUTS, ++ OPTION_DISABLE_RANDR, ++#endif + } RADEONOpts; + + +@@ -734,6 +742,12 @@ typedef struct { + + Bool r600_shadow_fb; + void *fb_shadow; ++ ++#if defined(__sparc__) ++ char *deviceName; ++ int fd; ++#endif /* __sparc__ */ ++ + } RADEONInfoRec, *RADEONInfoPtr; + + #define RADEONWaitForFifo(pScrn, entries) \ +@@ -1182,4 +1196,8 @@ static __inline__ int radeon_timedout(const struct timeval *endtime) + now.tv_usec > endtime->tv_usec : now.tv_sec > endtime->tv_sec; + } + ++#if defined(__sparc__) ++#include "efb.h" ++#endif /* __sparc__ */ ++ + #endif /* _RADEON_H_ */ +diff --git a/src/radeon_accel.c b/src/radeon_accel.c +index 8b2f167..b581719 100644 +--- a/src/radeon_accel.c ++++ b/src/radeon_accel.c +@@ -280,7 +280,11 @@ void RADEONEngineReset(ScrnInfoPtr pScrn) + INREG(RADEON_RBBM_SOFT_RESET); + } + ++#if !defined(__sparc__) ++ // soft reset the HDP causes system panic on some SPARC machines + OUTREG(RADEON_HOST_PATH_CNTL, host_path_cntl | RADEON_HDP_SOFT_RESET); ++#endif ++ + INREG(RADEON_HOST_PATH_CNTL); + OUTREG(RADEON_HOST_PATH_CNTL, host_path_cntl); + +diff --git a/src/radeon_accelfuncs.c b/src/radeon_accelfuncs.c +index e3b37c1..52856ec 100644 +--- a/src/radeon_accelfuncs.c ++++ b/src/radeon_accelfuncs.c +@@ -723,7 +723,11 @@ FUNC_NAME(RADEONSetupForScanlineCPUToScreenColorExpandFill)(ScrnInfoPtr pScrn, + #else + BEGIN_ACCEL(5); + ++#if !defined(__sparc__) + OUT_ACCEL_REG(RADEON_RBBM_GUICNTL, RADEON_HOST_DATA_SWAP_NONE); ++#else ++ OUT_ACCEL_REG(RADEON_RBBM_GUICNTL, RADEON_HOST_DATA_SWAP_32BIT); ++#endif + #endif + OUT_ACCEL_REG(RADEON_DP_GUI_MASTER_CNTL, info->dp_gui_master_cntl_clip); + OUT_ACCEL_REG(RADEON_DP_WRITE_MASK, planemask); +diff --git a/src/radeon_atombios.h b/src/radeon_atombios.h +index 9cb279e..ba1b462 100644 +--- a/src/radeon_atombios.h ++++ b/src/radeon_atombios.h +@@ -245,9 +245,13 @@ typedef struct _atomBiosHandle { + unsigned int BIOSImageSize; + } atomBiosHandleRec; + +-# endif +- + extern Bool + RADEONATOMGetTVTimings(ScrnInfoPtr pScrn, int index, SET_CRTC_TIMING_PARAMETERS_PS_ALLOCATION *crtc_timing, int32_t *pixel_clock); + ++#else ++ ++extern Bool ++RADEONATOMGetTVTimings(ScrnInfoPtr pScrn, int index, void *crtc_timing, int32_t *pixel_clock); ++ ++#endif + #endif /* RHD_ATOMBIOS_H_ */ +diff --git a/src/radeon_common.h b/src/radeon_common.h +index 467addf..c081088 100644 +--- a/src/radeon_common.h ++++ b/src/radeon_common.h +@@ -73,6 +73,7 @@ + #define DRM_RADEON_SETPARAM 0x19 + #define DRM_RADEON_SURF_ALLOC 0x1a + #define DRM_RADEON_SURF_FREE 0x1b ++#define DRM_RADEON_GET_PCICONFIG 0x1c + #define DRM_RADEON_MAX_DRM_COMMAND_INDEX 0x39 + + +diff --git a/src/radeon_commonfuncs.c b/src/radeon_commonfuncs.c +index 8c4b598..2ff5bcb 100644 +--- a/src/radeon_commonfuncs.c ++++ b/src/radeon_commonfuncs.c +@@ -285,12 +285,34 @@ void FUNC_NAME(RADEONWaitForIdle)(ScrnInfoPtr pScrn) + RADEONWaitForFifoFunction(pScrn, 64); + + for (;;) { ++ ++ /* execute a tight loop to wait for idle. If timeout, then ++ execute a slower loop for half a second. If then timeout, ++ reset the engine. ++ */ + for (i = 0; i < RADEON_TIMEOUT; i++) { + if (!(INREG(RADEON_RBBM_STATUS) & RADEON_RBBM_ACTIVE)) { + RADEONEngineFlush(pScrn); + return; + } + } ++ ++#ifdef __sparc__ ++ { ++ hrtime_t limit; ++ limit = gethrtime() + (hrtime_t)1000000000; /* 1000 ms from now */ ++ while (((unsigned int)(INREG(RADEON_RBBM_STATUS)) & RADEON_RBBM_ACTIVE) ++ && (gethrtime() < limit)) { ++ yield(); ++ } ++ } ++ ++ if (!(INREG(RADEON_RBBM_STATUS) & RADEON_RBBM_ACTIVE)) { ++ RADEONEngineFlush(pScrn); ++ return; ++ } ++#endif /* __sparc__ */ ++ + xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG, + "Idle timed out: %u entries, stat=0x%08x\n", + (unsigned int)INREG(RADEON_RBBM_STATUS) & RADEON_RBBM_FIFOCNT_MASK, +diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c +index 3524b75..da1153a 100644 +--- a/src/radeon_crtc.c ++++ b/src/radeon_crtc.c +@@ -218,6 +218,11 @@ radeon_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, + } else { + legacy_crtc_mode_set(crtc, mode, adjusted_mode, x, y); + } ++ ++#if defined(__sparc__) ++ pScrn->currentMode = mode; ++ EFBNotifyModeChanged(pScrn); ++#endif + } + + static void +@@ -238,6 +243,9 @@ radeon_crtc_mode_commit(xf86CrtcPtr crtc) + } + + radeon_crtc_dpms(crtc, DPMSModeOn); ++ ++ if (crtc->scrn->pScreen != NULL) ++ xf86_reload_cursors (crtc->scrn->pScreen); + } + + void +diff --git a/src/radeon_dri.h b/src/radeon_dri.h +index 3b54626..57ff2d8 100644 +--- a/src/radeon_dri.h ++++ b/src/radeon_dri.h +@@ -80,20 +80,25 @@ typedef struct { + /* MMIO register data */ + drm_handle_t registerHandle; + drmSize registerSize; ++ int padding0; + + /* CP in-memory status information */ + drm_handle_t statusHandle; + drmSize statusSize; ++ int padding1; + + /* CP GART Texture data */ + drm_handle_t gartTexHandle; + drmSize gartTexMapSize; ++ int padding2; + int log2GARTTexGran; + int gartTexOffset; + unsigned int sarea_priv_offset; + + #ifdef PER_CONTEXT_SAREA + drmSize perctx_sarea_size; ++#else ++ int padding3; + #endif + } RADEONDRIRec, *RADEONDRIPtr; + +diff --git a/src/radeon_driver.c b/src/radeon_driver.c +index 25d912d..095d71b 100644 +--- a/src/radeon_driver.c ++++ b/src/radeon_driver.c +@@ -115,6 +115,10 @@ + + #include "radeon_chipinfo_gen.h" + ++#if defined(__sparc__) ++#include "efb.h" ++#endif /* __sparc__ */ ++ + /* Forward definitions for driver functions */ + static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen); + static Bool RADEONSaveScreen(ScreenPtr pScreen, int mode); +@@ -221,6 +225,14 @@ static const OptionInfoRec RADEONOptions[] = { + { OPTION_FORCE_TVOUT, "ForceTVOut", OPTV_BOOLEAN, {0}, FALSE }, + { OPTION_TVSTD, "TVStandard", OPTV_STRING, {0}, FALSE }, + { OPTION_IGNORE_LID_STATUS, "IgnoreLidStatus", OPTV_BOOLEAN, {0}, FALSE }, ++#if defined(__sparc__) ++ { OPTION_DUAL_DISPLAY, "DoubleWide", OPTV_STRING, {0}, FALSE }, ++ { OPTION_DUAL_DISPLAY_VERTICAL, "DoubleHigh", OPTV_STRING, {0}, FALSE }, ++ { OPTION_STREAM_XOFFSET, "StreamXOffset", OPTV_INTEGER, {0}, FALSE }, ++ { OPTION_STREAM_YOFFSET, "StreamYOffset", OPTV_INTEGER, {0}, FALSE }, ++ { OPTION_OUTPUTS, "Outputs", OPTV_STRING, {0}, FALSE }, ++ { OPTION_DISABLE_RANDR, "DisableRANDR", OPTV_BOOLEAN, {0}, FALSE }, ++#endif /* __sparc__ */ + { -1, NULL, OPTV_NONE, {0}, FALSE } + }; + +@@ -367,7 +379,7 @@ RADEONPostInt10Check(ScrnInfoPtr pScrn, void *ptr) + } + + /* Allocate our private RADEONInfoRec */ +-static Bool RADEONGetRec(ScrnInfoPtr pScrn) ++Bool RADEONGetRec(ScrnInfoPtr pScrn) + { + if (pScrn->driverPrivate) return TRUE; + +@@ -383,6 +395,41 @@ static void RADEONFreeRec(ScrnInfoPtr pScrn) + pScrn->driverPrivate = NULL; + } + ++static pciVideoPtr RADEONGetPciInfo(RADEONInfoPtr info) ++{ ++#if !defined(__sparc__) ++ return (xf86GetPciInfoForEntity(info->pEnt->index)); ++#else ++ return (EFBGetPciInfo(info)); ++#endif ++} ++ ++ ++pointer ++RADEONMapVidMem(ScrnInfoPtr pScrn, unsigned int flags, PCITAG picTag, ++ unsigned long base, unsigned long size) ++{ ++#if !defined(__sparc__) ++ return (xf86MapPciMem(pScrn->scrnIndex, flags, pciTag, base, size)); ++#else ++ return (EFBMapVidMem(pScrn, flags, picTag, base, size)); ++#endif /* sparc */ ++} ++ ++void ++RADEONUnmapVidMem(ScrnInfoPtr pScrn, pointer base, unsigned long size) ++{ ++#if !defined(__sparc__) ++ xf86UnMapVidMem(pScrn->scrnIndex, base, size); ++#else ++ EFBUnmapVidMem(pScrn, base, size); ++#endif ++ ++ return; ++} ++ ++ ++ + /* Memory map the MMIO region. Used during pre-init and by RADEONMapMem, + * below + */ +@@ -390,9 +437,9 @@ static Bool RADEONMapMMIO(ScrnInfoPtr pScrn) + { + RADEONInfoPtr info = RADEONPTR(pScrn); + +-#ifndef XSERVER_LIBPCIACCESS ++#if !defined(XSERVER_LIBPCIACCESS) || defined(__sparc__) + +- info->MMIO = xf86MapPciMem(pScrn->scrnIndex, ++ info->MMIO = RADEONMapVidMem(pScrn, + VIDMEM_MMIO | VIDMEM_READSIDEEFFECT, + info->PciTag, + info->MMIOAddr, +@@ -428,8 +475,8 @@ static Bool RADEONUnmapMMIO(ScrnInfoPtr pScrn) + { + RADEONInfoPtr info = RADEONPTR(pScrn); + +-#ifndef XSERVER_LIBPCIACCESS +- xf86UnMapVidMem(pScrn->scrnIndex, info->MMIO, info->MMIOSize); ++#if !defined(XSERVER_LIBPCIACCESS) || defined(__sparc__) ++ RADEONUnmapVidMem(pScrn, info->MMIO, info->MMIOSize); + #else + pci_device_unmap_range(info->PciInfo, info->MMIO, info->MMIOSize); + #endif +@@ -446,9 +493,9 @@ static Bool RADEONMapFB(ScrnInfoPtr pScrn) + xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG, + "Map: 0x%08lx, 0x%08lx\n", info->LinearAddr, info->FbMapSize); + +-#ifndef XSERVER_LIBPCIACCESS ++#if !defined(XSERVER_LIBPCIACCESS) || defined(__sparc__) + +- info->FB = xf86MapPciMem(pScrn->scrnIndex, ++ info->FB = RADEONMapVidMem(pScrn, + VIDMEM_FRAMEBUFFER, + info->PciTag, + info->LinearAddr, +@@ -482,8 +529,8 @@ static Bool RADEONUnmapFB(ScrnInfoPtr pScrn) + { + RADEONInfoPtr info = RADEONPTR(pScrn); + +-#ifndef XSERVER_LIBPCIACCESS +- xf86UnMapVidMem(pScrn->scrnIndex, info->FB, info->FbMapSize); ++#if !defined(XSERVER_LIBPCIACCESS) || defined(__sparc__) ++ RADEONUnmapVidMem(pScrn, info->FB, info->FbMapSize); + #else + pci_device_unmap_range(info->PciInfo, info->FB, info->FbMapSize); + #endif +@@ -1261,6 +1308,10 @@ static void RADEONInitMemoryMap(ScrnInfoPtr pScrn) + } + #endif + ++#if !defined(__sparc__) ++ // ++ // don't reinitialize mc_fb_location on sparc ++ // + if (info->ChipFamily != CHIP_FAMILY_RS690) { + if (info->IsIGP) + info->mc_fb_location = INREG(RADEON_NB_TOM); +@@ -1306,6 +1357,8 @@ static void RADEONInitMemoryMap(ScrnInfoPtr pScrn) + } + } + } ++#endif ++ + if (info->ChipFamily >= CHIP_FAMILY_R600) { + info->fbLocation = (info->mc_fb_location & 0xffff) << 24; + } else { +@@ -1429,6 +1482,12 @@ static CARD32 RADEONGetAccessibleVRAM(ScrnInfoPtr pScrn) + return aper_size * 2; + } + ++#if defined(__sparc__) ++ else if (info->ChipFamily == CHIP_FAMILY_RV100) { ++ return aper_size; ++ } ++#endif /* __sparc__ */ ++ + /* Older cards have all sorts of funny issues to deal with. First + * check if it's a multifunction card by reading the PCI config + * header type... Limit those to one aperture size +@@ -1492,8 +1551,12 @@ static Bool RADEONPreInitVRAM(ScrnInfoPtr pScrn) + bar_size = PCI_REGION_SIZE(info->PciInfo, 0) / 1024; + if (bar_size == 0) + bar_size = 0x20000; ++ ++ ++#if ccl + if (accessible > bar_size) + accessible = bar_size; ++#endif + + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Detected total video RAM=%dK, accessible=%uK (PCI BAR=%uK)\n", +@@ -2190,8 +2253,16 @@ static void RADEONPreInitColorTiling(ScrnInfoPtr pScrn) + { + RADEONInfoPtr info = RADEONPTR(pScrn); + ++#if !defined(__sparc__) + info->allowColorTiling = xf86ReturnOptValBool(info->Options, + OPTION_COLOR_TILING, TRUE); ++#else ++ /* ++ * disable Tiling for now because of coherent console ++ */ ++ info->allowColorTiling = FALSE; ++#endif /* __sparc__ */ ++ + if (IS_R300_VARIANT || IS_AVIVO_VARIANT) { + /* this may be 4096 on r4xx -- need to double check */ + info->MaxSurfaceWidth = 3968; /* one would have thought 4096...*/ +@@ -2551,6 +2622,16 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags) + info->IsPrimary = FALSE; + + info->pEnt = xf86GetEntityInfo(pScrn->entityList[pScrn->numEntities - 1]); ++ ++#if defined(__sparc__) ++ if (info->fd == -1) { ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, ++ "invalid device %s\n", info->deviceName); ++ goto fail1; ++ } ++ info->pEnt->location.type = BUS_PCI; ++#endif /* __sparc__ */ ++ + if (info->pEnt->location.type != BUS_PCI) goto fail; + + pPriv = xf86GetEntityPrivate(pScrn->entityList[0], +@@ -2580,7 +2661,7 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags) + info->ModeReg = &pRADEONEnt->ModeReg; + } + +- info->PciInfo = xf86GetPciInfoForEntity(info->pEnt->index); ++ info->PciInfo = RADEONGetPciInfo(info); + info->PciTag = pciTag(PCI_DEV_BUS(info->PciInfo), + PCI_DEV_DEV(info->PciInfo), + PCI_DEV_FUNC(info->PciInfo)); +@@ -2639,8 +2720,10 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags) + if (xf86RegisterResources(info->pEnt->index, 0, ResExclusive)) + goto fail; + ++#if !defined(__sparc__) + if (xf86SetOperatingState(resVga, info->pEnt->index, ResUnusedOpr)) + goto fail; ++#endif /* __sparc__ */ + + pScrn->racMemFlags = RAC_FB | RAC_COLORMAP | RAC_VIEWPORT | RAC_CURSOR; + #endif +@@ -2693,7 +2776,12 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags) + if (!RADEONPreInitWeight(pScrn)) + goto fail; + ++#if !defined(__sparc__) + info->DispPriority = 1; ++#else ++ info->DispPriority = 2; ++#endif /* __sparc__ */ ++ + if ((s = xf86GetOptValString(info->Options, OPTION_DISP_PRIORITY))) { + if (strcmp(s, "AUTO") == 0) { + info->DispPriority = 1; +@@ -2713,7 +2801,9 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags) + if (!RADEONPreInitChipType(pScrn)) + goto fail; + ++#if !defined(__sparc__) + RADEONPreInitBIOS(pScrn, pInt10); ++#endif /* __sparc__ */ + + #ifdef XF86DRI + /* PreInit DRI first of all since we need that for getting a proper +@@ -2726,6 +2816,15 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags) + + RADEONPreInitColorTiling(pScrn); + ++#if defined(__sparc__) ++ RADEONPreInitDDC(pScrn); ++ ++ if (!RADEONPreInitControllers(pScrn)) ++ goto fail; ++ ++ EFBPreInitOutputConfiguration(pScrn, xf86_config); ++#endif /* __sparc__ */ ++ + /* we really need an FB manager... */ + if (pScrn->display->virtualX) { + crtc_max_X = pScrn->display->virtualX; +@@ -2767,10 +2866,12 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags) + /*xf86CrtcSetSizeRange (pScrn, 320, 200, info->MaxSurfaceWidth, info->MaxLines);*/ + xf86CrtcSetSizeRange (pScrn, 320, 200, crtc_max_X, crtc_max_Y); + ++#if !defined(__sparc__) + RADEONPreInitDDC(pScrn); + + if (!RADEONPreInitControllers(pScrn)) + goto fail; ++#endif /* __sparc__ */ + + + ErrorF("before xf86InitialConfiguration\n"); +@@ -2985,6 +3086,7 @@ RADEONPointerMoved(int index, int x, int y) + (*info->PointerMoved)(index, newX, newY); + } + ++#if !defined(__sparc__) + static void + RADEONInitBIOSRegisters(ScrnInfoPtr pScrn) + { +@@ -3028,6 +3130,7 @@ RADEONInitBIOSRegisters(ScrnInfoPtr pScrn) + } + + } ++#endif /* __sparc__ */ + + + /* Called at the start of each server generation. */ +@@ -3077,8 +3180,10 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen, + + RADEONSave(pScrn); + ++#if !defined(__sparc__) + /* set initial bios scratch reg state */ + RADEONInitBIOSRegisters(pScrn); ++#endif /* __sparc__ */ + + /* blank the outputs/crtcs */ + RADEONBlank(pScrn); +@@ -3514,6 +3619,13 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen, + if (!xf86CrtcScreenInit (pScreen)) + return FALSE; + ++#if defined(__sparc__) ++ /* ++ * Give the sparc driver a chance to do any necessary initialization ++ */ ++ EFBScreenInit(pScrn); ++#endif /* __sparc__ */ ++ + /* Wrap pointer motion to flip touch screen around */ + info->PointerMoved = pScrn->PointerMoved; + pScrn->PointerMoved = RADEONPointerMoved; +@@ -3623,7 +3735,8 @@ void RADEONRestoreMemMapRegisters(ScrnInfoPtr pScrn, + * reprogrammed + */ + if (mc_fb_loc != restore->mc_fb_location || +- mc_agp_loc != restore->mc_agp_location) { ++ mc_agp_loc != restore->mc_agp_location) ++ { + CARD32 crtc_ext_cntl, crtc_gen_cntl, crtc2_gen_cntl=0, ov0_scale_cntl; + CARD32 old_mc_status, status_idle; + +@@ -4509,6 +4622,7 @@ void RADEONRestore(ScrnInfoPtr pScrn) + RADEONRestoreMemMapRegisters(pScrn, restore); + RADEONRestoreCommonRegisters(pScrn, restore); + ++#if !defined(__sparc__) + if (pRADEONEnt->HasCRTC2) { + RADEONRestoreCrtc2Registers(pScrn, restore); + RADEONRestorePLL2Registers(pScrn, restore); +@@ -4516,6 +4630,25 @@ void RADEONRestore(ScrnInfoPtr pScrn) + + RADEONRestoreCrtcRegisters(pScrn, restore); + RADEONRestorePLLRegisters(pScrn, restore); ++#else ++ /* ++ On sparc, leave the mode untouched when switching ++ back to the console mode, but make sure to leave ++ the CRT on ++ */ ++ if (pRADEONEnt->HasCRTC2) { ++ OUTREGP(RADEON_CRTC2_GEN_CNTL, (RADEON_CRTC2_EN | 0x200), ++ ~(RADEON_CRTC2_EN | RADEON_CRTC2_DISP_REQ_EN_B | ++ 0xf00)); ++ } ++ ++ OUTREGP(RADEON_CRTC_EXT_CNTL, RADEON_CRTC_CRT_ON, ++ ~(RADEON_CRTC_CRT_ON)); ++ OUTREGP(RADEON_CRTC_GEN_CNTL, (RADEON_CRTC_EN), ++ ~(RADEON_CRTC_EN | RADEON_CRTC_DISP_REQ_EN_B ++ )); ++#endif /* __sparc__ */ ++ + RADEONRestoreRMXRegisters(pScrn, restore); + RADEONRestoreFPRegisters(pScrn, restore); + RADEONRestoreFP2Registers(pScrn, restore); +@@ -4710,6 +4843,7 @@ ModeStatus RADEONValidMode(int scrnIndex, DisplayModePtr mode, + RADEONInfoPtr info = RADEONPTR(pScrn); + RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); + ++#if !defined(__sparc__) + /* + * RN50 has effective maximum mode bandwidth of about 300MiB/s. + * XXX should really do this for all chips by properly computing +@@ -4719,6 +4853,7 @@ ModeStatus RADEONValidMode(int scrnIndex, DisplayModePtr mode, + if (xf86ModeBandwidth(mode, pScrn->bitsPerPixel) > 300) + return MODE_BANDWIDTH; + } ++#endif + + /* There are problems with double scan mode at high clocks + * They're likely related PLL and display buffer settings. +@@ -5046,9 +5181,15 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen) + } + #endif /* USE_XAA */ + ++#if !defined(__sparc__) ++ // ++ // When running on sparc, no need to restore the video state when ++ // switch back to console mode ++ // + if (pScrn->vtSema) { + RADEONRestore(pScrn); + } ++#endif /* __sparc__ */ + + xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG, + "Disposing accel...\n"); +@@ -5088,6 +5229,13 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen) + + xf86ClearPrimInitDone(info->pEnt->index); + ++#if defined(__sparc__) ++ /* ++ * Give the sparc driver a chance to do any necessary cleanup ++ */ ++ EFBCloseScreen(pScrn); ++#endif /* __sparc__ */ ++ + pScreen->BlockHandler = info->BlockHandler; + pScreen->CloseScreen = info->CloseScreen; + return (*pScreen->CloseScreen)(scrnIndex, pScreen); +diff --git a/src/radeon_macros.h b/src/radeon_macros.h +index 7f532a8..b8e8218 100644 +--- a/src/radeon_macros.h ++++ b/src/radeon_macros.h +@@ -60,12 +60,40 @@ + (info->VBIOS[(v) + 3] << 24)) + + /* Memory mapped register access macros */ ++#if defined(__sparc__) ++ ++#define READ_MMIO_UCHAR(base, offset) \ ++ *((unsigned char *)((unsigned char *)base + (offset))) ++ ++#define READ_MMIO_USHORT(base, offset) \ ++ *((unsigned short *)((unsigned char *)base + (offset))) ++ ++#define READ_MMIO_UINT(base, offset) \ ++ *((unsigned int *)((unsigned char *)base + (offset))) ++ ++#define WRITE_MMIO_UCHAR(base, offset, val) \ ++ *((unsigned char *)((unsigned char *)base + (offset))) = val ++ ++#define WRITE_MMIO_USHORT(base, offset, val) \ ++ *((unsigned short *)((unsigned char *)base + (offset))) = val ++ ++#define WRITE_MMIO_UINT(base, offset, val) \ ++ *((unsigned int *)((unsigned char *)base + (offset))) = val ++ ++#define INREG8(addr) READ_MMIO_UCHAR(RADEONMMIO, addr) ++#define INREG16(addr) READ_MMIO_USHORT(RADEONMMIO, addr) ++#define INREG(addr) READ_MMIO_UINT(RADEONMMIO, addr) ++#define OUTREG8(addr, val) WRITE_MMIO_UCHAR(RADEONMMIO, addr, val) ++#define OUTREG16(addr, val) WRITE_MMIO_USHORT(RADEONMMIO, addr, val) ++#define OUTREG(addr, val) WRITE_MMIO_UINT(RADEONMMIO, addr, val) ++#else + #define INREG8(addr) MMIO_IN8(RADEONMMIO, addr) + #define INREG16(addr) MMIO_IN16(RADEONMMIO, addr) + #define INREG(addr) MMIO_IN32(RADEONMMIO, addr) + #define OUTREG8(addr, val) MMIO_OUT8(RADEONMMIO, addr, val) + #define OUTREG16(addr, val) MMIO_OUT16(RADEONMMIO, addr, val) + #define OUTREG(addr, val) MMIO_OUT32(RADEONMMIO, addr, val) ++#endif /* __sparc__ */ + + #define ADDRREG(addr) ((volatile CARD32 *)(pointer)(RADEONMMIO + (addr))) + +diff --git a/src/radeon_modes.c b/src/radeon_modes.c +index 2c72395..140975f 100644 +--- a/src/radeon_modes.c ++++ b/src/radeon_modes.c +@@ -258,6 +258,18 @@ static void RADEONAddScreenModes(xf86OutputPtr output, DisplayModePtr *modeList) + } + + DisplayModePtr ++RADEONOutputGetEDIDModes(xf86OutputPtr output) ++{ ++#if !defined(__sparc__) ++ return (xf86OutputGetEDIDModes(output)); ++#else ++ extern DisplayModePtr EFBOutputGetEDIDModes(); ++ ++ return (EFBOutputGetEDIDModes(output)); ++#endif /* __sparc__ */ ++} ++ ++DisplayModePtr + RADEONProbeOutputModes(xf86OutputPtr output) + { + RADEONOutputPrivatePtr radeon_output = output->driver_private; +@@ -283,7 +295,8 @@ RADEONProbeOutputModes(xf86OutputPtr output) + } + } else { + if (output->MonInfo) +- modes = xf86OutputGetEDIDModes (output); ++ modes = RADEONOutputGetEDIDModes (output); ++ + if (modes == NULL) { + if ((radeon_output->type == OUTPUT_LVDS) && info->IsAtomBios) { + atomBiosResult = RHDAtomBiosFunc(pScrn->scrnIndex, +@@ -292,7 +305,7 @@ RADEONProbeOutputModes(xf86OutputPtr output) + if (atomBiosResult == ATOM_SUCCESS) { + output->MonInfo = xf86InterpretEDID(pScrn->scrnIndex, + atomBiosArg.EDIDBlock); +- modes = xf86OutputGetEDIDModes(output); ++ modes = RADEONOutputGetEDIDModes(output); + } + } + if (modes == NULL) { +diff --git a/src/radeon_output.c b/src/radeon_output.c +index aceb3d8..93c5654 100644 +--- a/src/radeon_output.c ++++ b/src/radeon_output.c +@@ -514,6 +514,7 @@ radeon_mode_valid(xf86OutputPtr output, DisplayModePtr pMode) + RADEONInfoPtr info = RADEONPTR(pScrn); + RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); + ++#if !defined(__sparc__) + /* + * RN50 has effective maximum mode bandwidth of about 300MiB/s. + * XXX should really do this for all chips by properly computing +@@ -523,6 +524,7 @@ radeon_mode_valid(xf86OutputPtr output, DisplayModePtr pMode) + if (xf86ModeBandwidth(pMode, pScrn->bitsPerPixel) > 300) + return MODE_BANDWIDTH; + } ++#endif + + if (OUTPUT_IS_TV) { + /* FIXME: Update when more modes are added */ +@@ -670,6 +672,10 @@ radeon_bios_output_lock(xf86OutputPtr output, Bool lock) + unsigned char *RADEONMMIO = info->MMIO; + RADEONSavePtr save = info->ModeReg; + ++#if defined(__sparc__) ++ return; ++#endif /* __sparc__ */ ++ + if (info->IsAtomBios) { + if (lock) { + save->bios_6_scratch |= (ATOM_S6_CRITICAL_STATE | ATOM_S6_ACC_MODE); +@@ -698,6 +704,10 @@ radeon_bios_output_dpms(xf86OutputPtr output, int mode) + unsigned char *RADEONMMIO = info->MMIO; + RADEONSavePtr save = info->ModeReg; + ++#if defined(__sparc__) ++ return; ++#endif /* __sparc__ */ ++ + if (info->IsAtomBios) { + if (mode == DPMSModeOn) { + if (radeon_output->MonType == MT_STV || +@@ -845,6 +855,10 @@ radeon_bios_output_crtc(xf86OutputPtr output) + xf86CrtcPtr crtc = output->crtc; + RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private; + ++#if defined(__sparc__) ++ return; ++#endif /* __sparc__ */ ++ + if (info->IsAtomBios) { + if (radeon_output->MonType == MT_STV || + radeon_output->MonType == MT_CTV) { +@@ -924,6 +938,10 @@ radeon_bios_output_connected(xf86OutputPtr output, Bool connected) + unsigned char *RADEONMMIO = info->MMIO; + RADEONSavePtr save = info->ModeReg; + ++#if defined(__sparc__) ++ return; ++#endif /* __sparc__ */ ++ + if (info->ChipFamily >= CHIP_FAMILY_R600) + return; + +@@ -1577,6 +1595,23 @@ radeon_set_property(xf86OutputPtr output, Atom property, + return TRUE; + } + ++#if defined(__sparc__) ++static const xf86OutputFuncsRec radeon_output_funcs = { ++ .create_resources = radeon_create_resources, ++ .dpms = radeon_dpms, ++ .save = radeon_save, ++ .restore = radeon_restore, ++ .mode_valid = radeon_mode_valid, ++ .mode_fixup = radeon_mode_fixup, ++ .prepare = radeon_mode_prepare, ++ .mode_set = radeon_mode_set, ++ .commit = radeon_mode_commit, ++ .detect = radeon_detect, ++ .get_modes = efb_get_modes, ++ .set_property = radeon_set_property, ++ .destroy = radeon_destroy ++}; ++#else + static const xf86OutputFuncsRec radeon_output_funcs = { + .create_resources = radeon_create_resources, + .dpms = radeon_dpms, +@@ -1592,6 +1627,7 @@ static const xf86OutputFuncsRec radeon_output_funcs = { + .set_property = radeon_set_property, + .destroy = radeon_destroy + }; ++#endif /* __sparc__ */ + + void RADEONSetOutputType(ScrnInfoPtr pScrn, RADEONOutputPrivatePtr radeon_output) + { +@@ -2439,6 +2475,17 @@ static void RADEONSetupGenericConnectors(ScrnInfoPtr pScrn) + info->BiosConnector[1].TMDSType = TMDS_EXT; + info->BiosConnector[1].ConnectorType = CONNECTOR_DVI_I; + info->BiosConnector[1].valid = TRUE; ++#elif defined(__sparc__) ++ info->BiosConnector[1].ddc_i2c = legacy_setup_i2c_bus(RADEON_GPIO_VGA_DDC); ++ info->BiosConnector[1].DACType = DAC_PRIMARY; ++ info->BiosConnector[1].TMDSType = TMDS_EXT; ++ info->BiosConnector[1].valid = TRUE; ++ ++ if (info->ChipFamily == CHIP_FAMILY_RV380) { ++ info->BiosConnector[1].ConnectorType = CONNECTOR_DVI_I; ++ } else { ++ info->BiosConnector[1].ConnectorType = CONNECTOR_VGA; ++ } + #else + info->BiosConnector[1].ddc_i2c = legacy_setup_i2c_bus(RADEON_GPIO_VGA_DDC); + info->BiosConnector[1].DACType = DAC_PRIMARY; +@@ -2782,6 +2829,10 @@ Bool RADEONSetupConnectors(ScrnInfoPtr pScrn) + but I'm not sure it's worth the trouble */ + output->possible_clones = 0; + ++#if defined(__sparc__) ++ xf86OutputUseScreenMonitor(output, TRUE); ++#endif /* __sparc__ */ ++ + RADEONInitConnector(output); + } + } +diff --git a/src/radeon_probe.c b/src/radeon_probe.c +index 36451f9..6f7eafa 100644 +--- a/src/radeon_probe.c ++++ b/src/radeon_probe.c +@@ -31,7 +31,9 @@ + #endif + + #include ++#include + ++#include + /* + * Authors: + * Kevin E. Martin +@@ -53,6 +55,7 @@ + #include "radeon_chipset_gen.h" + + #include "radeon_pci_chipset_gen.h" ++#include "radeon.h" + + + #ifdef XSERVER_LIBPCIACCESS +@@ -63,6 +66,7 @@ + static Bool RADEONProbe(DriverPtr drv, int flags); + #endif + ++_X_EXPORT + int gRADEONEntityIndex = -1; + + /* Return the options for supported chipset 'n'; NULL otherwise */ +@@ -81,18 +85,22 @@ RADEONIdentify(int flags) + RADEONChipsets); + } + +-static Bool ++static ScrnInfoPtr + radeon_get_scrninfo(int entity_num) + { + ScrnInfoPtr pScrn = NULL; + EntityInfoPtr pEnt; + ++#if !defined(__sparc__) + pScrn = xf86ConfigPciEntity(pScrn, 0, entity_num, RADEONPciChipsets, + NULL, + NULL, NULL, NULL, NULL); ++#else ++ pScrn = xf86ConfigFbEntity(pScrn, 0, entity_num, NULL,NULL,NULL,NULL); ++#endif + + if (!pScrn) +- return FALSE; ++ return NULL; + + pScrn->driverVersion = RADEON_VERSION_CURRENT; + pScrn->driverName = RADEON_DRIVER_NAME; +@@ -146,10 +154,14 @@ radeon_get_scrninfo(int entity_num) + + xfree(pEnt); + +- return TRUE; ++ return pScrn; + } + +-#ifndef XSERVER_LIBPCIACCESS ++#if defined(__sparc__) ++#define RADEON_DEFAULT_DEVICE_PATH "/dev/fb" ++#endif /* __sparc__ */ ++ ++#if !defined(XSERVER_LIBPCIACCESS) || defined(__sparc__) + + /* Return TRUE if chipset is present; FALSE otherwise. */ + static Bool +@@ -161,13 +173,17 @@ RADEONProbe(DriverPtr drv, int flags) + GDevPtr *devSections; + Bool foundScreen = FALSE; + int i; ++ ScrnInfoPtr pScrn; + ++#if !defined(__sparc__) + if (!xf86GetPciVideoInfo()) return FALSE; ++#endif /* __sparc__ */ + + numDevSections = xf86MatchDevice(RADEON_NAME, &devSections); + + if (!numDevSections) return FALSE; + ++#if !defined(__sparc__) + numUsed = xf86MatchPciInstances(RADEON_NAME, + PCI_VENDOR_ATI, + RADEONChipsets, +@@ -183,12 +199,50 @@ RADEONProbe(DriverPtr drv, int flags) + foundScreen = TRUE; + } else { + for (i = 0; i < numUsed; i++) { +- if (radeon_get_scrninfo(usedChips[i])) ++ if (pScrn = radeon_get_scrninfo(usedChips[i])) + foundScreen = TRUE; + } + } + + xfree(usedChips); ++#else ++ ++ ++ // CR 6876840 - fix the core dump, but it still won't support ++ // -configure option ++ ++ if (flags & PROBE_DETECT) { ++ if (devSections) ++ xfree(devSections); ++ return TRUE; ++ } ++ ++ for (i = 0; i < numDevSections; i++) { ++ char * dev; ++ int entity; ++ RADEONInfoPtr info; ++ int fd; ++ ++ entity = xf86ClaimFbSlot(drv, 0, devSections[i], TRUE); ++ if (pScrn = radeon_get_scrninfo(entity)) { ++ dev = xf86FindOptionValue(devSections[i]->options, "device"); ++ if (dev == NULL) { ++ dev = RADEON_DEFAULT_DEVICE_PATH; ++ } ++ ++ if (((fd = open(dev, O_RDWR, 0)) >= 0)) { ++ foundScreen = TRUE; ++ } ++ ++ if (RADEONGetRec(pScrn)) { ++ info = RADEONPTR(pScrn); ++ info->deviceName = dev; ++ info->fd = fd; ++ } ++ } ++ } ++#endif /* __sparc__ */ ++ + xfree(devSections); + + return foundScreen; +@@ -196,7 +250,7 @@ RADEONProbe(DriverPtr drv, int flags) + + #else /* XSERVER_LIBPCIACCESS */ + +-static Bool ++static ScrnInfoPtr + radeon_pci_probe( + DriverPtr pDriver, + int entity_num, +@@ -204,7 +258,48 @@ radeon_pci_probe( + intptr_t match_data + ) + { +- return radeon_get_scrninfo(entity_num); ++ ScrnInfoPtr pScrn; ++ pScrn = radeon_get_scrninfo(entity_num); ++ ++#if defined(__sparc__) ++ if (pScrn != NULL) { ++ char * dev; ++ RADEONInfoPtr info = NULL; ++ int fd = -1; ++ int i, numDevSections; ++ GDevPtr *devSections; ++ ++ numDevSections = xf86MatchDevice(RADEON_NAME, &devSections); ++ ++ if (RADEONGetRec(pScrn)) { ++ info = RADEONPTR(pScrn); ++ info->fd = -1; ++ } ++ ++ for (i = 0; i < numDevSections; i++) { ++ dev = xf86FindOptionValue(devSections[i]->options, "device"); ++ if (dev == NULL) { ++ dev = RADEON_DEFAULT_DEVICE_PATH; ++ } ++ ++ if (((fd = open(dev, O_RDWR, 0)) >= 0)) { ++ if (RADEONGetRec(pScrn)) { ++ info = RADEONPTR(pScrn); ++ info->deviceName = dev; ++ info->fd = fd; ++ } ++ } ++ } ++ ++ if (info->fd == -1) { ++ dev = RADEON_DEFAULT_DEVICE_PATH; ++ info->deviceName = dev; ++ info->fd = open(dev, O_RDWR, 0); ++ } ++ } ++#endif /* __sparc__ */ ++ ++ return pScrn; + } + + #endif /* XSERVER_LIBPCIACCESS */ +@@ -214,7 +309,7 @@ _X_EXPORT DriverRec RADEON = + RADEON_VERSION_CURRENT, + RADEON_DRIVER_NAME, + RADEONIdentify, +-#ifdef XSERVER_LIBPCIACCESS ++#if defined(XSERVER_LIBPCIACCESS) && !defined(__sparc__) + NULL, + #else + RADEONProbe, +@@ -223,7 +318,7 @@ _X_EXPORT DriverRec RADEON = + NULL, + 0, + NULL, +-#ifdef XSERVER_LIBPCIACCESS ++#if defined(XSERVER_LIBPCIACCESS) && !defined(__sparc__) + radeon_device_match, + radeon_pci_probe + #endif +diff --git a/src/radeon_version.h b/src/radeon_version.h +index ccc1367..01958af 100644 +--- a/src/radeon_version.h ++++ b/src/radeon_version.h +@@ -34,8 +34,14 @@ + #undef RADEON_VERSION_STRINGIFY + #undef RADEON_VERSION_NAME + ++#if !defined(__sparc__) + #define RADEON_NAME "RADEON" + #define RADEON_DRIVER_NAME "radeon" ++#else ++#define RADEON_NAME "efb" ++#define RADEON_DRIVER_NAME "efb" ++#endif /* __sparc__ */ ++ + #define R200_DRIVER_NAME "r200" + #define R300_DRIVER_NAME "r300" + diff -r 00c1816630fe -r 605549b491ac open-src/driver/efb/sun-src/src/drv.mapfile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/open-src/driver/efb/sun-src/src/drv.mapfile Mon Apr 25 13:38:53 2011 -0700 @@ -0,0 +1,40 @@ +# +# Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# + +# +# efb DDX mapfile +# +# Global symbols determined by: +# First link without any mapfile, then find global symbols with: +# +# /usr/ccs/bin/nm kfb_drv.so.1 | grep GLOB | grep -v UNDEF | \ +# awk '{print $8}' | awk -F\| '{printf("\t%s;\n",$2)}' +{ + global: + # Used by Xorg + efbModuleData; + gRADEONEntityIndex; + + local: + *; +}; diff -r 00c1816630fe -r 605549b491ac open-src/driver/efb/sun-src/src/efb.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/open-src/driver/efb/sun-src/src/efb.h Mon Apr 25 13:38:53 2011 -0700 @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#ifndef _EFB_H_ +#define _EFB_H_ + +#include +#include "gfx_common.h" + +extern pciVideoPtr EFBGetPciInfo(RADEONInfoPtr); +extern pointer EFBMapVidMem(ScrnInfoPtr, unsigned int, PCITAG, + unsigned long, unsigned long); +extern void EFBUnmapVidMem(ScrnInfoPtr, pointer, unsigned long); + +extern void EFBScreenInit(ScrnInfoPtr); +extern void EFBCloseScreen(ScrnInfoPtr); +extern DisplayModePtr efb_get_modes(xf86OutputPtr); + +extern void EFBPreInitOutputConfiguration(ScrnInfoPtr, xf86CrtcConfigPtr); + +#endif /* _EFB_H_ */ diff -r 00c1816630fe -r 605549b491ac open-src/driver/efb/sun-src/src/efb_driver.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/open-src/driver/efb/sun-src/src/efb_driver.c Mon Apr 25 13:38:53 2011 -0700 @@ -0,0 +1,605 @@ +/* + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +/* + * Copyright 2000 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of Marc Aurele La France not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. Marc Aurele La France makes no representations + * about the suitability of this software for any purpose. It is provided + * "as-is" without express or implied warranty. + * + * MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + * EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +#include "radeon.h" +#include "radeon_probe.h" +#include "radeon_version.h" +#include "xf86.h" +#include "xf86_OSproc.h" +#include "efb.h" +#include "fb.h" + +#ifdef XSERVER_LIBPCIACCESS +#include "pciaccess.h" +#endif + + +/* Module loader interface for subsidiary driver module */ + +static XF86ModuleVersionInfo EFBVersionRec = +{ + RADEON_DRIVER_NAME, + MODULEVENDORSTRING, + MODINFOSTRING1, + MODINFOSTRING2, + XORG_VERSION_CURRENT, + RADEON_VERSION_MAJOR, RADEON_VERSION_MINOR, RADEON_VERSION_PATCH, + ABI_CLASS_VIDEODRV, + ABI_VIDEODRV_VERSION, + MOD_CLASS_VIDEODRV, + {0, 0, 0, 0} +}; + +/* + * EFBSetup -- + * + * This function is called every time the module is loaded. + */ +static pointer +EFBSetup +( + pointer Module, + pointer Options, + int *ErrorMajor, + int *ErrorMinor +) +{ + static Bool Inited = FALSE; + + if (!Inited) { + Inited = TRUE; + xf86AddDriver(&RADEON, Module, HaveDriverFuncs); + } + + return (pointer)TRUE; +} + +/* The following record must be called efbModuleData */ +_X_EXPORT XF86ModuleData efbModuleData = +{ + &EFBVersionRec, + EFBSetup, + NULL +}; + + +#define EFB_REG_SIZE 256*1024 +#define EFB_REG_SIZE_LOG2 18 + +#ifndef XSERVER_LIBPCIACCESS +pciVideoPtr EFBGetPciInfo(RADEONInfoPtr info) +{ + int status; + pciVideoPtr pciInfo = NULL; + int i; + int cmd = GFX_IOCTL_GET_PCI_CONFIG; + struct gfx_pci_cfg pciCfg; + int bar; + + if ((status = ioctl(info->fd, GFX_IOCTL_GET_PCI_CONFIG, &pciCfg)) + != -1) { + pciInfo = malloc(sizeof(pciVideoRec)); + + pciInfo->vendor = pciCfg.VendorID; + pciInfo->chipType = pciCfg.DeviceID; + pciInfo->chipRev = pciCfg.RevisionID; + pciInfo->subsysVendor = pciCfg.SubVendorID; + pciInfo->subsysCard = pciCfg.SubSystemID; + + // TODO: need to fill in the complete structure + // + for (i = 0; i < 6; i++) { + bar = pciCfg.bar[i]; + if (bar != 0) { + if (bar & PCI_MAP_IO) { + pciInfo->ioBase[i] = (memType)PCIGETIO(bar); + pciInfo->type[i] = bar & PCI_MAP_IO_ATTR_MASK; + + // TODO: size? + } else { + pciInfo->type[i] = bar & PCI_MAP_MEMORY_ATTR_MASK; + pciInfo->memBase[i] = (memType)PCIGETMEMORY(bar); + if (PCI_MAP_IS64BITMEM(bar)) { + if (i == 5) { + pciInfo->memBase[i] = 0; + } else { + int bar_hi = pciCfg.bar[i+1]; + /* 64 bit architecture */ + pciInfo->memBase[i] |= + (memType)bar_hi << 32; + ++i; /* Step over the next BAR */ + } + } + pciInfo->size[i] = EFB_REG_SIZE_LOG2; + } + } + } + } + + return pciInfo; +} +#else + +/* + * These defines are from the xorg 1.3 xf86pci.h + */ +#define PCI_MAP_MEMORY 0x00000000 +#define PCI_MAP_IO 0x00000001 + +#define PCI_MAP_MEMORY_TYPE 0x00000007 +#define PCI_MAP_MEMORY_TYPE_64BIT 0x00000004 +#define PCI_MAP_IO_TYPE 0x00000003 + +#define PCI_MAP_MEMORY_ADDRESS_MASK 0xfffffff0 +#define PCI_MAP_IO_ADDRESS_MASK 0xfffffffc + +#define PCI_MAP_IS_IO(b) ((b) & PCI_MAP_IO) + +#define PCI_MAP_IS64BITMEM(b) \ + (((b) & PCI_MAP_MEMORY_TYPE) == PCI_MAP_MEMORY_TYPE_64BIT) + +#define PCIGETMEMORY(b) ((b) & PCI_MAP_MEMORY_ADDRESS_MASK) +#define PCIGETMEMORY64HIGH(b) (*((CARD32*)&(b) + 1)) +#define PCIGETMEMORY64(b) \ + (PCIGETMEMORY(b) | ((CARD64)PCIGETMEMORY64HIGH(b) << 32)) + +#define PCIGETIO(b) ((b) & PCI_MAP_IO_ADDRESS_MASK) + + +struct pci_device * EFBGetPciInfo(RADEONInfoPtr info) +{ + int status; + struct pci_device *pciInfo = NULL; + int i; + int cmd = GFX_IOCTL_GET_PCI_CONFIG; + struct gfx_pci_cfg pciCfg; + int bar; + + if ((status = ioctl(info->fd, GFX_IOCTL_GET_PCI_CONFIG, &pciCfg)) + != -1) { + pciInfo = malloc(sizeof(struct pci_device)); + + pciInfo->vendor_id = pciCfg.VendorID; + pciInfo->device_id = pciCfg.DeviceID; + pciInfo->revision = pciCfg.RevisionID; + pciInfo->subvendor_id = pciCfg.SubVendorID; + pciInfo->subvendor_id = pciCfg.SubSystemID; + + // TODO: need to fill in the complete structure + // + for (i = 0; i < 6; i++) { + bar = pciCfg.bar[i]; + if (bar != 0) { + if (PCI_MAP_IS_IO(bar)) { + pciInfo->regions[i].base_addr = (pciaddr_t)PCIGETIO(bar); + } else { + pciInfo->regions[i].size = EFB_REG_SIZE; + if (PCI_MAP_IS64BITMEM(bar)) { + pciInfo->regions[i].base_addr = (pciaddr_t)PCIGETMEMORY64(bar); + ++i; /* Step over the next BAR */ + } else { + pciInfo->regions[i].base_addr = (pciaddr_t)PCIGETMEMORY(bar); + } + } + } + } + } + + return pciInfo; +} +#endif + + +pointer +EFBMapVidMem(ScrnInfoPtr pScrn, unsigned int flags, PCITAG picTag, + unsigned long base, unsigned long size) +{ + int BUS_BASE = 0; + pointer memBase; + int fdd; + int mapflags = MAP_SHARED; + int prot; + memType realBase, alignOff; + unsigned long realSize; + int pageSize; + RADEONInfoPtr info = RADEONPTR(pScrn); + + fdd = info->fd; + realBase = base & ~(getpagesize() - 1); + alignOff = base - realBase; + + pageSize = getpagesize(); + realSize = size + (pageSize - 1) & (~(pageSize - 1)); + + printf("base: %lx, realBase: %lx, alignOff: %lx \n", + base, realBase, alignOff); + + if (flags & VIDMEM_READONLY) { + prot = PROT_READ; + } else { + prot = PROT_READ | PROT_WRITE; + } + + memBase = mmap((caddr_t)0, realSize + alignOff, prot, mapflags, fdd, + (off_t)(off_t)realBase + BUS_BASE); + + if (memBase == MAP_FAILED) { + printf("RADEONMapVidMem: Could not map framebuffer\n"); + return NULL; + } + + return ((char *)memBase + alignOff); +} + +void +EFBUnmapVidMem(ScrnInfoPtr pScrn, pointer base, unsigned long size) +{ + memType alignOff = (memType)base - ((memType)base & ~(getpagesize() - 1)); + + printf("alignment offset: %lx\n",alignOff); + munmap((caddr_t)((memType)base - alignOff), (size + alignOff)); + + return; +} + + +void +EFBNotifyModeChanged(ScrnInfoPtr pScrn) +{ + RADEONInfoPtr info = RADEONPTR(pScrn); + int status; + + struct gfx_video_mode mode; + + if (pScrn->currentMode->name) { + strlcpy(mode.mode_name, pScrn->currentMode->name, GFX_MAX_VMODE_LEN); + } else { + strlcpy(mode.mode_name, " ", GFX_MAX_VMODE_LEN); + } + + mode.vRefresh = pScrn->currentMode->VRefresh; + + status = ioctl(info->fd, GFX_IOCTL_SET_VIDEO_MODE, &mode); +} + +void +EFBScreenInit(ScrnInfoPtr pScrn) +{ + RADEONInfoPtr info = RADEONPTR(pScrn); + + if (xf86ReturnOptValBool(info->Options, OPTION_DISABLE_RANDR, FALSE)) { + + xf86DrvMsg (pScrn->scrnIndex, X_INFO, "RANDR is disabled\n"); + + // + // disable RANDR + // + EnableDisableExtension("RANDR", FALSE); + } + + EFBNotifyModeChanged(pScrn); +} + +void +EFBCloseScreen(ScrnInfoPtr pScrn) +{ + EFBNotifyModeChanged(pScrn); +} + +DisplayModePtr +EFBOutputGetEDIDModes(xf86OutputPtr output) +{ + xf86MonPtr edid_mon = output->MonInfo; + + if (!strcmp(edid_mon->vendor.name, "SUN")) { + if (edid_mon->ver.version == 1 && + edid_mon->ver.revision <= 2) { + + // + // force detail timing to be the preferred one + // + edid_mon->features.msc |= 0x2; + } + } + + return (xf86OutputGetEDIDModes(output)); +} + +DisplayModePtr +efb_get_modes(xf86OutputPtr output) +{ + ScrnInfoPtr pScrn = output->scrn; + DisplayModePtr pModes; + + pModes = RADEONProbeOutputModes(output); + + // + // display modes have precedence + // + if (pScrn->display->modes[0] != NULL) { + int mm; + char *modes; + DisplayModePtr dModes, preferredMode = NULL; + int found = 0, done = 0; + for (mm = 0; pScrn->display->modes[mm] != NULL && !found; mm++) { + modes = pScrn->display->modes[mm]; + if (!strcasecmp(modes, "Auto") || !strcasecmp(modes, "None")) { + done = found = 1; + } else { + done = 0; + dModes = pModes; + while (dModes && !done) { + if (!strcmp(modes, dModes->name)) { + done = found = 1; + dModes->type |= M_T_PREFERRED; + preferredMode = dModes; + } else { + dModes = dModes->next; + } + } + } + } + + if (found && preferredMode) { + dModes = pModes; + while (dModes) { + if ((dModes->type & M_T_PREFERRED) && + (dModes != preferredMode)) { + dModes->type &= ~M_T_PREFERRED; + } + dModes = dModes->next; + } + } + } + + return(pModes); +} + +char *efb_default_mode = "1024x768"; + +float ratio[] = { 10/16, /* 16:10 AR */ + 3/4, /* 4:3 AR */ + 4/5, /* 5:4 AR */ + 9/16 /* 16:9 AR */ + }; + +char *efb_get_edid_preferred_mode(ScrnInfoPtr pScrn, int head) +{ + RADEONInfoPtr info = RADEONPTR(pScrn); + int i, status; + unsigned int length; + gfx_edid_t edid_buf; + unsigned char *data; + unsigned char *mode = "1280x1024"; + unsigned char pmode[10]; + unsigned char *vblk, *pblk; + unsigned int width = 0, height = 0; + + edid_buf.head = head; + edid_buf.version = GFX_EDID_VERSION; + status = ioctl(info->fd, GFX_IOCTL_GET_EDID_LENGTH, &edid_buf); + if (status == -1) { + return strdup(efb_default_mode); + } + + data = edid_buf.data = (char *)malloc(edid_buf.length); + status = ioctl(info->fd, GFX_IOCTL_GET_EDID, &edid_buf); + if (status == -1) { + return strdup(efb_default_mode); + } + + vblk = data + 8 + 10; /* skip header & product info */ + + pblk = vblk + 2 + 5 + 10 + 3 + 16; /* skip to preferred timing block */ + + for (i = 0; i < 4 && width == 0; i++, pblk+=18) { + if (!((pblk[0] == 0) && (pblk[0] == 0))) { + width = pblk[2] | ((pblk[4] & 0xf0) << 4); + height = pblk[5] | ((pblk[7] & 0xf0) << 4); + } + } + + sprintf(pmode, "%dx%d", width, height); + + return strdup(pmode); +} + +void efb_set_position(xf86CrtcConfigPtr config, BOOL swap, + int pos1X, int pos1Y, int pos2X, int pos2Y) +{ + int o; + xf86OutputPtr output; + char *value[2]; + char str[20]; + OptionInfoRec *p; + + int first = 0; + int second = 1; + + if (swap) { + first = 1; + second = 0; + } + + sprintf(str,"%d %d", pos1X, pos1Y); + value[first] = strdup(str); + sprintf(str,"%d %d", pos2X, pos2Y); + value[second] = strdup(str); + + for (o = 0; o < 2; o++) { + + output = config->output[o]; + + for (p = output->options; p->token >= 0; p++) { + + if (strcmp(p->name, "Position") == 0) { + if (!p->found) { + p->value.str = value[o]; + p->found = TRUE; + } + } + } + } +} + +void EFBPreInitOutputConfiguration(ScrnInfoPtr pScrn, xf86CrtcConfigPtr config) +{ + RADEONInfoPtr info = RADEONPTR(pScrn); + + Bool doubleWide = FALSE; + Bool doubleHigh = FALSE; + Bool swap = FALSE; + int offset = 0, position = 0; + int head0 = GFX_EDID_HEAD_ONE; + int head1 = GFX_EDID_HEAD_TWO; + char *str; + + str = xf86GetOptValString(info->Options, OPTION_DUAL_DISPLAY); + if ((str != NULL) && (strcasecmp(str, "Enable") == 0)) { + doubleWide = TRUE; + } + str = xf86GetOptValString(info->Options, OPTION_DUAL_DISPLAY_VERTICAL); + if ((str != NULL) && (strcasecmp(str, "Enable") == 0)) { + doubleHigh = TRUE; + } + + // do the output configuration here only if dual display is enabled + + if ((doubleWide == FALSE) && (doubleHigh == FALSE)) { + return; + } + + if ((doubleWide == TRUE) || (doubleHigh == TRUE)) { + char *outputOrder; + + outputOrder = xf86GetOptValString(info->Options, OPTION_OUTPUTS); + if ((outputOrder != NULL) && (strcasecmp(outputOrder, "Swapped") == 0)) { + swap = TRUE; + head0 = GFX_EDID_HEAD_TWO; + head1 = GFX_EDID_HEAD_ONE; + } + } + + if (pScrn->display->modes[0] != NULL) { + int mm; + char *modes; + int found = 0, done = 0; + for (mm = 0; pScrn->display->modes[mm] != NULL && !found; mm++) { + modes = pScrn->display->modes[mm]; + if (!strcasecmp(modes, "Auto") || !strcasecmp(modes, "None")) { + free(pScrn->display->modes[mm]); + pScrn->display->modes[mm] = efb_get_edid_preferred_mode(pScrn, head0); + found = 1; + } + } + } else { + pScrn->display->modes = malloc(2*sizeof(char *)); + pScrn->display->modes[0] = efb_get_edid_preferred_mode(pScrn, head0); + pScrn->display->modes[1] = NULL; + } + + if ((doubleWide == TRUE) || (doubleHigh == TRUE)) { + + char *mode, *token; + int width, height, position; + char value[10]; + xf86OutputPtr output; + + mode = strdup(pScrn->display->modes[0]); + token = strtok(mode, "x"); + width = atoi(token); + token = strtok(NULL, "x"); + height = atoi(token); + + free(mode); + + // + // check for stream offset + // + if (doubleWide == TRUE) { + xf86GetOptValInteger(info->Options, OPTION_STREAM_XOFFSET, &offset); + + position = width; + + if (offset != 0) { + position += offset; + } + + efb_set_position(config, swap, 0, 0, position, 0); + + } else { + xf86GetOptValInteger(info->Options, OPTION_STREAM_YOFFSET, &offset); + + position = height; + + if (offset != 0) { + position += offset; + } + + efb_set_position(config, swap, 0, 0, 0, position); + } + + // + // if display virtual dimension is specified in xorg.conf, leave it alone + // + if (!pScrn->display->virtualX || !pScrn->display->virtualY) { + if (doubleWide) { + pScrn->display->virtualX = width * 2 + offset; + pScrn->display->virtualY = height; + } else if (doubleHigh) { + pScrn->display->virtualX = width; + pScrn->display->virtualY = height * 2 + offset; + } + } + + } +} diff -r 00c1816630fe -r 605549b491ac open-src/driver/efb/sun-src/src/gfx_common.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/open-src/driver/efb/sun-src/src/gfx_common.h Mon Apr 25 13:38:53 2011 -0700 @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#ifndef _GFX_COMMON_H +#define _GFX_COMMON_H + +#include + +#define GFXIOC ('g' << 8) + +#define GFX_IOCTL_GET_IDENTIFIER (GFXIOC | 1) +#define GFX_IOCTL_GET_CURRENT_VIDEO_MODE (GFXIOC | 2) +#define GFX_IOCTL_GET_PCI_CONFIG (GFXIOC | 3) +#define GFX_IOCTL_SET_VIDEO_MODE (GFXIOC | 4) +#define GFX_IOCTL_GET_EDID_LENGTH (GFXIOC | 5) +#define GFX_IOCTL_GET_EDID (GFXIOC | 6) + +#define GFX_MAX_MODELNAME_LEN 36 +#define GFX_MAX_PARTNUM_LEN 36 +#define GFX_MAX_VMODE_LEN 48 + +#define GFX_IDENT_VERSION 1 +#define GFX_IDENT_MODELNAME 0x01 +#define GFX_IDENT_PARTNUM 0x02 + +#define GFX_EDID_VERSION 1 +#define GFX_EDID_BLOCK_SIZE 128 +#define GFX_EDID_HEAD_ONE 1 +#define GFX_EDID_HEAD_TWO 2 +#define GFX_EDID_HEAD_THREE 3 +#define GFX_EDID_HEAD_FOUR 4 + + +typedef struct gfx_identifier { + uint32_t version; + uint32_t flags; + char model_name[GFX_MAX_MODELNAME_LEN]; + char part_number[GFX_MAX_PARTNUM_LEN]; + char pad[100]; +} gfx_identifier_t; + + +typedef struct gfx_video_mode { + char mode_name[GFX_MAX_VMODE_LEN]; + uint32_t vRefresh; + char pad[96]; +} gfx_video_mode_t; + + +typedef struct gfx_pci_cfg { + uint16_t VendorID; + uint16_t DeviceID; + uint16_t Command; + uint16_t Status; + uint8_t RevisionID; + uint8_t ProgIF; + uint8_t SubClass; + uint8_t BaseClass; + + uint8_t CacheLineSize; + uint8_t LatencyTimer; + uint8_t HeaderType; + uint8_t BIST; + + uint32_t bar[6]; + uint32_t CIS; + uint16_t SubVendorID; + uint16_t SubSystemID; + uint32_t ROMBaseAddress; + + uint8_t CapabilitiesPtr; + uint8_t Reserved_1[3]; + uint32_t Reserved_2; + + uint8_t InterruptLine; + uint8_t InterruptPin; + uint8_t MinimumGrant; + uint8_t MaximumLatency; + + uint8_t pad[100]; +} gfx_pci_cfg_t; + + +typedef struct gfx_edid { + uint32_t version; + uint32_t head; +#ifndef _LP64 + uint32_t pad; +#endif + caddr_t data; /* pointer to the buffer that receives data */ + uint32_t length; /* length of the buffer. */ +} gfx_edid_t; + +#endif /* _GFX_COMMON_H */ + + diff -r 00c1816630fe -r 605549b491ac pkg/legacy/SUNWefbw.p5m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pkg/legacy/SUNWefbw.p5m Mon Apr 25 13:38:53 2011 -0700 @@ -0,0 +1,26 @@ +# +# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +set name=pkg.fmri value=pkg:/SUNWefbw@0.5.11,5.11-0.133 +set name=pkg.renamed value=true +set name=variant.arch value=sparc +depend fmri=pkg:/x11/server/xorg/driver/xorg-efb@0.5.11-0.133 type=require diff -r 00c1816630fe -r 605549b491ac pkg/manifests/x11-server-xorg-driver-xorg-efb.p5m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pkg/manifests/x11-server-xorg-driver-xorg-efb.p5m Mon Apr 25 13:38:53 2011 -0700 @@ -0,0 +1,40 @@ +# +# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +set name=pkg.fmri value=pkg:/x11/server/xorg/driver/xorg-efb@$(OSPKGVERS) +set name=pkg.description \ + value="Xorg video driver for Sun XVR-300, XVR-100, XVR-50 Graphics" +set name=pkg.summary \ + value="efb - Sun XVR-300, XVR-100, XVR-50 video driver for the Xorg X server" +set name=variant.arch value=sparc +dir path=usr/lib +dir path=usr/lib/xorg +dir path=usr/lib/xorg/modules +dir path=usr/lib/xorg/modules/drivers +file path=usr/lib/xorg/modules/drivers/efb_drv.so +legacy pkg=SUNWefbw arch=sparc category=application,graphics \ + desc="Sun XVR-300, XVR-100, XVR-50 Graphics Window System" \ + name="Sun XVR-300, XVR-100, XVR-50 Graphics Window System" \ + version=11.0.0,REV=2011.03.15 + +# Requires kernel driver for efb +depend fmri=pkg:/driver/graphics/efb type=require