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>
此提交包含在:
Tatenda Chipeperekwa
2020-12-08 15:00:14 -08:00
提交者 Abhijit Kulkarni
父節點 1b3ad8486d
當前提交 c6257272d4
共有 31 個檔案被更改,包括 87 行新增85 行删除

查看文件

@@ -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,