ChangeLog revision 2ec8c4b4
1commit cd9e9f25294abb739c1772e3a9a7a9c0a921ee82
2Author: Francisco Jerez <currojerez@riseup.net>
3Date:   Tue Jun 23 13:11:02 2009 +0200
4
5    Fix EXA rotation for SM502 at 32bpp (bug 22432).
6
7commit 97498c048c897e5753e61d3b4ab231025974d67c
8Author: Adam Jackson <ajax@redhat.com>
9Date:   Thu May 28 15:17:58 2009 -0400
10
11    Remove useless loader symbol lists.
12
13commit 536e5df957698251206326edc5a13e833f7c72b1
14Author: Francisco Jerez <currojerez@riseup.net>
15Date:   Wed May 27 01:23:36 2009 +0200
16
17    Program MCLK/MXCLK on startup for a secondary SM502.
18    
19    This should allow using a SM502 as secondary display
20    device (bug 21810).
21
22commit 6a370fa2b6b8fcbd556dd6f9bf92872e9bea23e8
23Author: Alan Coopersmith <alan.coopersmith@sun.com>
24Date:   Mon May 11 22:31:30 2009 -0700
25
26    Fill in COPYING file, add SubmittingPatches URL to README
27
28commit 962e0c4f08180ac51994aef8d6d042108d5841c1
29Author: Francisco Jerez <currojerez@riseup.net>
30Date:   Sun May 10 01:53:05 2009 +0200
31
32    Widen the pixel clock readjust interval for SM712.
33    
34    Set it to 3MHz so that the pixel clock frequency is overridden
35    when it's found to be 49MHz, which is reported to be unstable.
36
37commit 3cc1b9d4bcf1b7a756ea4426c93392ff6d82e9a6
38Author: Francisco Jerez <currojerez@riseup.net>
39Date:   Tue May 5 00:45:10 2009 +0200
40
41    Fail gracefully when the specified virtual screen doesn't fit in RAM.
42
43commit 32628d9884d577d7a672c172c12b7097be276700
44Author: Francisco Jerez <currojerez@riseup.net>
45Date:   Tue May 5 00:44:17 2009 +0200
46
47    Probe the amount of installed memory by trial and error on SM712.
48    
49    In some cases the BIOS hasn't filled in the "scratchpad registers"
50    (SR71) with the right amount of memory installed (e.g. MIPS
51    platform). There seems to be no other way to do it than to test it.
52    
53    This should fix bug 21528.
54
55commit 00921b014fa0b5358c22a769cf2450cbd4bdc8a5
56Author: Francisco Jerez <currojerez@riseup.net>
57Date:   Tue Apr 28 22:24:03 2009 +0200
58
59    Bump version to 1.7.1.
60
61commit abf1ba79f2bfe61f24cfa43deb0400d7c5f95bd5
62Author: Francisco Jerez <currojerez@riseup.net>
63Date:   Tue Apr 21 21:37:45 2009 +0200
64
65    Increase the maximum clock value to 200MHz on SM712.
66    
67    The default MCLK setting was higher than the clock limit, and it
68    failed.
69
70commit 41e5c49024d4e27a7be3da02017000a22b59016f
71Author: Francisco Jerez <currojerez@riseup.net>
72Date:   Tue Apr 21 21:36:10 2009 +0200
73
74    Don't attempt monitor detection on SM712.
75    
76    The databook says nothing about it, and it doesn't work.
77
78commit 6691678b5f04d52a1e08f9eaa6d511df9b7eeb4d
79Author: Jamie Lentin <jm@lentin.co.uk>
80Date:   Thu Mar 19 21:54:12 2009 +0000
81
82    Stop clearing of "VESA compliance power down mode" bit
83    
84    Clearing this bit causes an OQO 01+ w/SMI720 to power down the LCD,
85    leave it alone.
86    
87    Signed-off-by: Jamie Lentin <jm@lentin.co.uk>
88    Signed-off-by: Francisco Jerez <currojerez@riseup.net>
89
90commit 05480382c508bd27c1755405518ce9c339f0f80e
91Author: Matthieu Herrb <matthieu.herrb@laas.fr>
92Date:   Fri Mar 13 21:19:16 2009 +0100
93
94    Fix direct access to IO space on chipsets with no IOBase mapping.
95    
96    Signed-off-by: Francisco Jerez <currojerez@riseup.net>
97
98commit e62807140ede74e262ed70c846017dc3506b511e
99Author: Niels de Vos <niels.devos@wincor-nixdorf.com>
100Date:   Wed Feb 11 10:10:13 2009 +0100
101
102    siliconmotion: Fix disabling of debugging if SMI501_CLI_DEBUG is set to 0
103    
104    Due to checking if SMI501_CLI_DEBUG is defined, some debugging will
105    be enabled if SMI501_CLI_DEBUG is set to 0. A single #if should be
106    used instead. Some debugging code already does this.
107    
108    Signed-off-by: Niels de Vos <niels.devos@wincor-nixdorf.com>
109    Signed-off-by: Francisco Jerez <currojerez@riseup.net>
110
111commit 0b34c4a29fcf45ac24361b4691cca0fd99cc3a3f
112Author: Francisco Jerez <currojerez@riseup.net>
113Date:   Wed Feb 4 03:49:08 2009 +0100
114
115    Wait for vertical retrace before writing registers at SMILynx_CrtcDPMS_*
116
117commit 1d46cca27b0d38d5355b5f93dd0ed0fe4f250d3f
118Author: Francisco Jerez <currojerez@riseup.net>
119Date:   Tue Feb 3 22:15:45 2009 +0100
120
121    Drop the outdated configuration options documentation in README.
122
123commit 64f722c3121a8f28cfc5b532ddec0ac83095ac95
124Author: Francisco Jerez <currojerez@riseup.net>
125Date:   Tue Feb 3 22:17:33 2009 +0100
126
127    Minor corrections at the man page.
128
129commit 94d9c659b71c84db46fa279d9d8736e1589e155c
130Author: Francisco Jerez <currojerez@riseup.net>
131Date:   Tue Feb 3 22:18:14 2009 +0100
132
133    Set dualhead to on by default on SM72x chipsets.
134
135commit 4d98e9c6a6e357ed736cd312a957c1e0a7b1d36b
136Author: Francisco Jerez <currojerez@riseup.net>
137Date:   Wed Feb 4 01:56:20 2009 +0100
138
139    Dynamically switch virtual refresh mode.
140    
141    Probably this makes dualhead mode more useful because it makes
142    possible displaying video on the LCD as long as the CRT output is
143    disabled or cloned.
144
145commit 1c57cfa814504c33fcad51115d77f2d166fb7903
146Author: Alan Coopersmith <alan.coopersmith@sun.com>
147Date:   Fri Jan 30 21:00:17 2009 -0800
148
149    Add README with pointers to mailing list, bugzilla & git repos
150
151commit 2aee107d992cb58bfbb2f527cfa73ea9f6957998
152Author: Alan Coopersmith <alan.coopersmith@sun.com>
153Date:   Fri Jan 9 16:33:43 2009 -0800
154
155    Remove xorgconfig & xorgcfg from See Also list in man page
156
157commit fdc2c50682b240e5966e4e5a7b45552ee2043bfc
158Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
159Date:   Mon Dec 29 18:41:05 2008 -0200
160
161    Bump release to 1.7.0.
162    
163      This driver supports smi 50x chipsets, randr 1.2, exa, dual head,
164    etc.
165    
166      Special thanks to Teddy Wang <teddy.wang AT siliconmotion.com.cn>
167    for support and help in responding and/or triaging hardware related
168    questions.
169
170commit 97eb5da1040ca7882e60b86ffaf25b6c021a3df5
171Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
172Date:   Mon Dec 29 18:39:54 2008 -0200
173
174    Use util-macros XORG_CHANGELOG and XORG_CWARNFLAGS.
175    
176      Also correct only compilation warning about possibly
177    uninitialized variable.
178
179commit deb2f845dd370ba819d02cb21b8a481827497af6
180Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
181Date:   Mon Dec 29 18:35:22 2008 -0200
182
183    Simplification and redundancy removal in video code.
184    
185      FOURCC_YV12 and FOURCC_I420 handling also was buggy. First it was
186    doing a noop by swapping offset2 and offset3 values twice, and second,
187    swap is not required when using smi 501/502 CSC video.
188      Changed SMI_DisplayVideo0501_CSC() to not set static values to
189    registers in a possible loop, if there is clipping.
190
191commit 46741589529809c17aa1e9719492a4b623de6ddf
192Author: Francisco Jerez <currojerez@gmail.com>
193Date:   Sat Dec 27 00:52:05 2008 +0100
194
195    Some more quirks for the SM712.
196    
197    * Program the MCLK to 157MHz on startup.
198    * Adjust the requested pixel clock if it's near one of the known
199      stable frequencies.
200    * Prefer the clock alternative with post scalar turned on when the
201      denominator is even.
202
203commit 439adf4455c651926040eeeec52a092f14f3196b
204Author: Francisco Jerez <currojerez@gmail.com>
205Date:   Mon Dec 22 17:28:35 2008 +0100
206
207    Add support for clone mode on Lynx chipsets.
208
209commit 2b3fa385a6da4be5ad6719dd115834b96d1ea3e3
210Author: Francisco Jerez <currojerez@gmail.com>
211Date:   Sun Dec 21 19:37:14 2008 +0100
212
213    Add a CRTC/Output implementation using BIOS for modesetting.
214    
215    After the RandR1.2 implementation the "UseBIOS" option wasn't actually
216    programming the hardware through VESA BIOS, this brings back that
217    functionality.
218
219commit 75b1c309f1418d70e8cf112744ff95f372d4ef75
220Author: Francisco Jerez <currojerez@gmail.com>
221Date:   Sun Dec 21 16:58:29 2008 +0100
222
223    Fix SMI_CrtcShadowAllocate.
224
225commit 068de9c0a302aba21e4d6a27eb6d330375ff2d2f
226Author: Francisco Jerez <currojerez@gmail.com>
227Date:   Sun Dec 21 16:02:57 2008 +0100
228
229    Allocate crtc->funcs and output->funcs in the heap.
230
231commit 373440667636d4e3214028710e33ac89d8f18ff1
232Author: Francisco Jerez <currojerez@gmail.com>
233Date:   Sun Dec 21 13:51:01 2008 +0100
234
235    Cleanup the Lynx register saving/restoring code.
236    
237    Save some registers not previously tracked, and use pSmi->mode instead
238    of continuously reading the hardware state.
239
240commit 67a1e4b090d6647b6c45f1534c67d9ea8a223d44
241Author: Francisco Jerez <currojerez@gmail.com>
242Date:   Sat Dec 20 15:41:13 2008 +0100
243
244    Add some quirks for SM712 modesetting.
245
246commit 7f252345c0c6b260c5b37aff98a22679eb5c6c82
247Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
248Date:   Fri Dec 19 21:15:01 2008 -0200
249
250    Enable the SMI 501/502 command list interpreter in a "debug" build.
251    
252      To enable it, set SMI501_CLI_DEBUG to 1 in smi.h, and use
253    Option "AcellMethod "EXA"
254    in the Device section of /etc/X11/xorg.conf
255    This code is enabled mainly for debug purposes. To make if have an
256    actual performance gain (like when using a sm50x with a "low profile"
257    "main" processor") it should be required to actually do busy loops
258    in kernel mode (and hope the costs of context switch will pay it).
259    In kernel mode it is possible to wait for an interrupt being triggered
260    when the command list is processed, or when the 2d engine is idle.
261    
262      This commit should be functional, but, mainly due to debug messages,
263    should be significantly slower then a build with MI501_CLI_DEBUG
264    defined to 0.
265
266commit 6a91bcc111902c45cc75c865893848b7c6c0a0b1
267Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
268Date:   Thu Dec 18 20:47:24 2008 -0200
269
270    Add definitions for the SMI 501/502 "command list interpreter".
271    
272      This also changes some bit operations to use a "bitfield" equivalent
273    one, with named fields, that should make it easier to understand what
274    is being tested.
275    
276      The enum smi_cli_cmd_code in smi_501.h is code that was added to a
277    experimental smi_drm.h, but the hardware only supports basic 2d accel,
278    and to compensate for the extra overhead for maintaining a command
279    list (assuming it worked correctly) it would be required to have a
280    special handling, like calling an ioctl to do the "busy loop" in the
281    kernel (that is, should wait for an irq or a timeout).
282    
283      The problem is that even if waiting for a idle engine before crafting
284    a command, and waiting again after submitting the command, there would
285    be corruption on screen after some time. So, the "busy loop" in the
286    kernel would only be useful if still using direct writes to mmio
287    registers.
288
289commit 5a07709ae41600bc02205753c64d764f11838240
290Author: Francisco Jerez <currojerez@gmail.com>
291Date:   Tue Dec 16 02:39:49 2008 +0100
292
293    Fix crashes when switching VTs with EXA enabled.
294    
295    Call ModifyPixmapHeader on SMI_EnterVT to update the screen pixmap
296    address tracked by EXA.
297    
298    Set memoryBase in the ExaDriverRec to NULL when switching out: some
299    pixmap could get allocated near the former aperture address and it
300    could be erroneously considered as being in offscreen memory.
301
302commit 47bcfb505886d16ff864f26a9cfa5f43b5da710e
303Author: Francisco Jerez <currojerez@gmail.com>
304Date:   Sat Dec 13 19:13:50 2008 +0100
305
306    Enable linear memory mode on SMI_MapMmio.
307    
308    Set UseBIOS to off by default for SM720. Some improvements on the
309    debugging output.
310
311commit 6f972c9022fc3a315b60246a69399807443d2ca0
312Author: Francisco Jerez <currojerez@gmail.com>
313Date:   Thu Dec 11 16:21:17 2008 +0100
314
315    Fall back to UseBIOS off when VBEInit fails.
316
317commit 1fc340dcf0abd7fa0837fef2c711aaec4fa8bcb8
318Author: Francisco Jerez <currojerez@gmail.com>
319Date:   Thu Dec 11 16:18:50 2008 +0100
320
321    Fix XAA SolidFill with 32 bpp framebuffer.
322
323commit dfc4510e8f4adeed520be47621ad429bc2d18f7e
324Author: Francisco Jerez <currojerez@gmail.com>
325Date:   Thu Dec 4 15:35:22 2008 +0100
326
327    Some corrections on the Lynx modesetting code.
328    
329    This fixes 1280x1024 modes on the VGA output with dual head on.
330    Also, solve a build problem when using -DSMI_DEBUG, as pointed by
331    Richard Schwarting.
332
333commit 6e1d29d19b205eac85b2f83de126ba88501e9b74
334Author: Francisco Jerez <currojerez@gmail.com>
335Date:   Tue Dec 2 23:43:26 2008 +0100
336
337    Disable screen centering on mode initialization.
338
339commit 695a6066cfe7ad0e568edc596b8704bb9bf8754f
340Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
341Date:   Sat Dec 13 04:20:20 2008 -0200
342
343    Janitor/maintenance patches.
344    
345    o Define HAVE_XMODES in config.h.
346    o Correct the LEAVE() macro declaration when SMI_DEBUG is defined.
347    o Remove prototype for SMI_DGAInit() if HAVE_XMODES is not defined.
348    o Properly scale value read from sm501 CURRENT_CLOCK register, to
349      print an appropriate message on startup.
350
351commit 191cbd3f8419cc5b428f262607d7a8594e574f67
352Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
353Date:   Fri Dec 12 15:50:53 2008 -0200
354
355    Unless there is a xorg.conf option, don't modify mclck neither mxclck.
356    
357      The option set_mclck was renamed to just MCLK, and a new MXCLCK option
358    was added for smi501/502 chips.
359      Note that previously, on MSOC chips, the set_mclck option actually
360    changed mxclck, what is now done by the MXCLK option.
361      The manpage was also update to reflect the options usage.
362      A new SMI501_FindMemClock() function was added, as a possible
363    placeholder for choosing alternate clocks when programming MMIO 0x68.
364    But it should be noted that the smi 501 databook says:
365    Miscellaneous Timing
366    	Read/Write MMIO_base + 0x000068
367    	Power-on Default 0x00000000
368    	[...]
369    	5:4 Divider Output Frequency Selection for Second PLL.
370    		00: 336 MHz.
371    		01: 288 MHz.
372    		10: 240 MHz.
373    		11: 192 MHz.
374    while the 502 databook says:
375    	Miscellaneous Timing
376    	Read/Write MMIO_base + 0x000068
377    	Power-on Default 0b0000.00xx.0000.1001.0000.1001.0000.0000
378    	[...]
379    	5:4 Reserved These bits are reserved.
380    but still tells to refer to those bits.
381
382commit a2352ff23787f37530dff68e03028dd78925e4b4
383Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
384Date:   Fri Nov 28 20:23:11 2008 -0200
385
386    Properly restore console on the smi 501/502.
387    
388      The current kernel framebuffer module expects accelerations registers
389    in the default boot state, otherwise, it will display some corruption,
390    or not correctly clear the screen, among other side effects.
391      Now it should be restoring everything the kernel framebuffer relies
392    on not being modified.
393
394commit 5a65559e12452a47f9848c47cfa6e30cfb871f0b
395Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
396Date:   Fri Nov 28 19:49:20 2008 -0200
397
398    DGA is dependent on HAVE_XMODES.
399
400commit 06c78cee718a86b1521c1fc1075d08bb9ad257f1
401Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
402Date:   Tue Nov 25 19:57:05 2008 -0200
403
404    Remove smi_dga.c and polylines code from smi_xaa.c.
405    
406      DGA was also not being properly test to not enable the pSmi fields,
407    but since the dga implementation is very basic, it is better to just
408    remove it (if compiling the sources on pre 1.4 X Server, DGA will be
409    disabled).
410    
411      The polylines code in xmi_xaa.c was already if 0'ed for some time,
412    but it may be reinstantiated to accelerate (back) xaa rotated modes.
413    Currently only randr+exa accelerates rotated modes.
414
415commit 9570cfdc132b0acb1d2b70edc6a3a5a812ef9691
416Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
417Date:   Tue Nov 25 15:07:39 2008 -0200
418
419    Ensure the engine is idle before switching to a virtual terminal.
420    
421      At least in the smi501/502, it may even completely lock in some special
422    cases (like when there is a browser playing some youtube video).
423      The code in SMI_CloseScreen() was almost identical to SMI_LeaveVT(),
424    so it now just call SMI_Leave() if required.
425
426commit 26ce0b163d9cf44ec1bc1d1bd460887aa5b405a7
427Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
428Date:   Mon Nov 24 15:15:43 2008 -0200
429
430    Use a single debug macro for leaving functions.
431    
432      The LEAVE() macro, when debug is disabled, now is defined as:
433    <hash>define LEAVE(...)		return __VA_ARGS__
434    This avoids the requirement of a return statement after the LEAVE()
435    macro call, what can be confusing.
436
437commit 2057d7ae05ef269f75a4d53fe5c4914a10856cb1
438Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
439Date:   Wed Nov 19 16:22:29 2008 -0200
440
441    Declare DGA fields only when not using xf86DiDGAInit.
442
443commit c2e318eaec3ac281457acdca4ea10fa368f646d3
444Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
445Date:   Mon Nov 17 20:08:49 2008 -0200
446
447    Enable XAA and randr rotated modes.
448    
449      Use the same logic for offscreen memory management as used in
450    smi_video.c. This also makes the functions SMI_AllocateMemory and
451    SMI_FreeMemory no longer static in smi_video.c.
452
453commit ed6aba73259a1412e23a954d6a8dba439ad98a8a
454Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
455Date:   Fri Nov 14 22:37:56 2008 -0200
456
457    Correct EXA+Randr+rotated mode.
458    
459      The smi 501/502 cannot rotate-blt more than 32 bytes at a time.
460    Patch based on smi's sample smi_shadow.c.
461      XAA + randr + rotated mode currently not supported.
462
463commit 85d118ee288fe7aa32db003bfa322ddf06944bf6
464Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
465Date:   Fri Nov 14 22:04:17 2008 -0200
466
467    Don't explicitly call the cursor routines.
468    
469      On the MSOC, the hardware cursor was remaining on screen, when using
470    EXA and a randr rotated mode.
471
472commit cd10af22240b9df7c264b15c483d8cc4505ee359
473Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
474Date:   Fri Nov 14 20:36:09 2008 -0200
475
476    Only compile smi_dga.c when xf86DiDGAInit is not available.
477    
478      Besides reducing driver size, this should make DGA+EXA accelerated.
479
480commit 41ef793b0ed6014ed49bef011259f977833aef5d
481Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
482Date:   Fri Nov 14 19:24:45 2008 -0200
483
484    Correct regressions in CSCVideo
485    
486      Commit 0870d46718fe4e01953efd63cec46c54140b20f9 broke the clipping
487    code. That has been corrected in this patch. Anyway, the hardware color
488    space conversion should not be hidden down in the driver code, instead
489    it should be usable by external programs as well, instead of having
490    some applications doing it by software.
491
492commit be226bfaad76e7b48e006fe55ebae09b044ba4b7
493Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
494Date:   Fri Nov 14 16:56:46 2008 -0200
495
496    MSOC: Hide cursor on mode setup when using software cursor.
497    
498      The kernel framebuffer module uses the hw cursor for the console cursor,
499    so the driver must ensure it is hidden when setting a video mode.
500
501commit 5b8583fc2e5626ed98877858158d9687d7c94469
502Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
503Date:   Fri Nov 14 15:47:52 2008 -0200
504
505    Be more liberal about mode width validation.
506    
507      The code was inherited from first import of latest smi sources, but
508    the driver actually programs a mode, so there is no need to check if
509    there will be a table entry with register contents matching the requested
510    mode.
511
512commit ffb4be763ced82158a3a1d2e06fb0e81815e057b
513Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
514Date:   Thu Nov 13 20:01:18 2008 -0200
515
516    Don't restore alpha registers, as they are not being modified.
517    
518      Restoring the registers "without need" caused some instability, with
519    random locks.
520
521commit 6b6da04d566ec5b9d723c9f28791c604f76526dd
522Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
523Date:   Thu Nov 13 19:44:14 2008 -0200
524
525    Changed to use panel plane tl and tr to center modes smaller then panel size.
526    
527      The code is under "<hash>ifdef USE_PANEL_CENTER", as it is buggy, and
528    regardless of value set to right and bottom, it will crop from 0 to
529    mode-width/mode-height, and then display a lot of screen artifacts, due
530    to improper programming. Either way, the CRT in clone mode will display
531    correctly.
532
533commit d2709b1af22a06b24606ec8c01f39f1ca27ca8d3
534Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
535Date:   Thu Nov 13 18:00:46 2008 -0200
536
537    Enable gamma correction on the MSOC.
538
539commit 0870d46718fe4e01953efd63cec46c54140b20f9
540Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
541Date:   Tue Nov 11 19:14:36 2008 -0200
542
543    Correct a problem in CSC video on the smi 501/502.
544    
545      This significantly simplify the function SMI_DisplayVideo0501_CSC(),
546    but the real cause of the problem that this patch corrects is that
547    whenever MMIO 0x1000fc bit 24 (Vertical Linear Filter Control)  is
548    set, the last line of the rendered video will display only noisy,
549    regardless of video being rendered 1x1, or scaled up or down.
550
551commit 09644ad3da4cf4c2576532137fdc81156e9c06e6
552Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
553Date:   Tue Nov 11 15:34:27 2008 -0200
554
555    Disable detection of crt for the smi 501/502.
556    
557      As described by siliconmotion, it does not work on the smi 502.
558    Does it work on older revisions? Keeping <hash>ifdef'ed out for now
559    as it hopefully will be corrected in a newer hardware revision.
560
561commit caac648932df69419b8f86c5793a6b33f5997099
562Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
563Date:   Tue Nov 11 15:06:15 2008 -0200
564
565    Implement an argb cursor using the alpha layer.
566    
567      The code is <hash>ifdef'ed out by <hash>if SMI_CURSOR_ALPHA_PLANE
568    because the smi 502 hardware is buggy, but it appears to have worked
569    for some older hardware revisions (by looking at code available at
570    ftp.siliconmotion.com.tw).
571      Keeping it at least for now, as it serves as a simple way to reproduce
572    the problems described in smi.h.
573
574commit 61dd360a30c8e530185bc71b134c287ab1cdde2c
575Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
576Date:   Tue Nov 11 14:47:58 2008 -0200
577
578    Add support for the reading/writing the alpha layer registers.
579
580commit d018ea2272cc1938cc0236eeb210692c1d1fd1df
581Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
582Date:   Tue Nov 11 14:35:36 2008 -0200
583
584    Correct wrong offset value for secondary hardware cursor.
585    
586      Hardware cursor is still disabled in dual head mode due to some problems,
587    usually when having both panel and crt mapped to the same address, what
588    appears to confuse the "modes" code.
589
590commit f97c57873cd7622c373a394548ed435c1975abbc
591Author: Francisco Jerez <currojerez@gmail.com>
592Date:   Sat Nov 8 21:40:49 2008 +0100
593
594    Remove unused fifo_* options.
595
596commit 418b28028e69d14e74bf673be56123e99103e5bf
597Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
598Date:   Sat Nov 8 16:04:58 2008 -0200
599
600    Remove the ZoomOnLCD option and update manpage for PCIRetry.
601    
602      ZoomOnLCD controlled if Ctrl/Alt/+ or Ctrl/Alt/- could be used to
603    reprogram the mode on the panel. The option was not used, and now, if
604    different resolutions could be used, it should be advertised by randr.
605    
606      PCIBurst and PCIRetry options are now enabled by default.
607    
608      The fifo_xxx options need a review, as they appear to be associated
609    with the older WaitQueue macro, that did ignore its argument. But these
610    options are not used, and may be removed or reimplemented at some time.
611
612commit bbc38b2a14d748bb9d9e153fcdcb259e5b10bdc8
613Author: Francisco Jerez <currojerez@gmail.com>
614Date:   Fri Nov 7 16:57:50 2008 +0100
615
616    Update the man page
617    
618    Reflect changes in the configuration options, additional supported
619    chipsets and RandR1.2 interface.
620
621commit 7f8b7535a9a905c1d6c1d89cd1dd4dd506025429
622Author: Nathael Pajani <nathael.pajani@ed3l.fr>
623Date:   Thu Mar 20 07:25:00 2008 -0800
624
625    Bit twelve on CPR00 bitfield is not bit eleven...
626
627commit 98969b1b96244085ff5b0c76d2a463c1e436bcfa
628Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
629Date:   Thu Nov 6 16:35:15 2008 -0200
630
631    Use the CRT Monitor Detect MSOC register.
632    
633      Probably I misunderstood the usage of this register, as it will always
634    show the same value, regardless of having a crt connected to the "vga"
635    port or not. Only difference is that while the detect bit is set,
636    the crt will be blank. This patch should be more of a placeholder for
637    a possible correction, but it should not cause any side effects, unless
638    the data field can be zero on a valid situation.
639      In my test computer, this field, in base 2 is always 1000000010000100,
640    what doesn't really look like data in rgb 8:8:8...
641
642commit 87a3cc0652666c1796fd56f00810834193f3eca0
643Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
644Date:   Tue Nov 4 16:38:12 2008 -0200
645
646    Allow setting modes larger then panel for secondary output.
647    
648      Sample usage on sm502:
649    $ DISPLAY=:0 xrandr --output VGA --newmode 1280x1024 109.00 1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
650    $ DISPLAY=:0 xrandr --addmode VGA 1280x1024
651    $ DISPLAY=:0 xrandr --output VGA --mode 1280x1024 --pos 768x176
652      Last command assuming using XAA (with ``Virtual 2048 1024''), so that it
653    will have panel in top-left, and crt in bottom-right.
654
655commit 1d7b9547e1d37601f14410857c22f256e5c74f14
656Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
657Date:   Tue Nov 4 15:57:12 2008 -0200
658
659    Add CSCVideo option to smi 501/502.
660    
661      This code is an adaptation of SMI sample implementation.
662      CSCVideo is an alternate way to render video, that should reduce memory
663    bandwidth usage, and uses the color space conversion hardware to render
664    video directly to the framebuffer memory.
665      When using randr dual head mode, currently only XAA is supported. As it
666    has a fixed format framebuffer (when using the Virtual xorg.conf option).
667      This patch also ensures that pScrn->displayWidth, pScrn->virtualX and
668    pScrn->virtualY are only changed by the driver when using EXA.
669
670commit 93308d067c93126dd0aba9b718d9e0ba28dde9f4
671Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
672Date:   Thu Oct 30 19:07:40 2008 -0200
673
674    Make MSOC work with EXA offscreen manager.
675
676commit e5cd9e4640555b9a3d4fab205e4b77faaca89d89
677Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
678Date:   Thu Oct 30 19:05:40 2008 -0200
679
680      Update memory detection for MSOC.
681    
682      Use "local memory" field of mmio 0x010 and not "system memory", as
683    it uses system memory values whenever there is a choice (just sets
684    bits to zero).
685
686commit 5acf7e22c256637ba7139733cdba1c59557dd7ff
687Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
688Date:   Thu Oct 30 19:01:54 2008 -0200
689
690      Disable HW cursor in dualhead mode in smi 501/502
691    
692      Other chipsets are doing the same. But this apparently is to circumvent
693    a problem in randr/cursor implementation, that appears to not work very
694    well with hardware that supports two hw cursors, but not argb cursors.
695
696commit c756ed67cbcf5bdd40c300627802d8bcd3d95123
697Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
698Date:   Wed Oct 29 19:17:54 2008 -0200
699
700      SMI501/502 cursor fixes.
701    
702      Use separate buffers for crt and panel hw cursors.
703      Describe, and workaround a problem with Dualhead and hw cursor enabled.
704    It still has the inconvenient of having a blinking X when exiting the server
705    or switching to a VT; maybe should also save the image currently configured
706    also (and restore on exit), or just disable hw cursor on dual head mode.
707      Also revert change to not initialize video on dualhead. Better to have
708    fully functional video only on panel, that can be resized, then non
709    resizable video..
710
711commit 2671776999a5add36e1aeaad4080bfccedc2b1a5
712Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
713Date:   Tue Oct 28 19:45:31 2008 -0200
714
715    Update msoc to use randr cursor routines
716    
717      pSmi->IsSecondary was not used, and there should not exist two
718    instances of the driver managing the same card.
719      Macro CHECK_SECONDARY() was dependant on a second instance of the driver
720    for the same card, and also removed.
721      Some rework should still be done in the cursor code, as it sometimes,
722    when displaying different data, will leave the hw cursor visible, while
723    using an argb cursor.
724
725commit 91b5613fb07fec0f319623ca7ec1efd67f04379b
726Author: Francisco Jerez <currojerez@gmail.com>
727Date:   Tue Oct 28 00:13:55 2008 +0100
728
729    Remove shadowfb based rotation support.
730    
731    Also done some clean up, like removing unused/redundant members of the
732    screen private structure, and removing now unused configuration file
733    options.
734
735commit 0faeddb208d8fade4737be4bcadb8814696bd7b4
736Author: Francisco Jerez <currojerez@gmail.com>
737Date:   Tue Oct 28 00:06:37 2008 +0100
738
739    Lynx hardware cursor code adapted to the CRTC interfaces.
740
741commit 5d151781515cf2e3af1322ce6ed5f8d871c05791
742Author: Francisco Jerez <currojerez@gmail.com>
743Date:   Mon Oct 27 23:37:30 2008 +0100
744
745    Changes in the video overlay clipping code.
746    
747    Clip the video to the CRTC viewport by using
748    xf86_crtc_clip_video_helper, and allow XV in
749    dual head mode.
750
751commit 486e92399f09b9d765d03184fe29a32b3bc4ecc5
752Author: Francisco Jerez <currojerez@gmail.com>
753Date:   Mon Oct 27 23:12:36 2008 +0100
754
755    Simple EXA Composite implementation.
756    
757    * Implementation of the PictOpSrc render operation with a
758      source coordinate transformation through 2D engine rotate-BITBLTs.
759    * Fix EXA Copy and Solid in 24 bpp packed color mode.
760
761commit c0447d33c82829248e642b3156fd9a3c0d0eb709
762Author: Francisco Jerez <currojerez@gmail.com>
763Date:   Mon Oct 27 22:39:52 2008 +0100
764
765    Some corrections in the CRTC code.
766    
767    * Make screen resizing behave better with XAA.
768    * Move some local variable declarations to the top of
769      the function definition to conform ANSI C.
770    * Make the Lynx panel modesetting code to actually
771      program the panel sync pulse width in dualhead mode.
772    * Also, fix a crash when using libpciaccess
773      (the memory wasn't being unmapped).
774
775commit f2c83671cccc42345bfc9b506365936bbb6b9ef0
776Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
777Date:   Fri Oct 24 17:55:02 2008 -0200
778
779    Make Dualhead option functional.
780    
781      Slightly change clock selection code to start using 501 compatible values,
782    before checking 502 values, if it is a 502.
783      DPMS for the VGA/second output was being set with bits inverted, that is
784    dpms-on was programmed as dpms-off and vice versa. This was one of the
785    reasons of dual head not working.
786      Corrected wrong vsync programming for the crt. Cut&paste/typo caused
787    programming vsync with hsync values, and thus, never getting the crt
788    to accept the mode being programmed.
789      If adding:
790      Option "Dualhead" "True"
791    to xorg.conf, now you should be able to do things like:
792    $ DISPLAY=:0.0 xrandr --output VGA --right-of LVDS
793    $ DISPLAY=:0.0 xrandr --output VGA --below LVDS
794    and so on.
795      *Iff* there is some way to not have any limitations for video playback,
796    this option should be made default or automatically configured.
797
798commit 1efe36ed5cf5b0931daa915ca3ce231b78168d87
799Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
800Date:   Wed Oct 22 19:06:06 2008 -0200
801
802    Make UseFBDev option functional again.
803    
804      It is mean't to be a fallback option, that as long as kernel boots
805    in framebuffer mode, the X Server should also work.
806      Correct incorrect value being checked when printing state of Dualhead
807    option.
808      The M value when programming PLL3 is actually an 8 bits integer,
809    so correct it and comments about it.
810
811commit dd083c26de400cee8c67977f46cf90d048b22ff9
812Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
813Date:   Tue Oct 21 19:41:55 2008 -0200
814
815    Use existing "Dualhead" option in MSOC.
816    
817      If Dualhead is set, it will attempt to use setups that allow different
818    outputs with different contents, instead of crt always cloning panel.
819      Still not fully functional.
820
821commit 197b4231586b9ada1c590a01b8dd7a5fcda936e6
822Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
823Date:   Tue Oct 21 14:22:01 2008 -0200
824
825    Crt interface corrections.
826    
827      Correct wrong clock calculation for the 501 clock setting, that is used
828    for pre 502 panel interface and crt.
829      Adds a few new programmable fields to MSOCRegRec:crt_display_ctl.
830      Call SMI501_CrtcAdjustFrame() after adjusting a mode, instead of
831    before changing registers.
832
833commit 71990e0beece6e60ffbffccfdf56e5a71641a120
834Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
835Date:   Mon Oct 20 15:09:09 2008 -0200
836
837    Don't change M1XCLK unless option specified in xorg.conf.
838    
839      Also add more complete description of programmable clocks.
840
841commit 8b7ce66e26113ec5859566e7f3d0fd15d3e29eaa
842Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
843Date:   Fri Oct 17 18:58:45 2008 -0300
844
845    Update sm502 pll3 programming.
846    
847      Also print the value of sm502 registers (should be a noop on sm501).
848      Added the frequency field to the MSOCRegRec's misc_ctl, as it is
849    a read/write registers, and changing bit 24 may change the logic
850    of pll3 programming (needs clarification with SMI).
851
852commit de1b633f916f4fcaaa95b226a8622d37041c86d4
853Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
854Date:   Thu Oct 16 15:41:44 2008 -0300
855
856    Revert/modify some RandR changes to reenable XAA.
857    
858      XAA was not initialized anymore in RandR patch, but it is still the
859    default accel method. Also reenable offscreen fb manager.
860      At least on the MSOC OEM sample (using X Server 1.4), needs some more
861    work as EXA is crashing in a call to exaPrepareAccess() when switching
862    to a terminal; this seems to be related to disabling exa offscreen
863    pixmaps on the smi501.
864
865commit e020afa359434b4da06ef8509a3e504423f824d2
866Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
867Date:   Thu Oct 16 15:11:36 2008 -0300
868
869    Correct incorrect pll3 calculation.
870    
871      Double value must be truncated when calculating the difference from the
872    possible clock and requested clock.
873
874commit f686d1b4fdd11d3d969ff4db21128d7867c9044d
875Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
876Date:   Tue Oct 14 19:05:31 2008 -0300
877
878    Extra MSOC tweaks for the RandR1.2 changes.
879    
880      The "prototype" computer no longer locks, and only "missing feature"
881    from before the patch is that video and Xaa don't work (only with Exa).
882      For the moment, just force crt as not connected, and set the proper
883    registers to make the secondary output clone the panel.
884
885commit fc722212d297a5141245beb7c8ae396606a8f221
886Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
887Date:   Tue Oct 14 15:46:52 2008 -0300
888
889    Remove dependency on xf86cvt.c.
890    
891      It actually was not added in a previous commit (due to using git reset
892    to remake a commit, and not readding it), but now, changed only call
893    xf86CVTMode if it is available in the X Server, otherwise, for older
894    X Servers, a modeline should be specified in xorg.conf.
895
896commit 5adb3b502ef79827b89fb11926b6198c3a57d2e6
897Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
898Date:   Tue Oct 14 14:48:42 2008 -0300
899
900    Minor corrections for smi501 for the randr1.2 integration.
901    
902      Also correct printing information about MCLK in the smi501/502, it
903    should print M2CLK (aka M1CLK o the 502) as it is the clock that
904    controls video engine/memory.
905
906commit 6e0837305533f940adb7a09f9b013077c0888f2d
907Author: Francisco Jerez <currojerez@gmail.com>
908Date:   Sat Oct 11 14:24:48 2008 +0200
909
910    RandR1.2 initial implementation (WIP)
911    
912    Moved most of the Lynx-specific code out of the main
913    functions at smi_driver.c to some new files: smilynx_hw.c
914    (With CRTC-independent code like global hardware initialization and
915    mode saving/restoring), smilynx_crtc.c (With the CRTC-local
916    procedures) and smilynx_output.c (Output power management, DDC and
917    monitor detection, currently).
918    
919      Done something similar with the SMI501 code: split
920    SMI501_ModeInit in three separate functions: SMI501_HWInit that does
921    the global initialization, and the CRTC mode_set callbacks
922    SMI501_ModeSet_crt and SMI501_ModeSet_lcd at smi501_crtc.c.
923    
924      The SMI501_ModeSet code is divided into SMI501_WriteMode_common,
925    SMI501_WriteMode_lcd and SMI501_WriteMode_crt, each one updates a
926    different register set in the hardware.
927    
928      Inside smi_crtc.c, there is mainly hardware independent
929    code... Initial CRT controller allocation, shadows, rotation and
930    framebuffer resizing code.
931    
932      The shadow code currently relies on EXA... I'm not sure what are the
933    problems of the EXA implementation in MSOC. Does it work?
934    
935      I think it would be a good thing to get rid of XAA soon: The next
936    thing I'll be working on will be EXA Composite... I hope it's possible
937    to get EXA acceleration working at least as fast as the current
938    XAA. (Although Teddy Wang confirmed me that the SMI720 DMA engine is
939    broken...)
940    
941      So, the patch adds some features like new Lynx dualhead modesetting
942    code, but it probably breaks some other things:
943    * Video Overlay: I suppose it does work with EXA activated. It seems
944    it is also possible to have simultaneous overlays in both CRTCs with the
945    Lynx hardware (I have some code for this, but still work in progress).
946    * Hardware Cursor (It needs more integration in the CRTC interfaces).
947    * The old Shadow FB / rotation code, which we should probably drop.
948    
949      These are in my TODO list... Along with some more cleaning and other
950    minor issues in the modesetting code.
951    
952      About the SMI501 RandR1.2 implementation... I suppose it's specially
953    lacking per-output DPMS (The DPMS field in the System Control register
954    only affects the CRT, doesn't it?).
955
956commit 605199b1fa80d5a65e11a38270f6d0974466d1dc
957Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
958Date:   Thu Oct 9 18:51:50 2008 -0300
959
960    Add a PanelSize/60Hz CVT mode at driver initialization
961    
962      This driver is expected to be used with XServer 1.4 or newer, but a
963    (probably temporary) copy of xf86cvt.c was also added to the build.
964      This modeline automatically added implies it would not be required
965    to specify one in xorg.conf, as it should not be uncommon "non standard"
966    modes, like 800x480 or 1024x600.
967
968commit 55052509d75492f0936273686826c51fcbc831c1
969Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
970Date:   Thu Oct 9 18:12:02 2008 -0300
971
972    Make the input frequency in SMI501_FindPLLClock a variable
973    
974      Instead of using a fixed 24Mhz input frequency, as "unofficially"
975    specified by SMI, a guess of using a 12 multiplier was used, and it
976    corrects the screen flicker problem as well as make a secondary output
977    work again.
978
979commit 61f814d1c8ad9440bab89eda44e64b01ba0eb703
980Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
981Date:   Wed Oct 8 18:36:11 2008 -0300
982
983    Rewrite WaitQueue and WaitIdle accell macros
984    
985      WaitQueue() did receive an unused parameter, that was removed. The
986    parameter was unused since version 1.0 in XFree86 CVS, so probably
987    nobody knows for what it was used.
988      WaitIdle() now also replaces WaitIdleEmpty(), as an idle engine
989    should also have an empty fifo.
990      SMI_SubsequentScreenToScreenCopy() was changed to use WaitIdle()
991    instead of WaitQueue() before submitting the commands to the engine.
992    This fixes a nasty lockup when using XaaOffscreenPixmaps (what is
993    desired/wanted to help improve performance), and the lockup in the
994    MSOC was clearly due to an engine overrun, when sending commands
995    faster then the engine could process.
996
997commit 1656fb6de5308ff586676e8d6a8aa8d4579ebf4c
998Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
999Date:   Fri Oct 3 18:55:14 2008 -0300
1000
1001    Don't use the 1 multiplier on older chipsets.
1002    
1003      It is not in the specs, so don't use it on chipsets older then the 502.
1004      Some review should be done in SMI501_FindPLLClock() as when hardcoding it
1005    to use the clock selection code for older chips, it appears to choose a
1006    better refresh rate (no flicking at 1024x600).
1007
1008commit da789f720e2d772dff92adc10aa024a6a921fbbd
1009Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1010Date:   Fri Oct 3 16:30:23 2008 -0300
1011
1012    Simplify regsmi.h by removing most unused SMI501 defines.
1013    
1014      The values that should be used, should also have a more meaningful name,
1015    as something like:
1016    doesn't help much, and the fact that these "ports" can be accessed from
1017    several "bases" may be confusing also, as there is SCRBase, DCRBase,
1018    FPRBase, DPRBase, CPRBase (and IOBase). The 501 code should probably be
1019    changed to just use IOBase, as currently it uses SCRBase, that happens
1020    to be at pSmi->MapBase + 0x0000.
1021    
1022      This patch also completely transforms the WaitQueue macro in a noop
1023    for the MSOC. In SMI sample code it is almost the current code, just
1024    that the macro body is commented out. Hopefully this will be addressed
1025    soon.
1026
1027commit bacddd1d31a5f3de14477914958f27b6f081c125
1028Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1029Date:   Fri Oct 3 15:10:55 2008 -0300
1030
1031    Rename macro "bitfield" to "bits" and correct a wrong division.
1032
1033commit 22a7fd6711e2a40633981cd21fa3808c9246f13a
1034Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1035Date:   Thu Oct 2 16:11:59 2008 -0300
1036
1037    Remove the IN_SEQ and OUT_SEQ macros.
1038    
1039      These macros access vga registers, but don't make it clear in their name.
1040
1041commit 973f68bf0464c4d2aec2acf7c8e6db201782f4ec
1042Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1043Date:   Thu Oct 2 15:48:51 2008 -0300
1044
1045    Rewrite some macros to not have side effects in if/else nesting.
1046
1047commit 82e17c442c3969938435a8b46d2679995af64425
1048Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1049Date:   Thu Oct 2 15:25:41 2008 -0300
1050
1051    Add support for the extra divider in the alternate pixel clock setting.
1052    
1053      Also remove extra includes that were not used.
1054
1055commit b32769305275519f7f4d1e0871a71514636ca026
1056Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1057Date:   Wed Oct 1 18:27:27 2008 -0300
1058
1059    Correct clock programming for the SMI 501/502
1060    
1061      The new code is based on the file SM502Clock.pdf provide by SMI engineers
1062    (many thanks). And now it is expected to work correctly. The few remaining
1063    details that are unclear (for the extended 502 modesetting mode) should be
1064    resolved soon, and those are:
1065    *  MMIO:0x74:bit15 (PLL Output Divided by 2)
1066    	0: Disable.
1067    	1: Enable.
1068       (does this mean it can use a 12MHz clock instead of 24? or anything else?)
1069    *  Should bit 31 of "current clock" always be set when using the alternate
1070       mode setting for the 502? The alternate modesetting allows a very closer
1071       pixel clock programming option, usually with 0 difference from the
1072       xf86 mode.
1073    
1074      I will ask SMI to make SM502Clock.pdf also available in the ftp site, it
1075    is just 3 pages, or possibly even better, an update for the existing
1076    documentation.
1077
1078commit ea34e20852ee6007e2f0fcacd5068c151865be1e
1079Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1080Date:   Tue Sep 30 17:49:25 2008 -0300
1081
1082    Remove the macro field, and rename the detail structure to f.
1083    
1084      Now access to bitfields looks like:
1085    record->register.f.field
1086      instead of:
1087    field(record->register, field)
1088      what should be easier to read and understand.
1089
1090commit a91872f813a6299f32b9f833876c54afd0b53aaa
1091Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1092Date:   Tue Sep 30 17:33:36 2008 -0300
1093
1094    Update to match the SMI 502 chipset specs.
1095    
1096      The 502 is a superset of the 501, also recognized as PCI_CHIP_SMI501.
1097      The driver is only known to work with smi_501 chipset
1098    "SM501 VoyagerGX Rev. AA (rev c0)".
1099
1100commit e830572bca9b8eaf50a36a12d1fe31cdfec6280e
1101Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1102Date:   Fri Sep 26 19:43:45 2008 -0300
1103
1104    Don't always program CRT clock and registers.
1105    
1106      This causes instabilities, and there was also a bug where it would
1107    tell the crt to not select panel data (due to removing the "else").
1108
1109commit 314eecb6628840a942ff2e76d8c7402301feac77
1110Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1111Date:   Fri Sep 26 19:30:17 2008 -0300
1112
1113    Properly check pScrn->driverPrivate before deferencing it.
1114    
1115       Add missing divide by 1000 in smi_501.c, as well as a FIXME comment
1116    about a crash, and possible cause as well as possible ways to program
1117    other clocks.
1118
1119commit f18222ffcff8e78b3cfcd220cad06a1daa3fc920
1120Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1121Date:   Fri Sep 26 17:55:42 2008 -0300
1122
1123      Don't try to find the closest clock, just use highest one.
1124    
1125      Previous patch wasn't fully correct, just that the values were generating
1126    the same register dump as the smi 2.2.5 driver version.
1127      When correcting it to not mix Mhz and Khz in the math, the problems
1128    returned.... Anyway, it just works when selecting the highest clock, and
1129    the attached CRT will display the panel image. This is illogical, so maybe
1130    the specs are outdated... The previous code has been #ifdef'ed out in
1131    "CALC_CLOCK".
1132      Note that it still changes the boot default clock, from the default
1133    288Mhz to 336Mhz, and in this patch, it also always sets both, panel and
1134    crt clocks (what happens here, is that most likely, by doing this, it
1135    forces the hardware to "somehow" autoconfigure itself; will try to get
1136    some information from SMI about this, but this is the boot default,
1137    and what smi sources do...).
1138
1139commit bdba7c1397186cd15d519db55c2345db44990be4
1140Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1141Date:   Wed Sep 24 18:58:35 2008 -0300
1142
1143    Fix incorrect understanding of the pixel clock from specs.
1144    
1145      The clock that should be programmed is the bandwidth, and not the pixel
1146    clock itself. Based on analysis of register contents, after "importing"
1147    a slightly modified version of xf86ModeBandwidth() and properly converting
1148    values, now it properly programs both, the LCD and a "clone" CRT or just
1149    a secondary panel.
1150    
1151      Modes generated by either gtf or cvt correctly works.
1152    
1153      A (hopefully temporary) fallback was also added, and if the option
1154    "UseFBDev" is used, the driver will not attempt to set/modify the
1155    current video mode.
1156    
1157      TODO: Generate a modeline "on the fly", based on monitor configured
1158    specs, or some set of defaults, so that it should not be required to
1159    specify a modeline in xorg.conf.
1160
1161commit e64b3d63be2a4148c4d10ac160e2bd2f3e8c7fd3
1162Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1163Date:   Mon Sep 22 22:01:16 2008 -0300
1164
1165    Correct problems in clock setting.
1166    
1167      One clock must be changed at a time, first setting the pll value,
1168    then waiting for 16ms (one vsync), then setting the divider/shift
1169    values, and again waiting 16ms.
1170      Code was working after split of SMI501_ModeInit(), because some
1171    clocks were already using system boot default, but would most likely
1172    cause a crash when actually changing values (currently only p2_xxx
1173    or v2_xxx is changed, but it would cause problems on some system where
1174    the initial values don't match the ones set by the driver).
1175    
1176      TODO: Either don't change m2clk and mclk or ensure other values
1177    work correctly (don't change because the kernel should already
1178    have set those if a value other then the boot default should be
1179    used).
1180
1181commit 1f0af5ea50e3e3b2c9ed882f7ef2fb8871e780bd
1182Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1183Date:   Mon Sep 22 21:41:12 2008 -0300
1184
1185    Correct logic in sw cursor handling and add missing entries to .gitignore.
1186
1187commit 862cbd8c1845b54a38996b92e8e22d153f38cdd2
1188Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1189Date:   Mon Sep 22 19:09:12 2008 -0300
1190
1191    Split SMI501_ModeInit in two functions.
1192    
1193      This allows using alternate MSOCRegRec structures to set a mode.
1194    This should be useful to restore the initial mode.
1195
1196commit bcbf1854be851b8fa1ec3f384b11c312b0533bf3
1197Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1198Date:   Mon Sep 22 18:29:31 2008 -0300
1199
1200    Remove unused .cvsignore files.
1201
1202commit 1014ffe0a2c55119d6bfbcf632f3d4ebe77af212
1203Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1204Date:   Mon Sep 22 18:15:21 2008 -0300
1205
1206    Simplify hw cursor and sw cursor option handling.
1207    
1208      Also rename SMIRec field hwcursor to HwCursor, as there are few usages,
1209    and this way, match the case usage for other field names.
1210
1211commit 6b5c22d8680573c8a6b259d78ba3c8435514fde9
1212Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1213Date:   Mon Sep 22 17:05:21 2008 -0300
1214
1215    Rework/simplify debug macros.
1216    
1217      Instead of cut&paste of the name of the current function everywhere,
1218    just use cpp's __FUNCTION__ predefined macro.
1219      Create two macros to exit a function, named LEAVE() and RETURN().
1220    Functions returning void should call LEAVE() and then explicitly return
1221    for now. "Logged" function calls are indented, so a review was done to
1222    ensure functions with a ENTER() also have the proper exit macro.
1223      The DEBUG macro was changed to have variadic arguments, and this way
1224    it is no longer required to prefix arguments with VERBLEV, but now it
1225    also is not possible to use another "verbosity value", but it wasn't used
1226    in any of the DEBUG macro calls.
1227
1228commit cf7097c19b31671a53bc8161bd29b9f79f1d3d85
1229Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1230Date:   Mon Sep 22 14:25:04 2008 -0300
1231
1232    Fix a leak and minor cosmetic change.
1233    
1234      Leak was due to only releasing return value of xf86GetEntityInfo
1235    if the chipset was PCI_CHIP_SMI501.
1236      Cosmetic change was to log pci burst and pci retry default values
1237    as X_DEFAULT instead of X_PROBED.
1238
1239commit ee1e72a248b2df6522283c0dd3e5433d7f961c62
1240Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1241Date:   Fri Sep 19 18:06:20 2008 -0300
1242
1243    Kludge to not lock the SMI 501 when running at 8bpp.
1244
1245commit 9ae840a358959615020fa4adb76c1487231927f3
1246Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1247Date:   Fri Sep 19 18:00:16 2008 -0300
1248
1249    Add MSOC palette support to run at 8 bpp.
1250    
1251      Colors should be correctly set, but most output using Render is not
1252    properly drawn, i.e. anti aliased fonts, etc. Need to investigate
1253    further, but it should be a general problem, not exclusive to the
1254    driver.
1255
1256commit f4339a6a7aa077cb355dd23b77ea568ad2a481e3
1257Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1258Date:   Fri Sep 19 16:52:17 2008 -0300
1259
1260    Enable pci retry and pci burst by default.
1261    
1262      Rename fields pci_burst and NoPCIRetry to PCIBurst and PCIRetry,
1263    to match field names case usage, and updated logic for the removal
1264    of "No" from the pci retry option.
1265      Pci retry and pci burst greatly increase video playback speed,
1266    allowing smooth video play on the SMI 501.
1267
1268commit 782ef31a9273e33100ae6b4bd20a4d1d3f493aa4
1269Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1270Date:   Fri Sep 19 15:48:34 2008 -0300
1271
1272    Add initial exa support for SMI501.
1273    
1274      This just allows exa to run, with a minimal ammount of features avaiable.
1275
1276commit 5d9ab8195e692f78dd7e57e7d17d8b46f7f59221
1277Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1278Date:   Thu Sep 18 18:27:51 2008 -0300
1279
1280    Add a missing CHECK_SECONDARY macro call.
1281
1282commit 2876b55c3ed82b9be023acbfc4ddf993494c3c9b
1283Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1284Date:   Thu Sep 18 18:23:37 2008 -0300
1285
1286    Correct video offscreen memory allocation routines.
1287    
1288      It was always failing in the first allocation, if using XAA, what caused
1289    some players to not work correct. This is a major problem for the MSOC as
1290    it still only supports XAA.
1291      Also add a workaround for a hardware problem, as described in
1292    "SM501 Rev.AA engineering addendum v0.1.pdf"
1293    "A-27 PIXELS TOO BRIGHT ON VIDEO SHRINK".
1294
1295commit 79297e797de3497773539eb9f89e8594797ee512
1296Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1297Date:   Thu Sep 18 18:16:21 2008 -0300
1298
1299    Update for new smi_501 interfaces.
1300    
1301      This also adds some simplification for the driver code, by adding
1302    some function pointers to avoid the need to check the chipset everywhere.
1303      The new SMI_DetectMCLK function doesn't actually change pSmi->MCLK to
1304    avoid chances of it stoping working on non MSOC chipsets, as it
1305    previously not did set it, and for the MSOC, for the moment, default to
1306    whatever value is already set, i.e. doesn't reprogram it.
1307      Added new memory detection code for the MSOC, that better matches the
1308    documentation.
1309
1310commit 95e312b712a1e4a476ef31c5302faf77c22915a9
1311Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1312Date:   Thu Sep 18 18:10:54 2008 -0300
1313
1314      Complete rewrite of smi_501.c and smi_501.h.
1315    
1316      The previous version was dependant on kernel framebuffer, as it was
1317    just failing a test if not having a modeline defined, and in the test
1318    case, it is running at 1024x600.
1319      Now it properly programs the video hardware, and the procedure is
1320    expected to be very well documented.
1321
1322commit cf5132907e4709c872089fe2d79837b2de4e45b7
1323Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1324Date:   Tue Sep 2 18:16:41 2008 -0300
1325
1326    Rename global smi501 functions to have SMI501 prefix.
1327    
1328      Functions renamed were setDPMS -> SMI501_SetDPMS,
1329    regRead32 -> SMI501_Read32 and regWrite32 -> SMI501_Write32.
1330      Also moved SMI_SetDPMS to start of smi_501.c to have extern
1331    functions at start of the file.
1332
1333commit a2a090e10f031aed6dbf6d143d6ce8abdf7a2392
1334Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1335Date:   Tue Sep 2 17:55:16 2008 -0300
1336
1337    Correct all compiler warning messages.
1338    
1339      Code compiled with:
1340    gcc -Wall -Wbad-function-cast -Wdeclaration-after-statement \
1341        -Wmissing-prototypes -Wmissing-declarations -Wnested-externs \
1342        -fno-strict-aliasing -Wold-style-definition -Wpointer-arith \
1343        -Wstrict-prototypes
1344    
1345      This patch also makes most smi_501.c functions static, as they are not
1346    called from anywhere else.
1347      Also removed prototypes for non existent functions in smi_501.h.
1348
1349commit 2d5ba5f7310fa8e11f7349d116aa871a239ac35f
1350Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1351Date:   Tue Sep 2 16:32:31 2008 -0300
1352
1353    Correct xv video problems on MSOC.
1354    
1355      Set VIDEO_CLIP_TO_VIEWPORT as it is used in MSI sources, and also add
1356    proper code to detect panel size, as this information is used to manage
1357    offscreen memory (but shouldn't it be using pScrn->virtualY, etc?)
1358
1359commit e111c85d6cca3f2206b6bce119b284edccf0cd4f
1360Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1361Date:   Mon Sep 1 18:41:43 2008 -0300
1362
1363    Don't pretend this driver compiles on XFree86.
1364    
1365      Either remove check for XF86_VERSION_CURRENT or at least add the
1366    implementation of RegionsEqual() to smi_video.c.
1367
1368commit b23c5c5e434aaba2128abcae61a8564a62d2e7a1
1369Author: Francisco Jerez <currojerez@gmail.com>
1370Date:   Mon Sep 1 21:28:13 2008 +0200
1371
1372    Fix XAA, ShadowFB and VT switching for non-sm501 chipsets
1373    
1374    Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1375
1376commit 6a01c87b7c75f698ff2b783f8d341526159ebfe2
1377Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1378Date:   Mon Sep 1 18:00:03 2008 -0300
1379
1380    Split SMI_MapMem in SMI_MapMem and SMI_MapMmio
1381    
1382      This is required because MSOC needs mmio to detect ammount of memory.
1383      The patch also creates a SMI_DetectMem() function, that should slightly
1384    simplify SMI_PreInit().
1385
1386commit c45ef4676812f72dcff53ba85e9fa95836704c75
1387Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1388Date:   Fri Aug 29 19:33:31 2008 -0300
1389
1390    Bump version to 1.6.1.
1391
1392commit 4eee032811d1487df9dcf94708b1bcafc7e63392
1393Author: Arnaud Patard <apatard@mandriva.com>
1394Date:   Fri Aug 29 19:33:31 2008 -0300
1395
1396    Correct a problem when handling i420 format.
1397    
1398    The problem was that the driver was converting i420->YV12 2 times
1399    instead of only once.
1400
1401commit 76c931e149917563485ae6ad2950aa28a531b0d1
1402Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1403Date:   Fri Aug 29 19:31:57 2008 -0300
1404
1405    Update MSOC video interface.
1406    
1407      This synchronizes smi_video.c with smi 2.2.5 sources.
1408
1409commit 0eb35f2065314807a604a44e571bbb898db23543
1410Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1411Date:   Fri Aug 29 19:20:54 2008 -0300
1412
1413    Update xaa and generic acceleration code for the MSOC.
1414    
1415      Currently, the support for EXA is not functional, neither is
1416    ShadowFB or bpp/depth other than 16.
1417
1418commit 375e35fc7df4a21c2e0bc933774cc2f5f29b89d1
1419Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1420Date:   Fri Aug 29 19:36:35 2008 -0300
1421
1422    MSOC doesn't access VGA registers or VBE/INT10
1423    
1424      This should be the biggest patch in the "merge". Done in a single chunk
1425    to have it compilable at all stages.
1426
1427commit 164d921465ae7b3a0fa2551358f7c0b5a18a425a
1428Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1429Date:   Fri Aug 29 18:47:14 2008 -0300
1430
1431    Add code to probe and recognize the SMI501 chipset
1432
1433commit db330497c3b757361ac9c3602b3a4ece0a401dd3
1434Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1435Date:   Fri Aug 29 15:58:16 2008 -0300
1436
1437    Change SILICONMOTION_NAME value
1438    
1439      xf86VDrvMsgVerb prints up to 14 characters prefix, where prefix has the
1440    format "%s(%d): " so, use name "SMI" instead of "Silicon Motion"
1441
1442commit 36309132aef067822a8901ce24fda817be58546d
1443Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1444Date:   Fri Aug 29 15:52:36 2008 -0300
1445
1446    Add initial support and macros for the MSOC.
1447    
1448    This patch add the new files and basic required definitions.
1449
1450commit 96166eafc2b0e5db627aa4f8b0422f953837772b
1451Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1452Date:   Fri Aug 29 14:48:44 2008 -0300
1453
1454    Fix build for removal of xf86Version.h
1455    
1456      This is the first patch of series to merge code from the version 2.2.5
1457    from SiliconMotion and code from
1458    http://cgit.freedesktop.org/~agd5f/xf86-video-smi501
1459    
1460      After the merge, work will continue, to correct some extra problems,
1461    and make it work with EXA at least (as only the Xorg version has
1462    EXA support).
1463
1464commit 682b9a1b97a82c7d084c63860a8c753cc45d9faf
1465Author: Francisco Jerez <currojerez@gmail.com>
1466Date:   Sat Aug 16 13:24:27 2008 +0200
1467
1468    Allow using XV and RandR rotation simultaneously.
1469    
1470     As it doesn't seem feasible to rotate the video, I did some modifications
1471    at SMI_PutImage and SMI_ClipVideo to make PutImage work (incorrectly) with
1472    rotation enabled. The image is displayed unrotated.
1473    
1474    Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1475
1476commit f6110b1ef5934b45812ee95e70b1e64f44386dda
1477Author: Francisco Jerez <currojerez@gmail.com>
1478Date:   Sat Aug 16 13:08:25 2008 +0200
1479
1480    Some fixes in the EXA UTS/DTS code.
1481    
1482     In DTS:
1483      * It uses the screen Bpp inestead of the pixmap Bpp...
1484        this gives some problems when using pixmaps with different depth
1485        to the screen.
1486     In UTS:
1487      * aligned_pitch was computed from src_pitch inestead of the
1488        pixmap width.
1489      * When writing the target coordinates to the DE registers, it does
1490        y*0xFFFF inestead of y & 0xFFFF.
1491      * I renamed source_pitch to src_pixelpitch as it is very confusing
1492        to have src_pitch and source_pitch.
1493      * It isn't necessary to call WaitQueue before copying each scanline,
1494        but it seems it almost doesn't affect performance.
1495    
1496    Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1497
1498commit 209097ba5b44a0ce0da7f1ea52150dcace2b5244
1499Author: Francisco Jerez <currojerez@gmail.com>
1500Date:   Sat Aug 16 13:00:31 2008 +0200
1501
1502    RandR rotation implemented.
1503    
1504    * I added the configuration file option "RandRRotation".
1505    * I replaced pSmi->ShadowPitch with pSmi->screenStride, it seems it
1506       makes more sense because the lower word of ShadowPitch may change
1507       independently.
1508    * I moved the SMI_DEDataFormat to smi_accel.c because it seems it is
1509      a piece of code repeated many times in the driver.
1510    * At some places, it is assumed the framebuffer is at FBOffset:
1511      when using a shadow framebuffer, FBOffset is the location of the
1512      on-screen framebuffer (0 should be used). This made e.g. EXA
1513      completly useless with ShadowFB enabled (it crashed).
1514    * In the FBManager initialization, I have replaced xf86InitFBManager
1515      with xf86InitFBManagerRegion to reserve some additional space as
1516      screen fb: it's unlikely to be the case, but a less efficient
1517      alignment in the rotated mode could make the rotated mode need more
1518      memory than the unrotated one.
1519      This is not a problem with EXA as the offscreen memory parameters
1520      can be easily modified when doing the rotation.
1521    * In SMI_RefreshArea it's assumed that some DE registers are already
1522      in some state, this is specially not true when using EXA.
1523    * SMI_ValidMode rejects a rotated mode with different dimensions
1524      than the panel. This seems to work now.
1525    
1526    Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1527
1528commit 45c6aedd6fe4e4d6abe58d1bb39ec01049404f09
1529Author: Francisco Jerez <currojerez@gmail.com>
1530Date:   Sat Aug 16 12:50:26 2008 +0200
1531
1532    Updates in SMI_EnterVT when remapping memory.
1533    
1534      Update the screen pixmap header with the new aperture address
1535    when remapping framebuffer memory in SMI_EnterVT.
1536      Update pSmi->EXADriverPtr->memoryBase too, in case EXA is
1537    being used.
1538    
1539    Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1540
1541commit 8feca790a6e92799019237ac69a4ef618cacfaae
1542Author: Francisco Jerez <currojerez@gmail.com>
1543Date:   Sat Aug 16 12:40:52 2008 +0200
1544
1545    Make the int10/VBE initialization depend on the UseBIOS configuration option.
1546    
1547    Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1548
1549commit 772e899e71efab208b844b09c75f9f49ff453386
1550Author: Francisco Jerez <currojerez@gmail.com>
1551Date:   Sat Aug 16 12:25:18 2008 +0200
1552
1553    Memory detection moved before memory mapping in SMI_PreInit.
1554    
1555    Take into account the VideoRam configuration option.
1556    
1557    Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
1558
1559commit d28ed6aa0d28fdcf8f555b2bb8a58fe28d1b464b
1560Author: Adam Jackson <ajax@redhat.com>
1561Date:   Fri Aug 15 14:24:31 2008 -0400
1562
1563    Dead code removal.
1564
1565commit 7cfecd313aaea74ad5675c53b4d0099d6e9dec39
1566Author: Adam Jackson <ajax@redhat.com>
1567Date:   Wed Mar 19 15:26:14 2008 -0400
1568
1569    siliconmotion 1.6.0
1570
1571commit c0e80b14a8af7c9df44919b2df58030e59ecbf88
1572Author: Adam Jackson <ajax@redhat.com>
1573Date:   Wed Mar 19 15:25:23 2008 -0400
1574
1575    Fix distcheck
1576
1577commit e53d07525952e1281170db01c48d7a14a6983049
1578Author: Adam Jackson <ajax@redhat.com>
1579Date:   Wed Mar 19 15:24:11 2008 -0400
1580
1581    Death to RCS tags.
1582
1583commit 46e68bf899754f6f70a0f5a7b0d42c5e208aaa5a
1584Author: Dave Airlie <airlied@redhat.com>
1585Date:   Mon Mar 10 13:53:00 2008 +1000
1586
1587    smi: add pciaccess support
1588
1589commit 75182ca115cba8fcf31304aea88ca3d4b9aa66ac
1590Author: Matthieu Herrb <matthieu.herrb@laas.fr>
1591Date:   Sat Mar 8 23:49:58 2008 +0100
1592
1593    Makefile.am: nuke RCS Id
1594
1595commit ae556406ab6c4de410b68b3c8bcebb434b3efc9d
1596Author: Brice Goglin <bgoglin@debian.org>
1597Date:   Tue Aug 7 10:00:25 2007 +0200
1598
1599    Define SILICONMOTION_VERSION* using PACKAGE_VERSION*
1600
1601commit 1a803a8f91a931c00106f9d3d41cfa5d74c19f55
1602Author: Alex Deucher <alex@botch2.com>
1603Date:   Tue Mar 20 21:08:38 2007 -0400
1604
1605    minor fixup
1606
1607commit 503027d38dab759277c0a67746ac205a1dfa9277
1608Author: Dennis De Winter <dennis.de.winter@gmail.com>
1609Date:   Fri Mar 16 21:29:19 2007 -0400
1610
1611    Fix UTS issues with flash
1612    
1613    Also remove safety padding on memory manager calculation
1614
1615commit fe4114033f2853e2df8d37c490deba26bf0366e8
1616Author: Alex Deucher <alex@botch2.com>
1617Date:   Thu Mar 15 02:11:24 2007 -0400
1618
1619    hostdata blit UTS works, but SW is faster
1620    
1621    UTS is working, but SW is faster so leave it disabled
1622
1623commit 62442ce9e62b484e4f2067e3c52c153cd356be2c
1624Author: Alex Deucher <alex@botch2.com>
1625Date:   Wed Mar 14 20:13:28 2007 -0400
1626
1627    more clock fixes
1628
1629commit 6ff1241636e25d2c0f20bd14e92c8585f209aeb0
1630Author: Alex Deucher <alex@botch2.com>
1631Date:   Tue Mar 13 02:32:52 2007 -0400
1632
1633    bump to 1.5.1
1634
1635commit b53db3bc5ba7648d392dc630ef47e57fb8a0afb4
1636Author: Alex Deucher <alex@botch2.com>
1637Date:   Tue Mar 13 02:31:30 2007 -0400
1638
1639    fix clk calculation on older lynx chips
1640
1641commit 7d1392be291e99fd3dde2292b82423b5f78d3a21
1642Author: Alex Deucher <alex@botch2.com>
1643Date:   Tue Mar 13 00:44:29 2007 -0400
1644
1645    bump to 1.5.0
1646
1647commit 449fedec0e38289d10d75799bbf995b0e7189911
1648Author: Alex Deucher <alex@botch2.com>
1649Date:   Tue Mar 13 00:13:35 2007 -0400
1650
1651    fix Solid()
1652    
1653    Unforunately, for 32 bpp solid fills the HW ignores alpha.
1654
1655commit 6d40f87d6cddde2d88f25be686b6392449cdecf1
1656Author: Alex Deucher <alex@botch2.com>
1657Date:   Mon Mar 12 23:58:41 2007 -0400
1658
1659    remove spurious waitqueue() line
1660
1661commit 452cabd6e3870b832cb19c8ad8a1fce27eef9c48
1662Author: Alex Deucher <alex@botch2.com>
1663Date:   Mon Mar 12 01:11:16 2007 -0400
1664
1665    Update copyright.
1666
1667commit 55266778ac693582131acae80def32211e09f18f
1668Author: Alex Deucher <alex@botch2.com>
1669Date:   Mon Mar 12 01:02:53 2007 -0400
1670
1671    switch the engine to quick start mode
1672    
1673    Rather than writing to the engine command register for every
1674    operation, set quick start mode, and the operation executes
1675    automatically when the width register is written.
1676
1677commit 4b37b514907da4a567261569eaebcc5a35aff6db
1678Author: Alex Deucher <alex@botch2.com>
1679Date:   Mon Mar 12 00:12:23 2007 -0400
1680
1681    fixup waitqueue slots
1682
1683commit 493c93de288437501fd898800bce45300379ebc3
1684Author: Alex Deucher <alex@botch2.com>
1685Date:   Sun Mar 11 18:49:48 2007 -0400
1686
1687    more exa fixups, disable UTS for now.
1688
1689commit c1d6373624428c8c52e4d1d295b1d77ed75391a0
1690Author: Alex Deucher <alex@botch2.com>
1691Date:   Sun Mar 11 16:22:05 2007 -0400
1692
1693    engine likes to use blit command for solid fills
1694
1695commit 9db380c99decdb9ab7fbf481788a5b63a84cd6e0
1696Author: Alex Deucher <alex@botch2.com>
1697Date:   Sun Mar 11 15:53:29 2007 -0400
1698
1699    fix postscalar shift
1700
1701commit b6082e628289221864e96ebc41ce93d8efe2d2ce
1702Author: Alex Deucher <alex@botch2.com>
1703Date:   Sun Mar 11 14:09:45 2007 -0400
1704
1705    support 32 bpp
1706
1707commit 3ebbc2e55a1584e01949ec760501ac4a3c086b04
1708Author: Alex Deucher <alex@botch2.com>
1709Date:   Sun Mar 11 13:40:06 2007 -0400
1710
1711    fix up vclk1 setup
1712
1713commit 3e62ec8736ea9ea64a2c0c5c41df9c6d742397ca
1714Author: Alex Deucher <alex@botch2.com>
1715Date:   Tue Mar 6 02:42:52 2007 -0500
1716
1717    revert the last commit.
1718    
1719    FBBase already take the register offset into account.
1720
1721commit 7da75a99159f80f215ee409377128f7dcbc4064d
1722Author: Alex Deucher <alex@botch2.com>
1723Date:   Tue Mar 6 02:38:02 2007 -0500
1724
1725    fix memoryBase
1726    
1727    pSmi->FBOffset is the offset from the start of the framebuffer
1728    pScrn->fbOffset is the aperture offset where the framebuffer
1729    starts
1730
1731commit ba0b2492269ea81e91f7ce4fb8da618187a3997f
1732Author: Alex Deucher <alex@botch2.com>
1733Date:   Tue Mar 6 02:24:08 2007 -0500
1734
1735    first pass at UTS
1736
1737commit e650ca36da5cf7614e4f1a0a524eadb46b1cc21d
1738Author: Alex Deucher <alex@botch2.com>
1739Date:   Mon Mar 5 23:58:25 2007 -0500
1740
1741    fix up EXA code
1742
1743commit c5b23ba581a3a4395b528d4ed824d5df986527e4
1744Author: Dennis De Winter <de.winter.dennis@gmail.com>
1745Date:   Sun Mar 4 23:17:57 2007 -0500
1746
1747    Initial import of EXA support
1748    
1749    Based on Dennis' code from bug 8721 with some minor
1750    changes by me.
1751
1752commit cf83ef7685609cd9daea193b4c842d232edcf506
1753Author: Alex Deucher <alex@botch2.com>
1754Date:   Sun Mar 4 17:18:10 2007 -0500
1755
1756    actually calculate and use vclk1
1757
1758commit 3030e5a6afda5d05ddee5b586295a9e608b7a0de
1759Author: Alex Deucher <alex@botch2.com>
1760Date:   Sun Mar 4 02:45:55 2007 -0500
1761
1762    Whitespace and formatting changes
1763
1764commit 606971fc8a323b0b33bb43524941b4bae6a0c334
1765Author: Alan Coopersmith <alan.coopersmith@sun.com>
1766Date:   Tue Feb 27 13:04:31 2007 -0800
1767
1768    renamed: .cvsignore -> .gitignore
1769
1770commit 4b3d28435d2f046d48a38694d89166fe38b00597
1771Author: Alan Coopersmith <alan.coopersmith@sun.com>
1772Date:   Tue Feb 27 13:04:01 2007 -0800
1773
1774    Replace XFree86 references in man page
1775
1776commit 3ff1d1aaf93df90f3a96b87bd8447db44b1722f5
1777Author: Alex Deucher <alex@samba.(none)>
1778Date:   Wed Jan 10 21:58:47 2007 -0500
1779
1780    only idle the engine on mode switches
1781    
1782    on the initial mode set the engine doesn't idle
1783    for some users.
1784
1785commit 72c1d44182a49dbd502bbdc0b48f69a43ad5aed0
1786Author: Adam Jackson <ajax@benzedrine.nwnk.net>
1787Date:   Fri Oct 13 18:41:44 2006 -0400
1788
1789    Bump to 1.4.2
1790
1791commit 36bbaaf3f44321fc7bb8ff1b71ff1d7f87f3b19b
1792Author: Alex Deucher <alex@samba.(none)>
1793Date:   Sat Sep 16 15:48:54 2006 -0400
1794
1795    make siliconmotion build again.  somehow a bunch of defines in
1796    regsmi.h got lost?  commit 9a58bc9adbc982680dd8df27caeb9a5819f2adad looks
1797    like the culprit, but siliconmotion has built fine subsequent to that commit.
1798    Not sure exactly what's going on.
1799
1800commit c090b2d97dbedfc278a4691b70cf3f73f9799aa6
1801Author:  <alex@samba.(none)>
1802Date:   Thu Jul 20 23:35:30 2006 -0400
1803
1804    - add dualhead support for lynx chips (pretty limited due to severe hardware
1805    limitations -- I'll improve it a bit at some point)
1806    - small driver clean ups
1807
1808commit 845d45cd2066be53f6e2e53d5af6375045dac6e2
1809Author: Adam Jackson <ajax@nwnk.net>
1810Date:   Sat Apr 8 01:43:52 2006 +0000
1811
1812    Bump to 1.4.1 for Xv changes.
1813
1814commit 2951e947c56909c9d51bf3f937502d0f682b1d76
1815Author: Aaron Plattner <aplattner@nvidia.com>
1816Date:   Fri Apr 7 23:13:59 2006 +0000
1817
1818    Add a DrawablePtr argument to the XV functions to pave the way for
1819        redirected video.
1820
1821commit 9a316eaea700e3a356f922506bf2c79e00fd9d83
1822Author: Adam Jackson <ajax@nwnk.net>
1823Date:   Fri Apr 7 20:58:57 2006 +0000
1824
1825    Unlibcwrap. Bump server version requirement. Bump to 1.4.0.
1826
1827commit c394f38c9a998eebec134a9a77ced46b9c005b9d
1828Author: Luc Verhaegen <libv@skynet.be>
1829Date:   Wed Feb 8 16:52:34 2006 +0000
1830
1831    SiliconMotion: Clean up insane pScrn->clock usage.
1832
1833commit 2453cfe259dec826fceab3cff1b2c3803d3d8042
1834Author: Kevin E Martin <kem@kem.org>
1835Date:   Wed Dec 21 02:30:02 2005 +0000
1836
1837    Update package version for X11R7 release.
1838
1839commit e398882fba13cd081916d2ff04ead4f9023c9bfb
1840Author: Adam Jackson <ajax@nwnk.net>
1841Date:   Mon Dec 19 16:25:54 2005 +0000
1842
1843    Stub COPYING files
1844
1845commit 818baab410deef2b3a3b6653dd2134dea29e98de
1846Author: Kevin E Martin <kem@kem.org>
1847Date:   Thu Dec 15 00:24:19 2005 +0000
1848
1849    Update package version number for final X11R7 release candidate.
1850
1851commit 6c95cd7b0ac0c113c25bf985365f3ccb1d30d7c9
1852Author: Kevin E Martin <kem@kem.org>
1853Date:   Tue Dec 6 22:48:37 2005 +0000
1854
1855    Change *man_SOURCES ==> *man_PRE to fix autotools warnings.
1856
1857commit 10d5542f95e86463b96cc1fd31378473c2394bc0
1858Author: Kevin E Martin <kem@kem.org>
1859Date:   Sat Dec 3 05:49:35 2005 +0000
1860
1861    Update package version number for X11R7 RC3 release.
1862
1863commit 8180ea0cb0df275831b900836d9387bb2a730de4
1864Author: Kevin E Martin <kem@kem.org>
1865Date:   Fri Dec 2 02:16:10 2005 +0000
1866
1867    Remove extraneous AC_MSG_RESULT.
1868
1869commit 73e22f89e205a61c315ffaca63cc7f5ab1f2df5f
1870Author: Adam Jackson <ajax@nwnk.net>
1871Date:   Tue Nov 29 23:30:03 2005 +0000
1872
1873    Only build dlloader modules by default.
1874
1875commit 8b156b75c37fb642d6c680cc9fb5361fb0a8ff74
1876Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
1877Date:   Mon Nov 28 22:04:10 2005 +0000
1878
1879    Change *mandir targets to use new *_MAN_DIR variables set by xorg-macros.m4
1880        update to fix bug #5167 (Linux prefers *.1x man pages in man1 subdir)
1881
1882commit 8ad5ff0aa74eabc5b4dca2e0422d36713415b1b1
1883Author: Eric Anholt <anholt@freebsd.org>
1884Date:   Mon Nov 21 10:49:18 2005 +0000
1885
1886    Add .cvsignores for drivers.
1887
1888commit 0d4f340f197b14dacc5c33d82f0094ee1f9bb2a8
1889Author: Kevin E Martin <kem@kem.org>
1890Date:   Wed Nov 9 21:15:20 2005 +0000
1891
1892    Update package version number for X11R7 RC2 release.
1893
1894commit 280644786854eea8e8dbe7873e6c79d18f8048f0
1895Author: Kevin E Martin <kem@kem.org>
1896Date:   Tue Nov 1 15:08:54 2005 +0000
1897
1898    Update pkgcheck depedencies to work with separate build roots.
1899
1900commit bcc4f2555d4e4fa7ba2cf022165d3dd8ef331cd9
1901Author: Kevin E Martin <kem@kem.org>
1902Date:   Wed Oct 19 02:48:04 2005 +0000
1903
1904    Update package version number for RC1 release.
1905
1906commit 2da8c99697874a012dccfc582561a0b89e111ecd
1907Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
1908Date:   Tue Oct 18 00:01:54 2005 +0000
1909
1910    Use @DRIVER_MAN_SUFFIX@ instead of $(DRIVER_MAN_SUFFIX) in macro
1911        substitutions to work better with BSD make
1912
1913commit 9f9d3fcd3dca04b7d960d8777e8f8ba612fa1510
1914Author: Adam Jackson <ajax@nwnk.net>
1915Date:   Mon Oct 17 22:57:35 2005 +0000
1916
1917    More 1.7 braindamage: define EXTRA_DIST in terms of @DRIVER_NAME@ instead
1918        of indirectly
1919
1920commit 286bf9de5baebd75ca129e50af9dc5f66dbf4e4f
1921Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
1922Date:   Mon Oct 17 00:09:05 2005 +0000
1923
1924    Use sed & cpp to substitute variables in driver man pages
1925
1926commit 0db428f930db99d70897ca90b9ec0e130f4e6635
1927Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
1928Date:   Tue Sep 27 22:04:08 2005 +0000
1929
1930    Add some more documentation files for siliconmotion driver
1931
1932commit bdc896858ed819dcb79bb7443bfa57d63c8e0fad
1933Author: Daniel Stone <daniel@fooishbar.org>
1934Date:   Thu Aug 18 09:03:48 2005 +0000
1935
1936    Update autogen.sh to one that does objdir != srcdir.
1937
1938commit a3add2e05412767c49ca1c0a1069cd5805ea09e9
1939Author: Kevin E Martin <kem@kem.org>
1940Date:   Fri Jul 29 21:22:44 2005 +0000
1941
1942    Various changes preparing packages for RC0:
1943    - Verify and update package version numbers as needed
1944    - Implement versioning scheme
1945    - Change bug address to point to bugzilla bug entry form
1946    - Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to
1947        reenable it)
1948    - Fix makedepend to use pkgconfig and pass distcheck
1949    - Update build script to build macros first
1950    - Update modular Xorg version
1951
1952commit 5754df51d9b0f8bb8dac7b8c0072da929f1241f0
1953Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
1954Date:   Tue Jul 26 22:12:58 2005 +0000
1955
1956    Build system for siliconmotion
1957
1958commit 4b98eb4b30d694139d5e597c445d65d637ab7472
1959Author: Adam Jackson <ajax@nwnk.net>
1960Date:   Mon Jul 11 02:29:59 2005 +0000
1961
1962    Prep for modular builds by adding guarded #include "config.h" everywhere.
1963
1964commit 6389dd3dc1259865a4b5fcc6b6c7b3f4429593cf
1965Author: Daniel Stone <daniel@fooishbar.org>
1966Date:   Fri Jul 1 22:43:12 2005 +0000
1967
1968    Change all misc.h and os.h references to <X11/foo.h>.
1969
1970commit 1dc135becf5898950e04c84cc4d87870840140c1
1971Author: Alex Deucher <agd5f@yahoo.com>
1972Date:   Thu Jun 30 00:14:26 2005 +0000
1973
1974    - add 800x480 mode to smi driver (bug 3639)
1975
1976commit 0670b675c2133dd7c29f79bdf17d24d64181537d
1977Author: Adam Jackson <ajax@nwnk.net>
1978Date:   Sat Jun 25 21:16:56 2005 +0000
1979
1980    Bug #3626: _X_EXPORT tags for video and input drivers.
1981
1982commit 39112b558fdccd2b0a15b8e41d6215e3b0e6e7bd
1983Author: Daniel Stone <daniel@fooishbar.org>
1984Date:   Wed Apr 20 12:25:29 2005 +0000
1985
1986    Fix includes right throughout the Xserver tree:
1987    change "foo.h" to <X11/foo.h> for core headers, e.g. X.h, Xpoll.h;
1988    change "foo.h", "extensions/foo.h" and "X11/foo.h" to
1989        <X11/extensions/foo.h> for extension headers, e.g. Xv.h;
1990    change "foo.[ch]" to <X11/Xtrans/foo.[ch]> for Xtrans files.
1991
1992commit c34e24d83a0f84ad90b7cbaba78d54cc779f74d5
1993Author: Adam Jackson <ajax@nwnk.net>
1994Date:   Fri Sep 17 03:04:54 2004 +0000
1995
1996    Bug #1192: Remove cfb support from drivers where its use is an option.
1997        Delete xf24_32bpp, as s3virge was the last user. Fix up some comments
1998        to refer to fb rather than cfb.
1999
2000commit 61457616aea5d5d7d98e869d3b24e989c2404d6b
2001Author: Adam Jackson <ajax@nwnk.net>
2002Date:   Mon Aug 16 09:13:15 2004 +0000
2003
2004    Bug #1087: Make sure all the *Weak symbols are documented in the import
2005        list, so the loader knows not to complain about unresolved symbols when
2006        an optional module isn't loaded. This typically manifests as warnings
2007        about fbdevHW symbols when the user isn't using the framebuffer
2008        console.
2009
2010commit 74176c460a4f5206cbc7cd7b9f48d1b6cedae7cb
2011Author: Eric Anholt <anholt@freebsd.org>
2012Date:   Sat Jul 31 01:21:51 2004 +0000
2013
2014    Rename some COMPOSITE macros and enums to avoid conflicting with the
2015        COMPOSITE extension's new macro. These appear to only be used
2016        internally.
2017
2018commit 0f239a7f12e1c0a0b7ede424b0f1eb0fe189e9d6
2019Author: Adam Jackson <ajax@nwnk.net>
2020Date:   Sat Jul 31 01:21:19 2004 +0000
2021
2022    Change several LoaderSymbol calls introduced by the bug #400 patch to
2023    *Weak() resolver functions.
2024
2025commit 865ba2a4c1107bb82d22ed648f8a1d63c833d6fc
2026Author: Adam Jackson <ajax@nwnk.net>
2027Date:   Fri Jul 30 20:30:54 2004 +0000
2028
2029    Bug #400 (partial): Driver fixes for the dlloader. When using dlloader, all
2030        framebuffer formats except cfb and the overlay modes should work, and
2031        r128 and radeon need to be loaded from the ati driver (both issues to
2032        be fixed soon). Tested on i740, s3virge, mach64, tdfx, vesa, and vga
2033        drivers. elfloader users shouldn't be affected.
2034
2035commit 9a58bc9adbc982680dd8df27caeb9a5819f2adad
2036Author: Eric Anholt <anholt@freebsd.org>
2037Date:   Wed Jun 16 09:23:38 2004 +0000
2038
2039    DRI XFree86-4_3_99_12-merge import
2040
2041commit 1f957fb7e44762197b0fc5a3b7def25c7888929a
2042Author: Egbert Eich <eich@suse.de>
2043Date:   Wed May 26 16:24:09 2004 +0000
2044
2045    Fixing setting of physical framebuffer base for several drivers. C&T
2046        driver: Fixed setting of minimal clocks for HiQV chipsets. Neomagic
2047        driver: improved support for lowres double scan modes.
2048
2049commit 445708ff1249e96628dd6b11e20f83e568fb4ad1
2050Author: Egbert Eich <eich@suse.de>
2051Date:   Fri Apr 23 19:45:06 2004 +0000
2052
2053    Merging XORG-CURRENT into trunk
2054
2055commit 90141c8b6da8e6b57f2e4bae486a3d39c4069a8b
2056Author: Egbert Eich <eich@suse.de>
2057Date:   Sun Mar 14 08:33:31 2004 +0000
2058
2059    Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004
2060
2061commit 1082b4e0760359234cb5f51b953bbffc65d594ec
2062Author: Egbert Eich <eich@suse.de>
2063Date:   Wed Mar 3 12:12:24 2004 +0000
2064
2065    Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004
2066
2067commit b1c51d42211f715043a3252550ef2fde1a3065e5
2068Author: Egbert Eich <eich@suse.de>
2069Date:   Thu Feb 26 13:35:54 2004 +0000
2070
2071    readding XFree86's cvs IDs
2072
2073commit 2ae35696e96079b192c2cac4e092f6deeb300325
2074Author: Egbert Eich <eich@suse.de>
2075Date:   Thu Feb 26 09:23:23 2004 +0000
2076
2077    Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004
2078
2079commit ac5b2461e620df7026eefda6a389127e7d41f67d
2080Author: Kaleb Keithley <kaleb@freedesktop.org>
2081Date:   Fri Dec 19 20:55:14 2003 +0000
2082
2083    XFree86 4.3.99.902 (RC 2)
2084
2085commit 14cd4af100e1deb1c7b63e9f19587e38ce1f08f2
2086Author: Kaleb Keithley <kaleb@freedesktop.org>
2087Date:   Tue Nov 25 19:28:39 2003 +0000
2088
2089    XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks
2090
2091commit 1684aa7a21a194b6e7dd518f3895c9b2dfce229a
2092Author: Kaleb Keithley <kaleb@freedesktop.org>
2093Date:   Fri Nov 14 16:48:55 2003 +0000
2094
2095    XFree86 4.3.0.1
2096
2097commit 78af703cb019a60cc93843efcd4889ccb15abd13
2098Author: Kaleb Keithley <kaleb@freedesktop.org>
2099Date:   Fri Nov 14 16:48:55 2003 +0000
2100
2101    Initial revision
2102