struct ge2d_context_s *ge2d_work_queue;
int empty;
+ if (!ge2d_manager.probe)
+ return NULL;
ge2d_work_queue = kzalloc(sizeof(struct ge2d_context_s), GFP_KERNEL);
ge2d_work_queue->config.h_scale_coef_type = FILTER_TYPE_BILINEAR;
ge2d_work_queue->config.v_scale_coef_type = FILTER_TYPE_BILINEAR;
ge2d_log_err("ge2d create thread error\n");
return -1;
}
-
+ ge2d_manager.probe = 1;
return 0;
}
* more details.
*
*/
+#ifdef CONFIG_SYNC_FILE
#include <linux/file.h>
#include <linux/fs.h>
{
fence_put(fence);
}
+#endif
* more details.
*
*/
-
#ifndef _OSD_SW_SYNC_H
#define _OSD_SW_SYNC_H
+#ifdef CONFIG_SYNC_FILE
+
#include <linux/list.h>
#include <linux/rbtree.h>
#include <linux/spinlock.h>
struct fence *aml_sync_get_fence(int syncfile_fd);
int aml_sync_wait_fence(struct fence *fence, long timeout);
void aml_sync_put_fence(struct fence *fence);
+#endif
+
#endif /* _OSD_SW_SYNC_H */
#ifdef CONFIG_AMLOGIC_LEGACY_EARLY_SUSPEND
register_early_suspend(&video_early_suspend_handler);
#endif
+ video_keeper_init();
return ret;
}
#ifdef CONFIG_AMLOGIC_LEGACY_EARLY_SUSPEND
unregister_early_suspend(&video_early_suspend_handler);
#endif
+ video_keeper_exit();
return 0;
}
switch_dev_register(&video1_state_sdev);
switch_set_state(&video1_state_sdev, 0);
#endif
- video_keeper_init();
#ifdef CONFIG_AM_VIDEO2
set_clone_frame_rate(android_clone_rate, 0);
#endif
return ret;
}
-int __init video_keeper_init(void)
+int video_keeper_init(void)
{
#ifdef CONFIG_AMLOGIC_MEDIA_GE2D
/* video_frame_getmem(); */
#endif
return 0;
}
-void __exit video_keeper_exit(void)
+void video_keeper_exit(void)
{
#ifdef CONFIG_AMLOGIC_MEDIA_GE2D
ge2d_videotask_release();
int irq_num;
int ge2d_state;
int process_queue_state;
+ int probe;
struct platform_device *pdev;
};
void try_free_keep_video(int flags);
void try_free_keep_videopip(int flags);
-int __init video_keeper_init(void);
-void __exit video_keeper_exit(void);
+int video_keeper_init(void);
+void video_keeper_exit(void);
unsigned int vf_keep_current(
struct vframe_s *cur_dispbuf,
struct vframe_s *cur_dispbuf2);