Tag '1.0.0' created by Matthias Hopf <mhopf@suse.de> at 2007-11-30 00:34 -0800 Release 1.0.0 Changes since the dawn of time: Alan Coopersmith (1): Fix typedefs to work on Solaris Dongxu Li (1): Alternative approach to PLL calculation. Egbert Eich (185): Adding a README for the RadeonHD driver Skeleton for a driver for the ATI RADEON HD series Chipsets Minor formatting changes. Use fixed size type for register read. Make function names match English grammar. We only have one hardware entity for now. Use the default method to specify VRAM size. Break out option handling. Making some local functions static. Track option set status. Add RV515 pciid. Added initial support for ATOM Bios. Fixed bailout structure: uninit bios data and unmap mmio when needed. Converting defines of register addresses to enum. Moving function delcarations from rhd_regs.h to rhd.h. Added framework to query data from ATOM BIOS tables. Single entry point to ATOM BIOS subsystem. Clearified some names in atombios.c/h. Make HWCursor code backward compatible with non-RandR-1.2. Initial version of I2C handling code for R5xx and R6xx. Added support for AMD GPG profided AtomBIOS command table parser. First integration of I2C into common infrastructure. Added support for AtomBIOS exec, Int10, DDC on R6XX and Asic_Init. Introduced a different handling of VRAM scratch space initialization. Change to get rid of dependency on broken xf86i2cGetScreenBusses(). Removing call to ASIC Init for now as this messes up the system. Fixed memory allocation. Changed default Engine Clock and Memory Clock to 700MHz. Fixed Problem with clock value. Adding AddressProbe for I2C. Fixed call to ASICInit. Now we set up ATOMBios before memory sizing. Tested and fixed I2C on R5xx. Added ScanBus and DDC readout to I2C. Made AtomBIOS code optional, restructured Fb allocation. Added missing license and copyright headers. Added a scanbus option to scan all i2c buses on all lines. Adding shadow buffer handling. Cleaning up helpers. Get Default Memory/Engine clocks for AsicInit from AtomBIOS. Fixed ScanBus, reduced I2C delays. Added/fixed missing pieces in shadow support. Fixed ScanBus result reporting. Build fix problem introduced by removing a redundant command line arg. Added big fat warning when code gets build without AtomBIOS support. Better handling of verbose messages. Print message that tells if shadowfb is used. Adding AMD Copyright. Fix build to build with atombios.h but without parser. Turn on legacy int10 when no AtomBIOS parser is used. Adding AMD's atombios.h. Replaced the MAILINGLIST placeholder by actual ML address. Adding AMD's AtomBIOS parser. Merge branch 'master' of ssh://git.freedesktop.org/git/xorg/driver/xf86-video-radeonhd Fixed another missing \n. Fixed AtomBios/include -> AtomBios/includes. Added test for NetBSD. Fixed a type conflict when building with AtomBIOS parser. Removed some test code, restored original version. Added symbolic register and bit names for R5xx I2C regs. R5xx only have 3 HW DDC I2C lines. Added BIOS dumping to conntest. R5xx only have 3 HW I2C lines for DDC. Replaced bit values by symbolic names. Fixed a non-fatal typo in an enum name. Added debugging support for for HW I2C read. Fixed typo in debug message print function. Added missing braces. Fully eliminated all uses of regOR: use RHDRegMask() instead. More missing braces. Added I2C prescale calculation for R5xx. Updating README. Adding AtomBIOS support to conntest. Fixed order of magnitude of SCL, added correct prescale calculation for R6xx. Fixed I2C probing on R5xx. Put scaler value in hex. Fixed wording in README. Increase loop counter on I2C status poll loops. Replacing hex loop counter by decimal. Prepare code for connector table parsing. Cleanup in rhd_atombios.c: removed superfluous function arguments. Make local functions static. Add framework for connector table parser. Add function to print connector table. Add connector table parsing for the SupportedDevices Table (R5xx). Fixed sig11 in verbose mode. Fixed AtomBIOS HPD parsing for SupportedDevices table. If connector information from AtomBIOS cannot be obtained try to fall back to list. Add Object_Header parsing for connector tables for R6xx. Add some sanity checks on offset values and indices obtained AtomBIOS. Make debug message printing more consistent. Add support for ATOM_CONNECTOR_DEVICE_TAGs to connector table parser. Add device tags to connectors generated from the SupportedDevices table. Fix DeviceID to index mapping. Adding missing header file. Attempt to fix possible cause of a crash. Also adding more debug output. Removing warning about unknown card. Fix singed/unsinged mismatch. Panel information is currently not available. Therefore bail - do not crash. Replacing ObejectID.h with one that contains the correct license. Fixing error message... Fix a bug that prevents the identification of bogus table headers. Fix cursor vt switch handling including segfault. Increase loop counter in R5xxI2CStatus(). Add initial support to query LVDS_Info tables. Get LVDS panel timing from AtomBIOS. Don't validate the duty cycle on fixed device provided modes. If DDC fails try to get EDID or mode data from AtomBIOS. Change name of structure rhdConnectors (and friends) to rhdConnectorTable. Getting PLL limits from AtomBIOS. Approach reference divider from top (EXPERIMENTAL). Retrieve LVDS parameters from AtomBIOS. If no system specific information is available use values set. Fix segfault problem do to unzeroed DisplayModeRec data structure. Changing name of connector type enum to rhdConnectorType. Add more range validation of AtomBIOS offsets. Removing duplicate debug messages. DDC is required. Fail if I2C or DDC modules cannot be loaded. VGA resources should be disabled while the server is in OPERATING state. Fix compiler complaints about string length. Removed AtomBIOS test code. Add check for failed allocation. Fixed a minor memory leak in rhd_atombios.c. Fix more memory leaks. Fix deallocation order. Fix wrong setting of the I2C ARBITRATION bits for R6xx. Only initialize I2C buses which are really available in HW. Change CombineStrings() to AppendString(). Add add a sanity check for the SupportedDevices table. Use lookup table to find function and message information to AtomBIOS query. Added query for I2C_GPIO table. Fix build for the case that AtomBIOS or AtomBIOS parser are not present. Add support for libpciaccess. Let RHDAppendString() take care of freeing the old string. Set a (guessed) sane value for the default engine clock. Don't use rhdPtr->PciInfo->chipType as this doesn't exist with pciaccess. Test if structures are set up yet before destroying them. Set 'HaveDriverFuncs' AddDriver(), use base_addr instead of bus_addr for mapping. Load config.h _before_ checking the define. Make sure that config.h is included in every file that includes rhd.h. Set driver version in configure.ac to 0.0.2. Add I2C support for RS690. Cleaning up the EDID confusion: only free the EDID block when not needed. Don't call GetRec in PreInit() in the PCIACCESS case. Name all structs and enums in rhd_atombios.h. Clean up naming of local functions. Split ATOMBIOS_GET_PANEL_TIMINGS in ATOMBIOS_GET_PANEL_MODE and ATOMBIOS_GET_PANEL_EDID. Let AtomBIOS layer convert variables to correct unit. Unify and sanitize AtomBIOS layer variable, function and type names. Unify and consolidate PCI device lists for libPCIACCESS and non-libPCIACCESS builds. Modify handling of AtomBIOS LVDS misc parameter query. Add CompassionateData query. Reomved I2C bus scanning from X driver, integrated it in rhd_conntest instead. Sanitize name of atomBiosHandle(Ptr/Rec). Add RS690 DDC support to rhd_conntest. Document the -s option for rhd_conntest. Add some -verbose 7 messages. Preliminary AtomBIOS based output scaler implementation for testing. Remove obsolete macros. Remove static from rhdAtomSetScaler() for now. Remove DDC test as it hangs on some cards for unused buses. Corrected comment about DDC slave ordering. Added size checks to AtomBIOS connector table parser. Implement PCI BIOS access reenablement to read BIOS from ROM BAR on POSTed systems. Remove unused driver options. Enable LVTMA for panel on RS690. Make test for linux more portable. Test for __linux__. Fix fixable warnings. Muffle the compiler some more (fix initializer of list element). Change message for unknown card if we use AtomBIOS. Set Id member of struct rhdOutput to the proper enum type. Use correct variable for DDC speed setting on R6xx, fix some warnings. Changing default depth to 24bpp. Add a debug printout for R6XX_MC_VM_FB_LOCATION. Use more user friendly connector names. Format the connector name for TVout better. Disable framebuffer tiling. Fix memory offset for R6xx. Add a sanity check. Add debug output. Add debug output. Handle MCRead/Write differently. Add support for reprogramming of FB_LOCATION for R5xx and RV515. Adding rhd_mc.h to Makefile.am. Add MC handling to RandR. Fix wrong shift value which places top limit at the wrong place. Add an address probe function. Set color value for black for screen blanking. Split RHDModeInit() to separate funcs that don't need to be called on SwitchMode(). Provide a stub for I2CStop to prevent xf86I2CProbeAddress() from segfaulting. Evgeni Golov (2): Fixed message string for AtomBIOS parser disable. Fix up RHDCardIdentify bail-out message. Hans Ulrich Niedermann (52): Fix builds with srcdir != builddir. Add two forgotten header files to dist tarball. Fix spelling (use "SVIDEO" instead of "SVIDIO") Integer AtomBIOS Query reply: print decimal AND hex value Parse version number in configure.ac both for config.h and in Imakefile. Let git ignore files from imake build. Make PACKAGE_VERSION_* extraction more portable. Check if we can map VBIOS ROM and bail out if not instead of segfaulting. Change 'conntest' to 'rhd_conntest' in README. Test for missing XORG_ m4 macros at autoconf time. Add man page describing the most frequently encountered problems. Add missing man page files. Fix name: conntest -> rhd_conntest. Move PACKAGE_VERSION_* defs to a separate template file and simplify filter. Test for missing XORG_ m4 macros at autoconf time (part II) Have git ignore *.s and *.i files Remove unused redundant definition of SED var Remove unused include breaking non-x86 builds Cover all build aspects with imake+automake Add Luc Verhaegen's git_version.sh from xf86-video-unichrome Log git commit if source tree is git checkout Preselect both product AND component in bugzilla URLs README section on common build problems: missing XORG_* macros Remove monitor section advice from "known bugs" section Commit automatic update to radeonhd.man from rhd_id.c Add TOC to README Have conntest build require pci/pci.h and -lz Fix git_version.sh srcdir==builddir Do not recursively build rhd_conntest (imake) Adapt rhd_conntest build description Add rhd_randr.h to dist tarball. rhd_conntest: Shorter version msg (fit line?) git_version.h: More efficient and robust git use Use (II) prefix when logging version info git_version.sh: Robust error handling git_version.sh: Note git version in .h file Multiple git_version.sh cleanups Keep git commit info in dist tarballs Indentation fix Quieten imake compilation (git_version.sh) Document Option "RROutputOrder" in man page man: Work around RandR problems (disable it) I have only written the man page, not the driver. man: Add link to radeonhd wiki page man: Add link to bugzilla Get rid of redundant broken GIT_DIR hack Detect uncommitted changes with git 1.4.x Comment on all git calls' compatibility Add authors to man page. Add stubs documenting xorg.conf options Print warning if rhd_conntest is not built. Handle non-branch case of git workdir Ian Schram (1): Allow for spaces to occur in the path to the installation files. Joerg Mayer (1): Improve online help in rhd_conntest. Kyle McMartin (1): Fixed spelling typo: no inclusion of int10 when AtomBIOS parser present. Luc Verhaegen (143): Add autogen.sh and .gitignore Remove BAILOUT macro. Move option handling. Clean up IO and FB mapping. Fix segfault in option handling. Add videoRam option. Add RV530 pciid. For initial testing purposes, tell X that we support 1280x1024. Fix trivial BAR sizing bug. Disable VGA Mode and restore it. Do the first very rudimentary modeset. First actual modes working. Restore 1280x1024 as the possible mode. Add support for the primary DAC (DACA) Use internal FB address instead of PCI BAR address. Reverse order of memory address when logging Fb difference. Expand modesetting to do two DAC single fb dualhead. Get videoRam size from MMIO 0x00F8. Add support for multiple bitdepths. Add one or two pci ids... Fix 32bpp. RS600 is r4xx style modesetting so this doesn't need to be handled here. Fix R600 memory sizing and internal FB base. Add rhdPtr->scrnIndex, __func__, RHDDebug and RHDFUNC. Remove the RHDRegRead/Write/Mask dependence on rhdPtr. Fix includes for cursor. Initial split out of outputs. Mitigate some of the ->scrnIndex complexity through macros. Split out PLLs Depend on rhdPtr->CursorInfo instead of rhdPtr->swCursor.val.bool. Split out handling of the VGA compatibility hardware. We have no need for rhdLock/rhdUnlock functions at this time. Add CRT detection for DACA and B. Add hot plug detect subsystem. Add support for TMDSA. Make sure that we set up the viewport correctly. PLL: Invert Post divider selection logic. Add initial CRTC abstraction. Fill out DxModeValid. Add local copy of xf86CVTMode. Rework OutputsSelect to rhdModelayoutSelect. Add mode validation. rhdPtr->XOrigModes was stupid and superfluous: cull it. Fix FrameAdjusts. Add LUT handling. Fix my email address. Fix DPMS Add some very simplistic FB memory handling. Add connector handling. Fix the build: Add connector table for firegl v3400 Use atombios's FirmwareInfo PLL info for our PPLL calculations. Replace 2 0xFFFFFFFF values in an enum by defines. Fix the build of rhdI2CProbeAddress. Fix array overrrun in I2C code. M56 (0x71C5): Add basic support. Initial LVDS implementation for M56. Implement initial monitor abstraction. Add DDC channel for m56 laptop VGA connector. 18bit panel looks horrid without dithering, so set this up. Add quick and dirty IgnoreConnector option. Invert PLL calculation and fix EDID bandwidth bug. Beautification... rename struct rhd_* to struct rhd* Fit cursors in Crtc specific structs. Plugfest: add ddc to all known devices, add connector table where missing. Alter mode validation to properly catch fixed modes. Fix xf86snprintf warning by including xf86_ansic.h ShadowFB now on per default. Fix typo in RHDMonitorInit. Improve card structure to hold panel specific information. Expand the date for my copyright statement. Add H/VDisplay entries to the LVDS entry of the card table. Add conntest utility. Remove experimental checking. IDs: Add "Lenovo Thinkpad T60 (2007)" ID: add "Lenovo Thinkpad Z61m" ID: add "Asus EAX1650 Silent" ID: add Dell Inspiron E1505 ID: Add GeCube X1950 Pro ID: MacBook Pro 2.2 ID: Toshiba Satellite A100-773 Fix missing \n in rhdModeLayoutSelect ID: Asus Z96j ID: Lenovo Thinkpad T60 (2008) LVTMA: alter M56 check to only stop anything >= RS690 ID: Toshiba Satellite A100-237 ID: Dell Inspiron 6400 Remove panel resolution entries from the id table. Adjust active output selection to better cope with missing panel EDID. ID: HP/Compaq nc8430 ID: Dell Inspiron 9400 ID: Fix Asus z96j to read Asus W3J/Z96 ID: MSI RX1650 Pro ID: Powercolor X1800XT ID: Fix DDC bus for Lenovo Thinkpad T60p. ID: ATI Radeon HD 2600 XT ID: Sapphire X1650 Pro AGP ID: Added docking station for Lenovo Thinkpad T60 (2007) Fix broken fp calculation in checking for reduced blanking. Fix PLL on rv6x0 and X1300. ID: Reverse connectors on ATI Radeon HD 2600XT DDR4 conntest: fix logical error in LVDS RHDLVTMAInit: CARD16 while value is used as CARD32. Fixed. RHDLVTMAInit: fixing unfreed structures. Rename ConnectorTable to ConnectorInfo. RHDConnectorsInit: fix allocation/freeing of ConnectorInfo and names. RHDLVTMAInit: Fix retrieval of panel electrical/timing information. Get rid of global rhdPanelMode. RHDCursorsDestroy: Null Crtc->Cursor, not Crtc itself. PLL: Add PPLL_CONTROL value for x1650. Fix enabling of Monitor->ReducedAllowed. Card ID based workaround for MCS-59 connector. Fix PLL for R5xx mobilities and Rv6xx. Improve detection of reduced blanking monitors. RHDGetVirtualFromModesAndFilter: second return value not checked. MCS-59 doesn't exist. It's DMS-59. Be smarter about the monitor section by selectively ignoring it. Move restoring of PLL spread spectrum until after PLL Set. Properly fix 1650Pro PLL gain control. Improve the ConnectorType handling when sensing. Add a flag member to the card structure. LVTMA TMDS: Add initial TMDS support for r5xx. TMDS B: Add table with macro control values. TMDSA: create a table for electrical adjustments. ID: Fix up Macbook pro. LVTMA: Add TMDSB support for R600, Rs690 and Rv6x0. Connector table fix for Sapphire HD2400XT. TMDSA: actually use IDCLK. PLL: Add r6xx mobilities to PLLElectrical. LVTMA: R690_NOT_DOCUMENTED is just REG_TEST_OUTPUT LVTMA: use some nasty macros to hide the shift in the register space. TMDSB: unsplit code for TMDSB. LVDS: Allow R600. Warning fix: CARD32 -> unsigned int again. Connector table: HD2400XT was actually an X1550. Patchlevel bump: 0.0.4. CRTCs: implement a Blank hook. TMDSA/B: Add macro control values for 724B. TMDSA/B: Fix some more macro control values. TMDSA: add macro control for 0x7142. Fix some messages: like number of scanlines available. Broken connector table: GeCube Radeon HD 2400 AGP. Connector Table: FSC Amilo PI1536 has no HPD on DVI. Marcin Garski (1): Add missing space after 'Bandwidth:' in log output. Matt Haught (1): Fix AtomBIOS build on FreeBSD. Matt Kraai (12): Fix the misspellings of "whether" Fix the spelling of RHD_UNKNOWN. Fixed the atombios-parser option. Fixed a wrongly applied patch. Sorry Matt. Fix gitignore properly for the conntest Makefile. Fix tests for MonRec members by including the right CFLAGS. Call RHDMonitorInit() even if there is no DDC for the Connector. Use Crtc2 when trying to turn on the second CRTC. Ignore TAGS. Remove the semicolon from the RHDFUNC definition. Remove the semicolon from the RHDFUNCI definition. Don't access pEnt after deallocation. Matthias Hopf (117): Added R580. Reordered symbols in id order. mmap size calculation correction. Hardware cursor support. Round x coords in ViewPortStart. Fix HW cursor on Crtc2. Fix HW cursor with virtual. Use new RHDPTRI macro for accessing RHDRec by scrnIndex. Less typing. Implement full cursor save/restore including image. Typo & type fixes. Fix typo in cursor state save. Enable cursor save&restore on VT switch. Upload cursor image again on EnterVT. Fixed ambiguous else. Mainly reverted commit 0a546480a5c2e0c66f746a91cb0b5f592c06b357. Move Cursor Save & Restore to right places. Nuke HideCursor on LeaveVT. Only save cursor image if address is in mapped memory range. Cleanup: cursor.h no longer necessary. Fix compilation (oops). Also saving cursor does not depend on CursorInfo. Correct cursor image saving. On reloading cursor, do not only upload image, but also set cursor address. Cursor cleanup: Move functions to right place. Adjust comments. Cursor cleanup: Nuke export of bit-banging interface. Cursor cleanup: Moving all locks to interface functions. Only save cursor if size is within limits. Cursor cleanup: structure deallocation now in RHDFreeRec. Nuke VT switch cursor saving code. Added tons of extra Warning flags. Make CCFLAGS user-customizable again. Nuke unnecessary redirection. Fix pciaccess compilation. Nuke unnecessary array existence check. Fixing uninitialized elements (noncritical). Don't check unsigned for <0. Fix signed/unsigned comparisons. Nuke unnecessary return. Fix warning flags for compilation. Merge branch 'master' of ssh+git://git.freedesktop.org/git/xorg/driver/xf86-video-radeonhd Spell correction. Abstracted CC flag detection into macro for further use. AtomBIOS related source files need different CFLAGS due to stdc99. Initial RandR framework. AC_SUBST RANDR_VERSION - in case it's ever needed for compiling rhd_randr.c Actually use RandR functionality in main driver if available. Include rhd.h for struct rhd{Crtc,Output,Monitor} declarations. Add ASSERT() macro, which bails out nicely, restoring video mode. Use ASSERT() instead of assert(). Added RandR entry point for mode validation. Added Mode Validation and necessary dummy functions. Add <string.h> to files using memcpy. Add <string.h> to files using memcpy. Trivial fix for dummy function returning something. Add NoRandr option that disables use of RandR based modesetting. Move RandR initialization to right position. Nuke unnecessary SetDesiredModes. Whitespace + indentation cleanup. Fix use of uninitialized variable. Don't set up regular mode structures if RandR is active. Mode setting. Save cursor for non-active screens as well. Ignore even more standard monitor / mode handling in the RandR case. Added DPMS handling. Using right mode. Improved debug output. Moved RandR init further around. Make compilation w/o RandR 1.2 support possible. Add missing stdio.h. Don't include crtcs in check during mode_valid, only in fixup. RandR may give us a mode without a name - work around that. Disable monitor handling in ModeSet for now. Cleaned up comments. Do NOT update virtualX/Y via rhdRRXF86CrtcResize callback. Print out RandR state for debugging purposes. setupCrtc() when called from ModeFixup() should not ASSERT anything. *Dpms functions may activate / deactivate Crtcs and Outputs. Only set Mode of Output currently processed, not of all Outputs. Monitor is handled by RandR completely transparently. Split up output handling code into standard RandR functions. Move FrameSet() to the correct position. Merge branch 'master' into initial-randr Moved header file inclusion (rhdConnectorType needed for rhd_output.h). Fix missing ModeLayoutSelect() in noRandR case. Improved RHDDebugRandrState. Also logs only and does not spit on stderr. Don't shut down outputs that have active connectors attached. Call FrameSet() in AdjustFrame() only in the non-RandR case. Nuke include of sys/types.h. Added Radeon X1250. Reordering ScreenInit(). Now closer to original order again. Fixes 16bit. Cleanup. Add potential RandR 1.3 output properties. Don't set CRTC to NULL when disabling shared outputs. Merge branch 'master' into initial-randr Nuke '..' from git id so copy/paste to gitk actually works. Upload and set cursor images independently of Crtcs being active or not. Added RROutputOrder option to setup Xinerama screen order. Add 'RandR' string to messages where it was missing. Bump to 0.0.3 Merge branch 'initial-randr' Check rout->Connector->DDC before using it. Nuked xf86Parser.h Keep EDID data for later usage. Use own monitor & EDID functions. Add rhdCrtcUnlock for later usage. Add ForceReduced and RRUseXF86Edid options. Nuke another xf86Parser.h Fix Imakefile (rhd_randr was missing). Better detection of RandR 1.2 interface on compile time. Add quirks for broken Mode names and uninitialized HSync & VRefresh. Added quirk for xf86RandRModeConvert not initializing Mode with 0 Improve naming scheme for RandR connectors. Move VGADisable() and MCSetup() to ModeInit(). Initialize rhdPtr->randr before calling xf86InitialConfiguration(). Reworked output detection. Using HPD and Sense now. Assume that a panel is always connected. Handle preferred modes correctly. Blank/unblank in SaveScreen no matter whether Crtc is active or not. Call xf86RandR12PreInit. Print RR output names after consolidateRandrOutputNames(). Fix test for other RRoutputs using same Output on disabling it. Print Crtc offsets in debug message as well. Add IgnoreHPD option. Much improved README and man page. Bump to 1.0.0 Matthieu Herrb (1): Fix Atombios build on OpenBSD. Pierre Pronchery (1): Fix string array typo. Stefan Dirsch (13): Chipset name review. Added missing chipsets according to fglrx driver. Build support for imake based X.Org releases. Added missing chipsets to rhd_conntest. Forgot two Device IDs in rhd_conntest. Adjusted RHDIdentify() to chipset name review and new Device IDs. Removed RS600 IDs, since these are still R400 based and therefore Fixed INCLUDES when using X.Org SDK. Added some new R600/RV610/RV630 IDs. Added Imakefile for driver manual page. Added ID for Radeon HD 2600 LE (RV630). Generate the manual page properly on imake-based systems. Add <stdio.h>/<strings.h> to files using snprintf/strcasecmp. Yanko Kaneti (1): Fix paths to include files ('make distcheck' works now). -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org