linux/drivers/gpu/drm/msm
Stephane Viau bfcdfb0e62 drm/msm/mdp5: make SMP module dynamically configurable
The Shared Memory Pool (SMP) has its own limitation, features and
state. Some examples are:
 - the number of Memory Macro Block (MMB) and their size
 - the number of lines that can be fetched
 - the state of MMB currently allocated
 - the computation of number of blocks required per plane
 - client IDs ...

In order to avoid private data to be overwritten by other modules,
let's make these private to the SMP module.

Some of these depend on the hardware configuration, let's add them
to the mdp5_config struct.

In some hw configurations, some MMBs are statically tied to RGB
pipes and cannot be re-allocated dynamically. This change
introduces the concept of MMB static usage and makes sure that
dynamic MMB requests are dimensioned accordingly.

A note on passing a pipe pointer, instead of client IDs:
Client IDs are SMP-related information. Passing PIPE information
to SMP lets SMP module to find out which SMP client(s) are used.
This allows the SMP module to access the PIPE pointer, which can
be used for FIFO watermark configuration.
By the way, even though REG_MDP5_PIPE_REQPRIO_FIFO_WM_* registers
are part of the PIPE registers, their functionality is to reflect
the behavior of the SMP block. These registers access is now
restricted to the SMP module.

Signed-off-by: Stephane Viau <sviau@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2014-11-21 08:57:16 -05:00
..
adreno drm/msm: a4xx support for msm-drm 2014-11-16 14:27:40 -05:00
dsi drm/msm: update generated headers 2014-11-16 14:22:42 -05:00
hdmi drm/msm/hdmi: remove useless kref 2014-11-21 08:56:19 -05:00
mdp drm/msm/mdp5: make SMP module dynamically configurable 2014-11-21 08:57:16 -05:00
Kconfig drm/msm: select REGULATOR 2014-11-16 14:22:42 -05:00
Makefile drm/msm: a4xx support for msm-drm 2014-11-16 14:27:40 -05:00
msm_atomic.c drm/msm: atomic core bits 2014-11-16 14:27:37 -05:00
msm_drv.c drm/msm: atomic core bits 2014-11-16 14:27:37 -05:00
msm_drv.h drm/msm/mdp5: use irqdomains 2014-11-21 08:56:18 -05:00
msm_fb.c drm/msm: bit of fb error checking 2014-11-16 14:27:37 -05:00
msm_fbdev.c drm/msm: Fix fbdev for 16- and 24-bit modes. 2014-11-16 14:22:43 -05:00
msm_gem_prime.c drm/msm: Allow exported dma-bufs to be mapped 2014-11-16 14:22:43 -05:00
msm_gem_submit.c drm/msm: add rd logging debugfs 2014-06-02 07:36:11 -04:00
msm_gem.c drm/msm: small mmap offset cleanups 2014-11-16 14:27:39 -05:00
msm_gem.h drm/msm: small fence cleanup 2014-11-16 14:27:35 -05:00
msm_gpu.c drm/msm: fix potential deadlock in gpu init 2014-08-04 11:55:29 -04:00
msm_gpu.h drm/msm/adreno: move decision about what gpu to to load 2014-09-10 11:19:08 -04:00
msm_iommu.c drm/msm: avoid flood of kernel logs on faults 2014-08-26 10:43:31 -04:00
msm_kms.h drm/msm/mdp4: drop attached planes table 2014-11-16 14:22:44 -05: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: add a3xx gpu support 2013-08-24 14:57:18 -04:00
msm_ringbuffer.h drm/msm: add a3xx gpu support 2013-08-24 14:57:18 -04:00
NOTES drm/msm: add mdp5/apq8x74 2014-01-09 14:44:06 -05:00