diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2016-08-16 10:20:23 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-08-16 10:20:23 -0700 |
| commit | 0c58ca5d7394d04a5a447fc3665f6ee645ff07aa (patch) | |
| tree | 9c0c1f92211560017fea56de15bdb61f3758d876 | |
| parent | 281eaadfac53aca13382c28c450df72ee55fe676 (diff) | |
| parent | 4b2c1679b15de4bf2c135c2046b3820092c42daf (diff) | |
Merge "msm: camera: jpeg: Set no memory retention"
| -rw-r--r-- | drivers/media/platform/msm/camera_v2/jpeg_10/msm_jpeg_platform.c | 14 | ||||
| -rw-r--r-- | drivers/media/platform/msm/camera_v2/jpeg_dma/msm_jpeg_dma_dev.c | 15 |
2 files changed, 29 insertions, 0 deletions
diff --git a/drivers/media/platform/msm/camera_v2/jpeg_10/msm_jpeg_platform.c b/drivers/media/platform/msm/camera_v2/jpeg_10/msm_jpeg_platform.c index 266a5a6be2a2..d56d246b3c91 100644 --- a/drivers/media/platform/msm/camera_v2/jpeg_10/msm_jpeg_platform.c +++ b/drivers/media/platform/msm/camera_v2/jpeg_10/msm_jpeg_platform.c @@ -319,6 +319,7 @@ err_reg_enable: int msm_jpeg_platform_setup(struct msm_jpeg_device *pgmn_dev) { int rc = -1; + int i; struct resource *jpeg_irq_res; void *jpeg_base, *vbif_base; struct platform_device *pdev = pgmn_dev->pdev; @@ -356,6 +357,19 @@ int msm_jpeg_platform_setup(struct msm_jpeg_device *pgmn_dev) goto err_jpeg_clk; } + /*set memcore and mem periphery logic flags to 0*/ + for (i = 0; i < pgmn_dev->num_clk; i++) { + if ((strcmp(pgmn_dev->jpeg_clk_info[i].clk_name, + "core_clk") == 0) || + (strcmp(pgmn_dev->jpeg_clk_info[i].clk_name, + "mmss_camss_jpeg_axi_clk") == 0)) { + msm_camera_set_clk_flags(pgmn_dev->jpeg_clk[i], + CLKFLAG_NORETAIN_MEM); + msm_camera_set_clk_flags(pgmn_dev->jpeg_clk[i], + CLKFLAG_NORETAIN_PERIPH); + } + } + /* get all the regulators information */ rc = msm_camera_get_regulator_info(pdev, &pgmn_dev->jpeg_vdd, &pgmn_dev->num_reg); diff --git a/drivers/media/platform/msm/camera_v2/jpeg_dma/msm_jpeg_dma_dev.c b/drivers/media/platform/msm/camera_v2/jpeg_dma/msm_jpeg_dma_dev.c index b8840115b674..63d7e715162b 100644 --- a/drivers/media/platform/msm/camera_v2/jpeg_dma/msm_jpeg_dma_dev.c +++ b/drivers/media/platform/msm/camera_v2/jpeg_dma/msm_jpeg_dma_dev.c @@ -24,6 +24,7 @@ #include <media/videobuf2-core.h> #include <media/v4l2-mem2mem.h> #include <media/msm_jpeg_dma.h> +#include <linux/clk/msm-clk.h> #include "msm_jpeg_dma_dev.h" #include "msm_jpeg_dma_hw.h" @@ -1258,6 +1259,7 @@ static int jpegdma_probe(struct platform_device *pdev) { struct msm_jpegdma_device *jpegdma; int ret; + int i; dev_dbg(&pdev->dev, "jpeg v4l2 DMA probed\n"); /* Jpeg dma device struct */ @@ -1293,6 +1295,19 @@ static int jpegdma_probe(struct platform_device *pdev) if (ret < 0) goto error_get_clocks; + /*set memcore and mem periphery logic flags to 0*/ + for (i = 0; i < jpegdma->num_clk; i++) { + if ((strcmp(jpegdma->jpeg_clk_info[i].clk_name, + "core_clk") == 0) || + (strcmp(jpegdma->jpeg_clk_info[i].clk_name, + "mmss_camss_jpeg_axi_clk") == 0)) { + msm_camera_set_clk_flags(jpegdma->clk[i], + CLKFLAG_NORETAIN_MEM); + msm_camera_set_clk_flags(jpegdma->clk[i], + CLKFLAG_NORETAIN_PERIPH); + } + } + ret = msm_jpegdma_hw_get_qos(jpegdma); if (ret < 0) goto error_qos_get; |
