void msm_camio_set_perf_lvl(enum msm_bus_perf_setting perf_setting) { switch (perf_setting) { case S_INIT: add_axi_qos(); break; case S_PREVIEW: update_axi_qos(MSM_AXI_QOS_PREVIEW); axi_allocate(AXI_FLOW_VIEWFINDER_HI); break; case S_VIDEO: update_axi_qos(MSM_AXI_QOS_RECORDING); break; case S_CAPTURE: update_axi_qos(MSM_AXI_QOS_SNAPSHOT); break; case S_DEFAULT: update_axi_qos(PM_QOS_DEFAULT_VALUE); break; case S_EXIT: axi_free(AXI_FLOW_VIEWFINDER_HI); release_axi_qos(); break; default: CDBG("%s: INVALID CASE\n", __func__); } }
static void vfe_release(struct platform_device *dev) { msm_camio_disable(dev); vfe_cmd_release(dev); update_axi_qos(PM_QOS_DEFAULT_VALUE); /* release AXI frequency request */ release_axi_qos(); vfe_syncdata = NULL; }
static void vfe_release(struct platform_device *dev) { msm_camio_disable(dev); vfe_cmd_release(dev); mutex_lock(&vfe_lock); vfe_syncdata = NULL; mutex_unlock(&vfe_lock); /* request AXI bus for camera */ release_axi_qos(); }