summaryrefslogtreecommitdiffstats
path: root/drivers/staging/gma500
Commit message (Collapse)AuthorAgeFilesLines
...
* gma500: Set the correct bits according to the pipeAlan Cox2011-06-281-5/+6
| | | | | | | Squash a hardcoded assumption we shouldn't really make Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Make GTT pages uncachedAlan Cox2011-06-283-33/+29Star
| | | | | | | | | | | | | Clean up the GTT code a bit, make the pages uncached and go via the proper interfaces. This avoids any aliasing problems. On the CPU side we need to access the pages via their true addresses not via the GTT. This is fine for GEM created fb objects for X. For the kernel fb when not in stolen RAM we are going to need to use vm_map_ram() and hope we have enough virtual address space to steal. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: fix warningsAlan Cox2011-06-281-2/+1Star
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: gma500: get control from firmware framebuffer if conflictsMichael Chang2011-06-071-0/+10
| | | | | | | | | | | | | | | | | | | | | | Many Linux distributions would enable vesafb in order to display early stage boot splash. In this case, we will get garbled X Window screen if running X fbdev on psbfb. This is because fb0 is occupied by vesafb while psbfb is on fb1. They tried to drive the same pieces of hardware at the same time. With unmodified X start-up, it would try to use default fb0 framebuffer device and unfortunately it is now broken becaues fb1 supersedes it. We should let psbfb takeover framebuffer control from vesafb to get around this problem. See also commit : 4410f3910947dcea8672280b3adecd53cec4e85e Signed-off-by: Michael Chang <mchang@novell.com> Cc: Alan Cox <alan@linux.intel.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: gma500: Skip bogus LVDS VBT mode and check for LVDS before adding ↵Patrik Jakobsson2011-06-072-5/+23
| | | | | | | | | | | | | backlight On the Fit-PC2 the VBT reports an invalid fixed panel mode for LVDS, this gets in the way for SDVO. This patch makes VBT parsing skip the invalid mode. When there is no LVDS output the backlight support crashes so the patch also checks for this before enabling it. Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: finish off the fault handlerAlan Cox2011-05-174-20/+93
| | | | | | | | | | | | | | | | GEM wants to mmap the object through the GTT (which avoids aliasing) so we need to put the object into the GTT before we provide the fault mapping for it. While we are at it update the pin interface so that it digs dev out of the GEM object itself. This provides a rather cleaner API and call environment. Fix th refcount/on-off confusion in the pin API. At this point we get a bit further with modetest but if we write to the new GEM mapping we hang solid and as yet I don't know why. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Don't try and take a GEM handle of a non GEM fbAlan Cox2011-05-171-0/+2
| | | | | | | | | | | | | The initial GMA500 framebuffer is not GEM but stolen memory. We can't therefore take a GEM handle of it. Stop anyone trying to do this and causing a crash. Ideally we need a way to have GEM handles to non GEM objects but it's not clear how and if GEM and the modesetting/fb interfaces it provides are supposed to or indeed if they can handle it. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: enable GEM mmapAlan Cox2011-05-112-6/+84
| | | | | | | | | | | | Support mapping of GEM objects. This ought to be a small plumbing change but instead we have to cut and paste a pile of stuff into the driver. This really wants to be handled *IN* GEM You can now allocate, mmap and munmap GEM objects in the driver. You can't yet map them into the GART or display them however. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Fix dumb create crashAlan Cox2011-05-102-4/+4
| | | | | | | | | The error path from gtt_alloc returns NULL not a ptr error. The underlying fail is caused by a bug in the size calculation. With these two fixed it passes kmstest, although it's not really doing anything useful yet. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: sort out the file operationsAlan Cox2011-05-101-44/+6Star
| | | | | | | | | Route everything via the proper DRM layer calls. This fixes the crash in plymouth and is also necessary to begin supporting libkms. Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: The MID devices have the register offset differentAlan Cox2011-05-061-1/+5
| | | | | | | | | | This is another small step towards getting Moorestown/Oaktrail support to work but for Moorestown at least we still need to sort out GEM backed base framebuffer, which means figuring out why GEM explodes early on at the moment. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: allow non stolen page backed framebufferAlan Cox2011-04-264-17/+65
| | | | | | | | | | | For Moorestown at least we may not have stolen RAM with which to back the initial framebuffer. Allow a GEM backing. At this point we should have all the bits in place needed to make it work once it has been debugged. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: prune some unused variablesAlan Cox2011-04-261-9/+5Star
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: GEM - now we have the basics we shall stick pins in itAlan Cox2011-04-263-36/+80
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: GEMify the frame buffer base bitsAlan Cox2011-04-268-55/+24Star
| | | | | | | This then kills off the old bo_ interfaces Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Begin the GEMification of the cursor codeAlan Cox2011-04-263-75/+26Star
| | | | | | | | Do a first pass over the cursor code and rework it to use GEM objects for the cursor buffer as we need. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Add support for inserting and removing pages from the GARTAlan Cox2011-04-2610-998/+338Star
| | | | | | | | | | | | | | There are two chunks of code we need to do this. The first one is the code to insert and remove the pages from the GART, the second is the code to build page table lists from the GEM object. Surprisingly this latter one doesn't seem to have a nice GEM helper. While we are at it we can begin dismantling the semi redundant struct pg, and finish pruning out the old now unused gtt code as well as the last bits of helper glue from the old driver base. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: begin adding GEMAlan Cox2011-04-267-224/+318
| | | | | | | | | | | | | | | | This puts in place the infrastructure for GEM allocators. Our implementation is fairly simplistic at this point and we don't deal with things like evicting objects from the GART to make space, nor compaction. We extent our gtt_range struct to include a GEM object and that allows GEM to do all the handle management and most of the memory mapping work for us. This patch also doesn't load GEM pages into the GART so the GEM side isn't very useful. Before we can do that a fair bit of work is needed reworking the internal GTT code. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: add the ability to request backed space or notAlan Cox2011-04-263-6/+17
| | | | | | | | We will will need this for doing a GEM allocator. It should also avoid any crashes with the current code if the stolen area is too small. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Tidy up the allocationsAlan Cox2011-04-262-9/+6Star
| | | | | | | | Now we can do allocations we need to shuffle the fb resource into the fb so we can one day have multiple frame buffer objects. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Add a gtt allocatorAlan Cox2011-04-265-29/+217
| | | | | | | | | | | | | | At the moment we don't do any page backing for the GTT so only the stolen area pages will actually work. That is fine for our initial framebuffer and a bit of testing but will need resolution (including alternate mmap methods and the like for s/g areas) eventually. Rather than use some of the overcomplex stuff in the DRM we use the existing Linux resource allocators to hand out framebuffers and the like. This also has the nice result that /proc/iomem shows the allocations. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: backlight warningAlan Cox2011-04-261-0/+1
| | | | | | | | | | The current bl code checks for backlight types and warns if they are not properly set. Set ours to avoid the warning spew (This one alone is probably 2.6.39 candidate) Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: prepare to do some actual memory managementAlan Cox2011-04-261-6/+2Star
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: ioctl first passAlan Cox2011-04-263-174/+1Star
| | | | | | | Go through the remaining ioctls and check they make sense Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: merge 2.6.39-rc3 into staging-nextGreg Kroah-Hartman2011-04-134-4/+4
|\ | | | | | | | | | | | | This was done to handle a number of conflicts, the majority of which were caused by the big "fix spelling issues" patch. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Fix common misspellingsLucas De Marchi2011-03-316-6/+6
| | | | | | | | | | | | Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
* | staging: gma500: Add oaktrailAlan Cox2011-04-052-2/+11
| | | | | | | | | | | | | | Oaktrail needs a couple of slight plumbing tweaks Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: enable the 2D op stuffAlan Cox2011-04-052-2/+2
| | | | | | | | | | | | | | Well one of them anyway - not yet sure why the other fails Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: psb_reset actually holds lid functionsAlan Cox2011-04-052-1/+1
| | | | | | | | | | | | | | So rename the file something sensible Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: Set the TWOD baseAlan Cox2011-04-052-5/+6
| | | | | | | | | | | | | | 2D accel still doesn't work but now it doesn't crash either Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: cleanup the SDVO messagesAlan Cox2011-04-052-3/+4
| | | | | | | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: begin tidying up the power managementAlan Cox2011-04-0510-771/+363Star
| | | | | | | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: prune more unused fieldsAlan Cox2011-04-052-147/+0Star
| | | | | | | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: Add a test ioctl for issuing 2D accel ops via user spaceAlan Cox2011-04-053-1/+30
| | | | | | | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: Fix some set up bugs found by comparing driver versionsAlan Cox2011-04-051-0/+3
| | | | | | | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: kill some more #if 0 bitsAlan Cox2011-04-051-61/+0Star
| | | | | | | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: Another file we don't needAlan Cox2011-04-054-264/+1Star
| | | | | | | | | | | | | | | | | | Zap... bang And take out a few more variables that are now dead Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: turn on psb SDVOAlan Cox2011-04-051-2/+1Star
| | | | | | | | | | | | | | Keep this as its own commit for bisection purposes Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: Remove extra semi-colon.Justin P. Mattock2011-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | The patch below removes an extra semi-colon from various parts of the kernel. Please have a look when you have time, and let me know if its legit or not. Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: kill off TTMAlan Cox2011-04-0519-3772/+17Star
| | | | | | | | | | | | | | We are not using TTM, we are not going to use TTM either Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: pull mrst firmware stuff into its own headerAlan Cox2011-04-052-196/+218
| | | | | | | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: Clean up more unused structures and codeAlan Cox2011-04-053-228/+0Star
| | | | | | | | | | | | | | | | We don't need the 3D validation stuff so it and all the related gunge can depart. While we are at it prune some unused definitions. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: We don't support the CI eitherAlan Cox2011-04-055-85/+3Star
| | | | | | | | | | | | | | | | The camera interface is also not covered (and we won't be using TTM anyway even if it ever re-emerges) so it to can go Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: delete the RAR handlingAlan Cox2011-04-054-71/+2Star
| | | | | | | | | | | | | | | | | | | | RAR registers are used on MID platforms for various protected video playback activities using video playback engines we don't support. So Rasputin can keep his Rars Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: Add Moorestown identifiersAlan Cox2011-04-052-0/+9
| | | | | | | | | | | | | | Turn it on, turn it up, turn it loose Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: Moorestown does its setup differentlyAlan Cox2011-04-051-28/+213
| | | | | | | | | | | | | | | | Grovel the firmware via the Moorestown interfaces and read the other bits off the fuses. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: enable Moorestown CRTC handlingAlan Cox2011-04-051-4/+6
| | | | | | | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: add framebuffer setupAlan Cox2011-04-051-6/+13
| | | | | | | | | | | | | | For Moorestown we want to use the mrst LVDS setup not the Poulsbo setup Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: Add Moorestown backlight supportAlan Cox2011-04-051-27/+85
| | | | | | | | | | | | | | Which is of course different to Poulsbo. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | staging: gma500: MakefilesAlan Cox2011-04-051-1/+3
| | | | | | | | | | | | | | | | Build the new files now all the changes they need are present. They won't yet be used but the plumbing is next step. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>