linux/drivers/gpu/drm/msm
Archit Taneja 4bfa97489a drm/msm/dsi: Set up link clocks for DSIv2
DSIv2 (DSI on older A family chips) has slightly different link clock
requirements.

First, we have an extra clock called src_clk (with a dedicated RCG).
This is required by the DSI controller to process the pixel data
coming from MDP. It needs to be set at the rate "pclk * bytes_per_pixel".

We also need to explicitly configure esc_clk. On DSI6G chips, we don't
need to set a rate to esc_clk because its RCG is always sourced from
crystal clock (19.2 Mhz in all cases), which is within the escape clock
frequency range in the mipi DSI spec. For chips with DSIv2, the crystal
clock rate may not be within the required range (27Mhz on APQ8064).
Therefore, we derive it from the DSI byte clock. We calculate an esc_clck
rate that is within the mipi spec and also divisible by the byte clock
rate.

When setting rate and enabling the link clocks, we make sure that byte_clk
is configured before esc_clk, and src_clk before pixel_clk. We create two
different link_enable funcs for DSI6G and DSIv2 since the sequences are
different.

We also obtain two extra source clocks (dsi_src_clk and esc_src_clk) and
set their parent to the clocks provided by DSI PLL.

Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2015-12-14 10:40:35 -05:00
..
adreno drm/msm/adreno: Remove CONFIG_OF checks 2015-12-14 10:39:21 -05:00
dsi drm/msm/dsi: Set up link clocks for DSIv2 2015-12-14 10:40:35 -05:00
edp drm/msm: update generated headers 2015-10-22 15:39:44 -04:00
hdmi drm/msm/hdmi: remove CONFIG_OF checks 2015-12-14 10:39:14 -05:00
mdp drm/msm/mdp4: Initialize DSI encoders 2015-12-14 10:39:53 -05:00
Kconfig drm/msm/dsi: Add support for 28nm PHY on 8960 2015-12-14 10:40:06 -05:00
Makefile drm/msm/dsi: Add DSI PLL for 28nm 8960 PHY 2015-12-14 10:40:12 -05:00
msm_atomic.c drm/atomic-helper: Add option to update planes only on active crtc 2015-09-08 13:49:08 +02:00
msm_drv.c drm/msm: Update compatible strings for mdp 2015-12-14 10:38:38 -05:00
msm_drv.h drm/msm: Remove non-DT code in msm_drv 2015-12-14 10:38:29 -05:00
msm_fb.c drm: Pass the user drm_mode_fb_cmd2 as const to .fb_create() 2015-11-24 11:47:38 +01:00
msm_fbdev.c drm/gem: Drop struct_mutex requirement from drm_gem_mmap_obj 2015-10-16 15:51:00 +02:00
msm_gem.c drm/msm: change to uninterruptible wait in atomic commit 2015-08-14 17:10:14 -04:00
msm_gem.h drm/msm: restart queued submits after hang 2015-06-11 13:11:06 -04:00
msm_gem_prime.c drm/gem: Drop struct_mutex requirement from drm_gem_mmap_obj 2015-10-16 15:51:00 +02:00
msm_gem_submit.c drm/msm: restart queued submits after hang 2015-06-11 13:11:06 -04:00
msm_gpu.c drm/msm: Fix IOMMU clean up path in case msm_iommu_new() fails 2015-10-22 15:39:54 -04:00
msm_gpu.h drm/msm: restart queued submits after hang 2015-06-11 13:11:06 -04:00
msm_iommu.c drm/msm: Fix a couple of 64-bit build warnings 2015-05-14 11:19:25 -04:00
msm_kms.h drm/msm: Use customized function to wait for atomic commit done 2015-06-11 13:11:04 -04:00
msm_mmu.h drm/msm: use upstream iommu 2014-08-04 11:55:29 -04:00
msm_perf.c drm/msm: add perf logging debugfs 2014-06-02 07:36:21 -04:00
msm_rd.c drm/msm: add rd logging debugfs 2014-06-02 07:36:11 -04:00
msm_ringbuffer.c drm/msm: fix locking inconsistencies in gpu->destroy() 2015-05-15 09:28:27 -04:00
msm_ringbuffer.h
NOTES drm/msm: add mdp5/apq8x74 2014-01-09 14:44:06 -05:00