summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/gma500
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds2012-07-2616-18/+17
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull drm updates from Dave Airlie: "One of the smaller drm -next pulls in ages! Ben (nouveau) has a rewrite in progress but we decided to leave it stew for another cycle, so just some fixes from him. - radeon: lots of documentation work, fixes, more ring and locking changes, pcie gen2, more dp fixes. - i915: haswell features, gpu reset fixes, /dev/agpgart removal on machines that we never used it on, more VGA/HDP fix., more DP fixes - drm core: cleanups from Daniel, sis 64-bit fixes, range allocator colouring. but yeah fairly quiet merge this time, probably because I missed half of it!" Trivial add-add conflict in include/linux/pci_regs.h * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (255 commits) drm/nouveau: init vblank requests list drm/nv50: extend vblank semaphore to generic dmaobj + offset pair drm/nouveau: mark most of our ioctls as deprecated, move to compat layer drm/nouveau: move current gpuobj code out of nouveau_object.c drm/nouveau/gem: fix object reference leak in a failure path drm/nv50: rename INVALID_QUERY_OR_TEXTURE error to INVALID_OPERATION drm/nv84: decode PCRYPT errors drm/nouveau: dcb table quirk for fdo#50830 nouveau: Fix alignment requirements on src and dst addresses drm/i915: unbreak lastclose for failed driver init drm/i915: Set the context before setting up regs for the context. drm/i915: constify mode in crtc_mode_fixup drm/i915/lvds: ditch ->prepare special case drm/i915: dereferencing an error pointer drm/i915: fix invalid reference handling of the default ctx obj drm/i915: Add -EIO to the list of known errors for __wait_seqno drm/i915: Flush the context object from the CPU caches upon switching drm/radeon: fix dpms on/off on trinity/aruba v2 drm/radeon: on hotplug force link training to happen (v2) drm/radeon: fix hotplug of DP to DVI|HDMI passive adapters (v2) ...
| * drm: kill reclaim_buffers callbackDaniel Vetter2012-07-191-1/+0
| | | | | | | | | | | | | | | | | | | | All leftover users either haven't set DRIVER_HAVE_DMA, in which case this will never be called, or use the drm_core implementation. Call that directly in the only callsite. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm: Make the .mode_fixup() operations mode argument a const pointerLaurent Pinchart2012-07-1913-15/+15
| | | | | | | | | | | | | | | | The passed mode must not be modified by the operation, make it const. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/i915/bios: cleanup return type of intel_parse_bios()Dan Carpenter2012-06-272-2/+2
| | | | | | | | | | | | | | | | | | | | These are unintuitive. These are type bool and return -1 casted to true on failure. Let's just make it return an int. The callers don't care, but let's change this as a cleanup. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | gma500,cdv: Fix the brightness baseAlan Cox2012-07-161-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some desktop environments carefully save and restore the brightness settings from the previous boot. Unfortunately they don't all check to see if the range has changed. The end result is that they restore a brightness of 100/lots not 100/100. As the old driver and the non-free GMA36xx driver both use 0-100 we thus need to go back doing the same thing to avoid users getting a mysterious black screen after boot. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | gma500: move the ASLE enableAlan Cox2012-07-163-5/+9
| | | | | | | | | | | | | | | | | | | | Otherwise we end up getting the masks wrong, can get events before we are doing power control and other ungood things. Again this is a regression fix where the ordering of handling was disturbed by other work, and the user experience on some boxes is a blank screen. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | gma500: Fix lid related crashAlan Cox2012-07-161-8/+4
|/ | | | | | | | | | | | | We now set up the lid timer before we set up the backlight. On some devices that causes a crash as we do a backlight change before or during the setup. As this fixes a crash on boot regression on some setups it ought to go in ASAP, especially as all the user gets is a blank screen. Signed-off-by: Alan Cox <alan@linux.intel.com> Tested-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* drm: Constify drm_mode_config_funcs pointerLaurent Pinchart2012-05-221-1/+1
| | | | | | | | | | | | | | | | The DRM mode config functions structure declared by drivers and pointed to by the drm_mode_config funcs field is never modified. Make it a const pointer. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Inki Dae <inki.dae@samsung.com> Cc: Alan Cox <alan@linux.intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Thomas Hellstrom <thellstrom@vmware.com> Cc: Rob Clark <rob.clark@linaro.org> Reviwed-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm: Constify gem_vm_ops pointerLaurent Pinchart2012-05-222-2/+2
| | | | | | | | | | | | | | The GEM vm operations structure is passed to the VM core that stores it in a const field. There vm operations structures can thus be const in DRM as well. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Inki Dae <inki.dae@samsung.com> Cc: Alan Cox <alan@linux.intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Rob Clark <rob.clark@linaro.org> Reviewed-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: Fix Poulsbo suspend/resume crash on devices with SDVO portsAlan Cox2012-05-221-2/+4
| | | | | | | Reported-by: Guillaume Clément <guillaume@baobob.org> Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: stable@vger.kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: handle poulsbo cursor restrictionPatrik Jakobsson2012-05-227-12/+61
| | | | | | | | | | | Poulsbo needs a physical address in the cursor base register. We allocate a stolen memory buffer and copy the cursor image provided by userspace into it. When/If we get our own userspace driver we can map this stolen memory directly. The patch also adds a mark in chip ops so we can identify devices that has this requirement. Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: Prevent endless loop in panel power up sequenceAlan Cox2012-05-221-3/+9
| | | | | | | | | | Some devices don't have a panel connected to LVDS and thus will never power up. This patch checks the power sequence progress bits in PP_STATUS to prevent an endless loop on such devices. Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: fix build warningDave Airlie2012-05-171-1/+1
| | | | | | | | | | | CC [M] drivers/gpu/drm/i915/i915_gem_evict.o /ssd/git/drm-core-next/drivers/gpu/drm/gma500/psb_device.c: In function ‘psb_chip_errata’: /ssd/git/drm-core-next/drivers/gpu/drm/gma500/psb_device.c:360:1: warning: no return statement in function returning non-void [-Wreturn-type] /ssd/git/drm-core-next/drivers/gpu/drm/gma500/psb_device.c: At top level: /ssd/git/drm-core-next/drivers/gpu/drm/gma500/psb_device.c:379:2: warning: initialization from incompatible pointer type [enabled by default] /ssd/git/drm-core-next/drivers/gpu/drm/gma500/psb_device.c:379:2: warning: (near initialization for ‘psb_chip_ops.errata’) [enabled by default] Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: silence an unused variable warningDan Carpenter2012-05-171-6/+6
| | | | | | | | | | | | | If CONFIG_BACKLIGHT_CLASS_DEVICE is disabled then GCC warns that: drivers/gpu/drm/gma500/opregion.c:154:6: warning: unused variable ‘max’ [-Wunused-variable] Which give me a chance to use the new config_enabled() macro. :) Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Paul Menzel <paulepanter@users.sourceforge.net> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: unload fixesAlan Cox2012-05-174-40/+20
| | | | | | | | | | | | | | Debugging the lid problem tested various error paths which were found wanting so start fixing them up. There is a ton of improvement work could be done here so that every bit of functionality agrees if its _fini, _uninit, etc, and they agree who is responsible for deciding if the clean up is needed. That can come later. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: Fix crash on D2700MUD and various other boardsAlan Cox2012-05-172-4/+12
| | | | | | | | | The recent changes led to the lid timer code being run on various devices. It does no harm on most but isn't needed. It also calls unconditionally into the Poulsbo backlight code which goes bang on Cedartrail. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: Turn on the IRQ for everythingAlan Cox2012-05-111-2/+2
| | | | | | | Keep this as a patch of its own in case of bug reports. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: clean up some more checksAlan Cox2012-05-115-7/+9
| | | | | | | | We don't need to check these - they are always going to be the same for any PVR based device. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* cdv: Add all cedarview pci idsAlan Cox2012-05-111-0/+8
| | | | | | | | | Cover all D2xxx/N2xxx chips. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> [Hand applied to upstream driver] Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: Clean up some of the noiseAlan Cox2012-05-114-29/+5
| | | | | | | We have a lot of debug type stuff we don't actually need any more. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: use the register map to clean upAlan Cox2012-05-118-783/+473
| | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: introduce some register mapsAlan Cox2012-05-115-1/+268
| | | | | | | | | | | | All the conditional ugly register selection really wants to be cleaned up. Use a struct describing each pipe and its registers. This will also let us hide some of the oddments between platforms for any future merging of bits together. In particular the way the DPLL and FP registers randomly wander around. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: Clean up from the psb_pipe structureAlan Cox2012-05-111-83/+46
| | | | | | | We have lots of local assignments that can now be eliminated Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: introduce a structure describing each pipeAlan Cox2012-05-116-340/+173
| | | | | | | | This starts the move away from lots of confused unions of per driver stuff inherited when we merged the drivers together. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* gma500: Fix build without ACPIAlan Cox2012-05-114-14/+23
| | | | | | Reported-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel ↵Dave Airlie2012-05-071-1/+0
|\ | | | | | | | | | | | | into drm-core-next Daniel prepared this branch with a back-merge as git was getting very confused about changes in intel_display.c
| * Merge tag 'v3.4-rc6' into drm-intel-nextDaniel Vetter2012-05-071-1/+0
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: drivers/gpu/drm/i915/intel_display.c Ok, this is a fun story of git totally messing things up. There /shouldn't/ be any conflict in here, because the fixes in -rc6 do only touch functions that have not been changed in -next. The offending commits in drm-next are 14415745b2..1fa611065 which simply move a few functions from intel_display.c to intel_pm.c. The problem seems to be that git diff gets completely confused: $ git diff 14415745b2..1fa611065 is a nice mess in intel_display.c, and the diff leaks into totally unrelated functions, whereas $git diff --minimal 14415745b2..1fa611065 is exactly what we want. Unfortunately there seems to be no way to teach similar smarts to the merge diff and conflict generation code, because with the minimal diff there really shouldn't be any conflicts. For added hilarity, every time something in that area changes the + and - lines in the diff move around like crazy, again resulting in new conflicts. So I fear this mess will stay with us for a little longer (and might result in another backmerge down the road). Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
| | * drivers: gpu: drm: gma500: mdfld_dsi_output.h: Remove not unneeded include ↵Marcos Paulo de Souza2012-04-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of version.h The output of "make versioncheck" points a incorrect include of version.h in the drivers/gpu/drm/gma500/mdfld_dsi_output.h: drivers/gpu/drm/gma500/mdfld_dsi_output.h: 32 linux/version.h not needed. If we take a look in the file, we can agree to remove it. Cc: David Airlie <airlied@linux.ie> Cc: <dri-devel@lists.freedesktop.org> Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: mid-bios: rewrite VBT/GCT handling in a cleaner wayKirill A. Shutemov2012-05-075-131/+203
| | | | | | | | | | | | | | | | | | Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: fix -Wmissing-include-dirs warningsKirill A. Shutemov2012-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cc1: warning: include/drm: No such file or directory [enabled by default] It's reproducible if you build with O=/some/obj/dir and W=1. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: cdv_intel_lvds: mark cdv_intel_lvds_enc_funcs as staticKirill A. Shutemov2012-05-071-1/+1
| | | | | | | | | | | | | | | | | | Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: oaktrail_hdmi_i2c_handler(): base should be __iomemKirill A. Shutemov2012-05-071-1/+1
| | | | | | | | | | | | | | | | | | Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: lid_state should be __iomemKirill A. Shutemov2012-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This was mostly already fixed but this one change is needed to match Kirill's original submission Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: psb_irq_turn_off_dpst() fix bit operationKirill A. Shutemov2012-05-071-1/+1
| | | | | | | | | | | | | | | | | | Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: framebuffer: mark psb_fb_helper_funcs as staticKirill A. Shutemov2012-05-071-1/+1
| | | | | | | | | | | | | | | | | | Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: vram_addr should be __iomemKirill A. Shutemov2012-05-072-3/+2
| | | | | | | | | | | | | | | | | | Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: sgx_reg and vdc_reg should be __iomemKirill A. Shutemov2012-05-071-2/+2
| | | | | | | | | | | | | | | | | | Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: gtt: fix __iomem sparse warningsKirill A. Shutemov2012-05-072-5/+8
| | | | | | | | | | | | | | | | | | Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: psb_gtt_init(): drop unused variableKirill A. Shutemov2012-05-071-2/+1
| | | | | | | | | | | | | | | | | | Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: address the lid codeAlan Cox2012-05-073-3/+2
| | | | | | | | | | | | | | | | | | | | | We need this for Poulsbo Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: opregion and ACPIAlan Cox2012-05-0711-188/+396
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the opregion support and bring us in line with the opregion functionality in the reference driver code. We can't share this with i915 currently because there are hardcoded assumptions about dev_priv etc in both versions. [airlied: include opregion.h fix] Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: implement backlight functionality for Cedartrail devicesAlan Cox2012-05-031-63/+52
| | | | | | | | | | | | | | | | | | | | | | | | Basically a straight cut/paste from the reference driver code then cleaned up a spot. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: wide framebuffer memoryAlan Cox2012-05-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | If we set a small text framebuffer and have a bigger scanout then we want to send black not random bits for the overscan. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: Sync up Oaktrail HDMIAlan Cox2012-05-031-0/+1
| | | | | | | | | | | | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: don't register the ACPI video busAlan Cox2012-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | | We are not yet ready for this and it makes a mess on some devices. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | gma500: mdfld_dsi_dpi_mode_set() do not corrupt DSPSTRIDEKirill A. Shutemov2012-05-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The proper stride value set in mdfld__intel_pipe_set_base(). TODO: move tc35876x support to separate driver and get rid of all if (mdfld_get_panel_type(dev, pipe) == TC35876X) { ... } Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | cdv: Fix typos in initialization of mdfld_chip_opsPatrik Jakobsson2012-05-031-2/+2
|/ / | | | | | | | | | | Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | gma500: Set the mapping maskAlan Cox2012-04-272-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Some boards such as the Intel D2700MUD allow you to have over 4GB of RAM. The GTT on the PVR based devices is 32bit however. Hugh Dickins points out that we should therefore be setting the mapping gfp mask. This is not the whole fix for the problem. Some further shmem patches will be needed to deal with the corner cases. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | gma500: Add the base elements of CDV hotplug supportAlan Cox2012-04-273-3/+48
| | | | | | | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | gma500: Add ops for hotplug support.Alan Cox2012-04-272-7/+26
| | | | | | | | | | | | | | | | This provides the needed callback hooks to add hotplug display support to the GMA36x0 devices. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
OpenPOWER on IntegriCloud