1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
|
2006-04-27 Eric Anholt <anholt@FreeBSD.org>
reviewed by: Michel Dänzer <michel@daenzer.net>
* src/radeon_accel.c: (RADEONEngineFlush), (RADEONEngineReset):
Bug #6761: Fix font rendering in non-DRI mode by replacing
RB2D_DSTCACHE_* with RB3D_DSTCACHE_*. The RB2D versions are read-only
mirrors of the RB3D. This is masked when DRI is enabled because the DRM
uses the right registers in its flushing.
2006-04-26 Dave Airlie <airlied@linux.ie>
* src/radeon.h:
* src/radeon_dri.c: (RADEONDRIMapInit):
* src/radeon_driver.c: (RADEONMapMMIO), (RADEONUnmapMMIO),
(RADEONPreInit):
Make the ATI driver use the PCI BAR size to determine
the MMIO register aperture size. Otherwise it tries to
overmap things if they are up near the end of memory.
2006-04-26 Eric Anholt <anholt@FreeBSD.org>
* src/radeon_exa_render.c: (RADEONGetBlendCntl),
(R100CheckComposite), (R100PrepareComposite), (R200CheckComposite),
(R200PrepareComposite):
Add support for some component-alpha operations (InReverse, OutReverse)
necessary for testing upcoming general component alpha acceleration
assistance in EXA. Tested with rendercheck on an r100.
2006-04-25 Eric Anholt <anholt@FreeBSD.org>
* configure.ac:
Use a CPPFLAGS with XORG_CFLAGS so that the exa test can actually find
its headers and not fail. Also correct some nearby spelling.
2006-04-24 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_driver.c: (RADEONInitCrtcRegisters),
(RADEONInitCrtc2Registers):
Fix enabling of external VGA output on some cards with dual entity
setup instead of MergedFB. This was broken due to bogus manipulations
of a register between the 2 entities. This fix is a big "violent" in
that it always enables the analog output regardless of what is
plugged. It should work though (at the expense of some additional
power consumption). A proper fix should be easy to do once Alex gets
his output mapping rework in.
2006-04-21 Dave Airlie <airlied@linux.ie>
* src/radeon_driver.c: (RADEONRestoreMode):
Bugzilla 6672: fix interrupts on radeon since memmap changes
2006-04-21 Dave Airlie <airlied@linux.ie>
* src/radeon.h:
* src/radeon_dri.c: (RADEONDRICloseScreen),
(RADEONDRIAllocatePCIGARTTable):
* src/radeon_driver.c: (RADEONEnterVT), (RADEONLeaveVT):
Add support for backing up the PCIE GART table on VT switch.
This makes suspend/resume work a lot better on PCIE cards.
2006-04-07 Adam Jackson <ajax@freedesktop.org>
* configure.ac:
Bump to 6.6.0 and release. This module's versioning is completely
screwed, so until we split out mach64/r128/radeon please just
increment the package number whenever you make significant changes.
2006-04-07 Aaron Plattner <aplattner@nvidia.com>
* src/atimach64xv.c: (ATIMach64PutImage):
* src/r128_video.c: (R128PutImage):
* src/radeon_video.c: (RADEONPutImage), (RADEONPutVideo):
Add a DrawablePtr argument to the XV functions to pave the way for
redirected video.
2006-04-04 Eric Anholt <anholt@FreeBSD.org>
* man/ati.man:
* man/radeon.man:
Bug #5632: Fix up ati.4 to explain that it is a wrapper driver for the
other three. While here, touch up radeon.4, and add an authors list
gleaned from checking copyright headers.
2006-04-01 Alex Deucher <agd5f@yahoo.com>
* src/radeon.h:
* src/radeon_driver.c: (RADEONPreInitModes), (RADEONPreInit),
(RADEONResetDPI), (RADEONSwitchMode):
* src/radeon_mergedfb.c: (RADEONMergedFBCalcDPI),
(RADEONMergedFBSetDpi), (RADEONMergedFBResetDpi):
* src/radeon_mergedfb.h:
- Fix dpi when switching from clone to dualhead with MergedFB.
- Add ConstantDPI option to force a particlar dpi across mode changes
Both based on Thomas Winischhofer's sis code.
2006-03-27 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_driver.c: (RADEONRestoreMemMapRegisters),
(RADEONInit):
Fix a regression of my latest fix that broke color tiling on some
setups. RADEONRestoreMemMapRegisters() must not clear CRTC_OFFSET_CNTL
and friends unconditionally but only when there is a map change or it
will clear them after the DRI updates the AGP location, thus turning
tiling back off on the CRTC.
Also remove a duplicate call to RADEONInitCommonRegisters().
2006-03-23 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
* src/radeon_reg.h:
* src/radeon_video.c: (RADEONResetVideo), (RADEONDisplayVideo),
(RADEONPutImage): Use programmable tap coefficients for (hopefully)
better video image quality when downscaling. Remove unnecessary code
programming the tap coefficients twice. Disable some code which is
supposed to improve filtering quality but causes very visible image
quality problems at least with rv250 when upscaling. Fix potentially
broken FOURCC_RGB16T format (untested if it was broken, untested if it
works now...). Change some magic numbers to (new) macro defines.
2006-03-23 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_driver.c: (RADEONRestoreMode),
(RADEONInitCrtcRegisters), (RADEONInitCrtc2Registers):
Call RADEONRestoreCommonRegisters() before
RADEONRestoreCrtc2Registers() instead of after. I can't find any good
reason why we did it backward until now and it definitely causes
problems as the workaround for VT switch in
RADEONRestoreCommonRegisters() will break output to the secondary head
in various situations. Also does an unrelated minor update to a
comment.
2006-03-22 Kristian Høgsberg <krh@redhat.com>
* src/Makefile.am (EXTRA_DIST): Add atipciids.h.
* src/theatre200.c: Convert use of xf86fopen() and other xf86
wrapped libc symbols to use libc symbols directly. The xf86*
versions aren't supposed to be used directly.
* src/*.c: Drop libc wrapper; don't include xf86_ansic.h and add
includes now missing.
2006-03-18 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_driver.c: (RADEONRestoreMemMapRegisters),
(RADEONRestoreCrtcRegisters), (RADEONRestoreCrtc2Registers):
* src/radeon_reg.h:
Clear the offsets when updating the memory map instead of when
enabling the CRTCs and try to make that code more reliable. Doesn't
disable the CRTCs beforehand.
2006-03-18 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
* src/radeon_dri.c: (RADEONDRIGetVersion):
* src/radeon_driver.c: (RADEONGetAccessibleVRAM):
* man/radeon_reg.h:
* src/radeon_video.c:
Fix various small cosmetic issues. Change a driver message, get the order
right for requesting drm versions, replace the use of some numbers with
the respective macro defines in radeon_video.c, and add some more macro
defines. None of that really matters.
2006-03-17 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_driver.c: (RADEONGetAccessibleVRAM),
(RADEONPreInitVRAM):
Add missing return statement (the driver would not start randomly),
add RV410 to the list of new generation cards for the memory map
setup and fix a bogus message.
2006-03-16 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_driver.c: (RADEONInitCrtcRegisters),
(RADEONInitCrtc2Registers), (RADEONDoAdjustFrame):
Fix incorrect CRTC2_OFFSET values when using old-style dual head (not
MergedFB). Fixes Xinerama for me.
2006-03-16 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_driver.c: (RADEONWaitForVerticalSync),
(RADEONWaitForVerticalSync2), (RADEONLoadPalette),
(RADEONScreenInit), (RADEONRestoreMemMapRegisters),
(RADEONRestoreCrtcRegisters), (RADEONRestoreCrtc2Registers),
(RADEONDoAdjustFrame), (RADEONCloseScreen):
* src/radeon_reg.h:
Add various workarounds that seem to fix some remaning lockup
scenarios I'm experiencing with the driver when setting the memory
map. Some of the magic delays are a bit dodgy but they seem to work, I
suppose I can't do better now without help from ATI. Also removed some
really too noisy debug messages.
2006-03-15 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon.h:
* src/radeon_dri.c: (RADEONDRIScreenInit),
(RADEONDRIDoCloseScreen), (RADEONDRIFinishScreenInit),
(RADEONDRIStop), (RADEONDRICloseScreen):
* src/radeon_driver.c: (RADEONCloseScreen):
Fix various issues with DRI & server recycle by putting DRICloseSreen
in the normal CloseScreen callback chain at a spot that matches the
call to DRIFinishScreenInit in order to unwrap at the right time.
2006-03-15 Luc Verhaegen <libv@skynet.be>
* configure.ac:
* src/Makefile.am:
* src/radeon_cursor.c: (RADEONUseHWCursor):
* src/radeon_dga.c: (RADEON_BlitRect):
* src/radeon_driver.c: (RADEONPreInitAccel), (RADEONScreenInit):
Add some autoconf to keep this driver from building EXA when a
slightly older server with older exa is installed.
The way in which this problem was treated by the actually related
developers explains a lot about this driver.
2006-03-13 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_video.c: (RADEONSetTransform):
Fix typo in the function setting the color space transformation
factors for old radeon
2006-03-13 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_driver.c: (RADEONPreInitVRAM),
(RADEONPreInitChipType), (RADEONPreInit):
Earliest fix introduced a bug due to another chicken & egg problem in
card detection. Now split PreInitConfig into PreInitChipType and
PreInitVRAM so that PreInitDRI can be done just in between. Restores
proper AGPx4 functionality (when enabled)
2006-03-12 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/ati.h:
* src/r128_dri.c:
* src/r128_driver.c:
* src/r128_probe.c:
* src/radeon_driver.c:
* src/radeon_mm_i2c.c:
* src/radeon_probe.c:
* src/radeon_video.c:
* src/radeon_vip.c:
* src/atipciids.h:
Stop using xf86PciInfo.h, instead use a local copy of the PCI IDs
we need in atipciids.h so we can update the ATI driver independently
of the server when new chips are added
2006-03-10 Alan Coopersmith <alan.coopersmith@sun.com>
* src/radeon_driver.c:
Add #ifdef XF86DRI guards around references to info->allowPageFlip
and info->depthMoves, since they are only defined if building with
DRI.
2006-03-10 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
* man/radeon.man:
* src/radeon_driver.c: (RADEONSetupMemXAA_DRI), (RADEONScreenInit):
Use "FBTexPercent" option for XAA too (only for increasing
memory reserved for textures).
2006-03-10 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon.h:
* src/radeon_dri.c: (RADEONDRIGartHeapInit), (RADEONDRIGetVersion),
(RADEONDRIScreenInit), (RADEONDRIInitPageFlip), (RADEONDRIResume),
(RADEONDRIAllocatePCIGARTTable):
* src/radeon_driver.c: (RADEONInitMemoryMap),
(RADEONGetAccessibleVRAM), (RADEONPreInitConfig),
(RADEONPreInitDRI), (RADEONPreInitColorTiling), (RADEONPreInit),
(RADEONScreenInit), (RADEONRestoreMode):
More memory map fixes !!! This time, we add a way to get the DRM
kernel module version early, in order to properly limit the
framebuffer size when a module that doesn't support the new map is
loaded. That will improve backward compatibility. I also made the
minimum required kernel module version 1.3 which hopefully shouldn't
be a problem for anybody, and cleaned up the ordering in which we test
for DRM version to enable features
2006-03-09 Michel Dänzer <michel@daenzer.net>
* src/radeon_driver.c: (RADEONGetClockInfo), (RADEONGetVRamType),
(RADEONPreInitConfig):
Bugzilla #5766 <https://bugs.freedesktop.org/show_bug.cgi?id=5766>
Patch #4636 <https://bugs.freedesktop.org/attachment.cgi?id=4636>
- Acknowledge that RN50 only has one CRTC, and use this to distinguish
it from RV100.
- Fix detection of RN50 memory type and bus width.
- Model RN50 memory bandwidth limits by capping the pixel clock range
based on memory clock, bpp and memory bus width.
(ATI Technologies Inc.)
2006-03-03 Michel Dänzer <michel@daenzer.net>
* man/radeon.man:
* src/radeon_driver.c: (RADEONScreenInit):
* src/radeon_exa.c: (RADEONSetupMemEXA):
Add Option "FBTexPercent" to override the amount of video RAM reserved
for OpenGL textures with EXA.
2006-03-02 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_driver.c: (RADEONPreInitConfig):
Fix the fix ... I didn't interpret PciInfo->size properly and forgot
that the function works in Kb not bytes... Ooops.
2006-03-02 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_driver.c: (RADEONInitMemoryMap),
(RADEONPreInitConfig):
Extend the alignement workaround to post-rv280 chips as well (thanks
Hui) and also limit the CPU accessible memory to the size of the PCI
BAR size (yeah, it was passed to the driver, I just got blind for a
while it seems)
2006-03-01 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_driver.c: (RADEONInitMemoryMap),
(RADEONPreInitConfig):
Workaround for rv280 bug which needs the framebuffer memory mapping
to be aligned to its own size. Also add back limit of 128Mb of mapped
fb space for now until I fully sort out what's up with dual function
cards. I would really need to access the PCI BAR sizes here but that
information seem to be missing from the PCI info passed to the driver.
2006-02-27 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
* src/atichip.h:
* src/atichip.c:
* src/radeon_chipset.h:
Add the newly added (and tons of previously forgotten ones) pci ids
to the ati wrapper too (probably not required for it to work as
everything should default to radeon anyway there).
2006-02-26 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon.h:
* src/radeon_dri.c: (RADEONDRIFinishScreenInit),
(RADEONDRIInitPageFlip):
* src/radeon_driver.c: (RADEONScreenInit):
Fix page flipping with XAA. The new code ended up calling
ShadowFBInit() before XAAInit(), which breaks ShadowFB.
2006-02-24 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
* src/radeon.h:
* src/radeon_chipset.h:
* src/radeon_driver.c:
* src/radeon_probe.c:
Add pci ids known to exist (see #4284 for instance). There are still
entries which probably don't really exist (cancelled cards and such),
leave them as-is. Fix the name of some entries, mostly based on the
.inf file of the newest catalyst driver. Use own family id for rv410
and rs400, though there is no different code (yet?).
2006-02-17 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon.h:
* src/radeon_common.h:
* src/radeon_commonfuncs.c: (RADEONWaitForIdle):
* src/radeon_cursor.c: (RADEONCursorAllocEXA),
(RADEONSetCursorColors), (RADEONSetCursorPosition),
(RADEONLoadCursorImage), (RADEONHideCursor), (RADEONShowCursor),
(RADEONLoadCursorARGB), (RADEONCursorInit):
* src/radeon_dri.c: (RADEONDRIScreenInit),
(RADEONDRIFinishScreenInit), (RADEONDRICloseScreen),
(RADEONDRIRefreshArea):
* src/radeon_driver.c: (RADEONMapFB), (RADEONInitMemMapRegisters),
(RADEONInitMemoryMap), (RADEONGetAccessibleVRAM),
(RADEONPreInitConfig), (RADEONLoadPalette), (RADEONBlockHandler),
(RADEONScreenInit), (RADEONRestoreMemMapRegisters),
(RADEONAdjustMemMapRegisters), (RADEONRestoreSurfaces),
(RADEONSaveSurfaces), (RADEONChangeSurfaces), (RADEONRestoreMode),
(RADEONSaveMemMapRegisters), (RADEONSaveMode), (RADEONSave),
(RADEONInitDispBandwidth), (RADEONInitPLLRegisters),
(RADEONInitPLL2Registers), (RADEONInit), (RADEONModeInit),
(RADEONSaveScreen), (RADEONSwitchMode), (RADEONDoAdjustFrame),
(RADEONAdjustFrame), (RADEONEnterVT), (RADEONLeaveVT),
(RADEONCloseScreen), (RADEONDisplayPowerManagementSet):
* src/radeon_reg.h:
* src/radeon_render.c: (RADEONSetupRenderByteswap):
Memory map and misc fixes. This completely reworks the way the driver
detects available & accessible video memory and initializes the card
internal memory map. Along the way, I re-ordered some of the stuffs
in pre-init in order to remove some dodgy codepath, fixed various
init, exit and vt switch issues, and overall made the driver more
robust. The full memory map fix requires an updated DRM. The X driver
no longer tries to position the AGP aperture, this becomes entirely
DRM responsibility.
2006-02-16 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_accel.c: (RADEONEngineRestore):
The engine setup would trigger a bogus line write before the proper
addresses are setup, thus causing the card to try to bus master over
the system bus to some stale location (usually 0 but could depend on
whatever was used before X). Remove that useless init bit, and always
setup some good enough engine source & destination pointers in case we
have some other spurrious engine activity going on.
2006-02-13 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* src/radeon_exa_render.c: (R100TextureSetup), (R200TextureSetup):
Fix EXA acceleration of textures with byteswap or tiling
From John Clemens <john@deater.net>
2006-02-06 Eric Anholt <anholt@FreeBSD.org>
* src/radeon_exa_render.c:
Fix a copy'n'paste-o in the EXA render implementation that resulted in
[ax]8b8g8r8 pict formats not being supported on r200, but no other
issues.
2006-01-19 Daniel Stone <daniel@freedesktop.org>
* src/radeon_driver.c:
Bug #5656: Set all Radeon XPRESS 200 R[CS]4xx-based chips to
have IsIGP = 1, fixing modesetting issues.
2006-01-12 Alan Coopersmith <alan.coopersmith@sun.com>
* src/theatre200_module.c (theatre200VersRec):
* src/theatre_detect_module.c (theatre_detectVersRec):
XF86_VERSION_CURRENT -> XORG_VERSION_CURRENT
2006-01-12 Alan Coopersmith <alan.coopersmith@sun.com>
* src/radeon_driver.c (RADEONPreInitModes):
When failing to parse MetaModes, reset CRT2pScrn to NULL after
free'ing it so we don't crash when trying to use it later
(such as in RADEONFreeRec).
2006-01-08 Adam Jackson <ajax@freedesktop.org>
* src/radeon.h:
Bug #5523: Make radeon compile without USE_XAA. (Tilman Sauerbeck)
2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
* configure.ac:
Update package version for X11R7 release.
2005-12-19 Alan Coopersmith <alan.coopersmith@sun.com>
* README.ati.sgml:
* man/radeon.man:
Typo fixes, mailing list & url updates, and other changes
to prepare for X11R6.9 & 7.0 releases.
2005-12-15 Alan Coopersmith <alan.coopersmith@sun.com>
* man/r128.man:
Bugzilla #5238 <https://bugs.freedesktop.org/show_bug.cgi?id=5238>
Patch #3978 <https://bugs.freedesktop.org/attachment.cgi?id=3978>
r128 man page dualhead note update (Alex Deucher)
2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
* configure.ac:
* src/r128_version.h:
* src/radeon_version.h:
Update package version number for final X11R7 release candidate.
Bump driver version number.
2005-12-14 Adam Jackson <ajax@freedesktop.org>
* src/r128_accel.c:
* src/r128_driver.c:
* src/radeon_driver.c:
* src/radeon_probe.c:
Bug #1760: Fix ati wrapper multihead to be dlloader friendly.
2005-12-08 Kevin E. Martin <kem-at-freedesktop-dot-org>
* src/Makefile.am:
Add configure options to allow hard-coded paths to be changed.
2005-12-06 Kevin E. Martin <kem-at-freedesktop-dot-org>
* man/Makefile.am:
Change *man_SOURCES ==> *man_PRE to fix autotools warnings.
2005-12-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
* configure.ac:
Update package version number for X11R7 RC3 release.
2005-12-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
* configure.ac:
Remove extraneous AC_MSG_RESULT.
2005-11-20 Adam Jackson <ajax@freedesktop.org>
* configure.ac:
Bump libdrm dep to 2.0.
2005-11-29 Adam Jackson <ajax@freedesktop.org>
* configure.ac:
Only build dlloader modules by default.
2005-11-09 Kevin E. Martin <kem-at-freedesktop-dot-org>
* configure.ac:
Update package version number for X11R7 RC2 release.
2005-11-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
* configure.ac:
Update pkgcheck depedencies to work with separate build roots.
2005-10-20 Donnie Berkholz <spyderous@gentoo.org>
* configure.ac: Bug #4831
<https://bugs.freedesktop.org/show_bug.cgi?id=4831>. Check for x86_64 in
addition to amd64 in host_cpu.
|