amlvideo2: fix unuse code and bad compare

PD#150094: driver defect clean up:
#32
#86
#90
#92
#97
#101
#103
#152
#155
#157~#158
#164
#167
#169~#179
#187~#191
#193~#199
#201~#210
#212~#213
#316~#319
#385
#572
#693~#694
#696~#697

Change-Id: I9669e5c0d717ee2287faf57a271ff27692039802
Signed-off-by: Guosong Zhou <guosong.zhou@amlogic.com>
This commit is contained in:
Guosong Zhou
2017-09-14 15:49:47 +08:00
committed by Jianxin Pan
parent a0abf7e982
commit 1fab8743b1

View File

@@ -132,6 +132,7 @@ static unsigned int debug;
/* MODULE_PARM_DESC(debug, "activates debug info"); */
#define DEF_FRAMERATE 30
static unsigned int mirror_value;
static unsigned int vid_limit = 32;
module_param(vid_limit, uint, 0644);
@@ -856,7 +857,7 @@ struct amlvideo2_node *node)
int src_top, src_left, src_width, src_height;
int dst_top, dst_left, dst_width, dst_height;
struct canvas_s cs0, cs1, cs2, cd;
int current_mirror = 0;
int current_mirror;
int cur_angle = 0;
int output_canvas = vf->canvas0Addr;
@@ -942,7 +943,7 @@ struct amlvideo2_node *node)
dst_width = output->width;
dst_height = output->height;
current_mirror = 0;
current_mirror = mirror_value;
cur_angle = output->angle;
if (current_mirror == 1)
cur_angle = (360 - cur_angle % 360);
@@ -1307,7 +1308,7 @@ struct amlvideo2_node *node)
dst_width = output->width;
dst_height = output->height;
current_mirror = 0;
current_mirror = mirror_value;
cur_angle = output->angle;
if (current_mirror == 1)
cur_angle = (360 - cur_angle % 360);
@@ -1600,7 +1601,7 @@ struct amlvideo2_node *node)
int src_top, src_left, src_width, src_height;
int dst_top, dst_left, dst_width, dst_height;
struct canvas_s cs0, cs1, cs2, cd;
int current_mirror = 0;
int current_mirror;
int cur_angle = 0;
int output_canvas = output->canvas_id;
@@ -1681,7 +1682,7 @@ struct amlvideo2_node *node)
dst_width = output->width;
dst_height = output->height;
current_mirror = 0;
current_mirror = mirror_value;
cur_angle = output->angle;
if (current_mirror == 1)
cur_angle = (360 - cur_angle % 360);
@@ -2001,7 +2002,7 @@ struct amlvideo2_node *node)
int src_top, src_left, src_width, src_height;
int dst_top, dst_left, dst_width, dst_height;
struct canvas_s cs0, cs1, cs2, cd;
int current_mirror = 0;
int current_mirror;
int cur_angle = 0;
int output_canvas = output->canvas_id;
@@ -2083,7 +2084,7 @@ struct amlvideo2_node *node)
dst_width = output->width;
dst_height = output->height;
current_mirror = 0;
current_mirror = mirror_value;
cur_angle = output->angle;
if (current_mirror == 1)
cur_angle = (360 - cur_angle % 360);
@@ -2401,7 +2402,7 @@ struct amlvideo2_node *node)
int src_top, src_left, src_width, src_height;
int dst_top, dst_left, dst_width, dst_height;
struct canvas_s cs0, cs1, cs2, cd;
int current_mirror = 0;
int current_mirror;
int cur_angle = 0;
int output_canvas = output->canvas_id;
@@ -2483,7 +2484,7 @@ struct amlvideo2_node *node)
dst_width = output->width;
dst_height = output->height;
current_mirror = 0;
current_mirror = mirror_value;
cur_angle = output->angle;
if (current_mirror == 1)
cur_angle = (360 - cur_angle % 360);
@@ -2802,7 +2803,7 @@ int amlvideo2_ge2d_multi_pre_process(struct vframe_s *vf,
int src_top, src_left, src_width, src_height;
int dst_top, dst_left, dst_width, dst_height;
struct canvas_s cs0, cs1, cs2, cd;
int current_mirror = 0;
int current_mirror;
int cur_angle = 0;
int output_canvas = output->canvas_id;
int temp_canvas = AMLVIDEO2_1_RES_CANVAS + 8;
@@ -2851,7 +2852,7 @@ int amlvideo2_ge2d_multi_pre_process(struct vframe_s *vf,
dst_width = output->width;
dst_height = output->height;
current_mirror = 0;
current_mirror = mirror_value;
cur_angle = 0;
@@ -3010,7 +3011,7 @@ int amlvideo2_ge2d_pre_process(struct vframe_s *vf,
int src_top, src_left, src_width, src_height;
int dst_top, dst_left, dst_width, dst_height;
struct canvas_s cs0, cs1, cs2, cd;
int current_mirror = 0;
int current_mirror;
int cur_angle = 0;
int output_canvas = output->canvas_id;
@@ -3091,7 +3092,7 @@ int amlvideo2_ge2d_pre_process(struct vframe_s *vf,
dst_width = output->width;
dst_height = output->height;
current_mirror = 0;
current_mirror = mirror_value;
cur_angle = output->angle;
if (current_mirror == 1)
cur_angle = (360 - cur_angle % 360);
@@ -3400,11 +3401,6 @@ int amlvideo2_ge2d_pre_process(struct vframe_s *vf,
return output_canvas;
}
int amlvideo2_sw_post_process(int canvas, void *addr)
{
return 0;
}
static int amlvideo2_fillbuff(struct amlvideo2_fh *fh,
struct amlvideo2_node_buffer *buf,
struct vframe_s *vf)
@@ -3414,9 +3410,7 @@ static int amlvideo2_fillbuff(struct amlvideo2_fh *fh,
struct amlvideo2_node *node = fh->node;
void *vbuf = NULL;
int src_canvas = -1;
int magic = 0;
int ge2d_proc = 0;
int sw_proc = 0;
vbuf = (void *)videobuf_to_res(&buf->vb);
@@ -3438,43 +3432,12 @@ static int amlvideo2_fillbuff(struct amlvideo2_fh *fh,
memcpy(&output.info.display_info, &(node->display_info),
sizeof(struct vdisplay_info_s));
magic = MAGIC_RE_MEM;
switch (magic) {
case MAGIC_RE_MEM:
/* #if MESON_CPU_TYPE >= MESON_CPU_TYPE_MESON8 */
#if 1
if (output.canvas_id == 0) {
output.canvas_id = get_amlvideo2_canvas_index(
if (output.canvas_id == 0) {
output.canvas_id = get_amlvideo2_canvas_index(
&output, (node->vid == 0) ?
(AMLVIDEO2_RES0_CANVAS_INDEX + buf->vb.i * 3) :
(AMLVIDEO2_RES1_CANVAS_INDEX + buf->vb.i * 3));
buf->canvas_id = output.canvas_id;
}
#else
#ifdef MULTI_NODE
output.canvas_id =
get_amlvideo2_canvas_index(
&output, (node->vid == 0)
? AMLVIDEO2_RES0_CANVAS_INDEX
: AMLVIDEO2_RES1_CANVAS_INDEX);
#else
output.canvas_id =
get_amlvideo2_canvas_index(
&output, AMLVIDEO2_RES0_CANVAS_INDEX);
#endif
#endif
break;
case MAGIC_VMAL_MEM:
/* canvas_index =
* get_amlvideo2_canvas_index(
* v4l2_format,&depth);
*/
/* sw_proc = 1; */
/* break; */
case MAGIC_DC_MEM:
case MAGIC_SG_MEM:
default:
return -1;
buf->canvas_id = output.canvas_id;
}
switch (output.v4l2_format) {
@@ -3534,9 +3497,6 @@ static int amlvideo2_fillbuff(struct amlvideo2_fh *fh,
}
}
if ((sw_proc) && (src_canvas > 0))
amlvideo2_sw_post_process(src_canvas, vbuf);
buf->vb.state = VIDEOBUF_DONE;
/* do_gettimeofday(&buf->vb.ts); */
return 0;
@@ -4184,10 +4144,9 @@ enum aml_provider_type_e get_provider_type(const char *name)
return type;
}
enum aml_provider_type_e get_sub_receiver_type(const char *name)
enum aml_receiver_type_e get_sub_receiver_type(const char *name)
{
enum aml_provider_type_e type = AML_RECEIVER_NONE;
enum aml_receiver_type_e type = AML_RECEIVER_NONE;
if (!name)
return type;
if (strncasecmp(name, "ppmgr", 5) == 0) {
@@ -4855,6 +4814,7 @@ int amlvideo2_notify_callback(struct notifier_block *block, unsigned long cmd,
int i;
int index = 0;
int ret = 0;
int i_ret = 0;
for (i = 0; i < AMLVIDEO2_MAX_NODE; i++) {
if ((gAmlvideo2_Node[i] != NULL) &&
@@ -4869,7 +4829,9 @@ int amlvideo2_notify_callback(struct notifier_block *block, unsigned long cmd,
return ret;
node = gAmlvideo2_Node[index];
if ((node != NULL) && (!node->users))
if (node == NULL)
return ret;
if (!(node->users))
return ret;
mutex_lock(&node->mutex);
@@ -4877,15 +4839,17 @@ int amlvideo2_notify_callback(struct notifier_block *block, unsigned long cmd,
case VOUT_EVENT_MODE_CHANGE:
pr_info("mode changed in amlvideo2 .\n");
vfp = vf_get_provider(node->recv.name);
if ((node == NULL) || (vfp == NULL) ||
if ((vfp == NULL) ||
(!node->fh->is_streamed_on)) {
pr_info("driver is not ready or not need to screencap.\n");
mutex_unlock(&node->mutex);
return ret;
}
node->pflag = true;
wait_for_completion_timeout(&node->plug_sema,
i_ret = wait_for_completion_timeout(&node->plug_sema,
msecs_to_jiffies(150));
if (i_ret == 0)
return 0;
if (amlvideo2_dbg_en)
pr_info("finish wait plug sema .\n");
/* if local queue have vf , should give back to provider */
@@ -5327,7 +5291,7 @@ static int vidioc_s_output(struct file *file, void *fh,
{
struct amlvideo2_node *node = video_drvdata(file);
if ((mode < AML_SCREEN_MODE_RATIO) || (mode > AML_SCREEN_MODE_MAX))
if (mode > AML_SCREEN_MODE_MAX)
return -1;
node->mode = (enum aml_screen_mode_e)mode;
return 0;
@@ -5689,6 +5653,9 @@ static int amlvideo2_receiver_event_fun(int type, void *data,
struct vframe_states frame_states;
const char *name = (node->vid == 0) ? DEVICE_NAME0 : DEVICE_NAME1;
memset(&states, 0, sizeof(struct vframe_states));
memset(&frame_states, 0, sizeof(struct vframe_states));
switch (type) {
case VFRAME_EVENT_PROVIDER_VFRAME_READY:
node->provide_ready = 1;