drm: msm: sde: Attempt DB DMA fallback if SB DMA not supported

The current implementation of DSPP GAMUT + IGC programming rely on
SBDMA for programming. This will cause GAMUT + IGC to be
unprogrammable on derivative Lahaina chipsets that do not have SBDMA
support.

Update the SBDMA handling to more intelligently check if SBDMA is
present, and fallback to DBDMA module where possible.

Change-Id: I89d07e38459ab59b96c69558178b8e97062ed93d
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
This commit is contained in:
Christopher Braga
2020-01-24 14:09:17 -05:00
parent c5378278f3
commit fe087fde3c
4 changed files with 82 additions and 74 deletions

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
*/
#ifndef _SDE_HW_DSPP_H
@@ -218,6 +218,7 @@ struct sde_hw_dspp_ops {
* @hw_top: Block hardware top details
* @idx: DSPP index
* @cap: Pointer to layer_cfg
* @sb_dma_in_use: hint indicating if sb dma is being used for this dspp
* @ops: Pointer to operations possible for this DSPP
*/
struct sde_hw_dspp {
@@ -230,6 +231,7 @@ struct sde_hw_dspp {
/* dspp */
enum sde_dspp idx;
const struct sde_dspp_cfg *cap;
bool sb_dma_in_use;
/* Ops */
struct sde_hw_dspp_ops ops;