summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-09-18Update for new smi_501 interfaces.Paulo Cesar Pereira de Andrade
This also adds some simplification for the driver code, by adding some function pointers to avoid the need to check the chipset everywhere. The new SMI_DetectMCLK function doesn't actually change pSmi->MCLK to avoid chances of it stoping working on non MSOC chipsets, as it previously not did set it, and for the MSOC, for the moment, default to whatever value is already set, i.e. doesn't reprogram it. Added new memory detection code for the MSOC, that better matches the documentation.
2008-09-18 Complete rewrite of smi_501.c and smi_501.h.Paulo Cesar Pereira de Andrade
The previous version was dependant on kernel framebuffer, as it was just failing a test if not having a modeline defined, and in the test case, it is running at 1024x600. Now it properly programs the video hardware, and the procedure is expected to be very well documented.
2008-09-02Rename global smi501 functions to have SMI501 prefix.Paulo Cesar Pereira de Andrade
Functions renamed were setDPMS -> SMI501_SetDPMS, regRead32 -> SMI501_Read32 and regWrite32 -> SMI501_Write32. Also moved SMI_SetDPMS to start of smi_501.c to have extern functions at start of the file.
2008-09-02Correct all compiler warning messages.Paulo Cesar Pereira de Andrade
Code compiled with: gcc -Wall -Wbad-function-cast -Wdeclaration-after-statement \ -Wmissing-prototypes -Wmissing-declarations -Wnested-externs \ -fno-strict-aliasing -Wold-style-definition -Wpointer-arith \ -Wstrict-prototypes This patch also makes most smi_501.c functions static, as they are not called from anywhere else. Also removed prototypes for non existent functions in smi_501.h.
2008-09-02Correct xv video problems on MSOC.Paulo Cesar Pereira de Andrade
Set VIDEO_CLIP_TO_VIEWPORT as it is used in MSI sources, and also add proper code to detect panel size, as this information is used to manage offscreen memory (but shouldn't it be using pScrn->virtualY, etc?)
2008-09-01Don't pretend this driver compiles on XFree86.Paulo Cesar Pereira de Andrade
Either remove check for XF86_VERSION_CURRENT or at least add the implementation of RegionsEqual() to smi_video.c.
2008-09-01Fix XAA, ShadowFB and VT switching for non-sm501 chipsetsFrancisco Jerez
Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
2008-09-01Split SMI_MapMem in SMI_MapMem and SMI_MapMmioPaulo Cesar Pereira de Andrade
This is required because MSOC needs mmio to detect ammount of memory. The patch also creates a SMI_DetectMem() function, that should slightly simplify SMI_PreInit().
2008-08-29Bump version to 1.6.1.Paulo Cesar Pereira de Andrade
2008-08-29Correct a problem when handling i420 format.Arnaud Patard
The problem was that the driver was converting i420->YV12 2 times instead of only once.
2008-08-29Update MSOC video interface.Paulo Cesar Pereira de Andrade
This synchronizes smi_video.c with smi 2.2.5 sources.
2008-08-29Update xaa and generic acceleration code for the MSOC.Paulo Cesar Pereira de Andrade
Currently, the support for EXA is not functional, neither is ShadowFB or bpp/depth other than 16.
2008-08-29MSOC doesn't access VGA registers or VBE/INT10Paulo Cesar Pereira de Andrade
This should be the biggest patch in the "merge". Done in a single chunk to have it compilable at all stages.
2008-08-29Add code to probe and recognize the SMI501 chipsetPaulo Cesar Pereira de Andrade
2008-08-29Change SILICONMOTION_NAME valuePaulo Cesar Pereira de Andrade
xf86VDrvMsgVerb prints up to 14 characters prefix, where prefix has the format "%s(%d): " so, use name "SMI" instead of "Silicon Motion"
2008-08-29Add initial support and macros for the MSOC.Paulo Cesar Pereira de Andrade
This patch add the new files and basic required definitions.
2008-08-29Fix build for removal of xf86Version.hPaulo Cesar Pereira de Andrade
This is the first patch of series to merge code from the version 2.2.5 from SiliconMotion and code from http://cgit.freedesktop.org/~agd5f/xf86-video-smi501 After the merge, work will continue, to correct some extra problems, and make it work with EXA at least (as only the Xorg version has EXA support).
2008-08-16Allow using XV and RandR rotation simultaneously.Francisco Jerez
As it doesn't seem feasible to rotate the video, I did some modifications at SMI_PutImage and SMI_ClipVideo to make PutImage work (incorrectly) with rotation enabled. The image is displayed unrotated. Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
2008-08-16Some fixes in the EXA UTS/DTS code.Francisco Jerez
In DTS: * It uses the screen Bpp inestead of the pixmap Bpp... this gives some problems when using pixmaps with different depth to the screen. In UTS: * aligned_pitch was computed from src_pitch inestead of the pixmap width. * When writing the target coordinates to the DE registers, it does y*0xFFFF inestead of y & 0xFFFF. * I renamed source_pitch to src_pixelpitch as it is very confusing to have src_pitch and source_pitch. * It isn't necessary to call WaitQueue before copying each scanline, but it seems it almost doesn't affect performance. Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
2008-08-16RandR rotation implemented.Francisco Jerez
* I added the configuration file option "RandRRotation". * I replaced pSmi->ShadowPitch with pSmi->screenStride, it seems it makes more sense because the lower word of ShadowPitch may change independently. * I moved the SMI_DEDataFormat to smi_accel.c because it seems it is a piece of code repeated many times in the driver. * At some places, it is assumed the framebuffer is at FBOffset: when using a shadow framebuffer, FBOffset is the location of the on-screen framebuffer (0 should be used). This made e.g. EXA completly useless with ShadowFB enabled (it crashed). * In the FBManager initialization, I have replaced xf86InitFBManager with xf86InitFBManagerRegion to reserve some additional space as screen fb: it's unlikely to be the case, but a less efficient alignment in the rotated mode could make the rotated mode need more memory than the unrotated one. This is not a problem with EXA as the offscreen memory parameters can be easily modified when doing the rotation. * In SMI_RefreshArea it's assumed that some DE registers are already in some state, this is specially not true when using EXA. * SMI_ValidMode rejects a rotated mode with different dimensions than the panel. This seems to work now. Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
2008-08-16Updates in SMI_EnterVT when remapping memory.Francisco Jerez
Update the screen pixmap header with the new aperture address when remapping framebuffer memory in SMI_EnterVT. Update pSmi->EXADriverPtr->memoryBase too, in case EXA is being used. Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
2008-08-16Make the int10/VBE initialization depend on the UseBIOS configuration option.Francisco Jerez
Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
2008-08-16Memory detection moved before memory mapping in SMI_PreInit.Francisco Jerez
Take into account the VideoRam configuration option. Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
2008-08-15Dead code removal.Adam Jackson
2008-03-19siliconmotion 1.6.0xf86-video-siliconmotion-1.6.0Adam Jackson
2008-03-19Fix distcheckAdam Jackson
2008-03-19Death to RCS tags.Adam Jackson
2008-03-10smi: add pciaccess supportDave Airlie
2008-03-08Makefile.am: nuke RCS IdMatthieu Herrb
2007-08-07Define SILICONMOTION_VERSION* using PACKAGE_VERSION*Brice Goglin
2007-03-20minor fixupAlex Deucher
2007-03-16Fix UTS issues with flashDennis De Winter
Also remove safety padding on memory manager calculation
2007-03-15hostdata blit UTS works, but SW is fasterAlex Deucher
UTS is working, but SW is faster so leave it disabled
2007-03-14more clock fixesAlex Deucher
2007-03-13bump to 1.5.1xf86-video-siliconmotion-1.5.1Alex Deucher
2007-03-13fix clk calculation on older lynx chipsAlex Deucher
2007-03-13bump to 1.5.0Alex Deucher
2007-03-13fix Solid()xf86-video-siliconmotion-1.5.0Alex Deucher
Unforunately, for 32 bpp solid fills the HW ignores alpha.
2007-03-13remove spurious waitqueue() lineAlex Deucher
2007-03-13Update copyright.Alex Deucher
2007-03-13switch the engine to quick start modeAlex Deucher
Rather than writing to the engine command register for every operation, set quick start mode, and the operation executes automatically when the width register is written.
2007-03-13fixup waitqueue slotsAlex Deucher
2007-03-13more exa fixups, disable UTS for now.Alex Deucher
2007-03-13engine likes to use blit command for solid fillsAlex Deucher
2007-03-13fix postscalar shiftAlex Deucher
2007-03-13support 32 bppAlex Deucher
2007-03-13fix up vclk1 setupAlex Deucher
2007-03-13revert the last commit.Alex Deucher
FBBase already take the register offset into account.
2007-03-13fix memoryBaseAlex Deucher
pSmi->FBOffset is the offset from the start of the framebuffer pScrn->fbOffset is the aperture offset where the framebuffer starts
2007-03-13first pass at UTSAlex Deucher