msm: camera: cdm: Remove Kernel Internal Buffer for Gen IRQ
Currently we allocate the memory for CDM GENIRQ command within the Kernel on every stream on. Presil framework do not have an ability to transfer the kernel only buffers to the user daemon. For that reason we need to add support to use the user allocated command buffer instead of the kernel generated memory to add the GenIRQ cdm command while submitting BLs. This change also helps to reduce the stream on and stream off latency by not having to allocate and free the GENIRQ memory on every stream on and stream off respectively. CRs-Fixed: 3115399 Change-Id: Ic159efd56fb9c4480ed1eb25cf2c058cbb914332 Signed-off-by: Jigar Agrawal <quic_jigar@quicinc.com>
This commit is contained in:

committed by
Camera Software Integration

부모
4767d2ccb1
커밋
3c8d5b58ea
@@ -1,6 +1,7 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_CDM_API_H_
|
||||
@@ -9,6 +10,7 @@
|
||||
#include <media/cam_defs.h>
|
||||
#include "cam_cdm_util.h"
|
||||
#include "cam_soc_util.h"
|
||||
#include "cam_packet_util.h"
|
||||
|
||||
#define CAM_CDM_BL_CMD_MAX 25
|
||||
|
||||
@@ -139,6 +141,7 @@ struct cam_cdm_bl_cmd {
|
||||
* @type : type of the submitted bl cmd address.
|
||||
* @cmd_arrary_count : Input number of BL commands to be submitted to CDM
|
||||
* @cookie : Cookie if the callback is gen irq status
|
||||
* @avail_buff_size: Available buffer size in bytes
|
||||
* @bl_cmd_array : Input payload holding the BL cmd's arrary
|
||||
* to be sumbitted.
|
||||
*
|
||||
@@ -149,6 +152,7 @@ struct cam_cdm_bl_request {
|
||||
void *userdata;
|
||||
enum cam_cdm_bl_cmd_addr_type type;
|
||||
uint32_t cmd_arrary_count;
|
||||
struct cam_kmd_buf_info *genirq_buff;
|
||||
uint64_t cookie;
|
||||
struct cam_cdm_bl_cmd cmd[1];
|
||||
};
|
||||
|
Reference in New Issue
Block a user