Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0867b421 authored by Alan Cox's avatar Alan Cox Committed by Greg Kroah-Hartman
Browse files

staging: gma500: Intel GMA500 staging driver



This is an initial staging driver for the GMA500. It's been stripped out
of the PVR drivers and crunched together from various bits of code and
different kernels.

Currently it's unaccelerated but still pretty snappy even compositing with
the frame buffer X server.

Lots of work is needed to rework the ttm and bo interfaces from being
ripped out and then 2D acceleration wants putting back for framebuffer and
somehow eventually via DRM.

There is no support for the parts without open source userspace (video
accelerators, 3D) as per kernel policy.

Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 008536e8
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -179,5 +179,7 @@ source "drivers/staging/cptm1217/Kconfig"

source "drivers/staging/ste_rmi4/Kconfig"

source "drivers/staging/gma500/Kconfig"

endif # !STAGING_EXCLUDE_BUILD
endif # STAGING
+5 −4
Original line number Diff line number Diff line
@@ -70,3 +70,4 @@ obj-$(CONFIG_SND_INTEL_SST) += intel_sst/
obj-$(CONFIG_SPEAKUP)		+= speakup/
obj-$(CONFIG_TOUCHSCREEN_CLEARPAD_TM1217)	+= cptm1217/
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4)	+= ste_rmi4/
obj-$(CONFIG_DRM_PSB)		+= gma500/
+12 −0
Original line number Diff line number Diff line
config DRM_PSB
	tristate "Intel GMA500 KMS Framebuffer"
	depends on DRM && PCI
	select FB_CFB_COPYAREA
        select FB_CFB_FILLRECT
        select FB_CFB_IMAGEBLIT
        select DRM_KMS_HELPER
        select DRM_TTM
	help
	  Say yes for an experimental KMS framebuffer driver for the
	  Intel GMA500 ('Poulsbo') graphics support.
+30 −0
Original line number Diff line number Diff line
#
#	KMS driver for the GMA500
#
ccflags-y += -Iinclude/drm

psb_gfx-y += psb_bl.o \
	  psb_drv.o \
	  psb_fb.o \
	  psb_gtt.o \
	  psb_intel_bios.o \
	  psb_intel_opregion.o \
	  psb_intel_display.o \
	  psb_intel_i2c.o \
	  psb_intel_lvds.o \
	  psb_intel_modes.o \
	  psb_intel_sdvo.o \
	  psb_reset.o \
	  psb_sgx.o \
	  psb_pvr_glue.o \
	  psb_buffer.o \
	  psb_fence.o \
	  psb_mmu.o \
	  psb_ttm_glue.o \
	  psb_ttm_fence.o \
	  psb_ttm_fence_user.o \
	  psb_ttm_placement_user.o \
	  psb_powermgmt.o \
	  psb_irq.o

obj-$(CONFIG_DRM_PSB) += psb_gfx.o
+26 −0
Original line number Diff line number Diff line
-	Test on more platforms
-	Clean up the various chunks of unused code
-	Sort out the power management side. Not important for Poulsbo but
	matters for Moorestown
-	Add Moorestown support (single pipe, no BIOS, no stolen memory,
				some other differences)
-	Sort out the bo and ttm code to support userframe buffers and DRM
	interfaces rather than just faking it enough for a framebuffer
-	Add 2D acceleration via console and DRM

As per kernel policy and the in the interest of the safety of various
kittens there is no support or plans to add hooks for the closed user space
stuff.


Why bother ?
- Proper display configuration
- Can be made to work on Moorestown where VESA won't
- Works on systems where the VESA BIOS is bust or the tables are broken
  without hacks
- 2D acceleration

Currently tested on
+	Dell Mini 10 100x600

Loading