summaryrefslogtreecommitdiffstats
path: root/drivers/staging/gma500/psb_drv.h
Commit message (Collapse)AuthorAgeFilesLines
* staging: gma500: frame buffer lockingAlan Cox2011-09-261-1/+1
| | | | | | | | | | | If we are the console then a printk can hit us with a spin lock held (and in fact the kernel will do its best to take printing lock). In that case we cannot politely sleep when synching after an accelerated op but must behave obnixously to be sure of getting the bits out. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Add VBLANK support for Poulsbo hardwarePatrik Jakobsson2011-08-261-0/+3
| | | | | | 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: Only register interrupt handler for poulsbo hardwarePatrik Jakobsson2011-08-261-0/+1
| | | | | | | | | First step in adding proper irq handling. We'll start with poulsbo support so make sure other chips don't touch drm_irq_install(). 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: kill MIPI interface typesAlan Cox2011-08-161-1/+0
| | | | | | | | | | | | | | | | | Kirill Shutemov found problems with the non-upstream IMG driver where the use of extra DRM encoder/connector types caused random crashes when the DRM layer tried to display their matching name. This removes the MIPI types matching the changes Pauli Nieminen made to the non upstream driver set. As Pauli points out: " MIPI (or DSI) is protocol specification on top of LVDS serial bus. That makes it resonable to call MIPI connectors and encoders LVDS." (and indeed they may also be HDMI convertors or similar when we want to report a more useful to end user result) Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* gma500: resync with Medfield progressAlan Cox2011-07-151-3/+4
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Use the mrst helpers and power control for mode commitAlan Cox2011-07-151-2/+0
| | | | | | | We want to hit the MM panel backlight when appropriate Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: More Moorestown muddle meddling means MM maybe might modesetAlan Cox2011-07-151-0/+8
| | | | | | | | | | | There are a least three different species we need to deal with and right now it seems the only way to sort them out is via DMI. Encapsulate the entire pile somewhere private and out of the way. Hopefully a saner method will emerge later. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Add the Oaktrail HDMI supportAlan Cox2011-07-151-0/+4
| | | | | | | | | | | This differs enough from the Cedarview HDMI sufficiently to want to keep them separated. We need to sort out the power management for Oaktrail/Moorestown in order to plumb this lot into the register handling logic. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Make crtc count a property of the deviceAlan Cox2011-07-151-0/+1
| | | | | | | | | Octavian Purdila posted a patch that sets num_crtc to 1 for Moorestown, but Oaktrail has 2 so we need to split Oaktrail/Moorestown more sensibly, and also cope with some other differences later on. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: add an mmap ioctlAlan Cox2011-07-151-0/+2
| | | | | | | | | This does the same as the dumb mmap but we want them separated in the ABI in case a future extension to the dumb interface means we can't treat them the same way. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Move the 2D operations into DRMAlan Cox2011-07-151-2/+5
| | | | | | | | We currently have a test hack framebuffer mode ioctl, turn that into a DRM interface. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Cursor interfaceAlan Cox2011-07-151-3/+5
| | | | | | | We need to provide an interface to create additional buffers for the cursor Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: don't dynamically allocate the psb_gtt structAlan Cox2011-07-151-1/+1
| | | | | | | | It's part of the psb_device so just make it part of the struct not a pointer. This does cause a bit of noise shuffling indirections. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Fix symbol clash with i915Alan Cox2011-07-081-2/+2
| | | | | | | | | | | Randy Dunlap reports: | when both CONFIG_DRM_I915=y and CONFIG_DRM_PSB=y: | drivers/staging/built-in.o: In function `intel_opregion_init': | (.text+0x47943): multiple definition of `intel_opregion_init' | drivers/gpu/built-in.o:(.text+0x17277a): first defined here Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: strip unneeded version headersJesper Juhl2011-07-081-1/+0
| | | | | | | | | | | | | Remove unneeded version.h includes from drivers/staging/gma500/ It was pointed out by 'make versioncheck' that some includes of linux/version.h are not needed in drivers/staging/gma500/. This patch removes them. Signed-off-by: Jesper Juhl <jj@chaosbits.net> [updated for all th file cleanup and movement] Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: move the power headerAlan Cox2011-07-051-1/+1
| | | | | | | | At this point we now have the file naming making somewhat more sense although the dependancies are not as clean as would be ideal Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: tidy up the opregion and lid codeAlan Cox2011-07-051-2/+3
| | | | | | | | This is leaking an io mapping and also referencing stuff directly that should not be directly accessed. Sort it out Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: the GEM and GTT code is device independantAlan Cox2011-07-051-1/+1
| | | | | | | Rename the gem and gtt files accordingly. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: The 2D code is now also device independentAlan Cox2011-07-051-2/+2
| | | | | | | Rename Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Add the beginnings of Cedarview supportAlan Cox2011-07-051-0/+3
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: move configuration bits into the psb_ops structureAlan Cox2011-07-051-0/+5
| | | | | | | | We can stuff things like the number of pipes and the SGX offset away in here as well and clean up more conditional code. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: add more opsAlan Cox2011-07-051-0/+11
| | | | | | | | Split the 2d properties, name, and various function vectors out so that we can get rid of more conditional gloop in favour of a per device structure. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: continue abstracting platform specific codeAlan Cox2011-07-051-7/+8
| | | | | | | Next obvious target - backlight support Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: being abstracting out devices a bit moreAlan Cox2011-07-051-2/+27
| | | | | | | | | | | | | | We really want to move towards a completely abstracted interface rather than having tons of per chip junk in the same files. Begin with the power code which is probably the worst offender. Add a set of methods, initialise a dev_priv->ops pointer and rip the chip specifics out of the power code. While we are it pick up the display init bits. So we know it's now chip specifics clean remove the psb_ naming from it. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: psb_fb tidy/cleanup passAlan Cox2011-07-051-6/+0
| | | | | | | Eliminate unused stuff and clean up the code ordering. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: Medfield supportAlan Cox2011-07-051-3/+129
| | | | | | | | This large patch adds all the basics for Medfield support. Lots of clean up needed in this area still. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: 2D polishAlan Cox2011-07-051-6/+0
| | | | | | | | | Tidy up the 2D bits. For the fill case the CPU seems to be able to outperform the graphics engine for the cases we get, so don't bother fixing it but throw it out. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: CodingStyle passAlan Cox2011-07-051-29/+34
| | | | | | | Start the style cleanup Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: nuke the PSB debug stuffAlan Cox2011-07-051-86/+10
| | | | | | | | Lose all the PSB debug gunge. We can replace it with dev_dbg() like normal drivers if and when we need debug on stuff. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* gma500: polish for completion of this phaseAlan Cox2011-07-051-44/+41
| | | | | | | | Give the driver its own proper DRM name, clean up copyright headers and so forth 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-251-2/+0
| | | | | | | 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: Add support for inserting and removing pages from the GARTAlan Cox2011-04-251-0/+7
| | | | | | | | | | | | | | 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-251-2/+14
| | | | | | | | | | | | | | | | 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: Tidy up the allocationsAlan Cox2011-04-251-2/+0
| | | | | | | | 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-251-2/+14
| | | | | | | | | | | | | | 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>
* staging: gma500: begin tidying up the power managementAlan Cox2011-04-051-3/+8
| | | | | 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-051-134/+0
| | | | | 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-051-0/+3
| | | | | 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-051-1/+0
| | | | | | | | | 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: kill off TTMAlan Cox2011-04-051-110/+0
| | | | | | | 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-051-196/+1
| | | | | 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-051-105/+0
| | | | | | | | 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-051-8/+0
| | | | | | | | 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-051-6/+0
| | | | | | | | | | 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-051-0/+1
| | | | | | | 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: Add moorestown specific data to the device structureAlan Cox2011-04-051-1/+17
| | | | | | | | Moorestown needs somewhere to stash various pipe config registers and the firmware and fuse configurations Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: gma500: Add moorestown config structuresAlan Cox2011-04-051-0/+188
| | | | | | | | | We have a set of firmware passed descriptors and things we need to grovel through for video configuration. This differs from the setup for the PC style Poulsbo hardware. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: gma500: Make some of the lvds operations non-staticAlan Cox2011-04-051-0/+15
| | | | | | | | We need these as they are also used by the Moorestown LVDS display support. Make the various needed symbols visible in the headers Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: gma500: begin adding Moorestown supportAlan Cox2011-04-051-4/+2
| | | | | | | | | | The Moorestown systems have some graphics differences we care about and some we don't need to. To start with it has a single pipe and that pipe can be used for LVDS Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: gma500: Resync the patch queue with GregKH's space cleanup.Alan Cox2011-03-071-1/+0
| | | | | | | | | | | | Remove all sorts of bits we can get rid of. We are now a very simple KMS driver relying on the stolen memory for our framebuffer base (which is for the moment hardcoded). To support multiple frame buffers and some accel bits we will need some kind of memory allocator, possibly a minimal use of GEM. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
OpenPOWER on IntegriCloud