From 0fb6228e0e01ad40101da4ac1037dd167052f932 Mon Sep 17 00:00:00 2001 From: Timur Tabi Date: Wed, 28 Sep 2011 16:19:53 -0500 Subject: [PATCH] --- yaml --- r: 271354 b: refs/heads/master c: c4e5a0232763db22d6c60c391ed5816b2b2ac063 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/powerpc/platforms/512x/mpc512x_shared.c | 2 +- trunk/drivers/video/fsl-diu-fb.c | 11 +++-------- trunk/include/linux/fsl-diu-fb.h | 8 ++++---- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/[refs] b/[refs] index fe5b41b93176..7bc4cfdd0567 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7e47c211953bd8e396b168eba2c288ea6aec20ef +refs/heads/master: c4e5a0232763db22d6c60c391ed5816b2b2ac063 diff --git a/trunk/arch/powerpc/platforms/512x/mpc512x_shared.c b/trunk/arch/powerpc/platforms/512x/mpc512x_shared.c index 3dc62f907a1e..cfe958e94e1e 100644 --- a/trunk/arch/powerpc/platforms/512x/mpc512x_shared.c +++ b/trunk/arch/powerpc/platforms/512x/mpc512x_shared.c @@ -253,7 +253,7 @@ void __init mpc512x_init_diu(void) } mode = in_be32(&diu_reg->diu_mode); - if (mode != MFB_MODE1) { + if (mode == MFB_MODE0) { pr_info("%s: DIU OFF\n", __func__); goto out; } diff --git a/trunk/drivers/video/fsl-diu-fb.c b/trunk/drivers/video/fsl-diu-fb.c index 0fd4c784f8df..6539e70cb59a 100644 --- a/trunk/drivers/video/fsl-diu-fb.c +++ b/trunk/drivers/video/fsl-diu-fb.c @@ -52,7 +52,6 @@ struct diu_hw { struct diu __iomem *diu_reg; spinlock_t reg_lock; - unsigned int mode; /* DIU operation mode */ }; struct diu_addr { @@ -426,7 +425,6 @@ static struct mfb_info mfb_template[] = { }; static struct diu_hw dr = { - .mode = MFB_MODE1, .reg_lock = __SPIN_LOCK_UNLOCKED(diu_hw.reg_lock), }; @@ -620,7 +618,7 @@ static void enable_lcdc(struct fb_info *info) struct fsl_diu_data *machine_data = mfbi->parent; if (!machine_data->fb_enabled) { - out_be32(&hw->diu_mode, dr.mode); + out_be32(&hw->diu_mode, MFB_MODE1); machine_data->fb_enabled++; } } @@ -1390,9 +1388,6 @@ static int request_irq_local(int irq) ints |= INT_VSYNC; #endif - if (dr.mode == MFB_MODE2 || dr.mode == MFB_MODE3) - ints |= INT_VSYNC_WB; - /* Read to clear the status */ in_be32(&hw->int_status); out_be32(&hw->int_mask, ints); @@ -1558,7 +1553,7 @@ static int __devinit fsl_diu_probe(struct platform_device *pdev) } diu_mode = in_be32(&dr.diu_reg->diu_mode); - if (diu_mode != MFB_MODE1) + if (diu_mode == MFB_MODE0) out_be32(&dr.diu_reg->diu_mode, 0); /* disable DIU */ /* Get the IRQ of the DIU */ @@ -1611,7 +1606,7 @@ static int __devinit fsl_diu_probe(struct platform_device *pdev) * Let DIU display splash screen if it was pre-initialized * by the bootloader, set dummy area descriptor otherwise. */ - if (diu_mode != MFB_MODE1) + if (diu_mode == MFB_MODE0) out_be32(&dr.diu_reg->desc[0], machine_data->dummy_ad->paddr); out_be32(&dr.diu_reg->desc[1], machine_data->dummy_ad->paddr); diff --git a/trunk/include/linux/fsl-diu-fb.h b/trunk/include/linux/fsl-diu-fb.h index 363d5e290cad..11c16a1fb9e3 100644 --- a/trunk/include/linux/fsl-diu-fb.h +++ b/trunk/include/linux/fsl-diu-fb.h @@ -153,12 +153,12 @@ struct diu { __be32 plut; } __attribute__ ((packed)); -/* Modes of operation of DIU */ +/* + * Modes of operation of DIU. The DIU supports five different modes, but + * the driver only supports modes 0 and 1. + */ #define MFB_MODE0 0 /* DIU off */ #define MFB_MODE1 1 /* All three planes output to display */ -#define MFB_MODE2 2 /* Plane 1 to display, planes 2+3 written back*/ -#define MFB_MODE3 3 /* All three planes written back to memory */ -#define MFB_MODE4 4 /* Color bar generation */ #endif /* __KERNEL__ */ #endif /* __FSL_DIU_FB_H__ */