disp: msm: fix compilation errors for dlkm compilation
Fix dlkm compilation errors that are due to the use of -Werror flags used by the build system. Change-Id: I5e1e9bc63c1361d73e4930aab123212717872ecb Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
此提交包含在:
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
@@ -212,7 +212,7 @@ static void dp_altmode_register(void *priv)
|
|||||||
|
|
||||||
altmode->amclient = altmode_register_client(altmode->dev, &cd);
|
altmode->amclient = altmode_register_client(altmode->dev, &cd);
|
||||||
if (IS_ERR_OR_NULL(altmode->amclient))
|
if (IS_ERR_OR_NULL(altmode->amclient))
|
||||||
DP_ERR("failed to register as client: %d\n",
|
DP_ERR("failed to register as client: %ld\n",
|
||||||
PTR_ERR(altmode->amclient));
|
PTR_ERR(altmode->amclient));
|
||||||
else
|
else
|
||||||
DP_DEBUG("success\n");
|
DP_DEBUG("success\n");
|
||||||
|
@@ -973,7 +973,7 @@ static void dp_display_mst_init(struct dp_display_private *dp)
|
|||||||
|
|
||||||
/* add extra delay if MST state is not cleared */
|
/* add extra delay if MST state is not cleared */
|
||||||
if (old_mstm_ctrl) {
|
if (old_mstm_ctrl) {
|
||||||
DP_MST_DEBUG("MSTM_CTRL is not cleared, wait %dus\n",
|
DP_MST_DEBUG("MSTM_CTRL is not cleared, wait %luus\n",
|
||||||
clear_mstm_ctrl_timeout_us);
|
clear_mstm_ctrl_timeout_us);
|
||||||
usleep_range(clear_mstm_ctrl_timeout_us,
|
usleep_range(clear_mstm_ctrl_timeout_us,
|
||||||
clear_mstm_ctrl_timeout_us + 1000);
|
clear_mstm_ctrl_timeout_us + 1000);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
@@ -405,7 +405,7 @@ static int dp_hdcp2p2_aux_read_message(struct dp_hdcp2p2_ctrl *ctrl)
|
|||||||
diff_ms = ktime_ms_delta(finish_read, start_read);
|
diff_ms = ktime_ms_delta(finish_read, start_read);
|
||||||
|
|
||||||
if (ctrl->transaction_timeout && diff_ms > ctrl->transaction_timeout) {
|
if (ctrl->transaction_timeout && diff_ms > ctrl->transaction_timeout) {
|
||||||
DP_ERR("HDCP read timeout exceeded (%dms > %dms)\n", diff_ms,
|
DP_ERR("HDCP read timeout exceeded (%lldms > %ums)\n", diff_ms,
|
||||||
ctrl->transaction_timeout);
|
ctrl->transaction_timeout);
|
||||||
rc = -ETIMEDOUT;
|
rc = -ETIMEDOUT;
|
||||||
}
|
}
|
||||||
|
@@ -24,8 +24,8 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
#define dp_pll_write(x, offset, data) ({ \
|
#define dp_pll_write(x, offset, data) ({ \
|
||||||
DP_DEBUG(#offset", addr=0x%x, val=0x%x\n", \
|
DP_DEBUG(#offset", addr=0x%llx, val=0x%x\n", \
|
||||||
(dp_pll_get_base(x)) + (offset), (data)); \
|
((u64)(dp_pll_get_base(x)) + (offset)), (data)); \
|
||||||
SDE_EVT32_VERBOSE((dp_pll_get_base(x)) + (offset), (data)); \
|
SDE_EVT32_VERBOSE((dp_pll_get_base(x)) + (offset), (data)); \
|
||||||
writel_relaxed((data), (dp_pll_get_base(x)) + (offset)); \
|
writel_relaxed((data), (dp_pll_get_base(x)) + (offset)); \
|
||||||
})
|
})
|
||||||
|
@@ -204,7 +204,7 @@ static int dp_power_clk_init(struct dp_power_private *power, bool enable)
|
|||||||
|
|
||||||
power->pixel_clk_rcg = clk_get(dev, "pixel_clk_rcg");
|
power->pixel_clk_rcg = clk_get(dev, "pixel_clk_rcg");
|
||||||
if (IS_ERR(power->pixel_clk_rcg)) {
|
if (IS_ERR(power->pixel_clk_rcg)) {
|
||||||
DP_ERR("Unable to get DP pixel clk RCG: %d\n",
|
DP_ERR("Unable to get DP pixel clk RCG: %ld\n",
|
||||||
PTR_ERR(power->pixel_clk_rcg));
|
PTR_ERR(power->pixel_clk_rcg));
|
||||||
rc = PTR_ERR(power->pixel_clk_rcg);
|
rc = PTR_ERR(power->pixel_clk_rcg);
|
||||||
power->pixel_clk_rcg = NULL;
|
power->pixel_clk_rcg = NULL;
|
||||||
@@ -213,7 +213,7 @@ static int dp_power_clk_init(struct dp_power_private *power, bool enable)
|
|||||||
|
|
||||||
power->pixel_parent = clk_get(dev, "pixel_parent");
|
power->pixel_parent = clk_get(dev, "pixel_parent");
|
||||||
if (IS_ERR(power->pixel_parent)) {
|
if (IS_ERR(power->pixel_parent)) {
|
||||||
DP_DEBUG("Unable to get DP pixel RCG parent: %d\n",
|
DP_DEBUG("Unable to get DP pixel RCG parent: %ld\n",
|
||||||
PTR_ERR(power->pixel_parent));
|
PTR_ERR(power->pixel_parent));
|
||||||
rc = PTR_ERR(power->pixel_parent);
|
rc = PTR_ERR(power->pixel_parent);
|
||||||
power->pixel_parent = NULL;
|
power->pixel_parent = NULL;
|
||||||
@@ -222,7 +222,7 @@ static int dp_power_clk_init(struct dp_power_private *power, bool enable)
|
|||||||
|
|
||||||
power->pixel1_clk_rcg = clk_get(dev, "pixel1_clk_rcg");
|
power->pixel1_clk_rcg = clk_get(dev, "pixel1_clk_rcg");
|
||||||
if (IS_ERR(power->pixel1_clk_rcg)) {
|
if (IS_ERR(power->pixel1_clk_rcg)) {
|
||||||
DP_DEBUG("Unable to get DP pixel1 clk RCG: %d\n",
|
DP_DEBUG("Unable to get DP pixel1 clk RCG: %ld\n",
|
||||||
PTR_ERR(power->pixel1_clk_rcg));
|
PTR_ERR(power->pixel1_clk_rcg));
|
||||||
rc = PTR_ERR(power->pixel1_clk_rcg);
|
rc = PTR_ERR(power->pixel1_clk_rcg);
|
||||||
power->pixel1_clk_rcg = NULL;
|
power->pixel1_clk_rcg = NULL;
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
@@ -324,7 +324,7 @@ void dsi_ctrl_hw_cmn_set_video_timing(struct dsi_ctrl_hw *ctrl,
|
|||||||
u32 reg = 0;
|
u32 reg = 0;
|
||||||
u32 hs_start = 0;
|
u32 hs_start = 0;
|
||||||
u32 hs_end, active_h_start, active_h_end, h_total, width = 0;
|
u32 hs_end, active_h_start, active_h_end, h_total, width = 0;
|
||||||
u32 bytes_per_pkt, pkt_per_line, eol_byte_num;
|
u32 bytes_per_pkt = 0, pkt_per_line = 0, eol_byte_num = 0;
|
||||||
u32 vs_start = 0, vs_end = 0;
|
u32 vs_start = 0, vs_end = 0;
|
||||||
u32 vpos_start = 0, vpos_end, active_v_start, active_v_end, v_total;
|
u32 vpos_start = 0, vpos_end, active_v_start, active_v_end, v_total;
|
||||||
|
|
||||||
@@ -1325,7 +1325,7 @@ void dsi_ctrl_hw_cmn_enable_error_interrupts(struct dsi_ctrl_hw *ctrl,
|
|||||||
DSI_W32(ctrl, DSI_ERR_INT_MASK0, int_mask0);
|
DSI_W32(ctrl, DSI_ERR_INT_MASK0, int_mask0);
|
||||||
|
|
||||||
DSI_CTRL_HW_DBG(ctrl, "[DSI_%d] enable errors = 0x%llx, int_mask0=0x%x\n",
|
DSI_CTRL_HW_DBG(ctrl, "[DSI_%d] enable errors = 0x%llx, int_mask0=0x%x\n",
|
||||||
errors, int_mask0);
|
ctrl->index, errors, int_mask0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -584,7 +584,7 @@ static int dsi_panel_update_pwm_backlight(struct dsi_panel *panel,
|
|||||||
|
|
||||||
rc = pwm_config(bl->pwm_bl, duty, period_ns);
|
rc = pwm_config(bl->pwm_bl, duty, period_ns);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
DSI_ERR("[%s] failed to change pwm config, rc=\n", panel->name,
|
DSI_ERR("[%s] failed to change pwm config, rc=%d\n", panel->name,
|
||||||
rc);
|
rc);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@@ -598,7 +598,7 @@ static int dsi_panel_update_pwm_backlight(struct dsi_panel *panel,
|
|||||||
if (bl_lvl != 0 && !bl->pwm_enabled) {
|
if (bl_lvl != 0 && !bl->pwm_enabled) {
|
||||||
rc = pwm_enable(bl->pwm_bl);
|
rc = pwm_enable(bl->pwm_bl);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
DSI_ERR("[%s] failed to enable pwm, rc=\n", panel->name,
|
DSI_ERR("[%s] failed to enable pwm, rc=%d\n", panel->name,
|
||||||
rc);
|
rc);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
|
||||||
* Copyright (C) 2013 Red Hat
|
* Copyright (C) 2013 Red Hat
|
||||||
* Author: Rob Clark <robdclark@gmail.com>
|
* Author: Rob Clark <robdclark@gmail.com>
|
||||||
*
|
*
|
||||||
@@ -499,7 +499,7 @@ static int msm_init_vram(struct drm_device *dev)
|
|||||||
ret = of_property_read_u32(dev->dev->of_node,
|
ret = of_property_read_u32(dev->dev->of_node,
|
||||||
"qcom,vram-size", &vram_size);
|
"qcom,vram-size", &vram_size);
|
||||||
size = (ret < 0) ? memparse(vram, NULL) : vram_size;
|
size = (ret < 0) ? memparse(vram, NULL) : vram_size;
|
||||||
DRM_INFO("using 0x%x VRAM carveout\n", size);
|
DRM_INFO("using 0x%lx VRAM carveout\n", size);
|
||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -263,11 +263,11 @@ enum msm_display_spr_pack_type {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const char *msm_spr_pack_type_str[MSM_DISPLAY_SPR_TYPE_MAX] = {
|
static const char *msm_spr_pack_type_str[MSM_DISPLAY_SPR_TYPE_MAX] = {
|
||||||
[MSM_DISPLAY_SPR_TYPE_NONE] = "",
|
[MSM_DISPLAY_SPR_TYPE_NONE] = "",
|
||||||
[MSM_DISPLAY_SPR_TYPE_PENTILE] = "pentile",
|
[MSM_DISPLAY_SPR_TYPE_PENTILE] = "pentile",
|
||||||
[MSM_DISPLAY_SPR_TYPE_RGBW] = "rgbw",
|
[MSM_DISPLAY_SPR_TYPE_RGBW] = "rgbw",
|
||||||
[MSM_DISPLAY_SPR_TYPE_YYGM] = "yygm",
|
[MSM_DISPLAY_SPR_TYPE_YYGM] = "yygm",
|
||||||
[MSM_DISPLAY_SPR_TYPE_YYGW] = "yygw"
|
[MSM_DISPLAY_SPR_TYPE_YYGW] = "yygw",
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -849,16 +849,16 @@ int sde_connector_pre_kickoff(struct drm_connector *connector)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
display = (struct dsi_display *)c_conn->display;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* During pre kickoff DCS commands have to have an
|
* During pre kickoff DCS commands have to have an
|
||||||
* asynchronous wait to avoid an unnecessary stall
|
* asynchronous wait to avoid an unnecessary stall
|
||||||
* in pre-kickoff. This flag must be reset at the
|
* in pre-kickoff. This flag must be reset at the
|
||||||
* end of display pre-kickoff.
|
* end of display pre-kickoff.
|
||||||
*/
|
*/
|
||||||
if (c_conn->connector_type == DRM_MODE_CONNECTOR_DSI) {
|
if (c_conn->connector_type == DRM_MODE_CONNECTOR_DSI)
|
||||||
display = (struct dsi_display *)c_conn->display;
|
|
||||||
display->queue_cmd_waits = true;
|
display->queue_cmd_waits = true;
|
||||||
}
|
|
||||||
|
|
||||||
rc = _sde_connector_update_dirty_properties(connector);
|
rc = _sde_connector_update_dirty_properties(connector);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
|
@@ -378,7 +378,7 @@ static ssize_t measured_fps_show(struct device *device,
|
|||||||
fps_int = (uint64_t) sde_crtc->fps_info.measured_fps;
|
fps_int = (uint64_t) sde_crtc->fps_info.measured_fps;
|
||||||
fps_decimal = do_div(fps_int, 10);
|
fps_decimal = do_div(fps_int, 10);
|
||||||
return scnprintf(buf, PAGE_SIZE,
|
return scnprintf(buf, PAGE_SIZE,
|
||||||
"fps: %d.%d duration:%d frame_count:%lld\n", fps_int, fps_decimal,
|
"fps: %lld.%lld duration:%d frame_count:%lld\n", fps_int, fps_decimal,
|
||||||
sde_crtc->fps_info.fps_periodic_duration, frame_count);
|
sde_crtc->fps_info.fps_periodic_duration, frame_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7008,11 +7008,6 @@ struct drm_crtc *sde_crtc_init(struct drm_device *dev, struct drm_plane *plane)
|
|||||||
kthread_init_delayed_work(&sde_crtc->static_cache_read_work,
|
kthread_init_delayed_work(&sde_crtc->static_cache_read_work,
|
||||||
__sde_crtc_static_cache_read_work);
|
__sde_crtc_static_cache_read_work);
|
||||||
|
|
||||||
SDE_DEBUG("crtc=%d new_llcc=%d, old_llcc=%d\n",
|
|
||||||
crtc->base.id,
|
|
||||||
sde_crtc->new_perf.llcc_active,
|
|
||||||
sde_crtc->cur_perf.llcc_active);
|
|
||||||
|
|
||||||
SDE_DEBUG("%s: successfully initialized crtc\n", sde_crtc->name);
|
SDE_DEBUG("%s: successfully initialized crtc\n", sde_crtc->name);
|
||||||
return crtc;
|
return crtc;
|
||||||
}
|
}
|
||||||
|
@@ -3358,7 +3358,7 @@ static void sde_encoder_get_qsync_fps_callback(
|
|||||||
if (!sde_enc->cur_master ||
|
if (!sde_enc->cur_master ||
|
||||||
!(sde_enc->disp_info.capabilities &
|
!(sde_enc->disp_info.capabilities &
|
||||||
MSM_DISPLAY_CAP_VID_MODE)) {
|
MSM_DISPLAY_CAP_VID_MODE)) {
|
||||||
SDE_ERROR("invalid qsync settings %b\n",
|
SDE_ERROR("invalid qsync settings %d\n",
|
||||||
!sde_enc->cur_master);
|
!sde_enc->cur_master);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -67,7 +67,7 @@ signed long sde_sync_wait(void *fnc, long timeout_ms)
|
|||||||
timeline_str, TIMELINE_VAL_LENGTH);
|
timeline_str, TIMELINE_VAL_LENGTH);
|
||||||
|
|
||||||
SDE_ERROR(
|
SDE_ERROR(
|
||||||
"fence driver name:%s timeline name:%s seqno:0x%x timeline:%s signaled:0x%x\n",
|
"fence driver name:%s timeline name:%s seqno:0x%llx timeline:%s signaled:0x%x\n",
|
||||||
fence->ops->get_driver_name(fence),
|
fence->ops->get_driver_name(fence),
|
||||||
fence->ops->get_timeline_name(fence),
|
fence->ops->get_timeline_name(fence),
|
||||||
fence->seqno, timeline_str,
|
fence->seqno, timeline_str,
|
||||||
@@ -156,7 +156,7 @@ static bool sde_fence_signaled(struct dma_fence *fence)
|
|||||||
bool status;
|
bool status;
|
||||||
|
|
||||||
status = (int)((fence->seqno - f->ctx->done_count) <= 0);
|
status = (int)((fence->seqno - f->ctx->done_count) <= 0);
|
||||||
SDE_DEBUG("status:%d fence seq:%d and timeline:%d\n",
|
SDE_DEBUG("status:%d fence seq:%llu and timeline:%u\n",
|
||||||
status, fence->seqno, f->ctx->done_count);
|
status, fence->seqno, f->ctx->done_count);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@@ -177,7 +177,7 @@ static void sde_fence_value_str(struct dma_fence *fence, char *str, int size)
|
|||||||
if (!fence || !str)
|
if (!fence || !str)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
snprintf(str, size, "%d", fence->seqno);
|
snprintf(str, size, "%llu", fence->seqno);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sde_fence_timeline_value_str(struct dma_fence *fence, char *str,
|
static void sde_fence_timeline_value_str(struct dma_fence *fence, char *str,
|
||||||
@@ -461,7 +461,7 @@ void sde_fence_list_dump(struct dma_fence *fence, struct seq_file **s)
|
|||||||
fence->ops->timeline_value_str(fence,
|
fence->ops->timeline_value_str(fence,
|
||||||
timeline_str, TIMELINE_VAL_LENGTH);
|
timeline_str, TIMELINE_VAL_LENGTH);
|
||||||
|
|
||||||
seq_printf(*s, "fence name:%s timeline name:%s seqno:0x%x timeline:%s signaled:0x%x\n",
|
seq_printf(*s, "fence name:%s timeline name:%s seqno:0x%llx timeline:%s signaled:0x%x\n",
|
||||||
fence->ops->get_driver_name(fence),
|
fence->ops->get_driver_name(fence),
|
||||||
fence->ops->get_timeline_name(fence),
|
fence->ops->get_timeline_name(fence),
|
||||||
fence->seqno, timeline_str,
|
fence->seqno, timeline_str,
|
||||||
|
@@ -4258,7 +4258,7 @@ static int _sde_qos_parse_dt_cfg(struct sde_mdss_cfg *cfg, int *prop_count,
|
|||||||
cfg->perf.danger_lut[i] =
|
cfg->perf.danger_lut[i] =
|
||||||
PROP_VALUE_ACCESS(prop_value,
|
PROP_VALUE_ACCESS(prop_value,
|
||||||
QOS_DANGER_LUT, i);
|
QOS_DANGER_LUT, i);
|
||||||
SDE_DEBUG("danger usage:%i lut:0x%x\n",
|
SDE_DEBUG("danger usage:%i lut:0x%llx\n",
|
||||||
i, cfg->perf.danger_lut[i]);
|
i, cfg->perf.danger_lut[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4269,7 +4269,7 @@ static int _sde_qos_parse_dt_cfg(struct sde_mdss_cfg *cfg, int *prop_count,
|
|||||||
cfg->perf.safe_lut[i] =
|
cfg->perf.safe_lut[i] =
|
||||||
PROP_VALUE_ACCESS(prop_value,
|
PROP_VALUE_ACCESS(prop_value,
|
||||||
QOS_SAFE_LUT, i);
|
QOS_SAFE_LUT, i);
|
||||||
SDE_DEBUG("safe usage:%d lut:0x%x\n",
|
SDE_DEBUG("safe usage:%d lut:0x%llx\n",
|
||||||
i, cfg->perf.safe_lut[i]);
|
i, cfg->perf.safe_lut[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "sde_hw_mdss.h"
|
#include "sde_hw_mdss.h"
|
||||||
@@ -77,7 +77,7 @@ static int _dsc_calc_ob_max_addr(struct sde_hw_dsc *hw_dsc, int num_ss)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline _dsc_subblk_offset(struct sde_hw_dsc *hw_dsc, int s_id,
|
static inline int _dsc_subblk_offset(struct sde_hw_dsc *hw_dsc, int s_id,
|
||||||
u32 *idx)
|
u32 *idx)
|
||||||
{
|
{
|
||||||
const struct sde_dsc_sub_blks *sblk;
|
const struct sde_dsc_sub_blks *sblk;
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <drm/msm_drm_pp.h>
|
#include <drm/msm_drm_pp.h>
|
||||||
@@ -844,7 +844,7 @@ int sde_hw_rc_setup_pu_roi(struct sde_hw_dspp *hw_dspp, void *cfg)
|
|||||||
|
|
||||||
rc = _sde_hw_rc_get_merge_mode(hw_cfg, &merge_mode);
|
rc = _sde_hw_rc_get_merge_mode(hw_cfg, &merge_mode);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
SDE_ERROR("invalid merge_mode, rc:%d\n");
|
SDE_ERROR("invalid merge_mode, rc:%d\n", rc);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -923,7 +923,7 @@ int sde_hw_rc_setup_mask(struct sde_hw_dspp *hw_dspp, void *cfg)
|
|||||||
|
|
||||||
rc = _sde_hw_rc_get_merge_mode(hw_cfg, &merge_mode);
|
rc = _sde_hw_rc_get_merge_mode(hw_cfg, &merge_mode);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
SDE_ERROR("invalid merge_mode, rc:%d\n");
|
SDE_ERROR("invalid merge_mode, rc:%d\n", rc);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1019,7 +1019,7 @@ int sde_hw_rc_setup_data_ahb(struct sde_hw_dspp *hw_dspp, void *cfg)
|
|||||||
SDE_DEBUG("cfg_param_07:%u\n", cfg_param_07);
|
SDE_DEBUG("cfg_param_07:%u\n", cfg_param_07);
|
||||||
|
|
||||||
for (i = 0; i < rc_mask_cfg->cfg_param_08; i++) {
|
for (i = 0; i < rc_mask_cfg->cfg_param_08; i++) {
|
||||||
SDE_DEBUG("cfg_param_09[%d] = 0x%016lX at %u\n", i,
|
SDE_DEBUG("cfg_param_09[%d] = 0x%016llX at %u\n", i,
|
||||||
rc_mask_cfg->cfg_param_09[i], i + cfg_param_07);
|
rc_mask_cfg->cfg_param_09[i], i + cfg_param_07);
|
||||||
|
|
||||||
data = (i == 0) ? (BIT(30) | (cfg_param_07 << 18)) : 0;
|
data = (i == 0) ? (BIT(30) | (cfg_param_07 << 18)) : 0;
|
||||||
|
@@ -1006,7 +1006,7 @@ static struct sde_reg_dma_buffer *alloc_reg_dma_buf_v1(u32 size)
|
|||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
if (!size || SIZE_DWORD(size) > MAX_DWORDS_SZ) {
|
if (!size || SIZE_DWORD(size) > MAX_DWORDS_SZ) {
|
||||||
DRM_ERROR("invalid buffer size %d, max %d\n",
|
DRM_ERROR("invalid buffer size %lu, max %lu\n",
|
||||||
SIZE_DWORD(size), MAX_DWORDS_SZ);
|
SIZE_DWORD(size), MAX_DWORDS_SZ);
|
||||||
return ERR_PTR(-EINVAL);
|
return ERR_PTR(-EINVAL);
|
||||||
}
|
}
|
||||||
|
@@ -1165,7 +1165,7 @@ int reg_dmav1_setup_rc_datav1(struct sde_hw_dspp *ctx, void *cfg)
|
|||||||
|
|
||||||
rc = reg_dma_dspp_check(ctx, cfg, RC_DATA);
|
rc = reg_dma_dspp_check(ctx, cfg, RC_DATA);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
DRM_ERROR("invalid dma dspp check rc = %d\n");
|
DRM_ERROR("invalid dma dspp check rc = %d\n", rc);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1201,7 +1201,7 @@ int reg_dmav1_setup_rc_datav1(struct sde_hw_dspp *ctx, void *cfg)
|
|||||||
cfg_param_07 = rc_mask_cfg->cfg_param_07;
|
cfg_param_07 = rc_mask_cfg->cfg_param_07;
|
||||||
for (i = 0; i < rc_mask_cfg->cfg_param_08; i++) {
|
for (i = 0; i < rc_mask_cfg->cfg_param_08; i++) {
|
||||||
cfg_param_09 = rc_mask_cfg->cfg_param_09[i];
|
cfg_param_09 = rc_mask_cfg->cfg_param_09[i];
|
||||||
DRM_DEBUG_DRIVER("cfg_param_09[%d] = 0x%016lX at %u\n", i,
|
DRM_DEBUG_DRIVER("cfg_param_09[%d] = 0x%016llX at %u\n", i,
|
||||||
cfg_param_09,
|
cfg_param_09,
|
||||||
i + cfg_param_07);
|
i + cfg_param_07);
|
||||||
data[i * 2] = (i == 0) ? (BIT(30) | (cfg_param_07 << 18)) : 0;
|
data[i * 2] = (i == 0) ? (BIT(30) | (cfg_param_07 << 18)) : 0;
|
||||||
@@ -3996,7 +3996,7 @@ static void _perform_sbdma_kickoff(struct sde_hw_dspp *ctx,
|
|||||||
hw_cfg->dspp[i]->sb_dma_in_use = true;
|
hw_cfg->dspp[i]->sb_dma_in_use = true;
|
||||||
}
|
}
|
||||||
} else if (rc == -EOPNOTSUPP) {
|
} else if (rc == -EOPNOTSUPP) {
|
||||||
DRM_DEBUG("Falling back to dbdma\n", rc);
|
DRM_DEBUG("Falling back to dbdma, rc = %d\n", rc);
|
||||||
|
|
||||||
REG_DMA_SETUP_KICKOFF(kick_off, hw_cfg->ctl,
|
REG_DMA_SETUP_KICKOFF(kick_off, hw_cfg->ctl,
|
||||||
dspp_buf[feature][ctx->idx], REG_DMA_WRITE,
|
dspp_buf[feature][ctx->idx], REG_DMA_WRITE,
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "sde_hw_mdss.h"
|
#include "sde_hw_mdss.h"
|
||||||
@@ -64,7 +64,7 @@
|
|||||||
|
|
||||||
#define VDC_CTL_BLOCK_SIZE 0x300
|
#define VDC_CTL_BLOCK_SIZE 0x300
|
||||||
|
|
||||||
static inline _vdc_subblk_offset(struct sde_hw_vdc *hw_vdc, int s_id,
|
static inline int _vdc_subblk_offset(struct sde_hw_vdc *hw_vdc, int s_id,
|
||||||
u32 *idx)
|
u32 *idx)
|
||||||
{
|
{
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
@@ -65,6 +65,8 @@
|
|||||||
#define MEM_PROTECT_SD_CTRL_SWITCH 0x18
|
#define MEM_PROTECT_SD_CTRL_SWITCH 0x18
|
||||||
#define MDP_DEVICE_ID 0x1A
|
#define MDP_DEVICE_ID 0x1A
|
||||||
|
|
||||||
|
#define DEMURA_REGION_NAME_MAX 32
|
||||||
|
|
||||||
EXPORT_TRACEPOINT_SYMBOL(tracing_mark_write);
|
EXPORT_TRACEPOINT_SYMBOL(tracing_mark_write);
|
||||||
|
|
||||||
static const char * const iommu_ports[] = {
|
static const char * const iommu_ports[] = {
|
||||||
@@ -350,7 +352,7 @@ static int _sde_kms_scm_call(struct sde_kms *sde_kms, int vmid)
|
|||||||
ret = qcom_scm_mem_protect_sd_ctrl(MDP_DEVICE_ID, mem_addr,
|
ret = qcom_scm_mem_protect_sd_ctrl(MDP_DEVICE_ID, mem_addr,
|
||||||
mem_size, vmid);
|
mem_size, vmid);
|
||||||
if (ret)
|
if (ret)
|
||||||
SDE_ERROR("Error:scm_call2, vmid %lld, ret%d\n",
|
SDE_ERROR("Error:scm_call2, vmid %d, ret%d\n",
|
||||||
vmid, ret);
|
vmid, ret);
|
||||||
SDE_EVT32(MEM_PROTECT_SD_CTRL_SWITCH, MDP_DEVICE_ID, mem_size,
|
SDE_EVT32(MEM_PROTECT_SD_CTRL_SWITCH, MDP_DEVICE_ID, mem_size,
|
||||||
vmid, qtee_en, num_sids, ret);
|
vmid, qtee_en, num_sids, ret);
|
||||||
@@ -2989,7 +2991,7 @@ static int sde_kms_inform_cont_splash_res_disable(struct msm_kms *kms,
|
|||||||
rc = dsi_display_get_info(NULL, &info, display);
|
rc = dsi_display_get_info(NULL, &info, display);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
SDE_ERROR("%s: dsi get_info failed: %d\n",
|
SDE_ERROR("%s: dsi get_info failed: %d\n",
|
||||||
rc, __func__);
|
__func__, rc);
|
||||||
encoder = NULL;
|
encoder = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3358,7 +3360,7 @@ static int sde_kms_get_mixer_count(const struct msm_kms *kms,
|
|||||||
|
|
||||||
mode_clock_hz = lm_clk_fp;
|
mode_clock_hz = lm_clk_fp;
|
||||||
}
|
}
|
||||||
SDE_DEBUG("[%s] h=%d v=%d fps=%d lm=%d mode_clk=%llu max_clk=%llu\n",
|
SDE_DEBUG("[%s] h=%d v=%d fps=%d lm=%d mode_clk=%u max_clk=%llu\n",
|
||||||
mode->name, mode->htotal, mode->vtotal, drm_mode_vrefresh(mode),
|
mode->name, mode->htotal, mode->vtotal, drm_mode_vrefresh(mode),
|
||||||
*num_lm, drm_fixp2int(mode_clock_hz),
|
*num_lm, drm_fixp2int(mode_clock_hz),
|
||||||
sde_kms->perf.max_core_clk_rate);
|
sde_kms->perf.max_core_clk_rate);
|
||||||
@@ -3366,7 +3368,7 @@ static int sde_kms_get_mixer_count(const struct msm_kms *kms,
|
|||||||
|
|
||||||
error:
|
error:
|
||||||
SDE_ERROR("required mode clk exceeds max mdp clk\n");
|
SDE_ERROR("required mode clk exceeds max mdp clk\n");
|
||||||
SDE_ERROR("[%s] h=%d v=%d fps=%d lm=%d mode_clk=%llu max_clk=%llu\n",
|
SDE_ERROR("[%s] h=%d v=%d fps=%d lm=%d mode_clk=%u max_clk=%llu\n",
|
||||||
mode->name, mode->htotal, mode->vtotal, drm_mode_vrefresh(mode),
|
mode->name, mode->htotal, mode->vtotal, drm_mode_vrefresh(mode),
|
||||||
*num_lm, drm_fixp2int(mode_clock_hz),
|
*num_lm, drm_fixp2int(mode_clock_hz),
|
||||||
sde_kms->perf.max_core_clk_rate);
|
sde_kms->perf.max_core_clk_rate);
|
||||||
@@ -4102,8 +4104,7 @@ static int _sde_kms_get_demura_plane_data(struct sde_splash_data *data)
|
|||||||
int count = 0;
|
int count = 0;
|
||||||
struct device_node *parent, *node;
|
struct device_node *parent, *node;
|
||||||
struct resource r;
|
struct resource r;
|
||||||
const int STRING_LIMIT = 32;
|
char node_name[DEMURA_REGION_NAME_MAX];
|
||||||
char node_name[STRING_LIMIT];
|
|
||||||
struct sde_splash_mem *mem;
|
struct sde_splash_mem *mem;
|
||||||
struct sde_splash_display *splash_display;
|
struct sde_splash_display *splash_display;
|
||||||
|
|
||||||
@@ -4120,7 +4121,8 @@ static int _sde_kms_get_demura_plane_data(struct sde_splash_data *data)
|
|||||||
|
|
||||||
for (i = 0; i < data->num_splash_displays; i++) {
|
for (i = 0; i < data->num_splash_displays; i++) {
|
||||||
splash_display = &data->splash_display[i];
|
splash_display = &data->splash_display[i];
|
||||||
snprintf(&node_name[0], STRING_LIMIT, "demura_region_%d", i);
|
snprintf(&node_name[0], DEMURA_REGION_NAME_MAX,
|
||||||
|
"demura_region_%d", i);
|
||||||
|
|
||||||
splash_display->demura = NULL;
|
splash_display->demura = NULL;
|
||||||
node = of_find_node_by_name(parent, node_name);
|
node = of_find_node_by_name(parent, node_name);
|
||||||
@@ -4502,7 +4504,7 @@ static int _sde_kms_hw_init_blocks(struct sde_kms *sde_kms,
|
|||||||
sde_kms->sid_len, sde_kms->catalog);
|
sde_kms->sid_len, sde_kms->catalog);
|
||||||
if (IS_ERR_OR_NULL(sde_kms->hw_sid)) {
|
if (IS_ERR_OR_NULL(sde_kms->hw_sid)) {
|
||||||
rc = PTR_ERR(sde_kms->hw_sid);
|
rc = PTR_ERR(sde_kms->hw_sid);
|
||||||
SDE_ERROR("failed to init sid %ld\n", rc);
|
SDE_ERROR("failed to init sid %d\n", rc);
|
||||||
sde_kms->hw_sid = NULL;
|
sde_kms->hw_sid = NULL;
|
||||||
goto power_error;
|
goto power_error;
|
||||||
}
|
}
|
||||||
|
@@ -231,7 +231,7 @@ void sde_plane_set_sid(struct drm_plane *plane, u32 vm)
|
|||||||
struct msm_drm_private *priv;
|
struct msm_drm_private *priv;
|
||||||
|
|
||||||
if (!plane || !plane->dev) {
|
if (!plane || !plane->dev) {
|
||||||
SDE_ERROR("invalid plane %d\n");
|
SDE_ERROR("invalid plane\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -619,7 +619,7 @@ int sde_plane_wait_input_fence(struct drm_plane *plane, uint32_t wait_ms)
|
|||||||
|
|
||||||
switch (rc) {
|
switch (rc) {
|
||||||
case 0:
|
case 0:
|
||||||
SDE_ERROR_PLANE(psde, "%ums timeout on %08X fd %d\n",
|
SDE_ERROR_PLANE(psde, "%ums timeout on %08X fd %lld\n",
|
||||||
wait_ms, prefix, sde_plane_get_property(pstate,
|
wait_ms, prefix, sde_plane_get_property(pstate,
|
||||||
PLANE_PROP_INPUT_FENCE));
|
PLANE_PROP_INPUT_FENCE));
|
||||||
psde->is_error = true;
|
psde->is_error = true;
|
||||||
@@ -2361,7 +2361,7 @@ static void _sde_plane_get_max_downscale_limits(struct sde_plane *psde,
|
|||||||
* the source-width becomes the scaler's pre-downscaled source-height.
|
* the source-width becomes the scaler's pre-downscaled source-height.
|
||||||
**/
|
**/
|
||||||
if (rotated) {
|
if (rotated) {
|
||||||
if (rt_client && has_predown) {
|
if (pd != NULL && rt_client && has_predown) {
|
||||||
if (default_scale)
|
if (default_scale)
|
||||||
pd->pre_downscale_x_0 = (src_h >
|
pd->pre_downscale_x_0 = (src_h >
|
||||||
mult_frac(dst_h, 11, 5)) ? 2 : 0;
|
mult_frac(dst_h, 11, 5)) ? 2 : 0;
|
||||||
|
@@ -1000,7 +1000,7 @@ static bool _sde_rm_check_lm_and_get_connected_blks(
|
|||||||
is_conn_secondary = (reqs->hw_res.display_type ==
|
is_conn_secondary = (reqs->hw_res.display_type ==
|
||||||
SDE_CONNECTOR_SECONDARY) ? true : false;
|
SDE_CONNECTOR_SECONDARY) ? true : false;
|
||||||
|
|
||||||
SDE_DEBUG("check lm %d: dspp %d ds %d pp %d features %d disp type %d\n",
|
SDE_DEBUG("check lm %d: dspp %d ds %d pp %d features %ld disp type %d\n",
|
||||||
lm_cfg->id, lm_cfg->dspp, lm_cfg->ds, lm_cfg->pingpong,
|
lm_cfg->id, lm_cfg->dspp, lm_cfg->ds, lm_cfg->pingpong,
|
||||||
lm_cfg->features, (int)reqs->hw_res.display_type);
|
lm_cfg->features, (int)reqs->hw_res.display_type);
|
||||||
|
|
||||||
@@ -1036,7 +1036,7 @@ static bool _sde_rm_check_lm_and_get_connected_blks(
|
|||||||
} else if ((!is_conn_primary && lm_primary_pref) ||
|
} else if ((!is_conn_primary && lm_primary_pref) ||
|
||||||
(!is_conn_secondary && lm_secondary_pref)) {
|
(!is_conn_secondary && lm_secondary_pref)) {
|
||||||
SDE_DEBUG(
|
SDE_DEBUG(
|
||||||
"display preference is not met. display_type: %d lm_features: %x\n",
|
"display preference is not met. display_type: %d lm_features: %lx\n",
|
||||||
(int)reqs->hw_res.display_type, lm_cfg->features);
|
(int)reqs->hw_res.display_type, lm_cfg->features);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/list_sort.h>
|
#include <linux/list_sort.h>
|
||||||
@@ -101,7 +101,7 @@ void _sde_vm_sort_and_align(struct list_head *mem)
|
|||||||
}
|
}
|
||||||
|
|
||||||
list_for_each_entry(entry, mem, list)
|
list_for_each_entry(entry, mem, list)
|
||||||
SDE_DEBUG("base: 0x%x - size: 0x%x\n",
|
SDE_DEBUG("base: 0x%llx - size: 0x%llx\n",
|
||||||
entry->base, entry->size);
|
entry->base, entry->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/haven/hh_msgq.h>
|
#include <linux/haven/hh_msgq.h>
|
||||||
@@ -67,7 +67,7 @@ int sde_vm_msgq_send(struct sde_vm *sde_vm, void *msg, size_t msg_size)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (msg_size > HH_MSGQ_MAX_MSG_SIZE_BYTES) {
|
if (msg_size > HH_MSGQ_MAX_MSG_SIZE_BYTES) {
|
||||||
SDE_ERROR("msg size unsupported for msgq: %d > %d\n", msg_size,
|
SDE_ERROR("msg size unsupported for msgq: %ld > %d\n", msg_size,
|
||||||
HH_MSGQ_MAX_MSG_SIZE_BYTES);
|
HH_MSGQ_MAX_MSG_SIZE_BYTES);
|
||||||
return -E2BIG;
|
return -E2BIG;
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
#include <linux/notifier.h>
|
#include <linux/notifier.h>
|
||||||
#include <linux/haven/hh_rm_drv.h>
|
#include <linux/haven/hh_rm_drv.h>
|
||||||
@@ -127,14 +127,14 @@ static int _sde_vm_lend_mem(struct sde_vm *vm,
|
|||||||
|
|
||||||
acl_desc = sde_vm_populate_acl(HH_TRUSTED_VM);
|
acl_desc = sde_vm_populate_acl(HH_TRUSTED_VM);
|
||||||
if (IS_ERR(acl_desc)) {
|
if (IS_ERR(acl_desc)) {
|
||||||
SDE_ERROR("failed to populate acl descriptor, rc = %d\n",
|
SDE_ERROR("failed to populate acl descriptor, rc = %ld\n",
|
||||||
PTR_ERR(acl_desc));
|
PTR_ERR(acl_desc));
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
sgl_desc = sde_vm_populate_sgl(io_res);
|
sgl_desc = sde_vm_populate_sgl(io_res);
|
||||||
if (IS_ERR_OR_NULL(sgl_desc)) {
|
if (IS_ERR_OR_NULL(sgl_desc)) {
|
||||||
SDE_ERROR("failed to populate sgl descriptor, rc = %d\n",
|
SDE_ERROR("failed to populate sgl descriptor, rc = %ld\n",
|
||||||
PTR_ERR(sgl_desc));
|
PTR_ERR(sgl_desc));
|
||||||
rc = -EINVAL;
|
rc = -EINVAL;
|
||||||
goto sgl_fail;
|
goto sgl_fail;
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/haven/hh_rm_drv.h>
|
#include <linux/haven/hh_rm_drv.h>
|
||||||
@@ -46,7 +46,7 @@ int _sde_vm_validate_sgl(struct hh_sgl_desc *expected,
|
|||||||
struct hh_sgl_entry *a = &assigned->sgl_entries[idx];
|
struct hh_sgl_entry *a = &assigned->sgl_entries[idx];
|
||||||
|
|
||||||
if ((e->ipa_base != a->ipa_base) || (e->size != a->size)) {
|
if ((e->ipa_base != a->ipa_base) || (e->size != a->size)) {
|
||||||
SDE_DEBUG("sgl mismatch: (%ld - %d) vs (%ld - %d)\n",
|
SDE_DEBUG("sgl mismatch: (%llu - %llu) vs (%llu - %llu)\n",
|
||||||
e->ipa_base, e->size, a->ipa_base, a->size);
|
e->ipa_base, e->size, a->ipa_base, a->size);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
@@ -286,7 +286,7 @@ static int _sde_vm_accept_mem(struct sde_vm *vm)
|
|||||||
|
|
||||||
acl_desc = sde_vm_populate_acl(HH_TRUSTED_VM);
|
acl_desc = sde_vm_populate_acl(HH_TRUSTED_VM);
|
||||||
if (IS_ERR(acl_desc)) {
|
if (IS_ERR(acl_desc)) {
|
||||||
SDE_ERROR("failed to populate acl data, rc=%d\n",
|
SDE_ERROR("failed to populate acl data, rc=%ld\n",
|
||||||
PTR_ERR(acl_desc));
|
PTR_ERR(acl_desc));
|
||||||
rc = PTR_ERR(acl_desc);
|
rc = PTR_ERR(acl_desc);
|
||||||
goto done;
|
goto done;
|
||||||
@@ -301,7 +301,7 @@ static int _sde_vm_accept_mem(struct sde_vm *vm)
|
|||||||
SDE_VM_MEM_LABEL,
|
SDE_VM_MEM_LABEL,
|
||||||
acl_desc, NULL, NULL, 0);
|
acl_desc, NULL, NULL, 0);
|
||||||
if (IS_ERR_OR_NULL(sgl_desc)) {
|
if (IS_ERR_OR_NULL(sgl_desc)) {
|
||||||
SDE_ERROR("hh_rm_mem_accept failed with error, rc=%d\n",
|
SDE_ERROR("hh_rm_mem_accept failed with error, rc=%ld\n",
|
||||||
PTR_ERR(sgl_desc));
|
PTR_ERR(sgl_desc));
|
||||||
rc = -EINVAL;
|
rc = -EINVAL;
|
||||||
|
|
||||||
@@ -357,7 +357,7 @@ static int _sde_vm_accept_irq(struct sde_vm *vm)
|
|||||||
exp_irq_data = irq_get_irq_data(expected_irq);
|
exp_irq_data = irq_get_irq_data(expected_irq);
|
||||||
if (!exp_irq_data) {
|
if (!exp_irq_data) {
|
||||||
SDE_ERROR("failed to get irq data for irq: %d\n",
|
SDE_ERROR("failed to get irq data for irq: %d\n",
|
||||||
exp_irq_data);
|
expected_irq);
|
||||||
rc = -EINVAL;
|
rc = -EINVAL;
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
@@ -377,7 +377,7 @@ static int _sde_vm_accept_irq(struct sde_vm *vm)
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
SDE_INFO("IRQ accept succeeded for label %d irq: %d\n",
|
SDE_INFO("IRQ accept succeeded for label %u irq: %lu\n",
|
||||||
irq_entry->label, exp_irq_data->hwirq);
|
irq_entry->label, exp_irq_data->hwirq);
|
||||||
}
|
}
|
||||||
end:
|
end:
|
||||||
|
@@ -1636,7 +1636,7 @@ static ssize_t sde_recovery_dbgbus_dump_read(struct file *file,
|
|||||||
if (cmn->content_idx < cmn->content_size) {
|
if (cmn->content_idx < cmn->content_size) {
|
||||||
data = &cmn->dumped_content[cmn->content_idx];
|
data = &cmn->dumped_content[cmn->content_idx];
|
||||||
len = scnprintf(log_buf, max_size,
|
len = scnprintf(log_buf, max_size,
|
||||||
"0x%.8X | %.8X %.8X %.8X %.8X\n",
|
"0x%.8lX | %.8X %.8X %.8X %.8X\n",
|
||||||
cmn->content_idx * sizeof(*data),
|
cmn->content_idx * sizeof(*data),
|
||||||
data[0], data[1], data[2], data[3]);
|
data[0], data[1], data[2], data[3]);
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define pr_fmt(fmt) "[sde-hdcp-2x] %s: " fmt, __func__
|
#define pr_fmt(fmt) "[sde-hdcp-2x] %s: " fmt, __func__
|
||||||
@@ -182,9 +182,11 @@ static int sde_hdcp_2x_get_next_message(struct sde_hdcp_2x_ctrl *hdcp,
|
|||||||
case SKE_SEND_EKS:
|
case SKE_SEND_EKS:
|
||||||
if (!hdcp->repeater_flag)
|
if (!hdcp->repeater_flag)
|
||||||
return SKE_SEND_TYPE_ID;
|
return SKE_SEND_TYPE_ID;
|
||||||
|
break;
|
||||||
case SKE_SEND_TYPE_ID:
|
case SKE_SEND_TYPE_ID:
|
||||||
if (!hdcp->repeater_flag)
|
if (!hdcp->repeater_flag)
|
||||||
return SKE_SEND_TYPE_ID;
|
return SKE_SEND_TYPE_ID;
|
||||||
|
break;
|
||||||
case REP_STREAM_READY:
|
case REP_STREAM_READY:
|
||||||
case REP_SEND_ACK:
|
case REP_SEND_ACK:
|
||||||
if (!hdcp->repeater_flag)
|
if (!hdcp->repeater_flag)
|
||||||
@@ -203,7 +205,10 @@ static int sde_hdcp_2x_get_next_message(struct sde_hdcp_2x_ctrl *hdcp,
|
|||||||
pr_err("Unknown message ID (%d)\n", hdcp->last_msg);
|
pr_err("Unknown message ID (%d)\n", hdcp->last_msg);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
SDE_EVT32_EXTERNAL(SDE_EVTLOG_FUNC_EXIT);
|
SDE_EVT32_EXTERNAL(SDE_EVTLOG_FUNC_EXIT);
|
||||||
|
|
||||||
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sde_hdcp_2x_wait_for_response(struct sde_hdcp_2x_ctrl *hdcp)
|
static void sde_hdcp_2x_wait_for_response(struct sde_hdcp_2x_ctrl *hdcp)
|
||||||
|
@@ -342,7 +342,7 @@ err:
|
|||||||
|
|
||||||
SDE_ATRACE_END("msm_bus_scale_req");
|
SDE_ATRACE_END("msm_bus_scale_req");
|
||||||
pr_err("failed to set data bus vote ab=%llu ib=%llu rc=%d\n",
|
pr_err("failed to set data bus vote ab=%llu ib=%llu rc=%d\n",
|
||||||
rc, in_ab_quota, in_ib_quota);
|
in_ab_quota, in_ib_quota, rc);
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "msm_drv.h"
|
#include "msm_drv.h"
|
||||||
@@ -244,7 +244,7 @@ static void sde_vdc_dump_core_params(struct msm_display_vdc_info *vdc_info)
|
|||||||
vdc_info->tot_pad_bits);
|
vdc_info->tot_pad_bits);
|
||||||
pr_debug("vdc_info->rc_stuffing_bits = %d\n",
|
pr_debug("vdc_info->rc_stuffing_bits = %d\n",
|
||||||
vdc_info->rc_stuffing_bits);
|
vdc_info->rc_stuffing_bits);
|
||||||
pr_debug("vdc_info->slice_num_bits = %d\n",
|
pr_debug("vdc_info->slice_num_bits = %llu\n",
|
||||||
vdc_info->slice_num_bits);
|
vdc_info->slice_num_bits);
|
||||||
pr_debug("vdc_info->chunk_adj_bits = %d\n",
|
pr_debug("vdc_info->chunk_adj_bits = %d\n",
|
||||||
vdc_info->chunk_adj_bits);
|
vdc_info->chunk_adj_bits);
|
||||||
@@ -280,7 +280,7 @@ static void sde_vdc_dump_core_params(struct msm_display_vdc_info *vdc_info)
|
|||||||
vdc_info->rc_fullness_offset_thresh);
|
vdc_info->rc_fullness_offset_thresh);
|
||||||
pr_debug("vdc_info->ramp_blocks = %d\n",
|
pr_debug("vdc_info->ramp_blocks = %d\n",
|
||||||
vdc_info->ramp_blocks);
|
vdc_info->ramp_blocks);
|
||||||
pr_debug("vdc_info->ramp_bits = %d\n",
|
pr_debug("vdc_info->ramp_bits = %llu\n",
|
||||||
vdc_info->ramp_bits);
|
vdc_info->ramp_bits);
|
||||||
pr_debug("vdc_info->rc_fullness_offset_slope = %d\n",
|
pr_debug("vdc_info->rc_fullness_offset_slope = %d\n",
|
||||||
vdc_info->rc_fullness_offset_slope);
|
vdc_info->rc_fullness_offset_slope);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define pr_fmt(fmt) "%s: " fmt, __func__
|
#define pr_fmt(fmt) "%s: " fmt, __func__
|
||||||
@@ -133,7 +133,7 @@ static bool sde_rot_fence_signaled(struct dma_fence *fence)
|
|||||||
bool status;
|
bool status;
|
||||||
|
|
||||||
status = ((s32) (tl->curr_value - fence->seqno)) >= 0;
|
status = ((s32) (tl->curr_value - fence->seqno)) >= 0;
|
||||||
SDEROT_DBG("status:%d fence seq:%d and timeline:%d\n",
|
SDEROT_DBG("status:%d fence seq:%llu and timeline:%d\n",
|
||||||
status, fence->seqno, tl->curr_value);
|
status, fence->seqno, tl->curr_value);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@@ -154,7 +154,7 @@ static void sde_rot_fence_release(struct dma_fence *fence)
|
|||||||
static void sde_rot_fence_value_str(struct dma_fence *fence, char *str,
|
static void sde_rot_fence_value_str(struct dma_fence *fence, char *str,
|
||||||
int size)
|
int size)
|
||||||
{
|
{
|
||||||
snprintf(str, size, "%u", fence->seqno);
|
snprintf(str, size, "%llu", fence->seqno);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sde_rot_fence_timeline_value_str(struct dma_fence *fence,
|
static void sde_rot_fence_timeline_value_str(struct dma_fence *fence,
|
||||||
|
新增問題並參考
封鎖使用者