aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
AgeCommit message (Collapse)AuthorFilesLines
2015-08-17drm/amdgpu: no updates shouldn't cause vm flush v2Christian König1-4/+6
v2 (chk): split fix from original patch Signed-off-by: monk.liu <monk.liu@amd.com> Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
2015-08-17drm/amdgpu: fix signed overrun in amdgpu_ctx_get_fenceChristian König1-1/+1
Otherwise the first 16 fences of a context will always signal immediately. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
2015-08-17drm/amdgpu: fix context memory leakChristian König1-0/+1
Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
2015-08-17drm/amdgpu: remove amdgpu_fence_recreateChristian König2-34/+0
It's not used any more. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
2015-08-17drm/amdgpu: add user fence context map v2Christian König4-30/+110
This is a prerequisite for the GPU scheduler to make the order of submission independent from the order of execution. v2: properly implement the locking Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
2015-08-17drm/amdgpu: deal with foreign fences in amdgpu_syncChristian König5-29/+45
This also requires some error handling from the callers of that function. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
2015-08-17drm/amdgpu: cleanup context structure v2Alex Deucher2-49/+29
The comment is misleading and incorrect, remove it. Printing the id is completely meaningless and this practice can cause a race conditions on command submission. The flags and hangs fields are completely unused. Give all fields a common indentation. v2: remove fpriv reference and unused flags as well, fix debug message. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
2015-08-17drm/amdgpu: add cgs_interface for pg and cgrezhu2-1/+61
v3: check whether ip_blocks is enable v2: add break in the for loop. Signed-off-by: Rex zhu <rezhu@amd.com>
2015-08-17drm/amdgpu: fix some typo for cgs definitionsJammy Zhou1-2/+2
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-08-17drm/amdgpu: add cgs_get_firmware_info interface v2Jammy Zhou2-1/+167
This new interface can be used by IP components to retrieve the firmware information from the core driver. v2: fix one typo Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> Signed-off-by: Rex Zhu <Rex.Zhou@amd.com> Signed-off-by: Young Yang <Young.Yang@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-08-17drm/amdgpu: implement cgs gpu memory callbacksChunming Zhou1-12/+226
This implements the cgs interface for allocating GPU memory. Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Signed-off-by: Chunming Zhou <david1.zhou@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-08-17drm/amdgpu: add atom interfaces for CGSChunming Zhou1-6/+22
This implements the interface for atombios command and data table access. Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Signed-off-by: Chunming Zhou <David1.Zhou@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-08-17drm/amdgpu: Implement irq interfaces for CGSAlex Deucher5-6/+84
This implements the irq src registrar. Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Signed-off-by: Chunming Zhou <David1.Zhou@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-08-17drm/amdgpu: Implement the pciconfig callbacks for CGSChunming Zhou1-12/+28
This implements the pciconfig register accessors. Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Signed-off-by: Chunming Zhou <David1.Zhou@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-08-17drm/amdgpu: Implement mmio callbacks for CGSChunming Zhou1-7/+38
This implements the MMIO register accessors. Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Signed-off-by: Chunming Zhou <David1.Zhou@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-08-17drm/amd: Add CGS interfacesChunming Zhou5-0/+1036
CGS (Common Graphics Services) is an AMD cross component abstraction layer to designed to better encapsulate specific IP block drivers so different teams can effectively work on differnet IP block drivers independently. It provides a common interface for things like accessing registers, allocating GPU memory, and registering interrupt sources. The plan is to eventually move more and more IP drivers to this interface. The first user is the ACP IP driver. Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Signed-off-by: Chunming Zhou <David1.Zhou@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-08-17drm/amdgpu: fix one warning messageJammy Zhou1-1/+2
In function 'amdgpu_uvd_cs_pass2': warning: 'min_ctx_size' may be used uninitialized in this function buf_sizes[0x4] = min_ctx_size; ^ note: 'min_ctx_size' was declared here unsigned image_size, tmp, min_dpb_size, num_dpb_buffer, min_ctx_size; ^ Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Cc: stable@vger.kernel.org
2015-08-17drm/radeon/dce6: assign different audio pins to each encoderAlex Deucher1-5/+24
This allows you to send different audio to each audio capable display. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-08-17drm/i915: Flag the execlists context object as dirty after every useChris Wilson1-0/+2
Everytime we use the logical context with execlists it becomes dirty (as the hardware will write the new register values afterwards, as well as the GPU state that will be used). We need to then flag the context as dirty everytime since after a swap-out/swap-in cycle the dirty flag will be cleared, and a further swap-out cycle will then loose the most recent GPU state. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@vger.kernel.org Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2015-08-17Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-nextDave Airlie54-6160/+19132
A couple of fixes from the previous pull request as well as gl3 support. There is one drm core change, an export of a previously private function. Take 2 implementing screen targets, this time with the fbdev code adjusted accordingly. Also there is an implementation of register-driven command buffers, that overrides the FIFO ring for command processing. It's needed for our upcoming hardware revision. * 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux: (35 commits) drm/vmwgfx: Fix copyright headers drm/vmwgfx: Add DX query support. Various fixes. drm/vmwgfx: Add command parser support for a couple of DX commands drm/vmwgfx: Command parser fixes for DX drm/vmwgfx: Initial DX support drm/vmwgfx: Update device includes for DX device functionality drm: export the DRM permission check code drm/vmwgfx: Fix crash when unloading vmwgfx v2 drm/vmwgfx: Fix framebuffer creation on older hardware drm/vmwgfx: Fixed topology boundary checking for Screen Targets drm/vmwgfx: Fix an uninitialized value drm/vmwgfx: Fix compiler warning with 32-bit dma_addr_t drm/vmwgfx: Kill a bunch of sparse warnings drm/vmwgfx: Fix kms preferred mode sorting drm/vmwgfx: Reinstate the legacy display system dirty callback drm/vmwgfx: Implement fbdev on kms v2 drm/vmwgfx: Add a kernel interface to create a framebuffer v2 drm/vmwgfx: Avoid cmdbuf alloc sleeping if !TASK_RUNNING drm/vmwgfx: Convert screen targets to new helpers v3 drm/vmwgfx: Convert screen objects to the new helpers ...
2015-08-17Merge tag 'drm/panel/for-4.3-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-nextDave Airlie12-22/+434
drm/panel: Changes for v4.3-rc1 This introduces support for a couple of new panels and also contains some work to restructure the directories to get more consistency, to deal better with more panel and bridge drivers getting added. * tag 'drm/panel/for-4.3-rc1' of git://anongit.freedesktop.org/tegra/linux: drm/bridge: Put Kconfig entries in a separate menu drm/panel: Add support for LG LG4573 480x800 4.3" panel drm/panel: Add display timing for Okaya RS800480T-7X0GP of: Add Okaya Electric America vendor prefix drm/panel: simple: Add support for NEC NL4827HC19-05B 480x272 panel drm/panel: simple: Add support for AUO B080UAN01 drm/panel: simple: Correct minimum hsync length of the HannStar HSD070PWW1 panel drm/panel: simple: Add bus format for HannStar HSD070PWW1 LVDS panel drm/bridge: Add vendor prefixes drm/panel: Add Samsung prefix to panel drivers drm/exynos: Remove PTN3460 dependency
2015-08-17Merge tag 'drm/tegra/for-4.3-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-nextDave Airlie14-774/+2067
drm/tegra: Changes for v4.3-rc1 There are a bunch of non-critical fixes here that I've collected over the past few months, but the biggest part is Tegra210 support, in the DC, DSI and SOR/HDMI drivers. Also this finally restores DPMS with atomic mode-setting, something that has been broken since the conversion and which I had originally expected to take far less longer to fix. * tag 'drm/tegra/for-4.3-rc1' of git://anongit.freedesktop.org/tegra/linux: (41 commits) drm/tegra: sor: Add HDMI support drm/tegra: sor: Add Tegra210 eDP support drm/tegra: dc: Implement atomic DPMS drm/tegra: sor: Restore DPMS drm/tegra: dsi: Restore DPMS drm/tegra: hdmi: Restore DPMS drm/tegra: rgb: Restore DPMS drm/tegra: sor: Use DRM debugfs infrastructure for CRC drm/tegra: sor: Write correct head state registers drm/tegra: sor: Constify display mode drm/tegra: sor: Reset the correct debugfs fields drm/tegra: sor: Set minor after debugfs initialization drm/tegra: sor: Provide error messages in probe drm/tegra: sor: Rename registers for consistency drm/tegra: dpaux: Disable interrupt when detached drm/tegra: dpaux: Configure pads as I2C by default drm/tegra: dpaux: Provide error message in probe drm/tegra: dsi: Add Tegra210 support drm/tegra: dsi: Add Tegra132 support drm/tegra: dsi: Add Tegra124 support ...
2015-08-17Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-nextDave Airlie33-2300/+1138
Summary: - Clean up HDMI and MIXER parts - Clean up legacy structures specific to Exynos DRM . This patch series removes existing exyons_drm_display and exynos_drm_encoder structures specific to Exynos DRM, and makes them to replace with common drm_encoder structure. With cleanup patch, we removes exynos_drm_encoder module. - Clean up gem, dmabuf and buffer modules . This patch series replaces existing Exynos DRM dmabuf codes with common drm prime ones, and embeds all codes of exynos_drm_buf into exynos_drm_gem module. With cleanup patch, we removes exynos_drm_buf and exynos_drm_dmabuf modules. - And some fixups. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (53 commits) drm/exynos: merge exynos_drm_buf.c to exynos_drm_gem.c drm/exynos: use prime helpers drm/exynos: remove function roundup_gem_size drm/exynos: remove function update_vm_cache_attr drm/exynos: remove function check_gem_flags drm/exynos: use ERR_PTR instead of NULL in exynos_drm_gem_init drm/exynos: remove unused fields of struct exynos_drm_gem_buf drm/exynos: stop copying sg table drm/exynos: remove function exynos_drm_gem_map_buf drm/exynos: remove mutex locking in pagefault handler drm/exynos: remove function convert_to_vm_err_msg drm/exynos: stop using sgtable in page fault handler drm/exynos: remove struct exynos_drm_encoder layer drm/exynos: fold encoder setup into exynos_drm_load() drm/exynos: remove exynos_drm_create_enc_conn() drm/exynos: remove exynos_encoder's .commit() op drm/exynos: remove extra call to exynos_dp_commit() drm/exynos: remove extra call to hdmi_commit() drm/exynos: remove struct exynos_drm_display drm/exynos: simplify calculation of possible CRTCs ...
2015-08-17Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-nextDave Airlie63-1317/+4439
1) includes all the drm/msm side of things for upstream kernel working on dragonboard 410c (still some pending work on adv7533 bridge chip) 2) initial support for msm8x94 (snapdragon 810) 3) support for msm8x74v1 (in addition to existing v2 support) 4) support for dma planes on mdp5 (additional planes that cannot scale/csc) 5) more yuv format support for mdp5 (single plane vyuy/uyvy/yuyv/yvyu, two plane nv16/nv61, and three plane yuv420/yvu420) 6) rotation support for mdp5 7) initial hdcp support 8) fixes, etc * 'msm-next' of git://people.freedesktop.org/~robclark/linux: (46 commits) drm/msm/dsi: Introduce DSI configuration module drm/msm/dsi: Make each PHY type compilation independent drm/msm/dsi: Split PHY drivers to separate files drm/msm/dsi: Return void from msm_dsi_phy_disable() drm/msm/dsi: Specify bitmask to set source PLL drm/msm/mdp: Clear pending interrupt status before enable interrupt drm/msm/mdp5: Add rotation (hflip/vflip) support to MDP5 planes (v2) drm/msm: add calls to prepare and unprepare panel drm/msm/dsi: Modify dsi manager bridge ops to work with external bridges drm/msm/dsi: Allow dsi to connect to an external bridge drm/msm/dsi: Create a helper to check if there is a connected device drm/msm/dsi: Refer to connected device as 'device' instead of 'panel' drm/msm/dsi: Make TE gpio optional drm/msm: mdp4 lvds: get panel node via of graph parsing drm/msm: dsi host: Use device graph parsing to parse connected panel drm/msm: dsi host: add missing of_node_put() drm/msm: Enable clocks during enable/disable_vblank() callbacks drm/msm/mdp5: Add support for msm8x74v1 drm/msm/mdp5: Add DMA pipe planes for MDP5 drm/msm/mdp: Add capabilities to MDP planes (v2) ...
2015-08-17Merge tag 'drm-intel-next-fixes-2015-08-16' of git://anongit.freedesktop.org/drm-intel into drm-nextDave Airlie42-1434/+2005
Bunch more fixes for 4.3, most of it skl fallout. It's not quite all yet, there's still a few more patches pending to enable DDI-E correctly on skl. Also included the dpms atomic work from Maarten since atomic is just a pain and not including would cause piles of conflicts right from the start. * tag 'drm-intel-next-fixes-2015-08-16' of git://anongit.freedesktop.org/drm-intel: (67 commits) drm/i915: Per-DDI I_boost override drm/i915/skl: WaIgnoreDDIAStrap is forever, always init DDI A drm/i915: fix checksum write for automated test reply drm/i915: Contain the WA_REG macro drm/i915: Remove the failed context from the fpriv->context_idr drm/i915: Report IOMMU enabled status for GPU hangs drm/i915: Check idle to active before processing CSQ drm/i915: Set alternate aux for DDI-E drm/i915: Set power domain for DDI-E drm/i915: fix stolen bios_reserved checks drm/i915: Use masked write for Context Status Buffer Pointer drm/i915/skl WaDisableSbeCacheDispatchPortSharing drm/i915: Spam less on dp aux send/receive problems drm/i915: Handle return value in intel_pin_and_fence_fb_obj, v2. drm/i915: Only update mode related state if a modeset happened. drm/i915: Remove connectors_active. drm/i915: Remove connectors_active from intel_dp.c, v2. drm/i915: Remove connectors_active from sanitization, v2. drm/i915: Get rid of dpms handling. drm/i915: Make crtc checking use the atomic state, v2. ...
2015-08-17Merge tag 'v4.2-rc7' into drm-nextDave Airlie67-359/+832
Linux 4.2-rc7 Backmerge master for i915 fixes
2015-08-16[media] drm/exynos: Convert g2d_userptr_get_dma_addr() to use get_vaddr_frames()Jan Kara3-157/+30
Convert g2d_userptr_get_dma_addr() to pin pages using get_vaddr_frames(). This removes the knowledge about vmas and mmap_sem locking from exynos driver. Also it fixes a problem that the function has been mapping user provided address without holding mmap_sem. Acked-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-08-16drm/exynos: merge exynos_drm_buf.c to exynos_drm_gem.cJoonyoung Shim9-334/+180
The struct exynos_drm_gem_obj can have fields of the struct exynos_drm_gem_buf then don't need to use exynos_drm_buf.c file. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: use prime helpersJoonyoung Shim6-313/+95
The dma-buf codes of exynos drm is almost same with prime helpers. A difference is that consider DMA_NONE when import dma-buf, but it's wrong and we don't consider it any more, so we can use prime interface. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove function roundup_gem_sizeJoonyoung Shim1-8/+1
The function roundup_gem_size can be merged in exynos_drm_gem_create. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove function update_vm_cache_attrJoonyoung Shim1-17/+11
The function update_vm_cache_attr can be merged in exynos_drm_gem_mmap. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove function check_gem_flagsJoonyoung Shim1-18/+5
The function check_gem_flags is too simple, so it's better to move codes in each consumer functions. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: use ERR_PTR instead of NULL in exynos_drm_gem_initJoonyoung Shim1-4/+4
For more correct error information. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove unused fields of struct exynos_drm_gem_bufJoonyoung Shim1-7/+0
The userptr, write and pfnmap of struct exynos_drm_gem_buf are not used anywhere. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: stop copying sg tableJoonyoung Shim3-40/+20
Already struct exynos_drm_gem_buf has pages of the buffer, so we don't need to copy from sg table of the buffer to sg table of dma-buf attachment, just can make sg table from pages of the buffer. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove function exynos_drm_gem_map_bufJoonyoung Shim1-24/+12
The exynos_drm_gem_map_buf can be merged in exynos_drm_gem_fault. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove mutex locking in pagefault handlerJoonyoung Shim1-5/+0
There is no reason to use mutex locking in pagefault handler. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove function convert_to_vm_err_msgJoonyoung Shim1-24/+10
The convert_to_vm_err_msg is called just once by exynos_drm_gem_fault, so it's simple not to use the function. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: stop using sgtable in page fault handlerJoonyoung Shim3-29/+19
Already struct exynos_drm_gem_buf has pages of the buffer when buffer is created, so just can use pages in page fault handler, we don't have to make sgtable of the buffer. But this needs to construct pages of the buffer that is imported from dma-buf prime. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove struct exynos_drm_encoder layerGustavo Padovan15-308/+258
struct exynos_drm_encoder was justing wrapping struct drm_encoder, it had only a drm_encoder member and the internal exynos_drm_encoders ops that was directly mapped to the drm_encoder helper funcs. So now exynos DRM uses struct drm_encoder directly, this removes completely the struct exynos_drm_encoder. v2: add empty .mode_fixup() and .mode_set() to DSI and DPI to avoid null pointer. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: fold encoder setup into exynos_drm_load()Gustavo Padovan3-16/+10
As we are removing the exynos encoder move the encoder setup operation directly inside the exynos_drm_load() Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove exynos_drm_create_enc_conn()Gustavo Padovan11-69/+101
This functions was just hiding the encoder and connector creation in a way that was less clean than if we get rid of it. For example, exynos_encoder ops had .create_connector() defined only because we were handing off the encoder and connector creation to exynos_drm_create_enc_conn(). Without this function we can directly call the create_connector function internally in the code, without the need of any vtable access. It also does some refactoring in the code like creating a bind function for dpi devices. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove exynos_encoder's .commit() opGustavo Padovan2-5/+0
.commit() is not used anymore, Exynos encoders now follow the .enable()/.disable() semantics from drm atomic core, so remove this callback. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove extra call to exynos_dp_commit()Gustavo Padovan1-4/+3
exynos_dp_commit() was getting called twice by exynos encoder core, once inside the .enable() call and another time by .commit() itself. The remove of the second call caused the wake of a bug, the operations orders inside exynos_dp_commit was wrong and we had to move exynos_dp_start_video() to be the last operation in there. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove extra call to hdmi_commit()Gustavo Padovan1-12/+1
hdmi_commit() was getting called twice by exynos encoder core, once inside the .enable() call and another time by .commit() itself. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove struct exynos_drm_displayGustavo Padovan14-252/+177
This struct was just representing encoder information, it was a member of struct exynos_drm_encoder, so any code trying to access encoder data would have to go through the encoder struct, get the display struct and then get the data it want. During this patchset we also realized that the only data exynos_drm_encoder needs to store is the drm_encoder parent and the exynos_drm_encoder_ops. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: simplify calculation of possible CRTCsGustavo Padovan1-24/+5
All CRTCs can only be LCD, HDMI or VIDI, so basically all CRTCs will be a possible CRTCs. This patch removes an extra function with switch that was only checking if the CRTC type was one of those three above. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove unused .remove() and .check_mode() ops from displayGustavo Padovan1-5/+0
These two display_ops are not used anywhere, remove them. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: remove wrappers for phy_power_{on,off}Gustavo Padovan1-15/+3
phy_power_on() and phy_power_off() already checks for NULL pointer. This patch removes the wrappers exynos_dp_phy_init() and exynos_dp_phy_exit() since the only think they were doing was a check for NULL phy. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2015-08-16drm/exynos: split display's .dpms() into .enable() and .disable()Gustavo Padovan6-130/+65
The DRM Core doesn't have a dpms() operation anymore, everything now is enable() or disable(). Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>