drm: shmobile: remove unused MERAM support
Since commit a521422ea4
("ARM: shmobile: mackerel: Remove Legacy C
board code") MERAM functionality is unused. Remove it.
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
This commit is contained in:
parent
9076aa994a
commit
e7deb3c774
@ -2,7 +2,6 @@ config DRM_SHMOBILE
|
|||||||
tristate "DRM Support for SH Mobile"
|
tristate "DRM Support for SH Mobile"
|
||||||
depends on DRM && ARM
|
depends on DRM && ARM
|
||||||
depends on ARCH_SHMOBILE || COMPILE_TEST
|
depends on ARCH_SHMOBILE || COMPILE_TEST
|
||||||
depends on FB_SH_MOBILE_MERAM || !FB_SH_MOBILE_MERAM
|
|
||||||
select BACKLIGHT_CLASS_DEVICE
|
select BACKLIGHT_CLASS_DEVICE
|
||||||
select BACKLIGHT_LCD_SUPPORT
|
select BACKLIGHT_LCD_SUPPORT
|
||||||
select DRM_KMS_HELPER
|
select DRM_KMS_HELPER
|
||||||
|
@ -21,8 +21,6 @@
|
|||||||
#include <drm/drm_gem_cma_helper.h>
|
#include <drm/drm_gem_cma_helper.h>
|
||||||
#include <drm/drm_plane_helper.h>
|
#include <drm/drm_plane_helper.h>
|
||||||
|
|
||||||
#include <video/sh_mobile_meram.h>
|
|
||||||
|
|
||||||
#include "shmob_drm_backlight.h"
|
#include "shmob_drm_backlight.h"
|
||||||
#include "shmob_drm_crtc.h"
|
#include "shmob_drm_crtc.h"
|
||||||
#include "shmob_drm_drv.h"
|
#include "shmob_drm_drv.h"
|
||||||
@ -47,20 +45,12 @@ static int shmob_drm_clk_on(struct shmob_drm_device *sdev)
|
|||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#if 0
|
|
||||||
if (sdev->meram_dev && sdev->meram_dev->pdev)
|
|
||||||
pm_runtime_get_sync(&sdev->meram_dev->pdev->dev);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void shmob_drm_clk_off(struct shmob_drm_device *sdev)
|
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)
|
if (sdev->clock)
|
||||||
clk_disable_unprepare(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)
|
if (!scrtc->started)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Disable the MERAM cache. */
|
|
||||||
if (scrtc->cache) {
|
|
||||||
sh_mobile_meram_cache_free(sdev->meram, scrtc->cache);
|
|
||||||
scrtc->cache = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Stop the LCDC. */
|
/* Stop the LCDC. */
|
||||||
shmob_drm_crtc_start_stop(scrtc, false);
|
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_crtc *crtc = &scrtc->crtc;
|
||||||
struct drm_framebuffer *fb = crtc->primary->fb;
|
struct drm_framebuffer *fb = crtc->primary->fb;
|
||||||
struct shmob_drm_device *sdev = crtc->dev->dev_private;
|
|
||||||
struct drm_gem_cma_object *gem;
|
struct drm_gem_cma_object *gem;
|
||||||
unsigned int bpp;
|
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]
|
+ y / (bpp == 4 ? 2 : 1) * fb->pitches[1]
|
||||||
+ x * (bpp == 16 ? 2 : 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)
|
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_crtc *scrtc = to_shmob_crtc(crtc);
|
||||||
struct shmob_drm_device *sdev = crtc->dev->dev_private;
|
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;
|
const struct shmob_drm_format_info *format;
|
||||||
void *cache;
|
|
||||||
|
|
||||||
format = shmob_drm_format_info(crtc->primary->fb->format->format);
|
format = shmob_drm_format_info(crtc->primary->fb->format->format);
|
||||||
if (format == NULL) {
|
if (format == NULL) {
|
||||||
@ -386,24 +362,6 @@ static int shmob_drm_crtc_mode_set(struct drm_crtc *crtc,
|
|||||||
scrtc->format = format;
|
scrtc->format = format;
|
||||||
scrtc->line_size = crtc->primary->fb->pitches[0];
|
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);
|
shmob_drm_crtc_compute_base(scrtc, x, y);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -28,7 +28,6 @@ struct shmob_drm_crtc {
|
|||||||
int dpms;
|
int dpms;
|
||||||
|
|
||||||
const struct shmob_drm_format_info *format;
|
const struct shmob_drm_format_info *format;
|
||||||
void *cache;
|
|
||||||
unsigned long dma[2];
|
unsigned long dma[2];
|
||||||
unsigned int line_size;
|
unsigned int line_size;
|
||||||
bool started;
|
bool started;
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
struct clk;
|
struct clk;
|
||||||
struct device;
|
struct device;
|
||||||
struct drm_device;
|
struct drm_device;
|
||||||
struct sh_mobile_meram_info;
|
|
||||||
|
|
||||||
struct shmob_drm_device {
|
struct shmob_drm_device {
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
@ -31,7 +30,6 @@ struct shmob_drm_device {
|
|||||||
|
|
||||||
void __iomem *mmio;
|
void __iomem *mmio;
|
||||||
struct clk *clock;
|
struct clk *clock;
|
||||||
struct sh_mobile_meram_info *meram;
|
|
||||||
u32 lddckr;
|
u32 lddckr;
|
||||||
u32 ldmt1r;
|
u32 ldmt1r;
|
||||||
|
|
||||||
|
@ -18,8 +18,6 @@
|
|||||||
#include <drm/drm_gem_cma_helper.h>
|
#include <drm/drm_gem_cma_helper.h>
|
||||||
#include <drm/drm_gem_framebuffer_helper.h>
|
#include <drm/drm_gem_framebuffer_helper.h>
|
||||||
|
|
||||||
#include <video/sh_mobile_meram.h>
|
|
||||||
|
|
||||||
#include "shmob_drm_crtc.h"
|
#include "shmob_drm_crtc.h"
|
||||||
#include "shmob_drm_drv.h"
|
#include "shmob_drm_drv.h"
|
||||||
#include "shmob_drm_kms.h"
|
#include "shmob_drm_kms.h"
|
||||||
@ -35,55 +33,46 @@ static const struct shmob_drm_format_info shmob_drm_format_infos[] = {
|
|||||||
.bpp = 16,
|
.bpp = 16,
|
||||||
.yuv = false,
|
.yuv = false,
|
||||||
.lddfr = LDDFR_PKF_RGB16,
|
.lddfr = LDDFR_PKF_RGB16,
|
||||||
.meram = SH_MOBILE_MERAM_PF_RGB,
|
|
||||||
}, {
|
}, {
|
||||||
.fourcc = DRM_FORMAT_RGB888,
|
.fourcc = DRM_FORMAT_RGB888,
|
||||||
.bpp = 24,
|
.bpp = 24,
|
||||||
.yuv = false,
|
.yuv = false,
|
||||||
.lddfr = LDDFR_PKF_RGB24,
|
.lddfr = LDDFR_PKF_RGB24,
|
||||||
.meram = SH_MOBILE_MERAM_PF_RGB,
|
|
||||||
}, {
|
}, {
|
||||||
.fourcc = DRM_FORMAT_ARGB8888,
|
.fourcc = DRM_FORMAT_ARGB8888,
|
||||||
.bpp = 32,
|
.bpp = 32,
|
||||||
.yuv = false,
|
.yuv = false,
|
||||||
.lddfr = LDDFR_PKF_ARGB32,
|
.lddfr = LDDFR_PKF_ARGB32,
|
||||||
.meram = SH_MOBILE_MERAM_PF_RGB,
|
|
||||||
}, {
|
}, {
|
||||||
.fourcc = DRM_FORMAT_NV12,
|
.fourcc = DRM_FORMAT_NV12,
|
||||||
.bpp = 12,
|
.bpp = 12,
|
||||||
.yuv = true,
|
.yuv = true,
|
||||||
.lddfr = LDDFR_CC | LDDFR_YF_420,
|
.lddfr = LDDFR_CC | LDDFR_YF_420,
|
||||||
.meram = SH_MOBILE_MERAM_PF_NV,
|
|
||||||
}, {
|
}, {
|
||||||
.fourcc = DRM_FORMAT_NV21,
|
.fourcc = DRM_FORMAT_NV21,
|
||||||
.bpp = 12,
|
.bpp = 12,
|
||||||
.yuv = true,
|
.yuv = true,
|
||||||
.lddfr = LDDFR_CC | LDDFR_YF_420,
|
.lddfr = LDDFR_CC | LDDFR_YF_420,
|
||||||
.meram = SH_MOBILE_MERAM_PF_NV,
|
|
||||||
}, {
|
}, {
|
||||||
.fourcc = DRM_FORMAT_NV16,
|
.fourcc = DRM_FORMAT_NV16,
|
||||||
.bpp = 16,
|
.bpp = 16,
|
||||||
.yuv = true,
|
.yuv = true,
|
||||||
.lddfr = LDDFR_CC | LDDFR_YF_422,
|
.lddfr = LDDFR_CC | LDDFR_YF_422,
|
||||||
.meram = SH_MOBILE_MERAM_PF_NV,
|
|
||||||
}, {
|
}, {
|
||||||
.fourcc = DRM_FORMAT_NV61,
|
.fourcc = DRM_FORMAT_NV61,
|
||||||
.bpp = 16,
|
.bpp = 16,
|
||||||
.yuv = true,
|
.yuv = true,
|
||||||
.lddfr = LDDFR_CC | LDDFR_YF_422,
|
.lddfr = LDDFR_CC | LDDFR_YF_422,
|
||||||
.meram = SH_MOBILE_MERAM_PF_NV,
|
|
||||||
}, {
|
}, {
|
||||||
.fourcc = DRM_FORMAT_NV24,
|
.fourcc = DRM_FORMAT_NV24,
|
||||||
.bpp = 24,
|
.bpp = 24,
|
||||||
.yuv = true,
|
.yuv = true,
|
||||||
.lddfr = LDDFR_CC | LDDFR_YF_444,
|
.lddfr = LDDFR_CC | LDDFR_YF_444,
|
||||||
.meram = SH_MOBILE_MERAM_PF_NV24,
|
|
||||||
}, {
|
}, {
|
||||||
.fourcc = DRM_FORMAT_NV42,
|
.fourcc = DRM_FORMAT_NV42,
|
||||||
.bpp = 24,
|
.bpp = 24,
|
||||||
.yuv = true,
|
.yuv = true,
|
||||||
.lddfr = LDDFR_CC | LDDFR_YF_444,
|
.lddfr = LDDFR_CC | LDDFR_YF_444,
|
||||||
.meram = SH_MOBILE_MERAM_PF_NV24,
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -24,7 +24,6 @@ struct shmob_drm_format_info {
|
|||||||
unsigned int bpp;
|
unsigned int bpp;
|
||||||
bool yuv;
|
bool yuv;
|
||||||
u32 lddfr;
|
u32 lddfr;
|
||||||
unsigned int meram;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct shmob_drm_format_info *shmob_drm_format_info(u32 fourcc);
|
const struct shmob_drm_format_info *shmob_drm_format_info(u32 fourcc);
|
||||||
|
@ -17,8 +17,6 @@
|
|||||||
#include <drm/drm_fb_cma_helper.h>
|
#include <drm/drm_fb_cma_helper.h>
|
||||||
#include <drm/drm_gem_cma_helper.h>
|
#include <drm/drm_gem_cma_helper.h>
|
||||||
|
|
||||||
#include <video/sh_mobile_meram.h>
|
|
||||||
|
|
||||||
#include "shmob_drm_drv.h"
|
#include "shmob_drm_drv.h"
|
||||||
#include "shmob_drm_kms.h"
|
#include "shmob_drm_kms.h"
|
||||||
#include "shmob_drm_plane.h"
|
#include "shmob_drm_plane.h"
|
||||||
|
@ -18,9 +18,6 @@
|
|||||||
|
|
||||||
#include <drm/drm_mode.h>
|
#include <drm/drm_mode.h>
|
||||||
|
|
||||||
struct sh_mobile_meram_cfg;
|
|
||||||
struct sh_mobile_meram_info;
|
|
||||||
|
|
||||||
enum shmob_drm_clk_source {
|
enum shmob_drm_clk_source {
|
||||||
SHMOB_DRM_CLK_BUS,
|
SHMOB_DRM_CLK_BUS,
|
||||||
SHMOB_DRM_CLK_PERIPHERAL,
|
SHMOB_DRM_CLK_PERIPHERAL,
|
||||||
@ -93,7 +90,6 @@ struct shmob_drm_platform_data {
|
|||||||
struct shmob_drm_interface_data iface;
|
struct shmob_drm_interface_data iface;
|
||||||
struct shmob_drm_panel_data panel;
|
struct shmob_drm_panel_data panel;
|
||||||
struct shmob_drm_backlight_data backlight;
|
struct shmob_drm_backlight_data backlight;
|
||||||
const struct sh_mobile_meram_cfg *meram;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __SHMOB_DRM_H__ */
|
#endif /* __SHMOB_DRM_H__ */
|
||||||
|
Loading…
Reference in New Issue
Block a user