msm: camera: compilation fix in isp

Fixing compilation errros in ISP module.

Change-Id: I36cd20c8ef326f4cc3e5bf8ee3951503609b6cc0
Signed-off-by: Gurram Pravalika <gpravali@codeaurora.org>
This commit is contained in:
Gurram Pravalika 2020-07-01 22:39:53 +05:30 committed by Gerrit - the friendly Code Review server
parent 51d808aa7d
commit 9496ff988e
7 changed files with 1329 additions and 21 deletions

View file

@ -17,8 +17,8 @@ obj-$(CONFIG_MSMB_CAMERA) += camera/
obj-$(CONFIG_MSMB_CAMERA) += msm_vb2/
obj-$(CONFIG_MSMB_CAMERA) += sensor/
#obj-$(CONFIG_MSMB_CAMERA) += pproc/
#obj-$(CONFIG_MSMB_CAMERA) += isp/
#obj-$(CONFIG_MSMB_CAMERA) += ispif/
obj-$(CONFIG_MSMB_CAMERA) += isp/
obj-$(CONFIG_MSMB_CAMERA) += ispif/
#obj-$(CONFIG_MSMB_JPEG) += jpeg_10/
#obj-$(CONFIG_MSM_JPEGDMA) += jpeg_dma/
#obj-$(CONFIG_MSMB_CAMERA) += msm_buf_mgr/

View file

@ -1090,9 +1090,6 @@ void msm_isp_notify(struct vfe_device *vfe_dev, uint32_t event_type,
ISP_DBG("%s: vfe %d frame_src %d frameid %d\n", __func__,
vfe_dev->pdev->id, frame_src,
vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id);
trace_msm_cam_isp_status_dump("SOFNOTIFY:", vfe_dev->pdev->id,
vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id,
0, 0, 0);
/*
* Cannot support dual_cam and framedrop same time in union.

View file

@ -22,8 +22,6 @@
#include "msm_camera_io_util.h"
#include "cam_smmu_api.h"
#include "msm_isp48.h"
#define CREATE_TRACE_POINTS
#include "trace/events/msm_cam.h"
#ifndef UINT16_MAX
#define UINT16_MAX (65535U)
@ -2160,9 +2158,6 @@ static void msm_isp_enqueue_tasklet_cmd(struct vfe_device *vfe_dev,
return;
}
atomic_add(1, &vfe_dev->irq_cnt);
trace_msm_cam_isp_status_dump("VFE_IRQ:", vfe_dev->pdev->id,
vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id,
irq_status0, irq_status1, dual_irq_status);
queue_cmd->vfeInterruptStatus0 = irq_status0;
queue_cmd->vfeInterruptStatus1 = irq_status1;
queue_cmd->vfe_pingpong_status = ping_pong_status;
@ -2300,9 +2295,7 @@ void msm_isp_do_tasklet(unsigned long data)
atomic_sub(1, &vfe_dev->irq_cnt);
msm_isp_prepare_tasklet_debug_info(vfe_dev,
irq_status0, irq_status1, ts);
trace_msm_cam_isp_status_dump("VFE_TASKLET:", vfe_dev->pdev->id,
vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id,
irq_status0, irq_status1, dual_irq_status);
irq_ops = &vfe_dev->hw_info->vfe_ops.irq_ops;
irq_ops->process_reset_irq(vfe_dev,
irq_status0, irq_status1);
@ -2594,9 +2587,6 @@ void msm_isp_irq_debug_dump(struct vfe_device *vfe_dev)
flags);
dump_index = vfe_dev->common_data->vfe_irq_dump.current_irq_index;
for (i = 0; i < MAX_VFE_IRQ_DEBUG_DUMP_SIZE; i++) {
trace_msm_cam_ping_pong_debug_dump(
vfe_dev->common_data->vfe_irq_dump.irq_debug[
dump_index % MAX_VFE_IRQ_DEBUG_DUMP_SIZE]);
dump_index++;
}
spin_unlock_irqrestore(
@ -2616,9 +2606,6 @@ void msm_isp_tasklet_debug_dump(struct vfe_device *vfe_dev)
flags);
dump_index = vfe_dev->common_data->vfe_irq_dump.current_tasklet_index;
for (i = 0; i < MAX_VFE_IRQ_DEBUG_DUMP_SIZE; i++) {
trace_msm_cam_tasklet_debug_dump(
vfe_dev->common_data->vfe_irq_dump.tasklet_debug[
dump_index % MAX_VFE_IRQ_DEBUG_DUMP_SIZE]);
dump_index++;
}
spin_unlock_irqrestore(
@ -2629,8 +2616,6 @@ void msm_isp_tasklet_debug_dump(struct vfe_device *vfe_dev)
void msm_isp_dump_ping_pong_mismatch(struct vfe_device *vfe_dev)
{
trace_msm_cam_string(" ***** msm_isp_dump_irq_debug ****");
msm_isp_irq_debug_dump(vfe_dev);
trace_msm_cam_string(" ***** msm_isp_dump_taskelet_debug ****");
msm_isp_tasklet_debug_dump(vfe_dev);
}

View file

@ -651,6 +651,7 @@ gen_headers_out_arm = [
"media/radio-iris-commands.h",
"media/radio-iris.h",
"media/synx.h",
"media/msmb_isp.h",
"misc/cxl.h",
"misc/ocxl.h",
"misc/wigig_sensing_uapi.h",

View file

@ -645,6 +645,7 @@ gen_headers_out_arm64 = [
"media/radio-iris-commands.h",
"media/radio-iris.h",
"media/synx.h",
"media/msmb_isp.h",
"misc/cxl.h",
"misc/ocxl.h",
"misc/wigig_sensing_uapi.h",

View file

@ -0,0 +1,169 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2016, 2020, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#undef TRACE_SYSTEM
#define TRACE_SYSTEM msm_cam
#if !defined(_TRACE_MSM_VFE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_MSM_VFE_H
#include "msm_isp.h"
#include <linux/types.h>
#include <linux/tracepoint.h>
#define STRING_LEN 80
TRACE_EVENT(msm_cam_string,
TP_PROTO(const char *str),
TP_ARGS(str),
TP_STRUCT__entry(
__array(char, str, STRING_LEN)
),
TP_fast_assign(
strlcpy(__entry->str, str, STRING_LEN);
),
TP_printk("msm_cam: %s", __entry->str)
);
TRACE_EVENT(msm_cam_tasklet_debug_dump,
TP_PROTO(struct msm_vfe_irq_debug_info tasklet_state),
TP_ARGS(tasklet_state),
TP_STRUCT__entry(
__field(unsigned int, vfe_id)
__field(unsigned int, core_id)
__field(unsigned int, irq_status0)
__field(unsigned int, irq_status1)
__field(unsigned int, ping_pong_status)
__field(long, tv_sec)
__field(long, tv_usec)
),
TP_fast_assign(
__entry->vfe_id = tasklet_state.vfe_id;
__entry->irq_status0 =
tasklet_state.irq_status0[tasklet_state.vfe_id];
__entry->irq_status1 =
tasklet_state.irq_status1[tasklet_state.vfe_id];
__entry->core_id = tasklet_state.core_id;
__entry->ping_pong_status =
tasklet_state.ping_pong_status[tasklet_state.vfe_id];
__entry->tv_sec =
tasklet_state.ts.buf_time.tv_sec;
__entry->tv_usec =
tasklet_state.ts.buf_time.tv_usec;
),
TP_printk("vfe_id %d, core %d, irq_st0 0x%x, irq_st1 0x%x\n"
"pi_po_st 0x%x, time %ld:%ld",
__entry->vfe_id,
__entry->core_id,
__entry->irq_status0,
__entry->irq_status1,
__entry->ping_pong_status,
__entry->tv_sec,
__entry->tv_usec
)
);
TRACE_EVENT(msm_cam_ping_pong_debug_dump,
TP_PROTO(struct msm_vfe_irq_debug_info ping_pong_state),
TP_ARGS(ping_pong_state),
TP_STRUCT__entry(
__field(unsigned int, curr_vfe_id)
__field(unsigned int, curr_irq_status0)
__field(unsigned int, curr_irq_status1)
__field(unsigned int, curr_ping_pong_status)
__field(unsigned int, othr_vfe_id)
__field(unsigned int, othr_irq_status0)
__field(unsigned int, othr_irq_status1)
__field(unsigned int, othr_ping_pong_status)
__field(long, othr_tv_sec)
__field(long, othr_tv_usec)
__field(unsigned int, core_id)
),
TP_fast_assign(
__entry->curr_vfe_id =
ping_pong_state.vfe_id;
__entry->curr_irq_status0 =
ping_pong_state.irq_status0[ping_pong_state.vfe_id];
__entry->curr_irq_status1 =
ping_pong_state.irq_status1[ping_pong_state.vfe_id];
__entry->curr_ping_pong_status =
ping_pong_state.ping_pong_status[
ping_pong_state.vfe_id];
__entry->othr_vfe_id =
!ping_pong_state.vfe_id;
__entry->othr_irq_status0 =
ping_pong_state.irq_status0[!ping_pong_state.vfe_id];
__entry->othr_irq_status1 =
ping_pong_state.irq_status1[!ping_pong_state.vfe_id];
__entry->othr_ping_pong_status =
ping_pong_state.ping_pong_status[
!ping_pong_state.vfe_id];
__entry->othr_tv_sec =
ping_pong_state.ts.buf_time.tv_sec;
__entry->othr_tv_usec =
ping_pong_state.ts.buf_time.tv_usec;
__entry->core_id = ping_pong_state.core_id;
),
TP_printk("vfe_id %d, irq_st0 0x%x, irq_st1 0x%x, pi_po_st 0x%x\n"
"other vfe_id %d, irq_st0 0x%x, irq_st1 0x%x\n"
"pi_po_st 0x%x, time %ld:%ld core %d",
__entry->curr_vfe_id,
__entry->curr_irq_status0,
__entry->curr_irq_status1,
__entry->curr_ping_pong_status,
__entry->othr_vfe_id,
__entry->othr_irq_status0,
__entry->othr_irq_status1,
__entry->othr_ping_pong_status,
__entry->othr_tv_sec,
__entry->othr_tv_usec,
__entry->core_id
)
);
TRACE_EVENT(msm_cam_isp_status_dump,
TP_PROTO(char *event, uint32_t vfe_id, uint32_t frame_id,
uint32_t irq_status0, uint32_t irq_status1,
uint32_t dual_irq_status),
TP_ARGS(event, vfe_id, frame_id, irq_status0,
irq_status1, dual_irq_status),
TP_STRUCT__entry(
__field(char *, event)
__field(unsigned int, vfe_id)
__field(unsigned int, frame_id)
__field(unsigned int, irq_status0)
__field(unsigned int, irq_status1)
__field(unsigned int, dual_irq_status)
),
TP_fast_assign(
__entry->event = event;
__entry->vfe_id = vfe_id;
__entry->frame_id = frame_id;
__entry->irq_status0 = irq_status0;
__entry->irq_status1 = irq_status1;
__entry->dual_irq_status = dual_irq_status;
),
TP_printk("%s vfe %d, frame %d, irq_st0 %x, irq_st1 %x dual_irq %x",
__entry->event,
__entry->vfe_id,
__entry->frame_id,
__entry->irq_status0,
__entry->irq_status1,
__entry->dual_irq_status
)
);
#endif /* _MSM_CAM_TRACE_H */
/* This part must be outside protection */
#include <trace/define_trace.h>

File diff suppressed because it is too large Load diff