aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-02-05Merge tag 'drm-amdkfd-next-fixes-2015-02-03' of ↵Dave Airlie2-4/+9
git://people.freedesktop.org/~gabbayo/linux into drm-next - Fixing accounting of active queues - Preserving a register internal state * tag 'drm-amdkfd-next-fixes-2015-02-03' of git://people.freedesktop.org/~gabbayo/linux: drm/amdkfd: Preserve CP_MQD_IQ_RPTR internal state drm/amdkfd: Fix dqm->queue_count tracking
2015-02-05Merge branch 'drm-intel-next' of git://anongit.freedesktop.org/drm-intel ↵Dave Airlie51-2689/+3193
into drm-next drm-intel-next-2015-01-30: - chv rps improvements from Ville - atomic state handling prep work from Ander - execlist request tracking refactoring from Nick Hoath - forcewake code consolidation from Chris&Mika - fastboot plane config refactoring and skl support from Damien - some more skl pm patches all over (Damien) - refactor dsi code to use drm dsi helpers and drm_panel infrastructure (Jani) - first cut at experimental atomic plane updates (Matt Roper) - piles of smaller things all over, as usual * 'drm-intel-next' of git://anongit.freedesktop.org/drm-intel: (102 commits) drm/i915: Remove bogus locking check in the hangcheck code drm/i915: Update DRIVER_DATE to 20150130 drm/i915: Use pipe_config's cpu_transcoder for reading encoder hw state drm/i915: Fix a use-after-free in intel_execlists_retire_requests drm/i915: Split shared dpll setup out of __intel_set_mode() drm/i915: Don't do posting reads on getting forcewake drm/i915: Do uncore early sanitize after domain init drm/i915: Handle CHV in vlv_set_rps_idle() drm/i915: Remove nested work in gpu error handling drm/i915/documentation: Add intel_uncore.c to drm.tmpl drm/i915/dsi: remove intel_dsi_cmd.c and the unused functions therein drm/i915/dsi: move dpi_send_cmd() to intel_dsi.c and make it static drm/i915/dsi: remove old read/write functions in favor of new stuff drm/i915/dsi: make the vbt panel driver use mipi_dsi_device for transfers drm/i915/dsi: add drm mipi dsi host support drm/i915/dsi: switch to drm_panel interface drm/i915/skl: Enabling PSR on Skylake Revert "drm/i915: Fix mutex->owner inspection race under DEBUG_MUTEXES" drm/i915: Be consistent on printing seqnos drm/i915: Display current hangcheck status in debugfs ...
2015-02-03drm/i915: Remove bogus locking check in the hangcheck codeDaniel Vetter1-3/+0
You can _never_ assert that a lock is not held, except in some very restricted corner cases where it's guranteed that your code is running single-threade (e.g. driver load before you've published any pointers leading to that lock). In addition the early return breaks a bunch of testcases since with highly concurrent hangcheck stress tests the reset fails to work and the test doesn't recover and time out. This regression has been introduced in commit b8d24a06568368076ebd5a858a011699a97bfa42 Author: Mika Kuoppala <[email protected]> Date: Wed Jan 28 17:03:14 2015 +0200 drm/i915: Remove nested work in gpu error handling Aside: It is possible to check whether a given task doesn't hold a lock, but only when lockdep is enabled, using the lockdep_assert_held stuff. Cc: Chris Wilson <[email protected]> Cc: Mika Kuoppala <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88908 Reviewed-by: Mika Kuoppala <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2015-02-03drm/modes: Print the mode status in human readable formVille Syrjälä1-2/+59
Currently when a mode is rejected the reason is printed as a raw number. Having to manually decode that to a enum drm_mode_status value is tiresome. Have the code do the decoding instead and print the result in a human readable format. Just having an array of strings indexed with the mode status doesn't work since the enum includes negative values. So we offset the status by +3 which makes all the indexes non-negative. Also add a bit of paranoia into the code to catch out of bounds accesses in case someone adds more enum values but forgets to update the code. Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2015-02-03drm: Kconfig: Let all DRM_GEM_CMA_HELPER related macros depend on HAVE_DMA_ATTRSChen Gang S6-6/+7
DRM_GEM_CMA_HELPER is depend on HAVE_DMA_ATTRS, or it will break the building. The related error (with allmodconfig under xtensa): CC [M] drivers/gpu/drm/drm_gem_cma_helper.o drivers/gpu/drm/drm_gem_cma_helper.c: In function 'drm_gem_cma_create': drivers/gpu/drm/drm_gem_cma_helper.c:110:19: error: implicit declaration of function 'dma_alloc_writecombine' [-Werror=implicit-function-declaration] cma_obj->vaddr = dma_alloc_writecombine(drm->dev, size, ^ drivers/gpu/drm/drm_gem_cma_helper.c:110:17: warning: assignment makes pointer from integer without a cast [-Wint-conversion] cma_obj->vaddr = dma_alloc_writecombine(drm->dev, size, ^ drivers/gpu/drm/drm_gem_cma_helper.c: In function 'drm_gem_cma_free_object': drivers/gpu/drm/drm_gem_cma_helper.c:193:3: error: implicit declaration of function 'dma_free_writecombine' [-Werror=implicit-function-declaration] dma_free_writecombine(gem_obj->dev->dev, cma_obj->base.size, ^ drivers/gpu/drm/drm_gem_cma_helper.c: In function 'drm_gem_cma_mmap_obj': drivers/gpu/drm/drm_gem_cma_helper.c:330:8: error: implicit declaration of function 'dma_mmap_writecombine' [-Werror=implicit-function-declaration] ret = dma_mmap_writecombine(cma_obj->base.dev->dev, vma, ^ Signed-off-by: Chen Gang <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2015-02-02Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into ↵Dave Airlie53-722/+4641
drm-next Rebase of main pull for 3.20. There was a mid-air collision between the bridge changes and msm eDP support. And atomic dpms support broke msm somewhat, due to using prepare/commit hooks in a different way. Compared to the initial pull req, this fixes up a memory leak caused by the bridge changes, rebases the eDP support on the bridge changes, and migrates to the atomic dpms hooks to fix the dpms breakage. Highlights (from original pull req): 1) YUV support for mdp4 and mdp5 2) eDP support 3) hw cursor support for mdp5[*] 4) additional hdmi support for apq8084 (snapdragon 805) 5) few bug fixes Note that I may have a later pull to enable hdmi hpd irqs.. but (un)fortunately I seem to have a particularly troublesome monitor.. I managed to figure out a workaround for spurious hpd disconnect irqs that works with some of my boards but not others, so holding off on that patch for now. There are also patches for HDCP support, but those are waiting on some scm patches outside of drm so I think waiting until 3.21 at this point. * 'msm-next' of git://people.freedesktop.org/~robclark/linux: (22 commits) drm/msm: add moduleparam to disable fbdev drm/msm: fix build error with W=1 drm/msm/mdp5: Fix negative SMP block allocation drm/msm/hdmi: disallow interlaced drm/msm/atomic: fix issue with gnome-shell wayland drm/msm/mdp5: Add hardware cursor support drm/msm/hdmi: rework hdmi configurations, using dt_match[] drm/msm/hdmi: Add HDMI platform config for apq8084 drm/msm/hdmi: use dynamic allocation for hdmi resources drm/msm/mdp5: fix parameter type for mdp5_ctl_set_intf() drm/msm/dp: use link power helpers drm/msm: Add the eDP connector in msm drm driver (V2) drm/msm: Initial add eDP support in msm drm driver (v5) drm/msm/mdp4: add YUV format support drm/msm/mdp5: add NV12 support for MDP5 drm/msm/mdp: add common YUV information for MDP4/MDP5 drm/msm: update generated headers drm/msm: Do not BUG_ON(!spin_is_locked()) on UP drm/msm/hdmi: fix memory leak after bridge changes drm/msm: fix fallout of atomic dpms changes ...
2015-02-01drm/msm: add moduleparam to disable fbdevRob Clark1-1/+8
Useful to avoid recompiling to disable fbdev. Useful because otherwise the first modeset happens under console_lock (ie. debugging sadness). Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm: fix build error with W=1Rob Clark1-3/+0
Combining -Werror with all the extra warning flags that W=1 adds doesn't go so well. Especially because some of the warnings triggered are from included headers. So just drop -Werror. Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/mdp5: Fix negative SMP block allocationStephane Viau1-2/+3
In case we request a number of SMP blocks which is lower than the already reserved blocks, we should not try to allocate a negative number, but 0 blocks instead. Signed-off-by: Stephane Viau <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/hdmi: disallow interlacedRob Clark1-1/+1
So after clarification from qcom, it seems mdp4 and mdp5 support *de*interlacing but not generating an interlaced signal. Which would explain why interlaced modes never worked properly. So disable in the one connector which was claiming to support interlaced. Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/atomic: fix issue with gnome-shell waylandRob Clark1-1/+4
The gnome-shell wayland compositor triggers a setcrtc with an fb that is still being rendered, triggering the call to _wait_fence_interruptable(). But a NULL timeout means "don't wait, return -EBUSY if not ready", which in turn causes the setcrtc to fail. Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/mdp5: Add hardware cursor supportBeeresh Gopal1-0/+164
This patch implements the hardware accelarated cursor support for MDP5 platforms. Signed-off-by: Beeresh Gopal <[email protected]> Signed-off-by: Wentao Xu <[email protected]> Signed-off-by: Stephane Viau <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/hdmi: rework hdmi configurations, using dt_match[]Stephane Viau2-59/+72
In the same idea mdp5_cfg was added, this change allows us to quickly add new instances, such as apq8084's HDMI in this case. Signed-off-by: Stephane Viau <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/hdmi: Add HDMI platform config for apq8084Stephane Viau2-0/+18
This change add the regulator/clock configuration for MDP5 v1.3. This config is close to the one already existing for 8x74, except that one more regulator is needed (hpd-5v-en). Signed-off-by: Stephane Viau <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/hdmi: use dynamic allocation for hdmi resourcesStephane Viau2-8/+28
Instead of reporting BUG_ON when resources arrays are not dimensioned correctly, this patch does a dynamic allocation of these arrays. This is needed for the following patches that add a regulator for a new target. Signed-off-by: Stephane Viau <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/mdp5: fix parameter type for mdp5_ctl_set_intf()Stephane Viau2-2/+2
mdp5_ctl_set_intf()'s second argument should be "int", not "enum mdp5_intf". The passed in value is "intf", not "intf_id". Signed-off-by: Stephane Viau <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/dp: use link power helpersRob Clark1-19/+2
Now that we have a helper for drm_dp_link_power_down(), use dp helpers instead of rolling our own. Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm: Add the eDP connector in msm drm driver (V2)Hai Li4-13/+75
Modified the hard-coded hdmi connector/encoder implementations in msm drm driver to support both edp and hdmi. V1: Initial change V2: Address Thierry's change Signed-off-by: Hai Li <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm: Initial add eDP support in msm drm driver (v5)Hai Li9-0/+2350
This change adds a new eDP connector in msm drm driver. With this change, eDP panel can work with msm platform under drm framework. v1: Initial change v2: Address Rob's comments Use generated header file for register definitions Change to devm_* APIs v3: Address Thierry's comments and rebase on top of atomic changes Remove edp_bridge_mode_fixup Remove backlight control code and rely on pwm-backlight Remove continuous splash screen support for now Change to gpiod_* APIs v4: Fix kbuild test issue Signed-off-by: Hai Li <[email protected]> [robclark: v5: rebase on drm_bridge changes in drm-next] Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/mdp4: add YUV format supportBeeresh Gopal1-9/+95
The patch add support for YUV frame format for MDP4 platform. Signed-off-by: Beeresh Gopal <[email protected]> Signed-off-by: Stephane Viau <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/mdp5: add NV12 support for MDP5Stephane Viau2-21/+194
This change adds the NV12 format support for public planes. Signed-off-by: Stephane Viau <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/mdp: add common YUV information for MDP4/MDP5Stephane Viau7-22/+154
Both MDP4 and MDP5 share some code as far as YUV support is concerned. This change adds this information and will be followed by the actual MDP4 and MDP5 YUV support patches. Signed-off-by: Stephane Viau <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm: update generated headersRob Clark14-325/+1166
Resync from rnndb database, to pull in register defines for: * eDP * HDMI/HDCP * mdp4/mdp5 YUV support * mdp5 hw cursor support Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm: Do not BUG_ON(!spin_is_locked()) on UPBruno Prémont1-1/+1
On !SMP systems spinlocks do not exist. Thus checking of they are active will always fail. Use assert_spin_locked(lock); instead of BUG_ON(!spin_is_locked(lock)); to not BUG() on all UP systems. Signed-off-by: Bruno Prémont <[email protected]> [robclark: drop stray ')'] Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm/hdmi: fix memory leak after bridge changesRob Clark1-4/+5
3d3f8b1f8b ("drm/bridge: make bridge registration independent of drm flow") resulted that the hdmi bridge object would be leaked at teardown. Just switch over to devm_kzalloc() as the easy way to solve this. Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm: fix fallout of atomic dpms changesRob Clark12-263/+303
As a result of atomic DPMS support, the various prepare/commit hooks get called in a way that msm dislikes. We were expecting prepare/commit to bracket a modeset, which is no longer the case. This was needed to hold various extra clk's (such as interface clks) on while we are touching registers, and in the case of mdp4 holding vblank enabled. The most straightforward way to deal with this, since we already have our own atomic_commit(), is to just handle prepare/commit internally to the driver (with some additional vfuncs for mdp4 vs mdp5), and switch everything over to instead use the new enable/disable hooks. It doesn't really change too much, despite the code motion. What used to be in the encoder/crtc dpms() fxns is split out into enable/disable. We should be able to drop our own enable-state tracking, as the atomic helpers should do this for us. But keeping that for the short term for extra debugging as atomic stablizes. Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/msm: Remove CRTC .mode_set and .mode_set_base helpersLaurent Pinchart2-4/+0
Only the legacy helpers use these entry points. Don't populate them with transitional helpers, since that just makes things more confusing. Signed-off-by: Laurent Pinchart <[email protected]> [robclark: reword commit msg] Signed-off-by: Rob Clark <[email protected]>
2015-02-01drm/dp: add drm_dp_link_power_down() helperRob Clark2-0/+32
We had _power_up(), but drivers also need to be able to power down. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Thierry Reding <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-01-31drm: atmel-hlcdc: Add dependency on ARMBoris Brezillon1-1/+1
The atmel-hlcdc driver selects DRM_GEM_CMA_HELPER which makes use of symbols only available when HAVE_DMA_ATTRS is selected. Add a dependency on the ARM architecture which select this option. Signed-off-by: Boris Brezillon <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2015-01-31drm: msm: add missing dependencies on OF and COMMON_CLKArnd Bergmann1-0/+1
The msm gpu drivers depend on both the DT mechanism and the common clk handling code, if they are not enabled, we get a number of build errors: In file included from drivers/gpu/drm/msm/hdmi/hdmi.h:27:0, from drivers/gpu/drm/msm/hdmi/hdmi_bridge.c:18: drivers/gpu/drm/msm/msm_drv.h:45:24: fatal error: mach/board.h: No such file or directory #include <mach/board.h> ^ drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c:503:2: error: implicit declaration of function 'devm_clk_register' [-Werror=implicit-function-declaration] Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2015-01-31drm/udl: properly set active_16 flag in udl_crtc_page_flip(). (v2)Haixia Shi1-1/+8
When page flipping, we need to mark the new fb as active and unmark the active flag for the old fb (if different). Signed-off-by: Haixia Shi <[email protected]> Reviewed-by: Stéphane Marchesin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2015-01-31drm: shmobile: fix Kconfig dependenciesArnd Bergmann1-0/+2
The shmobile drm driver selects BACKLIGHT_CLASS_DEVICE as of 0a5a5499ad88 "drm: shmobile: Add dependency on BACKLIGHT_CLASS_DEVICE", but that option in turn depends on BACKLIGHT_LCD_SUPPORT, so we actually have to select both, or alternatively use 'depends on BACKLIGHT_CLASS_DEVICE'. Further, the driver uses FB_SH_MOBILE_MERAM if that is enabled, but this breaks if MERAM is a module while the DRM driver is built-in. To solve this, add a dependency on "FB_SH_MOBILE_MERAM || !FB_SH_MOBILE_MERAM", which forces DRM_SHMOBILE to be a module if FB_SH_MOBILE_MERAM set to 'm'. Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2015-01-31drm: sti: add panel dependencyArnd Bergmann1-0/+1
The newly added sti driver requires the drm_panel helpers, and we get a link error if they are not enabled ERROR: "drm_panel_attach" [drivers/gpu/drm/sti/stidvo.ko] undefined! ERROR: "of_drm_find_panel" [drivers/gpu/drm/sti/stidvo.ko] undefined! This adds a 'select' statement as we have for the other drivers. Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2015-01-31drm: rockchip: add reset controller dependencyArnd Bergmann1-0/+1
When the reset controller subsystem is disabled, this driver fails to build: drivers/gpu/drm/rockchip/rockchip_drm_vop.c: In function 'vop_initial': drivers/gpu/drm/rockchip/rockchip_drm_vop.c:1267:2: error: implicit declaration of function 'devm_reset_control_get' [-Werror=implicit-function-declaration] The easiest solution is to add a dependency in Kconfig to avoid that case. Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2015-01-31drm: panel/simple: add backlight dependencyArnd Bergmann1-0/+1
The simple panel code uses the backlight interface to find a device, which fails when backlight is disabled: drivers/built-in.o: In function `panel_simple_platform_probe': :(.text+0xd3c48): undefined reference to `of_find_backlight_by_node' Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2015-01-31drm: panel/sharp: add backlight dependencyArnd Bergmann1-0/+1
The sharp panel code uses the backlight interface to find a device, which fails when backlight is disabled: drivers/built-in.o: In function `sharp_panel_probe': :(.text+0x5ceac): undefined reference to `of_find_backlight_by_node' Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2015-01-31drm/udl: optimize udl_compress_hline16 (v2)Haixia Shi1-20/+19
The run-length encoding algorithm should compare 16-bit encoded pixel values instead of comparing raw pixel values. It allows pixels with similar but different colors to be encoded as repeat pixels, and thus potentially save USB bandwidth. Signed-off-by: Haixia Shi <[email protected]> Reviewed-by: Daniel Kurtz <[email protected]> Tested-by: Haixia Shi <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2015-01-30drm/i915: Update DRIVER_DATE to 20150130Daniel Vetter1-1/+1
Signed-off-by: Daniel Vetter <[email protected]>
2015-01-30drm/i915: Use pipe_config's cpu_transcoder for reading encoder hw stateAnder Conselvan de Oliveira2-2/+2
The get_config() functions for ddi and dp_mst, used to read the value of cpu_transcoder from the crtc->config instead of the state passed as an argument. On the hardware state readout path, that happens to work since the proper value is written to it before encoder->get_config() is called. However, in the check_crtc() path, the state will be read from the cpu_transcoder in the software tracking, instead of the one just read out from hw. Using the field in the supplied intel_crtc_state should do the right thing in both cases. v2: Fix intel_ddi_get_config() too. (Ander) Signed-off-by: Ander Conselvan de Oliveira <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2015-01-30drm/i915: Fix a use-after-free in intel_execlists_retire_requestsNick Hoath1-1/+1
Remove request from list before unreferencing it, in case it's actually the only reference. (Found by Tvrtko Ursulin) This issue has been most likely introduced in commit 6d3d8274bc45de4babb62d64562d92af984dd238 Author: Nick Hoath <[email protected]> Date: Thu Jan 15 13:10:39 2015 +0000 drm/i915: Subsume intel_ctx_submit_request in to drm_i915_gem_request Signed-off-by: Nick Hoath <[email protected]> Reviewed-by: Mika Kuoppala <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2015-01-30drm/i915: Split shared dpll setup out of __intel_set_mode()Ander Conselvan de Oliveira1-17/+33
This simplifies __intel_set_mode() a little. Signed-off-by: Ander Conselvan de Oliveira <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2015-01-30drm/i915: Don't do posting reads on getting forcewakeMika Kuoppala1-1/+0
The checking for ack and also any subsequent mmio access will serialize with setting the forcewake bit. Drop the posting read as superfluous. Note that in the put side we still want to keep the posting read as it will ensure that the hw sees our forcewake release in a timely manner and doesn't keep the hw powered up. Comment from Chris: On Wed, Jan 28, 2015 at 05:54:14PM +0200, Mika Kuoppala wrote: > Ville Syrjälä <[email protected]> writes: > > IIRC the posting read from same cache line actually fixed real bugs. So > > I'm a bit worried about dropping them. But I suppose it's possible only > > the _put side was important for those bugs. > > I found these: > > commit 6af2d180f82151cf3d58952e35a4f96e45bc453a > Author: Daniel Vetter <[email protected]> > Date: Thu Jul 26 16:24:50 2012 +0200 > > drm/i915: fix forcewake related hangs on snb > > commit 8dee3eea3ccd3b6c00a8d3a08dd715d6adf737dd > Author: Ben Widawsky <[email protected]> > Date: Sat Sep 1 22:59:50 2012 -0700 > > drm/i915: Never read FORCEWAKE > > https://bugs.freedesktop.org/show_bug.cgi?id=51738 > https://bugs.freedesktop.org/show_bug.cgi?id=52424 > > The snb here seems to survive gem_dummy_reloc_loop and > gem_ring_sync_loop in here with the get side posting removed. Note that we kept the once associated with #52424, but judging by my comments in #51738 the posting read is just a band aid anyway as a full mb() itself was not adequate. Suggested-by: Chris Wilson <[email protected]> Signed-off-by: Mika Kuoppala <[email protected]> Reviewed-by: Chris Wilson <[email protected]> [danvet: paste relevant review discussion in.] Signed-off-by: Daniel Vetter <[email protected]>
2015-01-30drm/i915: Do uncore early sanitize after domain initMika Kuoppala1-8/+30
intel_uncore_early_sanitize() will reset the forcewake registers. When forcewake domains were introduced, the domain init was done after the sanitization of the forcewake registers. And as the resetting of registers use the domain accessors, we tried to reset the forcewake registers with unitialized forcewake domains and failed. Fix this by sanitizing after all the domains have been initialized. Do per domain clearing of forcewake register on domain init so that IVB can do early access to ECOBUS do determine the final configuration. This regression was introduced in commit 05a2fb157e44a53c79133805d30eaada43911941 Author: Mika Kuoppala <[email protected]> Date: Mon Jan 19 16:20:43 2015 +0200 drm/i915: Consolidate forcewake code v2: Carve out ellc detect, fw_domain_reset for ivb/ecobus (Chris) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88805 Cc: Chris Wilson <[email protected]> Reported-by: Olof Johansson <[email protected]> Tested-by: Darren Hart <[email protected]> (v1) Signed-off-by: Mika Kuoppala <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2015-01-30drm/i915: Handle CHV in vlv_set_rps_idle()Ville Syrjälä1-5/+3
Move the CHV check into vlv_set_rps_idle() to simplify the caller a bit. Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2015-01-29drm/i915: Remove nested work in gpu error handlingMika Kuoppala4-24/+24
Now when we declare gpu errors only through our own dedicated hangcheck workqueue there is no need to have a separate workqueue for handling the resetting and waking up the clients as the deadlock concerns are no more. The only exception is i915_debugfs::i915_set_wedged, which triggers error handling through process context. However as this is only used through test harness it is responsibility for test harness not to introduce hangs through both debug interface and through hangcheck mechanism at the same time. Remove gpu_error.work and let the hangcheck work do the tasks it used to. v2: Add a big warning sign into i915_debugfs::i915_set_wedged (Chris) Cc: Chris Wilson <[email protected]> Signed-off-by: Mika Kuoppala <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2015-01-29drm/i915/documentation: Add intel_uncore.c to drm.tmplMika Kuoppala1-0/+1
Include intel_uncore.c in template for it to include d documentation for intel_uncore_forcewake_get and *_put. Cc: Daniel Vetter <[email protected]> Signed-off-by: Mika Kuoppala <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2015-01-29drm/i915/dsi: remove intel_dsi_cmd.c and the unused functions thereinJani Nikula4-120/+0
The removed functions can be resurrected in intel_dsi.c as need arises. Signed-off-by: Jani Nikula <[email protected]> Reviewed-By: Shobhit Kumar <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2015-01-29drm/i915/dsi: move dpi_send_cmd() to intel_dsi.c and make it staticJani Nikula3-41/+37
No functional changes. Signed-off-by: Jani Nikula <[email protected]> Reviewed-By: Shobhit Kumar <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2015-01-29drm/i915/dsi: remove old read/write functions in favor of new stuffJani Nikula2-331/+0
All of these are replaced by the drm core mipi dsi functions. Signed-off-by: Jani Nikula <[email protected]> Reviewed-By: Shobhit Kumar <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2015-01-29drm/i915/dsi: make the vbt panel driver use mipi_dsi_device for transfersJani Nikula1-18/+34
Use the drm core interfaces in preparation of removing our homebrew. Signed-off-by: Jani Nikula <[email protected]> Reviewed-By: Shobhit Kumar <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>