aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/gma500
AgeCommit message (Collapse)AuthorFilesLines
2013-10-25Merge tag 'drm-intel-next-2013-10-18' of ↵Dave Airlie1-0/+1
git://people.freedesktop.org/~danvet/drm-intel into drm-next - CRC support from Damien and He Shuang. Long term this should allow us to test an awful lot modesetting corner cases automatically. So for me as the maintainer this is really big. - HDMI audio fix from Jani. - VLV dpll computation code refactoring from Ville. - Fixups for the gpu booster from last time around (Chris). - Some cleanups in the context code from Ben. - More watermark work from Ville (we'll be getting there ...). - vblank timestamp improvements from Ville. - CONFIG_FB=n support, including drm core changes to make the fbdev helpers optional. - DP link training improvements (Jani). - mmio vtable from Ben, prep work for future hw. * tag 'drm-intel-next-2013-10-18' of git://people.freedesktop.org/~danvet/drm-intel: (132 commits) drm/i915/dp: don't mention eDP bpp clamping if it doesn't affect bpp drm/i915: remove dead code in ironlake_crtc_mode_set drm/i915: crc support for hsw drm/i915: fix CRC debugfs setup drm/i915: wait one vblank when disabling CRCs drm/i915: use ->get_vblank_counter for the crc frame counter drm/i915: wire up CRC interrupt for ilk/snb drm/i915: add CRC #defines for ilk/snb drm/i915: extract display_pipe_crc_update drm/i915: don't Oops in debugfs for I915_FBDEV=n drm/i915: set HDMI pixel clock in audio configuration drm/i915: pass mode to ELD write vfuncs cpufreq: Add dummy cpufreq_cpu_get/put for CONFIG_CPU_FREQ=n drm/i915: check gem bo size when creating framebuffers drm/i915: Use unsigned long for obj->user_pin_count drm/i915: prevent tiling changes on framebuffer backing storage drm/i915: grab dev->struct_mutex around framebuffer_init drm/i915: vlv: fix VGA hotplug after modeset drm: add support for additional stereo 3D modes drm/i915: preserve dispaly init order on ByT ...
2013-10-22drm/sysfs: sort out minor and connector device object lifetimes.Dave Airlie1-1/+1
So drm was abusing device lifetimes, by having embedded device structures in the minor and connector it meant that the lifetime of the internal drm objects (drm_minor and drm_connector) were tied to the lifetime of the device files in sysfs, so if something kept those files opened the current code would kfree the objects and things would go downhill from there. Now in reality there is no need for these lifetimes to be so intertwined, especailly with hotplugging of devices where we wish to remove the sysfs and userspace facing pieces before we can unwind the internal objects due to open userspace files or mmaps, so split the objects out so the struct device is no longer embedded and do what fbdev does and just allocate and remove the sysfs inodes separately. Signed-off-by: Dave Airlie <[email protected]>
2013-10-17intel_mid: Renamed *mrst* to *intel_mid*Kuppuswamy Sathyanarayanan3-3/+3
Following files contains code that is common to all intel mid soc's. So renamed them as below. mrst/mrst.c -> intel-mid/intel-mid.c mrst/vrtc.c -> intel-mid/intel_mid_vrtc.c mrst/early_printk_mrst.c -> intel-mid/intel_mid_vrtc.c pci/mrst.c -> pci/intel_mid_pci.c Also, renamed the corresponding header files and made changes to the driver files that included these header files. To ensure that there are no functional changes, I have compared the objdump of renamed files before and after rename and found that the only difference is file name change. Signed-off-by: Kuppuswamy Sathyanarayanan <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: David Cohen <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2013-10-11drm: Add separate Kconfig option for fbdev helpersDaniel Vetter1-0/+1
For drivers which might want to disable fbdev legacy support. Select the new option in all drivers for now, so this shouldn't result in any change. Drivers need some work anyway to make fbdev support optional (if they have it implemented, that is), so the recommended way to expose this is by adding per-driver options. At least as long as most drivers don't support disabling the fbdev support. v2: Update for new drm drivers msm and rcar-du. Note that Rob's msm driver can already take advantage of this, which allows us to build msm without any fbdev depencies in the kernel! v3: Move the MODULE_* stuff from the fbdev helper file to drm_crtc_helper.c. Cc: David Herrmann <[email protected]> Cc: Rob Clark <[email protected]> Reviewed-by: Rob Clark <[email protected]> Acked-by: Dave Airlie <[email protected]> Reviewed-by: Chon Ming Lee <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2013-10-09drm/gma500: fix things after get/put page helpersRob Clark1-0/+1
Commit 8b9ba7a3 'drm/gma500: use gem get/put page helpers' was missing a line, which resulted in garbled screen. Signed-off-by: Rob Clark <[email protected]> Tested-by: Guillaume CLÉMENT <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-10-09drm: Remove pci_vendor and pci_device from struct drm_deviceVille Syrjälä1-4/+4
We can get the PCI vendor and device IDs via dev->pdev. So we can drop the duplicated information. Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-10-09drm: Collect per-crtc vblank stuff to a structVille Syrjälä1-11/+11
drm_vblank_init() is too ugly. Make it a bit easier on the eye by collecting all the per-crtc vblank counters, timestamps etc. to a structure and just allocate an array of those. Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-10-09drm: Make vblank_disable_allowed boolVille Syrjälä1-1/+1
vblank_disable_allowed is only ever 0 or 1, so make it a bool. Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-10-09drm: kill ->gem_init_object() and friendsDavid Herrmann3-7/+0
All drivers embed gem-objects into their own buffer objects. There is no reason to keep drm_gem_object_alloc(), gem->driver_private and ->gem_init_object() anymore. New drivers are highly encouraged to do the same. There is no benefit in allocating gem-objects separately. Cc: Dave Airlie <[email protected]> Cc: Alex Deucher <[email protected]> Cc: Daniel Vetter <[email protected]> Cc: Jerome Glisse <[email protected]> Cc: Rob Clark <[email protected]> Cc: Inki Dae <[email protected]> Cc: Ben Skeggs <[email protected]> Cc: Patrik Jakobsson <[email protected]> Signed-off-by: David Herrmann <[email protected]> Acked-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-09-02Merge branch 'drm-next-3.12' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie1-1/+2
into drm-next Alex writes: This is the radeon drm-next request. Big changes include: - support for dpm on CIK parts - support for ASPM on CIK parts - support for berlin GPUs - major ring handling cleanup - remove the old 3D blit code for bo moves in favor of CP DMA or sDMA - lots of bug fixes [airlied: fix up a bunch of conflicts from drm_order removal] * 'drm-next-3.12' of git://people.freedesktop.org/~agd5f/linux: (898 commits) drm/radeon/dpm: make sure dc performance level limits are valid (CI) drm/radeon/dpm: make sure dc performance level limits are valid (BTC-SI) (v2) drm/radeon: gcc fixes for extended dpm tables drm/radeon: gcc fixes for kb/kv dpm drm/radeon: gcc fixes for ci dpm drm/radeon: gcc fixes for si dpm drm/radeon: gcc fixes for ni dpm drm/radeon: gcc fixes for trinity dpm drm/radeon: gcc fixes for sumo dpm drm/radeonn: gcc fixes for rv7xx/eg/btc dpm drm/radeon: gcc fixes for rv6xx dpm drm/radeon: gcc fixes for radeon_atombios.c drm/radeon: enable UVD interrupts on CIK drm/radeon: fix init ordering for r600+ drm/radeon/dpm: only need to reprogram uvd if uvd pg is enabled drm/radeon: check the return value of uvd_v1_0_start in uvd_v1_0_init drm/radeon: split out radeon_uvd_resume from uvd_v4_2_resume radeon kms: fix uninitialised hotplug work usage in r100_irq_process() drm/radeon/audio: set up the sads on DCE3.2 asics drm/radeon: fix handling of variable sized arrays for router objects ... Conflicts: drivers/gpu/drm/i915/i915_dma.c drivers/gpu/drm/i915/i915_gem_dmabuf.c drivers/gpu/drm/i915/intel_pm.c drivers/gpu/drm/radeon/cik.c drivers/gpu/drm/radeon/ni.c drivers/gpu/drm/radeon/r600.c
2013-08-22Merge branch 'gma500-next' of git://github.com/patjak/drm-gma500 into drm-nextDave Airlie26-2168/+1446
Here's some gma500 unifying and cleanups for drm-next. There is more stuff in the pipe for 3.12 but I'd like to get these out of the way first. * 'gma500-next' of git://github.com/patjak/drm-gma500: (35 commits) drm/gma500/cdv: Add and hook up chip op for disabling sr drm/gma500/cdv: Add and hook up chip op for watermarks drm/gma500: Rename psb_intel_encoder to gma_encoder drm/gma500: Rename psb_intel_connector to gma_connector drm/gma500: Rename psb_intel_crtc to gma_crtc drm/gma500/cdv: Convert to generic set_config() drm/gma500/psb: Convert to generic set_config() drm/gma500: Add generic set_config() function drm/gma500/cdv: Convert to generic save/restore drm/gma500/psb: Convert to generic save/restore drm/gma500: Add generic crtc save/restore funcs drm/gma500: Convert to generic encoder funcs drm/gma500: Add generic encoder functions drm/gma500/psb: Convert to generic cursor funcs drm/gma500/cdv: Convert to generic cursor funcs drm/gma500: Add generic cursor functions drm/gma500/psb: Convert to generic crtc->destroy drm/gma500/mdfld: Use identical generic crtc funcs drm/gma500/oak: Use identical generic crtc funcs drm/gma500/psb: Convert to gma_crtc_dpms() ...
2013-08-22gma500: Fix SDVO turning off randomlyGuillaume Clement1-1/+2
Some Poulsbo cards seem to incorrectly report SDVO_CMD_STATUS_TARGET_NOT_SPECIFIED instead of SDVO_CMD_STATUS_PENDING, which causes the display to be turned off. Signed-off-by: Guillaume Clement <[email protected]> Acked-by: Patrik Jakobsson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-08-19drm/gma500: use gem get/put page helpersRob Clark1-32/+6
Signed-off-by: Rob Clark <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-08-19drm: rip out a few unused DRIVER flagsDaniel Vetter1-1/+1
The gma500 driver somehow set the DRIVER_IRQ_VBL flag, but since there's no code at all to check for this we can kill it. The other two are completely unused. Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-08-19drm: remove FASYNC supportDaniel Vetter1-1/+0
So I've stumbled over drm_fasync and wondered what it does. Digging that up is quite a story. First I've had to read up on what this does and ended up being rather bewildered why peopled loved signals so much back in the days that they've created SIGIO just for that ... Then I wondered how this ever works, and what that strange "No-op." comment right above it should mean. After all calling the core fasync helper is pretty obviously not a noop. After reading through the kernels FASYNC implementation I've noticed that signals are only sent out to the processes attached with FASYNC by calling kill_fasync. No merged drm driver has ever done that. After more digging I've found out that the only driver that ever used this is the so called GAMMA driver. I've frankly never heard of such a gpu brand ever before. Now FASYNC seems to not have been the only bad thing with that driver, since Dave Airlie removed it from the drm driver with prejudice: commit 1430163b4bbf7b00367ea1066c1c5fe85dbeefed Author: Dave Airlie <[email protected]> Date: Sun Aug 29 12:04:35 2004 +0000 Drop GAMMA DRM from a great height ... Long story short, the drm fasync support seems to be doing absolutely nothing. And the only user of it was never merged into the upstream kernel. And we don't need any fops->fasync callback since the fcntl implementation in the kernel already implements the noop case correctly. So stop this particular cargo-cult and rip it all out. v2: Kill drm_fasync assignments in rcar (newly added) and imx drivers (somehow I've missed that one in staging). Also drop the reference in the drm DocBook. ARM compile-fail reported by Rob Clark. v3: Move the removal of dev->buf_asnyc assignment in drm_setup to this patch here. v4: Actually git add ... tsk. Cc: Dave Airlie <[email protected]> Cc: Laurent Pinchart <[email protected]> Cc: Rob Clark <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: David Herrmann <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-08-15drm/gma500/cdv: Add and hook up chip op for disabling srPatrik Jakobsson6-7/+7
Add a callback hook to the chip ops struct to allow chips to have their specific self-refresh function. Currently only used by cdv. Signed-off-by: Patrik Jakobsson <[email protected]>
2013-08-14drm/gma500/cdv: Add and hook up chip op for watermarksPatrik Jakobsson6-4/+5
Add a callback hook to the chip ops struct to allow chips to have their specific fifo watermark update function. Currently only cdv actually tries to set wms based on crtc configuration but if/when the other chips needs it we can attach a callback for them as well. Signed-off-by: Patrik Jakobsson <[email protected]>
2013-08-07drm: const'ify ioctls table (v2)Rob Clark1-1/+1
Because, there is no reason for it not to be const. v1: original v2: fix compile break in vmwgfx, and couple related cleanups suggested by Ville Syrjälä Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-08-07drm/gem: create drm_gem_dumb_destroyDaniel Vetter3-20/+1
All the gem based kms drivers really want the same function to destroy a dumb framebuffer backing storage object. So give it to them and roll it out in all drivers. This still leaves the option open for kms drivers which don't use GEM for backing storage, but it does decently simplify matters for gem drivers. Acked-by: Inki Dae <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Cc: Intel Graphics Development <[email protected]> Cc: Ben Skeggs <[email protected]> Reviwed-by: Rob Clark <[email protected]> Cc: Alex Deucher <[email protected]> Acked-by: Patrik Jakobsson <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-25drm/gem: convert to new unified vma managerDavid Herrmann1-9/+6
Use the new vma manager instead of the old hashtable. Also convert all drivers to use the new convenience helpers. This drops all the (map_list.hash.key << PAGE_SHIFT) non-sense. Locking and access-management is exactly the same as before with an additional lock inside of the vma-manager, which strictly wouldn't be needed for gem. v2: - rebase on drm-next - init nodes via drm_vma_node_reset() in drm_gem.c v3: - fix tegra v4: - remove duplicate if (drm_vma_node_has_offset()) checks - inline now trivial drm_vma_node_offset_addr() calls v5: - skip node-reset on gem-init due to kzalloc() - do not allow mapping gem-objects with offsets (backwards compat) - remove unneccessary casts Cc: Inki Dae <[email protected]> Cc: Rob Clark <[email protected]> Cc: Dave Airlie <[email protected]> Cc: Thierry Reding <[email protected]> Signed-off-by: David Herrmann <[email protected]> Acked-by: Patrik Jakobsson <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-24drm/gma500: Rename psb_intel_encoder to gma_encoderPatrik Jakobsson17-255/+226
The psb_intel_encoder is generic and should be named appropriately Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500: Rename psb_intel_connector to gma_connectorPatrik Jakobsson14-65/+64
The psb_intel_connector is generic and should be named appropriately Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500: Rename psb_intel_crtc to gma_crtcPatrik Jakobsson15-181/+170
The psb_intel_crtc is generic and should be named appropriately Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/cdv: Convert to generic set_config()Patrik Jakobsson1-20/+1
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/psb: Convert to generic set_config()Patrik Jakobsson1-17/+1
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500: Add generic set_config() functionPatrik Jakobsson2-0/+19
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/cdv: Convert to generic save/restorePatrik Jakobsson1-170/+2
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/psb: Convert to generic save/restorePatrik Jakobsson1-107/+2
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500: Add generic crtc save/restore funcsPatrik Jakobsson2-0/+108
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500: Convert to generic encoder funcsPatrik Jakobsson16-124/+58
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500: Add generic encoder functionsPatrik Jakobsson3-0/+55
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/psb: Convert to generic cursor funcsPatrik Jakobsson1-155/+2
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/cdv: Convert to generic cursor funcsPatrik Jakobsson1-128/+2
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500: Add generic cursor functionsPatrik Jakobsson2-0/+156
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/psb: Convert to generic crtc->destroyPatrik Jakobsson1-22/+1
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/mdfld: Use identical generic crtc funcsPatrik Jakobsson1-22/+3
Use the generic gma functions instead of the medfield functions where they are identical. Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/oak: Use identical generic crtc funcsPatrik Jakobsson1-22/+3
Use the generic gma functions instead of the oaktrail functions where they are identical. Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/psb: Convert to gma_crtc_dpms()Patrik Jakobsson1-103/+1
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500: Convert to generic gamma funcsPatrik Jakobsson6-73/+6
This takes care of the remaining chips using the old generic code. We don't check if the pipe number is valid but the old code peeked in the register map before checking anyways so just ignore it. Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/psb: Convert to gma_pipe_set_base()Patrik Jakobsson1-72/+1
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/cdv: Convert to generic gamma funcsPatrik Jakobsson1-69/+1
There is a slight difference in how we pick the palette register in the generic function but we should be ok as long as psb_intel_crtc->pipe and the register map is sane. Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/cdv: Convert to gma_crtc_dpms()Patrik Jakobsson3-138/+8
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500: Add IS_CDV() macroPatrik Jakobsson1-0/+1
This macro is needed for Cedarview specific stuff in the generic gma functions. Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/cdv: Convert to gma_pipe_set_base()Patrik Jakobsson1-76/+1
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/psb: Use identical generic crtc funcsPatrik Jakobsson1-37/+4
This patch makes psb use the gma_xxx counterparts that are identical. I took them in one sweep as they should not cause any regressions. Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500: Make all chips use gma_wait_for_vblankPatrik Jakobsson7-29/+17
Also remove the duplicated oaktrail function. Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/cdv: Use identical generic crtc funcsPatrik Jakobsson2-67/+16
This patch makes cdv use the gma_xxx counterparts that are identical. I took them in one sweep as they should not cause any regressions. Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500: Add generic pipe/crtc functionsPatrik Jakobsson2-0/+340
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500: Remove the unused psb_intel_display.hPatrik Jakobsson1-23/+0
Signed-off-by: Patrik Jakobsson <[email protected]>
2013-07-24drm/gma500/psb: Make use of generic clock codePatrik Jakobsson4-167/+51
Add chip specific callbacks for the generic and non-generic clock calculation code. Also remove as much dupilicated code as possible. Signed-off-by: Patrik Jakobsson <[email protected]>