Commit graph

134 commits

Author SHA1 Message Date
Alan Cox
7d7b7adf6b gma500: allow the creation of 'stolen' memory objects
For things like cursors and many kinds of framebuffer set up we are actually
best using the stolen memory when possible.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-15 19:05:06 +02:00
Alan Cox
7dfe43c52d gma500: add an mmap ioctl
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>
2011-07-15 19:05:06 +02:00
Alan Cox
bd7b9f91dd gma500: Move the 2D operations into DRM
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>
2011-07-15 19:05:06 +02:00
Alan Cox
c5c44531ad gma500: Cursor interface
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>
2011-07-15 19:05:06 +02:00
Alan Cox
66dca5178c gma500: Fix dependencies
ACPI Video is used by GMA500 so we need to depend upon it

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-15 19:05:01 +02:00
Alan Cox
78010c75d2 gma500: Sort out dither
Ubuntu users reported that dithering was not being set on Poulsbo, and they
have a point as we set one variable and check another which is never set.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Tested-by: Luca Forina <luca.forina@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-15 19:05:00 +02:00
Alan Cox
f00dfacb51 gma500: don't dynamically allocate the psb_gtt struct
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>
2011-07-15 19:05:00 +02:00
Alan Cox
18a4ca2a11 gma500: Final polish
This completes the clean up all the non Medfield C files to the point where
checkpatch approves of them barring some silly 80 column whining.

The Medfield stuff is still in a lot of flux but the rest is now ready for
general tidy and review.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-15 19:05:00 +02:00
Dan Carpenter
c3314080fe gma500: remove unneeded check in mdfld_crtc_mode_set()
The list cursor is never NULL in a list_for_each_entry() loop.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-08 13:45:00 -07:00
Dan Carpenter
d75758b3d1 gma500: reversed test in mdfld_dbi_dsr_exit()
We should only cleanup "dsr_info" if it's non-NULL obviously and not
the other way around.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-08 13:44:59 -07:00
Dan Carpenter
fc5ace7ed2 Staging: gma500: typo in array initialization
There is a comma missing here between the strings so they were
concatenated by mistake.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-08 13:44:59 -07:00
Alan Cox
983e4d3432 gma500: Fix unused variable in cdv support
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-08 13:44:58 -07:00
Alan Cox
9fce362385 gma500; clean mid files
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-08 13:44:58 -07:00
Alan Cox
e913972423 gma500: tidy the mrst files
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-08 13:44:57 -07:00
Alan Cox
0cf0db5e3d gma500: tidy up the CDV files
We are close to having PSB and CDV ready for moving from staging so it's
time to get the polish out.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-08 13:44:57 -07:00
Patrik Jakobsson
2b9428e203 gma500: Mask out bits not part of the page table base address
Otherwise we can't ioremap the gtt and the screen gets garbled.

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>
2011-07-08 13:44:57 -07:00
Alan Cox
5ed836acd2 gma500: Fix symbol clash with i915
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>
2011-07-08 13:44:57 -07:00
Alan Cox
75ec9bb006 gma500: psb_intel_lvds style
Fixed some stylistic uglies noticed while fixing the previous bug

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-08 13:44:56 -07:00
Alan Cox
d3cf695c58 gma500: Re-order checks and dereferences in psb_intel_lvds
Dan Carpenter reports:

Smatch complains about 6a7afe3acc "gma500: continue abstracting
platform specific code"

drivers/staging/gma500/psb_intel_lvds.c +579 psb_intel_lvds_set_property(7)
	warn: variable dereferenced before check 'encoder'

	--- a/drivers/staging/gma500/psb_intel_lvds.c
	+++ b/drivers/staging/gma500/psb_intel_lvds.c
	@@ -575,11 +575,12 @@ int psb_intel_lvds_set_property(struct drm_connector *connector,
					       struct drm_property *property,
					       uint64_t value)
	 {
	-       struct drm_encoder *pEncoder = connector->encoder;
	+       struct drm_encoder *encoder = connector->encoder;
	+       struct drm_psb_private *dev_priv = encoder->dev->dev_private;
						   ^^^^^^^^^^^^
dereference encoder here.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-08 13:44:56 -07:00
Jesper Juhl
fa3b1c8812 gma500: strip unneeded version headers
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>
2011-07-08 13:44:55 -07:00
Alan Cox
11aba30403 gma500: oops.. thou shalt stg add...
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 19:51:50 -07:00
Alan Cox
0ad91794cc gma500: Update the TODO list
This is now horribly out of date

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 19:51:49 -07:00
Jani Nikula
7d4df4ef4a gma500: fix build without backlight device support
gma500: fix build without backlight device support

Fix unmatched curly brackets when CONFIG_BACKLIGHT_CLASS_DEVICE is not
defined.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:55:42 -07:00
Alan Cox
9fdc5ff8b9 gma500: power can be touched in IRQ state
So we need to use a spinlock here

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:45 -07:00
Alan Cox
398c442489 gma500: Fix missing memory check
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:45 -07:00
Alan Cox
52b6ba09ee gma500: Workaround for Medfield/Cedarview cursor bug
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:45 -07:00
Alan Cox
6a8ca6f5ff gma500: Fix backlight crash
We need to check the NULL case earlier.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:44 -07:00
Alan Cox
a11c3ec7e9 gma500: Add the HDMI bits
This adds the basic HDMI support for Cedarview.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:44 -07:00
Alan Cox
93b68b6773 gma500: begin adding CDV specific code
A lot of the intel_display stuff is duplicated, but we will add it first,
clean it up and then investigate the best way to merge stuff.

This first block integrates the various basic chunks of the CDV display setup.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:44 -07:00
Alan Cox
4bc5925315 gma500: move the power header
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>
2011-07-05 08:20:44 -07:00
Alan Cox
0cc729bf21 gma500: move the BIOS header
We can move this to patch up as well. Shuffle the relevant includes as we
go

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:44 -07:00
Alan Cox
0c453db26c gma500: tidying up the power stuff a spot
In particular don't destroy static mutexes, it upsets things

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:44 -07:00
Alan Cox
72786d5fb1 gma500: move the i2c code
This again is similar to upstream so give it a sensible name ready to look
at any merging or synchronization

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:43 -07:00
Alan Cox
641b41858b gma500: the MMU code is also generic
Move this over. In actual fact there are some underlying differences as
some devices have more MMU contexts, but for our 2D purposes we don't
actually care.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:43 -07:00
Alan Cox
3682a08049 gma500: move opregion files
We've now sorted them out so they can go into the generic code. In actual
fact only the non MID devices use the functions but they are small and
having the name match i915 is going to help any future merging type work.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:43 -07:00
Alan Cox
b21fb57908 gma500: tidy up the opregion and lid code
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>
2011-07-05 08:20:43 -07:00
Alan Cox
3835ce2e69 gma500: Rename the psb_intel_bios code
This is generic for the PC class devices and also very similar to the i915
intel_bios.c so rename it. That way the commonality will be obvious and we
can look at merging them one day, or at least synching them up.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:43 -07:00
Alan Cox
0bbfa259ac gma500: begin the config based split
We don't want to carry all the extra gunk around on every device so use the
splitting work so far to tidy this up. Poulsbo is still mandatory as it is
used in bits by the other drivers and not neatly modularised.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:43 -07:00
Alan Cox
63e21a5bfc gma500: the GEM and GTT code is device independant
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>
2011-07-05 08:20:42 -07:00
Alan Cox
c3f5005164 gma500: The 2D code is now also device independent
Rename

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:42 -07:00
Alan Cox
657839ba30 gma500: move framebuffer file
The framebuffer code is now clean of device specific code, and passes
checkpatch. Move it to its new name

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:42 -07:00
Alan Cox
1ff6d5fe7c gma500: tidy the framebuffer fixme and oddments
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:42 -07:00
Alan Cox
35efdaeffc gma500: the 'mrst' BIOS is actually MID generic
Shuffle the naming so this reflects better and we can try and build some
sort of ordering to the naming scheme.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:42 -07:00
Alan Cox
37070d18f1 gma500: Add the beginnings of Cedarview support
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:42 -07:00
Alan Cox
a95dfc1e1c gma500: move configuration bits into the psb_ops structure
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>
2011-07-05 08:20:41 -07:00
Alan Cox
89e5d55717 gma500: remove an un-needed check
This is a Medfield only path

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:41 -07:00
Alan Cox
80f51c32c4 gma500: add more ops
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>
2011-07-05 08:20:41 -07:00
Alan Cox
71138b7f07 gma500: enable Medfield CRTC support
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:41 -07:00
Alan Cox
060351f174 gma500: Read the GCT panel type information for Medfield
Missed in the original merge work

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:41 -07:00
Alan Cox
cc976ced8e gma500: Fix early Medfield crash
We need to initialise the DBI interface and the code for it got missed in
the original merge as it's in a daft place. This will need moving but lets
get it added first.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 08:20:41 -07:00