|
@@ -21,8 +21,6 @@
|
|
|
#include <drm/drm_gem_cma_helper.h>
|
|
|
#include <drm/drm_plane_helper.h>
|
|
|
|
|
|
-#include <video/sh_mobile_meram.h>
|
|
|
-
|
|
|
#include "shmob_drm_backlight.h"
|
|
|
#include "shmob_drm_crtc.h"
|
|
|
#include "shmob_drm_drv.h"
|
|
@@ -47,20 +45,12 @@ static int shmob_drm_clk_on(struct shmob_drm_device *sdev)
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
}
|
|
|
-#if 0
|
|
|
- if (sdev->meram_dev && sdev->meram_dev->pdev)
|
|
|
- pm_runtime_get_sync(&sdev->meram_dev->pdev->dev);
|
|
|
-#endif
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
static void shmob_drm_clk_off(struct shmob_drm_device *sdev)
|
|
|
{
|
|
|
-#if 0
|
|
|
- if (sdev->meram_dev && sdev->meram_dev->pdev)
|
|
|
- pm_runtime_put_sync(&sdev->meram_dev->pdev->dev);
|
|
|
-#endif
|
|
|
if (sdev->clock)
|
|
|
clk_disable_unprepare(sdev->clock);
|
|
|
}
|
|
@@ -269,12 +259,6 @@ static void shmob_drm_crtc_stop(struct shmob_drm_crtc *scrtc)
|
|
|
if (!scrtc->started)
|
|
|
return;
|
|
|
|
|
|
- /* Disable the MERAM cache. */
|
|
|
- if (scrtc->cache) {
|
|
|
- sh_mobile_meram_cache_free(sdev->meram, scrtc->cache);
|
|
|
- scrtc->cache = NULL;
|
|
|
- }
|
|
|
-
|
|
|
/* Stop the LCDC. */
|
|
|
shmob_drm_crtc_start_stop(scrtc, false);
|
|
|
|
|
@@ -305,7 +289,6 @@ static void shmob_drm_crtc_compute_base(struct shmob_drm_crtc *scrtc,
|
|
|
{
|
|
|
struct drm_crtc *crtc = &scrtc->crtc;
|
|
|
struct drm_framebuffer *fb = crtc->primary->fb;
|
|
|
- struct shmob_drm_device *sdev = crtc->dev->dev_private;
|
|
|
struct drm_gem_cma_object *gem;
|
|
|
unsigned int bpp;
|
|
|
|
|
@@ -321,11 +304,6 @@ static void shmob_drm_crtc_compute_base(struct shmob_drm_crtc *scrtc,
|
|
|
+ y / (bpp == 4 ? 2 : 1) * fb->pitches[1]
|
|
|
+ x * (bpp == 16 ? 2 : 1);
|
|
|
}
|
|
|
-
|
|
|
- if (scrtc->cache)
|
|
|
- sh_mobile_meram_cache_update(sdev->meram, scrtc->cache,
|
|
|
- scrtc->dma[0], scrtc->dma[1],
|
|
|
- &scrtc->dma[0], &scrtc->dma[1]);
|
|
|
}
|
|
|
|
|
|
static void shmob_drm_crtc_update_base(struct shmob_drm_crtc *scrtc)
|
|
@@ -372,9 +350,7 @@ static int shmob_drm_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
{
|
|
|
struct shmob_drm_crtc *scrtc = to_shmob_crtc(crtc);
|
|
|
struct shmob_drm_device *sdev = crtc->dev->dev_private;
|
|
|
- const struct sh_mobile_meram_cfg *mdata = sdev->pdata->meram;
|
|
|
const struct shmob_drm_format_info *format;
|
|
|
- void *cache;
|
|
|
|
|
|
format = shmob_drm_format_info(crtc->primary->fb->format->format);
|
|
|
if (format == NULL) {
|
|
@@ -386,24 +362,6 @@ static int shmob_drm_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
scrtc->format = format;
|
|
|
scrtc->line_size = crtc->primary->fb->pitches[0];
|
|
|
|
|
|
- if (sdev->meram) {
|
|
|
- /* Enable MERAM cache if configured. We need to de-init
|
|
|
- * configured ICBs before we can re-initialize them.
|
|
|
- */
|
|
|
- if (scrtc->cache) {
|
|
|
- sh_mobile_meram_cache_free(sdev->meram, scrtc->cache);
|
|
|
- scrtc->cache = NULL;
|
|
|
- }
|
|
|
-
|
|
|
- cache = sh_mobile_meram_cache_alloc(sdev->meram, mdata,
|
|
|
- crtc->primary->fb->pitches[0],
|
|
|
- adjusted_mode->vdisplay,
|
|
|
- format->meram,
|
|
|
- &scrtc->line_size);
|
|
|
- if (!IS_ERR(cache))
|
|
|
- scrtc->cache = cache;
|
|
|
- }
|
|
|
-
|
|
|
shmob_drm_crtc_compute_base(scrtc, x, y);
|
|
|
|
|
|
return 0;
|