aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu
AgeCommit message (Collapse)AuthorFilesLines
2016-03-02drm/msm: Free fb helper resources in msm_unloadArchit Taneja2-0/+6
We have a msm_fbev_free function to uninit fb_helper stuff, but we aren't using it. Call it in msm_unload. Signed-off-by: Archit Taneja <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2016-03-02drm/msm/mdp: Detach iommu in mdp4_destroySricharan R2-4/+14
attach_dev gets called in mdp4_kms_init, but there is no corresponding detach_dev called in the error path or in the kms driver unload path. Detach and destroy mmu in mdp4_destroy. Signed-off-by: Sricharan R <[email protected]> Signed-off-by: Archit Taneja <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2016-03-02drm/msm: make iommu port names const'ierRob Clark2-4/+6
Signed-off-by: Rob Clark <[email protected]>
2016-03-02drm/msm/mdp: Use atomic helper to set crtc propertyArchit Taneja2-16/+2
Assign drm_atomic_helper_crtc_set_property helper to MDP4 and MDP5 crtcs' set_property ops. This replaces the custom funcs that returned an error even for standard crtc properties. Signed-off-by: Archit Taneja <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2016-03-02drm/bridge: Make (pre/post) enable/disable callbacks optionalLaurent Pinchart1-4/+8
Instead of forcing bridges to implement empty callbacks make them all optional. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2016-03-02drm/panel: simple: Add URT UMSH-8596MD-xT panels supportMaciej S. Szmigiero1-0/+54
Add support for United Radiant Technology UMSH-8596MD-xT 7.0" WVGA TFT LCD panels in the simple-panel driver. Signed-off-by: Maciej S. Szmigiero <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2016-03-02drm/panel: simple: Support for LG lp120up1 panelJitao Shi1-0/+26
The LG lp120up1 TFT LCD panel with eDP interface is a 12.0" 1920x1280 panel, which can be supported by the simple panel driver. Signed-off-by: Jitao Shi <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2016-03-02drm/panel: simple: Fix g121x1_l03 hsync/vsync polarityAkshay Bhat1-0/+1
Set hsync/vsync to active low for g121x1_l03 panel to match the recommended setting in the datasheet. Signed-off-by: Akshay Bhat <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2016-03-02drm/dsi: Get DSI host by DT device nodeArchit Taneja1-0/+39
MIPI DSI devices are inherently aware of their host because they share a parent-child hierarchy in the device tree. Non-DSI drivers that create DSI device don't have this data. In order to get this information, they require to a phandle to the DSI host in the device tree. Maintain a list of all the DSI hosts that are currently registered. This list will be used to find the struct mipi_dsi_host corresponding to the device tree node passed to of_find_mipi_dsi_host_by_node(). Reviewed-by: Andrzej Hajda <[email protected]> Signed-off-by: Archit Taneja <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2016-03-02drm/dsi: Add routine to unregister a DSI deviceArchit Taneja1-1/+11
A driver calling mipi_dsi_device_register_full() might want to remove the device once it's done. It might also require it in an error handling path in case something went wrong. Create mipi_dsi_device_unregister() for this purpose and use it within mipi_dsi_remove_device_fn() as it does the same thing. Reviewed-by: Andrzej Hajda <[email protected]> Signed-off-by: Archit Taneja <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2016-03-02drm/amdgpu: return from atombios_dp_get_dpcd only when errorArindam Nath1-1/+1
In amdgpu_connector_hotplug(), we need to start DP link training only after we have received DPCD. The function amdgpu_atombios_dp_get_dpcd() returns non-zero value only when an error condition is met, otherwise returns zero. So in case the function encounters an error, we need to skip rest of the code and return from amdgpu_connector_hotplug() immediately. Only when we are successfull in reading DPCD pin, we should carry on with turning-on the monitor. Signed-off-by: Arindam Nath <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
2016-03-02drm/amdgpu/cz: remove commented out call to enable vce pgAlex Deucher1-2/+1
This code path is not currently enabled now that we properly respect the vce pg flags, so uncomment the actual pg calls so the code is as it should be we are eventually able to enable vce pg. Reviewed-by: Christian König <[email protected]> Reviewed-by: Rex Zhu <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2016-03-02drm/amdgpu/powerplay/cz: enable/disable vce dpm independent of vce pgAlex Deucher1-1/+1
If we don't disable it when vce is not in use, we use extra power if vce pg is disabled. Reviewed-by: Christian König <[email protected]> Reviewed-by: Rex Zhu <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2016-03-02drm/amdgpu/cz: enable/disable vce dpm even if vce pg is disabledAlex Deucher1-3/+1
I missed this when cleaning up the vce pg handling. Reviewed-by: Christian König <[email protected]> Reviewed-by: Rex Zhu <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2016-03-02drm/amdgpu/gfx8: specify which engine to wait before vm flushChunming Zhou1-1/+2
Select between me and pfp properly. Signed-off-by: Chunming Zhou <[email protected]> Reviewed-by: Christian König <[email protected]> Cc: [email protected] Signed-off-by: Alex Deucher <[email protected]>
2016-03-02drm/amdgpu: apply gfx_v8 fixes to gfx_v7 as wellChristian König1-0/+13
We never ported that back to CIK, so we could run into VM faults here. Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Cc: [email protected]
2016-03-02drm/amd/powerplay: send event to notify powerplay all modules are initialized.Rex Zhu1-1/+3
with this event, powerplay can adjust current power state if needed. Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2016-03-02drm/amd/powerplay: export AMD_PP_EVENT_COMPLETE_INIT task to amdgpu.Rex Zhu2-1/+5
This is needed to init the dynamic states without a display. To be used in the next commit. Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2016-03-02drm/radeon/pm: update current crtc info after setting the powerstateAlex Deucher1-4/+4
On CI, we need to see if the number of crtcs changes to determine whether or not we need to upload the mclk table again. In practice we don't currently upload the mclk table again after the initial load. The only reason you would would be to add new states, e.g., for arbitrary mclk setting which is not currently supported. Acked-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
2016-03-02drm/amdgpu/pm: update current crtc info after setting the powerstateAlex Deucher1-3/+3
On CI, we need to see if the number of crtcs changes to determine whether or not we need to upload the mclk table again. In practice we don't currently upload the mclk table again after the initial load. The only reason you would would be to add new states, e.g., for arbitrary mclk setting which is not currently supported. Acked-by: Jordan Lazare <[email protected]> Acked-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
2016-03-02drm/dsi: Try to match non-DT DSI devicesArchit Taneja1-1/+17
Add a device name field in struct mipi_dsi_device. This name is not the same as the device name (which is of the format "hostname.reg"). When the device is created via DT, this name is set to the modalias string. In the non-DT case, the driver creating the DSI device provides the name by populating a field in struct mipi_dsi_device_info. Matching for DT case would be as it was before. For the non-DT case, we compare the device and driver names. Other buses (like I2C/SPI) perform a non-DT match by comparing the device name and entries in the driver's id_table. Such a mechanism isn't used for the DSI bus. Reviewed-by: Andrzej Hajda <[email protected]> Signed-off-by: Archit Taneja <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2016-03-02drm/dsi: Use mipi_dsi_device_register_full() for DSI device creationArchit Taneja1-17/+47
Use mipi_dsi_device_register_full() for device creation. This takes in a struct mipi_dsi_device_info as a template to populate the DSI device information. The reason to introduce this is to have a way to create DSI devices not available via DT. Drivers that want to create a DSI device can populate a struct mipi_dsi_device_info and call this function. For DSI devices available via DT, of_mipi_dsi_device_add() is used as before, but this now calls mipi_dsi_device_register_full() internally. Signed-off-by: Archit Taneja <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2016-03-02drm/dsi: Check for CONFIG_OF when defining of_mipi_dsi_device_add()Archit Taneja1-0/+8
of_mipi_dsi_device_add() is used only when CONFIG_OF is enabled. It currently works if OF support is disabled, but this will change when we add more functionality to it. Define the original function if CONFIG_OF is enabled and a dummy function otherwise. Signed-off-by: Archit Taneja <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2016-03-02drm/i915: Balance assert_rpm_wakelock_held() for !IS_ENABLED(CONFIG_PM)Chris Wilson1-14/+12
commit 09731280028ce03e6a27e1998137f1775a2839f3 Author: Imre Deak <[email protected]> Date: Wed Feb 17 14:17:42 2016 +0200 drm/i915: Add helper to get a display power ref if it was already enabled left the rpm wakelock assertions unbalanced if CONFIG_PM was disabled as intel_runtime_pm_get_if_in_use() would return true without incrementing the local bookkeeping required for the assertions. Fixes: 09731280028c ("drm/i915: Add helper to get a display power ref if it was already enabled") Signed-off-by: Chris Wilson <[email protected]> CC: Mika Kuoppala <[email protected]> CC: Joonas Lahtinen <[email protected]> CC: Ville Syrjälä <[email protected]> Cc: Imre Deak <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected] Reviewed-by: Imre Deak <[email protected]> (cherry picked from commit 135dc79efbc119ea5fb34475996983159e6ca31c) Signed-off-by: Jani Nikula <[email protected]>
2016-03-02drm/i915/skl: Fix power domain suspend sequenceImre Deak1-3/+3
During system suspend we need to first disable power wells then unitialize the display core. In case power well support is disabled we did this in the wrong order, so fix this up. Fixes: d314cd43 ("drm/i915: fix handling of the disable_power_well module option") CC: [email protected] CC: Patrik Jakobsson <[email protected]> Signed-off-by: Imre Deak <[email protected]> Reviewed-by: Patrik Jakobsson <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected] (cherry picked from commit 2622d79bd9d18fd04b650234e6a218c5f95cf308) Signed-off-by: Jani Nikula <[email protected]>
2016-03-02Merge tag 'imx-drm-next-20160301' of git://git.pengutronix.de/git/pza/linux ↵Dave Airlie12-109/+189
into drm-next imx-drm vblank IRQ control, fence support, and of endpoint helpers - Add and make use of drm_of_active_endpoint helpers - Silence a noisy dev_info into a dev_dbg - Stop touching primary fb on pageflips - Track flip state explicitly - Keep GEM buffer objects referenced while scanout is active - Implement fence sync by deferring flips to a workqueue for dma-bufs with pending fences - Actually disable vblank IRQs while they are not needed * tag 'imx-drm-next-20160301' of git://git.pengutronix.de/git/pza/linux: drm/imx: only enable vblank IRQs when needed drm/imx: implement fence sync drm/imx: keep GEM object referenced as long as scanout is active drm/imx: track flip state explicitly drm/imx: don't touch primary fb on pageflip drm/imx: ipuv3 plane: Replace dev_info with dev_dbg if a plane's CRTC changes gpu: ipu-v3: ipu-dc: Simplify display controller microcode setup drm/rockchip: remove rockchip_drm_encoder_get_mux_id drm/imx: remove imx_drm_encoder_get_mux_id drm: add drm_of_encoder_active_endpoint helpers
2016-03-02drm/ast: Fix incorrect register check for DRAM widthTimothy Pearson1-1/+1
During DRAM initialization on certain ASpeed devices, an incorrect bit (bit 10) was checked in the "SDRAM Bus Width Status" register to determine DRAM width. Query bit 6 instead in accordance with the Aspeed AST2050 datasheet v1.05. Signed-off-by: Timothy Pearson <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2016-03-02drm/exynos/dsi: use core helper to create DSI packetAndrzej Hajda1-46/+23
Core provides generic helper to create DSI packet, use it instead of custom code. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: use real device for DMA-mapping operationsMarek Szyprowski7-46/+69
This patch changes device pointer provided to all calls to DMA-mapping subsystem from the virtual exynos-drm 'device' to the real device pointer of one of the CRTC devices (decon, fimd or mixer). This way no more hacks will be needed to configure proper DMA-mapping address space on the common virtual exynos-drm device. This change also removes the need for some hacks in IOMMU related code. It also finally solves the problem of Exynos DRM driver not working on ARM64 architecture, which provides noop-based DMA-mapping operations for virtual platform devices. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: refactor driver and device registration codeMarek Szyprowski2-127/+107
This patch refactors driver and device registration by moving all drivers to the common array. This way additional flags can be added later for new features. #ifdef-based code has been replaced by IS_ENABLED() macro usage. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos/fimc: remove unused camera interface polarization codeAndrzej Hajda1-28/+0
Polarization was never configured for DRM-FIMC device, so fimc_set_polarity function did nothing. In fact DRM does not use camera interface so there is no point in configuring it. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: remove struct exynos_drm_panel_infoAndrzej Hajda4-9/+4
struct exynos_drm_panel_info is not used anymore, except exynos_dp, which can integrate useful fields directly into its context. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: add exynos5420 support for fimdChanho Park1-1/+30
This patch adds a exynos5420 driver data to support mic_bypass option to bypass the mic from display out path. The mic(Mobile image compressor) compresses RGB data from fimd and send the compressed data to the mipi dsi. The bypass option can be founded from system register and the bit is 11. The option bit has been introduced since exynos5420. The only difference between exynos5250 and exynos5420/exynos5422 is existence of the bit. Until the MIC is defined and enabled from device tree, the bypass mic will be default option. Signed-off-by: Chanho Park <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: use DIV_ROUND_CLOSEST to find the closest divChanho Park1-1/+1
This patch uses DIV_ROUND_CLOSEST instead of DIV_ROUND_UP The DIV_ROUND_CLOSEST can be used to find the closest integer value when we divide some integers. Signed-off-by: Chanho Park <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: remove incorrect ccflags from MakefileAndrzej Hajda3-3/+1
Include directories are provided by core already, adding them in driver is redundand and causes warnings in case of out-of-tree build. v2: - fixed include in exynos_drm_iommu.c - typo in commit message Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos/decon: make irq handler staticAndrzej Hajda1-1/+1
The function is used only locally. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos/hdmi: remove unused variableAndrzej Hajda1-2/+0
The variable is unused for long time. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos/dsi: constify read only structuresAndrzej Hajda1-15/+15
All global variables are read only. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos/dsi: replace registry access macros with functionsAndrzej Hajda1-51/+57
Functions are preferred over macros as more type-safe. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: support exynos5422 mipi-dsiChanho Park1-0/+31
This patch supports mipi dsi for exynos5422. The dsi register offsets of the exynos5422 are similar with exynos5433. However, the values of the registers are quite different from the exynos5433. For example, the exynos5422 uses sw reset like previous chips. Signed-off-by: Chanho Park <[email protected]> Reviewed-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos/decon: fix disable clocks orderAndrzej Hajda1-2/+2
Decon requires that clocks should be disabled in reverse order. Otherwise system hangs. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: fix incorrect cpu address for dma_mmap_attrs()Marek Szyprowski2-2/+2
dma_mmap_attrs() should be called with cpu address returned by dma_alloc_attrs(). Existing code however passed pages array base as cpu address. This worked only by a pure luck on ARM architecture. This patch fixes this issue. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: exynos5433_decon: fix wrong state in decon_vblank_enableMarek Szyprowski1-1/+1
BIT_IRQS_ENABLED was never set because of incorrect test in decon_vlank_enable() function, what resulted in lack of enabling vblank support. This patch fixes this issue. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: exynos5433_decon: fix wrong state assignment in decon_enableMarek Szyprowski1-2/+0
Patch ebf3fd403b79ba6561bd1a4bb5a7cacc99da08e5 ("drm/exynos: add pm_runtime to DECON 5433") removed some code from decon_enable() function, but it left set_bit(BIT_SUSPENDED, &ctx->flags) call, which was earlier called only in error path. This patch removes it, what finally lets driver to go out of suspended state. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: dsi: restore support for drm bridgeMarek Szyprowski1-0/+1
This patch fixes issue introduced by commit cf67cc9a29ac19c98bc4fa0e6d14b0c1f592d322 ("drm/exynos: remove struct exynos_drm_display"), which removed assigning of drm bridge to drm encoder. Lack of it caused that no bridge callbacks were called on encoder enable/disable actions. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: mic: make all functions staticMarek Szyprowski1-5/+5
There is no point exposing all internal functions to global kernel name space, so make all internals functions static. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: mic: convert to component frameworkMarek Szyprowski1-20/+36
MIC is SoC component and important part of kms pipeline on Exynos5433, so convert it to use component framework like other KMS/CRTC drivers. MIC driver is already listed on KMS component driver list in Exynos DRM core, so without this conversion, initialization of Exynos DRM core fails on Exynos 5433 SoC. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: mic: use devm_clk interfaceMarek Szyprowski1-5/+1
Drivers should use devm_clk* interface instead of of_clk* functions. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: fix types for compilation on 64bit architecturesMarek Szyprowski3-6/+9
This patch fixes compilation warnings (on 64bit architectures) and bugs related to casting pointers through 32bit integers. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-03-01drm/exynos: ipp: fix incorrect format specifiers in debug messagesMarek Szyprowski4-19/+19
Drivers should use %p for printing pointers instead of hardcoding them as hexadecimal integers. This patch fixes compilation warnings on 64bit architectures. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>