mirror of
https://github.com/torvalds/linux.git
synced 2026-08-01 03:59:40 +02:00
drm/msm/dpu: Add RM support for allocating CWB
Add support for allocating the concurrent writeback mux as part of the WB allocation Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Patchwork: https://patchwork.freedesktop.org/patch/629238/ Link: https://lore.kernel.org/r/20241216-concurrent-wb-v4-14-fe220297a7f0@quicinc.com
This commit is contained in:
parent
a31a610fd4
commit
a546362929
|
|
@ -1,7 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#define pr_fmt(fmt) "[drm:%s] " fmt, __func__
|
||||
|
|
@ -9,6 +9,7 @@
|
|||
#include "dpu_hw_lm.h"
|
||||
#include "dpu_hw_ctl.h"
|
||||
#include "dpu_hw_cdm.h"
|
||||
#include "dpu_hw_cwb.h"
|
||||
#include "dpu_hw_pingpong.h"
|
||||
#include "dpu_hw_sspp.h"
|
||||
#include "dpu_hw_intf.h"
|
||||
|
|
@ -122,6 +123,19 @@ int dpu_rm_init(struct drm_device *dev,
|
|||
rm->hw_wb[wb->id - WB_0] = hw;
|
||||
}
|
||||
|
||||
for (i = 0; i < cat->cwb_count; i++) {
|
||||
struct dpu_hw_cwb *hw;
|
||||
const struct dpu_cwb_cfg *cwb = &cat->cwb[i];
|
||||
|
||||
hw = dpu_hw_cwb_init(dev, cwb, mmio);
|
||||
if (IS_ERR(hw)) {
|
||||
rc = PTR_ERR(hw);
|
||||
DPU_ERROR("failed cwb object creation: err %d\n", rc);
|
||||
goto fail;
|
||||
}
|
||||
rm->cwb_blks[cwb->id - CWB_0] = &hw->base;
|
||||
}
|
||||
|
||||
for (i = 0; i < cat->ctl_count; i++) {
|
||||
struct dpu_hw_ctl *hw;
|
||||
const struct dpu_ctl_cfg *ctl = &cat->ctl[i];
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ struct dpu_global_state;
|
|||
* @ctl_blks: array of ctl hardware resources
|
||||
* @hw_intf: array of intf hardware resources
|
||||
* @hw_wb: array of wb hardware resources
|
||||
* @hw_cwb: array of cwb hardware resources
|
||||
* @dspp_blks: array of dspp hardware resources
|
||||
* @hw_sspp: array of sspp hardware resources
|
||||
* @cdm_blk: cdm hardware resource
|
||||
|
|
@ -30,6 +31,7 @@ struct dpu_rm {
|
|||
struct dpu_hw_blk *ctl_blks[CTL_MAX - CTL_0];
|
||||
struct dpu_hw_intf *hw_intf[INTF_MAX - INTF_0];
|
||||
struct dpu_hw_wb *hw_wb[WB_MAX - WB_0];
|
||||
struct dpu_hw_blk *cwb_blks[CWB_MAX - CWB_0];
|
||||
struct dpu_hw_blk *dspp_blks[DSPP_MAX - DSPP_0];
|
||||
struct dpu_hw_blk *merge_3d_blks[MERGE_3D_MAX - MERGE_3D_0];
|
||||
struct dpu_hw_blk *dsc_blks[DSC_MAX - DSC_0];
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user