drm/msm/mdp5: Add global state as a private atomic object
authorArchit Taneja <architt@codeaurora.org>
Wed, 21 Feb 2018 14:37:22 +0000 (09:37 -0500)
committerRob Clark <robdclark@gmail.com>
Sun, 3 Jun 2018 20:49:00 +0000 (16:49 -0400)
commit8d58ef346f30cbbeb9213a7eb90c832abf903fa0
tree0dbc64fbd8e99b8c2e7554b19f35536bc7008fcc
parentacb1acdb69c85375ee80777336dff4df2682da11
drm/msm/mdp5: Add global state as a private atomic object

Global shared resources (hwpipes, hwmixers and SMP) for MDP5 are
implemented as a part of atomic state by subclassing drm_atomic_state.

The preferred approach is to use the drm_private_obj infrastructure
available in the atomic core.

mdp5_global_state is introduced as a drm atomic private object. The two
funcs mdp5_get_global_state() and mdp5_get_existing_global_state() are
the two variants that will be used to access mdp5_global_state.

This will replace the existing mdp5_state struct (which subclasses
drm_atomic_state) and the funcs around it. These will be removed later
once we mdp5_global_state is put to use everywhere.

Changes in v3:
- Added glob_state_lock instead of pushing it into the core
- Added to the msm atomic helper patch set
Changes in v4:
- None

Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h