%define tarname   xf86-video-radeonhd
%define moduledir %(pkg-config xorg-server --variable=moduledir)
%define driverdir %{moduledir}/drivers
%define tarball  %{tarname}-%{version}

Summary:       Xorg X11 radeonhd driver for AMD GPG r5xx/r6xx Chipsets
Summary(ja):   Xorg X11 radeonhd ドライバ - AMD GPG r5xx/r6xx チップセット用
Name:          xorg-x11-drv-radeonhd
Version:       1.3.0
Release:       5%{?_dist_release}

License:       MIT
Group:         User Interface/X Hardware Support
URL:           http://www.x.org/
BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root

Source0:       ftp://ftp.x.org/pub/individual/driver/%{tarball}.tar.bz2

Source10:      radeonhd.xinf

ExcludeArch:   s390 s390x

# EL5 does not have pkgconfig in default buildroot. Does not hurt others.
BuildRequires: pkgconfig

BuildRequires: pciutils-devel
BuildRequires: zlib-devel

BuildRequires: xorg-x11-server-sdk  >= 1.4.99
Requires:      xorg-x11-server-Xorg
Requires:      xorg-x11-server-utils


%description
X.org X11 radeonhd driver for AMD GPG r5xx/r6xx Chipsets.

%prep
%setup -q -n %{tarball}

%build
%{configure} --with-xorg-module-dir=%{moduledir} --disable-static
%{__make} %{?_smp_mflags}

%install
%{__rm} -rf "%{buildroot}"
%{__make} install DESTDIR="%{buildroot}"
%{__rm} -f "%{buildroot}%{driverdir}/radeonhd_drv.la"
%{__install}    -m 0755 -d                          "%{buildroot}/%{_bindir}"
%{__install} -p -m 0755 utils/conntest/rhd_conntest "%{buildroot}/%{_bindir}/rhd_conntest"

%{__install} -d $RPM_BUILD_ROOT%{_datadir}/hwdata/videoaliases/
%{__install} -m644 %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/hwdata/videoaliases/

%check
%{__make} check || %{__make} check VERBOSE=yes

%clean
%{__rm} -rf "%{buildroot}"

%files
%defattr(-,root,root,-)
%doc README COPYING
%doc ChangeLog
%{_bindir}/rhd_conntest
%{driverdir}/radeonhd_drv.so
%{_datadir}/hwdata/videoaliases/radeonhd.xinf
%{_mandir}/man4/radeonhd.4.gz


%changelog
* Wed Nov 02 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.3.0-5
- rebuild with xserver-1.11.1.902

* Mon Feb 28 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.3.0-4
- rebuild with xserver-1.10.0

* Sun Nov 07 2010 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.3.0-3
- rebuild with xserver-1.9.2

* Sun Mar 28 2010 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.3.0-2
- rebuild with xserver-1.8rc

* Thu Nov 19 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.3.0-1
- new upstream release

* Mon Apr 13 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.5-1
- new upstream release

* Mon Mar 23 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.4-2
- rebuild with X server 1.6.0

* Sun Dec 21 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.4-1
- new upstream release

* Mon Oct 20 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.3-1
- new upstream release

* Sun Jul 06 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.1-2
- fix %%files

* Wed Jul 02 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.1-1
- new upstream release

* Sat May 10 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.1.0-1
- initial build for Vine Linux

* Fri Apr 04 2008 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.1.0-0.7.20080404git
- Do not create fedora snapshot git branch unless necessary
- New snapshot (upstream commit db2c3948d5a398047b3a881f6f88541dc963d22e):
  - db2c3948: Fix LVTMA code to also handle single link DVI correctly.
  - 55e3b21e: HDMI Type A is single link DVI while B is dual link.
  - d53f2201: Add source select to DDIA block.
  - be9055f0: Fixed argument order to rhdAtomGetTableRevisionAndSize().
  - 1623f86f: Added missing rhd_ddia.c/rhd_ddia.o to Imakefile.
  - 186c345c: Print output name for sensed type.
  - d7d63b25: Print sensed type also for RandR.
  - 6d628f56: Make debugging output of HPD verbose about the result.
  - 811b0cd6: Added quirk table entry for a different Sapphire X1300
  - 89cfb738: Add support for RS690 DDIA digital block.
  - b6418a97: Add debugging aids.
  - c8ad2599: Reset CRTC horizontal counter replication.
  - bd11d76a: Handle AtomBIOS TMDS PLL parameters correctly.
  - 806d9536: HDMI Type B connector is dual link capable.
  - ae3171b9: Add TMDS PLL macro control values for M54 (0x7145).
  - 19a6eb46: Chipset name review.
  - 96f36339: Fixed imake build.
  - 3d62e9a1: Cosmetics: Move RV620/635 to a more sensible position in our devices list.
  - 9de85904: RHDPLLsInit: PLL2: Add missing " else " in "if () {}{}"... Duh.
  - 00f182d6: Use correct option name for (yet unused) TVMode option.
  - 98d328b0: Fix endless loop.
  - 427d9553: If available read panel dithering parameters from AtomBIOS.
  - c336508e: Remove DVI_DUAL as a type which can be detected by load detection.
  - bf8bda88: Make variable and enum names more consistent.
  - db0d6058: Fix a memory leak.
  - 098cf71d: Make test for DIG2 more consistent.
  - 46a40c82: Add #ifdef wrappers around AtomBIOS related code.
  - 54f491f9: Add AtomBIOS based UNIPHY support for RV620/635.
  - 2d81ffc7: Fix a wrong type in ATOM_ANALOG_TV_INFO in upstream version of atombios.h.
  - cab03118: DxCRTC: Fix disabling check.
  - 52f04a7f: TMDSA: Fix sensing with respect to duallink.
  - 42d3201b: PLL: further fall-out of removal of validation callback for our hw.
  - 8f499c38: DVI is on TMDSB not LVDS.
  - 56a264f8: Set Connector element already in rhdRROutputDetect().
  - 478bda79: Fix issues with DDC on RV620/635.
  - e5dddbc2: Fix issues with DAC load detection on RV620/635.
  - 5596d06d: Fix issues with DAC load detection and erronous DDC detection on RV620/635.
  - c9ccc4c4: Resolve unknown registers.
  - aa7037a7: Remove stale structure elements.
  - dfe36048: Changed heuristics for encoder link enabling.
  - 153331e8: Properly restore Encoder and Transmitter.
  - 6742f79e: RV620: Add Pixelclock support.
  - 807e525a: Implement the hardware level scaling code.
  - fd6a7abf: Restructure FMT block handling.
  - 2e1f55b0: Consolidate handling of dual link TMDS displays.
  - f0256f38: List explicite arguments for FMT block programming.
  - 59de4071: Fix identification of end-of-code table data tables and GoldenSettings search.
  - b3df388f: Add RV620/RV635 devices.
  - c13650e6: Add KLDSKP_LVTMA and UNIPHYs to connector handling.
  - 0dee42c5: Add support for new DIG blocks on RV620/635.
  - 8dabb69a: Fix structure names in rhd_output.c.
  - 80fb6b3f: Fix copy-over artefacts from rhd_conntest.
  - 252491e4: Adding KLDSKP_LVTMA and UNIPYA/B as output types.
  - 6dab67a8: Add RHD_CONNECTOR_DVI_SINGLE to be able to mark a single link connector.
  - abb188fe: Separate query for temporal and spatial dithering.
  - 4ec30282: Add more verbose output on GoldenSettings matching.
  - a0c11368: Add support enumerated object IDs to the connector table parser.
  - b280b417: Support for TMDSA dual link load detection (untested!).
  - dec87ba6: Add support for dual link DVI panels (untested!).
  - cf8eea25: Add support for two new ObjectIDs required for RV620/635.
  - 55ce4f82: Added own version of AtomBIOS getConditionalGoldenValues().
  - 283c2d2e: Fix GPIO routing for DDC in RV620/635.
  - d499a616: Fix GPIO routing for DDC for RV620/635 in rhd_conntest.c.
  - 8de4cd9a: Locate data tables embedded in AtomBIOS command tables.
  - e29024d9: Consolidate load detection for R5xx/r6xx in rhd_conntest.
  - f021c0cf: Add support for DAC load detection and I2C for RV620/RV635 to rhd_conntest.
  - 481df402: Add stubs for the PLL subsystem.
  - 3ba1c093: Add support for the DAC output subsystem for RV620/RV635.
  - b08e64ec: Add I2C subsystem support for RV620/RV635.
  - 089801d4: Add RV620/RV635 PCI IDs.
  - 47298a34: Add support for sensing and programming different analog outputs.
  - 2d42e5b7: Add monitor support for TVs.
  - 8f06626d: Add an option to pass the TV standard to override boot default.
  - 3fe49f2a: Fix spelling of 'Supp(p)orted' to match the fixed spelling in atombios.h.
  - 2bcabe12: Add parsing of TV releated data tables to the AtomBIOS support.
  - 726f6da1: Add TV detection do DAC load detection.
  - e1605dfb: Be more verbose about fb parameters.
  - 5163b9fb: Get and store verbosity level.
  - 00e1b025: Restore original order of CRTCRestore and VGARestore.

* Sat Mar 01 2008 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.1.0-0.7.20080301git
- Add dependency on xorg server on F9 to prevent ABI compatibility issues (#431176)
- Reflect R5xx partial 2D acceleration support in README.fedora
- New snapshot (upstream commit 8c6d1b46b70ae19fafb5484c238a74cca18d5990):
  - 8c6d1b46: conntest: add new ids.
  - 294cf1f6: Fix test for RS6XX in RHDMCSetup().
  - 1b3f3c9c: Add connector table flag for X1400 (0x7145, 0x1297, 0x3058).
  - a23b1123: Loop over all CRTCs when shutting down memory access.
  - 8432cb08: Add quirk table entry for Diamond Viper Radeon X1650 Pro
  - 5ba5f4b5: Include description for acceleration options.
  - eee9b718: Fix typo in patch adding DradonFlyBSD support.
  - f89bac58: Add support for DragonFlyBSD.
  - 1223e40a: Add debugging to rhd_conntest.c
  - 1e8637b1: Changing R6XX_MC_VM_MISC_OFFSET to R6XX_HDP_NONSURFACE_BASE.
  - 854ce3b2: Make DDC for panels work on MacBook Pro's.
  - 247d4263: Set up GPIO pin HW access for DDC testing in rhd_conntest.
  - 23a47ec0: Restore VGA after restoring the CRTCs.
  - 74eacf3e: Make sure GRAPH and CRTC engine are disabled before changing surface.
  - 2b16734b: Set GPIO pins to be HW driven on R5xx for HW controlled I2C.
  - 2feff5cb: Add wait for memory idle state.
  - e0d58784: Handle LVTMA_TRANSMITTER_ENABLE identically on R5/6xx.
  - 1849092e: Add connector information for a Sapphire Radeon HD 2600 PRO AGP (PnPID: 0x9587:0x1002:0x0028).
  - 7527df07: Revert "PATCH: Report PANEL as disconnected when no modes are available"
  - 3d29d4ce: PATCH: Report PANEL as disconnected when no modes are available
  - cd6a4b89: typo fix in DPI guessing code
  - 1a503c59: Update ObjectID.h
  - 8640be8e: Update atombios.h

* Sat Feb 16 2008 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.1.0-0.6.20080216git
- New snapshot (upstream commit a9af866ae712a0048d374dc640e482d1f4ce8859):
  - a9af866a: Prevent endless loop in connector table parser.
  - 80c7c9e5: Fix device ID for 0x7187, 0x174B, 0x3000 in cards table.
  - bef7f09c: Ask people to not only send in their log file but also to describe their problem.
  - bde5fbbf: Added 'HPD swap' flag for  0x7187, 0x174B, 0x300.
  - 7606be1a: Fully implement the SaveScreen() function.
  - 748de840: VGA: bitten by pScrn->videoRam in kB instead of B again.
  - cbbd54a2: Fix blaning problem in bug #13853.
  - f37d4cb9: Don't make assumptions about DDC clk line on RS690 when AtomBIOS is not available.
  - dc519eb2: Need to include string.h in r5xx_exa.c

* Sun Feb 03 2008 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.1.0-0.5.20080203git
- New snapshot (upstream commit caa10014d115a49a59b4a2aef6ce36a4e615556a):
  - Basic EXA/XAA for R5xx
  - Add PowerColor X1550, PCP X1600 400M/500E, R680 (HD3870 X2)
  - 7cab021c: Improve FB handling
  - e0cfbcd5: Add AccelMethod Option and related handling
  - 5829bff7: TMDSA: Add control value for 71C4
  - 7cb27bca: Add RHD_CARD_FLAG_HPDOFF flag, improve quirk entries for T60p
  - 32d1b4d9: If no EDID is available, assume 96dpi on the first (preferred) mode
  - ad50eaa0: Correct order of mask and value in ROM access code
  - 0f066c20: Implemented PLL functions for CAIL, fixed MC
  - 361ba486: Change heuristics to check for an unPOSTed card
  - 72e7b062: Fix some issues when reading PCI ROM on POSTed systems
  - a412d582: Read PCI BIOS on secondary R5xx cards

* Thu Jan 03 2008 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.1.0-0.3.20080103git
- New snapshot (upstream commit 4e488a349c862da2e27f6025d376fb2b63db3bf9):
  - Enable FB location fix for r5xx.
  - Fix PLLControlTableRetrieve() loop.

* Fri Dec 28 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.1.0-0.2.20071228git
- New snapshot (upstream commit fcf15c8facb7c2c1a4a2513f3f84537f3f35c6a1):
  - (Some?) RV670 support
  - c036b819: Only report unknown cards IF they have issues.
  - b9277bfc: Check for loaded fglrx kernel module.
  - 765f5972: Man page describes all RandR properties
  - 2b3928c6: Fix "messed up colours" issues after suspend/resume
  - ...

* Wed Dec 19 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.0.0-0.4.20071219git
- New snapshot (upstream commit 861debbf8d649ce09d53d5880f819757ac9c7814)
  - 861debbf: Make the driver build with the latest ustream git server sources again.
  - 9120f95f: Delete a spurious git_version.h.new when doing make clean.
  - e98195bd: Don't fail immediately when git-rev-parse fails.
  - 6d9a6709: IDs: Asus M2A-VM should now no longer need a connector table.
  - 521bcace: DxGRPH: Fix graphics engine colour issues (hopefully).
  - 47f8a6f7: Add support for HDMI connectors.
  - 21e1c6c4: Get EDID block for panels from AtomBIOS even if there is a special Mode.
  - 492e94c3: LVDS: Fix 18/24 bit dithering and disable spatial dither.
  - 55f89f69: LVDS: Fix FPDI handling.
  - ef51931a: HPD pin swapping logic.
  - 9741c5be: TMDSA: properly add macro control for 0x7149 (M56)
  - dcfd91c2: TMDSA/B: add macro control values for 0x71C6 (RV530)
  - c784c92a: TMDSA: add macro control for 0x7147 (M56)
  - 5acefe5c: ID: 0x724B: Sapphire Radeon X1900 GT
  - 1a1d110f: Restore: Fix VGA textmode restore when VSYNC length is 0.

* Wed Dec 12 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.0.0-0.3.20071212git
- New snapshot (upstream commit b991fe3d884a51e236f895c41b0ba1b06127f7dd):
  - b991fe3d: DACs: Properly set up and save/restore SYNC_SELECT.
  - bb12148c: Added Asus M2A-VM (RS690 based) to quirks table.
  - 87f8f8e9: Add Gigabyte HD 2600 XT to quirks table.
  - b0cb8aec: Don't check for connector type for DMS-59 detection (RandR case).
  - affbdf54: Additional checks for cursor size in UseHWCursor().
  - 09b4dea7: Only reload cursor image if there is one.
  - dc7fe476: Broken connector table: GeCube Radeon HD 2400 AGP: proper fix.
  - ae46a18d: TMDSA/B: 9587 electrical values.
  - 030f715c: Fix 13509: Xserver crash when RandR finds no modes.
  - c01edd52: Improve scanning of panning area specification. Pan to area on setting it.
  - 42a07a0d: Re-create Atoms for properties in CreateResources.
  - 6d0c7c32: Add panning in RandR mode.
- Ship new ChangeLog file.

* Sun Dec 09 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.0.0-0.2.20071209git
- New snapshot (upstream commit e399d16597e30a6c53c8f70aa122285615fe7d08)
  - Fix blank screen occuring in some cases.
  - Initial RS600 support.
  - Sync and LUT fixes.
  - Add useful DPI calculation.
- Relax xorg-x11-server-utils requirement: Only for F-8 and later, no %%{dist}.

* Fri Nov 30 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.0.0-0.1.20071130git
- New snapshot (upstream commit 9fe776edf44c40d06e0059878df4f37391409c66 aka 1.0.0)
  - Significantly improve README and radeonhd(4) man page.
  - Add a number of connector table workarounds.
  - Several messages fixed or toned down.

* Thu Nov 29 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.4-0.2.20071129git
- New snapshot (upstream commit 8b1b8bfb21d2d86780cb4e02abc813578daa24bd):
  - RandR 1.2 support with hotplugging of monitors.
  - R600 LVDS: RS690M, M72, M74 and M76 devices.
  - Fixed "white screen" bug.
  - Numerous fixes and new support for features.
- Preserve source file timestamps where possible.

* Fri Nov 16 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.2-0.18.20071116git
- New snapshot (upstream commit dbb073b8b314264e311c3a1ebecd13d93e9627a6):
  - Macbook Pro PCI ID based workaround for awkward AtomBIOS connector table.
  - TMDSA: create a table for electrical adjustments.
- Fix bug submission URL in README.fedora.

* Tue Nov 13 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.2-0.17.20071113git
- New snapshot (upstream commit 6f1800ca52531f5baf3df2e65a7bbd93e4b1e637):
  - LVTMA TMDS: Add initial TMDS support for r5xx.
  - TMDS B: Add table with macro control values.
- Loosen requirements on xorg-x11-server-{Xorg,sdk} from 1.3 to 1.1 (FC6, EL5).
- Require pkgconfig for building (not in EL5 default buildroot).
- Adapt references to rhd_conntest in filesystem.
- Fix git:// URL in README.fedora.

* Sun Nov 11 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.2-0.16.20071105git
- Updated README.fedora.
- Improved git commit log message.
- First F-7 and F-8 builds.

* Mon Nov 05 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.2-0.15.20071105git
- New snapshot (upstream commit e9c24f662860229440dc61ecbae22e7d7c74d442):
  - Improve online help in rhd_conntest.
  - Use correct variable for DDC speed setting on R6xx, fix some warnings.
  - Add git version to program output (we emulate that).
  - Ship rhd_conntest source, and build it (we also install it).

* Tue Oct 31 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.2-0.14.20071031git
- New snapshot (upstream commit ad599c4436c64b11d18c89da6a684f5241979a96):
  - Fix 1650Pro PLL gain control.
  - Improve connector handling.
- Stow away radeonhd.xinf generator for possible later use.

* Tue Oct 30 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.2-0.13.20071030git
- Do not #include <sys/io.h> in rhd_conntest.c (fix PPC build).

* Tue Oct 30 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.2-0.12.20071030git
- New snapshot (upstream commit f3a2530cea981c6b4c88ec85093032ea152ed47f):
  - #include standard headers in corner cases (supposed to fix FC6 build)

* Sun Oct 28 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.2-0.11.20071028git
- New snapshot (upstream commit 604bfb02cefa5f56b40aea2dc3256f09836121a4):
  - Added ID for Radeon HD 2600 LE (RV630).
  - Be smarter about the xorg.conf monitor section by selectively ignoring it.
  - Fix mode instability when returning to VT on some mobilities.

* Thu Oct 25 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.2-0.10.20071025git
- New snapshot (upstream commit d8cb8a2a8315f86fae0266f58ee30b609c81d510).
- Remove man page patches (man page is upstream now).

* Tue Oct 23 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.2-0.9.20071023git
- New snapshot (upstream commit 8699deaba2c920a3df35acfea49360888868becb).
- Add bug report section to README.fedora.

* Sat Oct 20 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.2-0.8.20071020git
- New snapshot (upstream commit 3579bdddd95dc6f129e57bcf05cbd8b9b375940f).
- Cleaned up snapshot script.
- Package rhd_conntest utility when building snapshot package.
- Add simple man page.
- Add README.fedora file.

* Wed Oct 17 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.2-0.7.20071017git
- New snapshot (upstream commit d03841b4950b3b827b3c42507e01767d0569391f).
- Use upstream's version 0.0.2.
- Trade in ThinkPad backlight key fix for non-broken mode on lid event.

* Mon Oct 15 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 0.0.1-0.6.20071015git
- Hard-code version at 0.0.1 until upstream have figured out what they want.
- Names of snapshot tarballs now contain timestamp.
- Static definition of %%{date}, optionally updated by snapshot script.
- Non-executable snapshot script.

* Mon Oct 15 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.1.1-0.5.20071015git
- Use %%{driverdir} where possible.
- Include xorg-x11-drv-radeonhd-snapshot.sh script in SRPM.
- Trimmed Description.
- Removed unnecessary -n from %%files.
- Removed ".fc8" from changelog entries.
- Improved comment on %%define snapshot.

* Mon Oct 15 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.1.1-0.4.20071015git
- New snapshot (needs less patches).

* Sun Oct 14 2007 Hans Ulrich Niedermann <hun@n-dimensional.de> - 1.1.1-0.3.20071014git
- Initial Fedora RPM package.
