video: exynos_fb: Make fimd_ctrl global
fimd_ctrl variable was redundantly defined across all the functions in the driver even though it contains just the same address. We make it global and initialize it in exynos_fimd_lcd_init. From then on, other funtions can use the data in the global variable. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
parent
c18222bee8
commit
47ff6073a8
|
@ -32,6 +32,7 @@
|
||||||
|
|
||||||
static unsigned long *lcd_base_addr;
|
static unsigned long *lcd_base_addr;
|
||||||
static vidinfo_t *pvid;
|
static vidinfo_t *pvid;
|
||||||
|
static struct exynos_fb *fimd_ctrl;
|
||||||
|
|
||||||
void exynos_fimd_lcd_init_mem(u_long screen_base, u_long fb_size,
|
void exynos_fimd_lcd_init_mem(u_long screen_base, u_long fb_size,
|
||||||
u_long palette_size)
|
u_long palette_size)
|
||||||
|
@ -41,8 +42,6 @@ void exynos_fimd_lcd_init_mem(u_long screen_base, u_long fb_size,
|
||||||
|
|
||||||
static void exynos_fimd_set_dualrgb(unsigned int enabled)
|
static void exynos_fimd_set_dualrgb(unsigned int enabled)
|
||||||
{
|
{
|
||||||
struct exynos_fb *fimd_ctrl =
|
|
||||||
(struct exynos_fb *)samsung_get_base_fimd();
|
|
||||||
unsigned int cfg = 0;
|
unsigned int cfg = 0;
|
||||||
|
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
|
@ -59,9 +58,6 @@ static void exynos_fimd_set_dualrgb(unsigned int enabled)
|
||||||
|
|
||||||
static void exynos_fimd_set_dp_clkcon(unsigned int enabled)
|
static void exynos_fimd_set_dp_clkcon(unsigned int enabled)
|
||||||
{
|
{
|
||||||
|
|
||||||
struct exynos_fb *fimd_ctrl =
|
|
||||||
(struct exynos_fb *)samsung_get_base_fimd();
|
|
||||||
unsigned int cfg = 0;
|
unsigned int cfg = 0;
|
||||||
|
|
||||||
if (enabled)
|
if (enabled)
|
||||||
|
@ -73,8 +69,6 @@ static void exynos_fimd_set_dp_clkcon(unsigned int enabled)
|
||||||
static void exynos_fimd_set_par(unsigned int win_id)
|
static void exynos_fimd_set_par(unsigned int win_id)
|
||||||
{
|
{
|
||||||
unsigned int cfg = 0;
|
unsigned int cfg = 0;
|
||||||
struct exynos_fb *fimd_ctrl =
|
|
||||||
(struct exynos_fb *)samsung_get_base_fimd();
|
|
||||||
|
|
||||||
/* set window control */
|
/* set window control */
|
||||||
cfg = readl((unsigned int)&fimd_ctrl->wincon0 +
|
cfg = readl((unsigned int)&fimd_ctrl->wincon0 +
|
||||||
|
@ -126,8 +120,6 @@ static void exynos_fimd_set_par(unsigned int win_id)
|
||||||
static void exynos_fimd_set_buffer_address(unsigned int win_id)
|
static void exynos_fimd_set_buffer_address(unsigned int win_id)
|
||||||
{
|
{
|
||||||
unsigned long start_addr, end_addr;
|
unsigned long start_addr, end_addr;
|
||||||
struct exynos_fb *fimd_ctrl =
|
|
||||||
(struct exynos_fb *)samsung_get_base_fimd();
|
|
||||||
|
|
||||||
start_addr = (unsigned long)lcd_base_addr;
|
start_addr = (unsigned long)lcd_base_addr;
|
||||||
end_addr = start_addr + ((pvid->vl_col * (NBITS(pvid->vl_bpix) / 8)) *
|
end_addr = start_addr + ((pvid->vl_col * (NBITS(pvid->vl_bpix) / 8)) *
|
||||||
|
@ -144,8 +136,6 @@ static void exynos_fimd_set_clock(vidinfo_t *pvid)
|
||||||
unsigned int cfg = 0, div = 0, remainder, remainder_div;
|
unsigned int cfg = 0, div = 0, remainder, remainder_div;
|
||||||
unsigned long pixel_clock;
|
unsigned long pixel_clock;
|
||||||
unsigned long long src_clock;
|
unsigned long long src_clock;
|
||||||
struct exynos_fb *fimd_ctrl =
|
|
||||||
(struct exynos_fb *)samsung_get_base_fimd();
|
|
||||||
|
|
||||||
if (pvid->dual_lcd_enabled) {
|
if (pvid->dual_lcd_enabled) {
|
||||||
pixel_clock = pvid->vl_freq *
|
pixel_clock = pvid->vl_freq *
|
||||||
|
@ -197,8 +187,6 @@ static void exynos_fimd_set_clock(vidinfo_t *pvid)
|
||||||
void exynos_set_trigger(void)
|
void exynos_set_trigger(void)
|
||||||
{
|
{
|
||||||
unsigned int cfg = 0;
|
unsigned int cfg = 0;
|
||||||
struct exynos_fb *fimd_ctrl =
|
|
||||||
(struct exynos_fb *)samsung_get_base_fimd();
|
|
||||||
|
|
||||||
cfg = readl(&fimd_ctrl->trigcon);
|
cfg = readl(&fimd_ctrl->trigcon);
|
||||||
|
|
||||||
|
@ -211,8 +199,6 @@ int exynos_is_i80_frame_done(void)
|
||||||
{
|
{
|
||||||
unsigned int cfg = 0;
|
unsigned int cfg = 0;
|
||||||
int status;
|
int status;
|
||||||
struct exynos_fb *fimd_ctrl =
|
|
||||||
(struct exynos_fb *)samsung_get_base_fimd();
|
|
||||||
|
|
||||||
cfg = readl(&fimd_ctrl->trigcon);
|
cfg = readl(&fimd_ctrl->trigcon);
|
||||||
|
|
||||||
|
@ -226,8 +212,6 @@ int exynos_is_i80_frame_done(void)
|
||||||
static void exynos_fimd_lcd_on(void)
|
static void exynos_fimd_lcd_on(void)
|
||||||
{
|
{
|
||||||
unsigned int cfg = 0;
|
unsigned int cfg = 0;
|
||||||
struct exynos_fb *fimd_ctrl =
|
|
||||||
(struct exynos_fb *)samsung_get_base_fimd();
|
|
||||||
|
|
||||||
/* display on */
|
/* display on */
|
||||||
cfg = readl(&fimd_ctrl->vidcon0);
|
cfg = readl(&fimd_ctrl->vidcon0);
|
||||||
|
@ -238,8 +222,6 @@ static void exynos_fimd_lcd_on(void)
|
||||||
static void exynos_fimd_window_on(unsigned int win_id)
|
static void exynos_fimd_window_on(unsigned int win_id)
|
||||||
{
|
{
|
||||||
unsigned int cfg = 0;
|
unsigned int cfg = 0;
|
||||||
struct exynos_fb *fimd_ctrl =
|
|
||||||
(struct exynos_fb *)samsung_get_base_fimd();
|
|
||||||
|
|
||||||
/* enable window */
|
/* enable window */
|
||||||
cfg = readl((unsigned int)&fimd_ctrl->wincon0 +
|
cfg = readl((unsigned int)&fimd_ctrl->wincon0 +
|
||||||
|
@ -256,8 +238,6 @@ static void exynos_fimd_window_on(unsigned int win_id)
|
||||||
void exynos_fimd_lcd_off(void)
|
void exynos_fimd_lcd_off(void)
|
||||||
{
|
{
|
||||||
unsigned int cfg = 0;
|
unsigned int cfg = 0;
|
||||||
struct exynos_fb *fimd_ctrl =
|
|
||||||
(struct exynos_fb *)samsung_get_base_fimd();
|
|
||||||
|
|
||||||
cfg = readl(&fimd_ctrl->vidcon0);
|
cfg = readl(&fimd_ctrl->vidcon0);
|
||||||
cfg &= (EXYNOS_VIDCON0_ENVID_DISABLE | EXYNOS_VIDCON0_ENVID_F_DISABLE);
|
cfg &= (EXYNOS_VIDCON0_ENVID_DISABLE | EXYNOS_VIDCON0_ENVID_F_DISABLE);
|
||||||
|
@ -267,8 +247,6 @@ void exynos_fimd_lcd_off(void)
|
||||||
void exynos_fimd_window_off(unsigned int win_id)
|
void exynos_fimd_window_off(unsigned int win_id)
|
||||||
{
|
{
|
||||||
unsigned int cfg = 0;
|
unsigned int cfg = 0;
|
||||||
struct exynos_fb *fimd_ctrl =
|
|
||||||
(struct exynos_fb *)samsung_get_base_fimd();
|
|
||||||
|
|
||||||
cfg = readl((unsigned int)&fimd_ctrl->wincon0 +
|
cfg = readl((unsigned int)&fimd_ctrl->wincon0 +
|
||||||
EXYNOS_WINCON(win_id));
|
EXYNOS_WINCON(win_id));
|
||||||
|
@ -286,8 +264,7 @@ void exynos_fimd_lcd_init(vidinfo_t *vid)
|
||||||
{
|
{
|
||||||
unsigned int cfg = 0, rgb_mode;
|
unsigned int cfg = 0, rgb_mode;
|
||||||
unsigned int offset;
|
unsigned int offset;
|
||||||
struct exynos_fb *fimd_ctrl =
|
fimd_ctrl = (struct exynos_fb *)samsung_get_base_fimd();
|
||||||
(struct exynos_fb *)samsung_get_base_fimd();
|
|
||||||
|
|
||||||
offset = exynos_fimd_get_base_offset();
|
offset = exynos_fimd_get_base_offset();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue