diff mbox

[v2] omap_lcdc: Remove support for DEPTH != 32

Message ID 1459260142-9144-1-git-send-email-dhannawatpooja1@gmail.com
State New
Headers show

Commit Message

Pooja Dhannawat March 29, 2016, 2:02 p.m. UTC
surface_bits_per_pixel() always returns 32
so, removing other dead code which is
based on DEPTH !== 32

Signed-off-by: Pooja Dhannawat <dhannawatpooja1@gmail.com>
---
v2: As surface_bits_per_pixel() always returns 32,
    so instead of relying on array :
    
        draw_line_table2[surface_bits_per_pixel(surface)] 
    
    we can use directly : 

        draw_line2_32 [Eric Blake]
---
 hw/display/omap_lcd_template.h | 10 ++-------
 hw/display/omap_lcdc.c         | 48 +++++-------------------------------------
 2 files changed, 7 insertions(+), 51 deletions(-)

Comments

Pooja Dhannawat April 5, 2016, 6:41 a.m. UTC | #1
CCing Peter Maydell.

On Tue, Mar 29, 2016 at 7:32 PM, Pooja Dhannawat <dhannawatpooja1@gmail.com>
wrote:

> surface_bits_per_pixel() always returns 32
> so, removing other dead code which is
> based on DEPTH !== 32
>
> Signed-off-by: Pooja Dhannawat <dhannawatpooja1@gmail.com>
> ---
> v2: As surface_bits_per_pixel() always returns 32,
>     so instead of relying on array :
>
>         draw_line_table2[surface_bits_per_pixel(surface)]
>
>     we can use directly :
>
>         draw_line2_32 [Eric Blake]
> ---
>  hw/display/omap_lcd_template.h | 10 ++-------
>  hw/display/omap_lcdc.c         | 48
> +++++-------------------------------------
>  2 files changed, 7 insertions(+), 51 deletions(-)
>
> diff --git a/hw/display/omap_lcd_template.h
> b/hw/display/omap_lcd_template.h
> index f0ce71f..1025ff3 100644
> --- a/hw/display/omap_lcd_template.h
> +++ b/hw/display/omap_lcd_template.h
> @@ -27,13 +27,7 @@
>   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>   */
>
> -#if DEPTH == 8
> -# define BPP 1
> -# define PIXEL_TYPE uint8_t
> -#elif DEPTH == 15 || DEPTH == 16
> -# define BPP 2
> -# define PIXEL_TYPE uint16_t
> -#elif DEPTH == 32
> +#if DEPTH == 32
>  # define BPP 4
>  # define PIXEL_TYPE uint32_t
>  #else
> @@ -152,7 +146,7 @@ static void glue(draw_line12_, DEPTH)(void *opaque,
>  static void glue(draw_line16_, DEPTH)(void *opaque,
>                  uint8_t *d, const uint8_t *s, int width, int deststep)
>  {
> -#if DEPTH == 16 && defined(HOST_WORDS_BIGENDIAN) ==
> defined(TARGET_WORDS_BIGENDIAN)
> +#if defined(HOST_WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN)
>      memcpy(d, s, width * 2);
>  #else
>      uint16_t v;
> diff --git a/hw/display/omap_lcdc.c b/hw/display/omap_lcdc.c
> index ce1058b..07a5eff 100644
> --- a/hw/display/omap_lcdc.c
> +++ b/hw/display/omap_lcdc.c
> @@ -71,47 +71,9 @@ static void omap_lcd_interrupts(struct omap_lcd_panel_s
> *s)
>
>  #define draw_line_func drawfn
>
> -#define DEPTH 8
> -#include "omap_lcd_template.h"
> -#define DEPTH 15
> -#include "omap_lcd_template.h"
> -#define DEPTH 16
> -#include "omap_lcd_template.h"
>  #define DEPTH 32
>  #include "omap_lcd_template.h"
>
> -static draw_line_func draw_line_table2[33] = {
> -    [0 ... 32] = NULL,
> -    [8]                = draw_line2_8,
> -    [15]       = draw_line2_15,
> -    [16]       = draw_line2_16,
> -    [32]       = draw_line2_32,
> -}, draw_line_table4[33] = {
> -    [0 ... 32] = NULL,
> -    [8]                = draw_line4_8,
> -    [15]       = draw_line4_15,
> -    [16]       = draw_line4_16,
> -    [32]       = draw_line4_32,
> -}, draw_line_table8[33] = {
> -    [0 ... 32] = NULL,
> -    [8]                = draw_line8_8,
> -    [15]       = draw_line8_15,
> -    [16]       = draw_line8_16,
> -    [32]       = draw_line8_32,
> -}, draw_line_table12[33] = {
> -    [0 ... 32] = NULL,
> -    [8]                = draw_line12_8,
> -    [15]       = draw_line12_15,
> -    [16]       = draw_line12_16,
> -    [32]       = draw_line12_32,
> -}, draw_line_table16[33] = {
> -    [0 ... 32] = NULL,
> -    [8]                = draw_line16_8,
> -    [15]       = draw_line16_15,
> -    [16]       = draw_line16_16,
> -    [32]       = draw_line16_32,
> -};
> -
>  static void omap_update_display(void *opaque)
>  {
>      struct omap_lcd_panel_s *omap_lcd = (struct omap_lcd_panel_s *)
> opaque;
> @@ -143,25 +105,25 @@ static void omap_update_display(void *opaque)
>      /* Colour depth */
>      switch ((omap_lcd->palette[0] >> 12) & 7) {
>      case 1:
> -        draw_line = draw_line_table2[surface_bits_per_pixel(surface)];
> +        draw_line = draw_line2_32;
>          bpp = 2;
>          break;
>
>      case 2:
> -        draw_line = draw_line_table4[surface_bits_per_pixel(surface)];
> +        draw_line = draw_line4_32;
>          bpp = 4;
>          break;
>
>      case 3:
> -        draw_line = draw_line_table8[surface_bits_per_pixel(surface)];
> +        draw_line = draw_line8_32;
>          bpp = 8;
>          break;
>
>      case 4 ... 7:
>          if (!omap_lcd->tft)
> -            draw_line =
> draw_line_table12[surface_bits_per_pixel(surface)];
> +            draw_line = draw_line12_32;
>          else
> -            draw_line =
> draw_line_table16[surface_bits_per_pixel(surface)];
> +            draw_line = draw_line16_32;
>          bpp = 16;
>          break;
>
> --
> 2.5.0
>
>
Peter Maydell May 4, 2016, 2:34 p.m. UTC | #2
On 29 March 2016 at 15:02, Pooja Dhannawat <dhannawatpooja1@gmail.com> wrote:
> surface_bits_per_pixel() always returns 32
> so, removing other dead code which is
> based on DEPTH !== 32
>
> Signed-off-by: Pooja Dhannawat <dhannawatpooja1@gmail.com>
> ---

Thanks; I have applied this patch to target-arm.next.

-- PMM
diff mbox

Patch

diff --git a/hw/display/omap_lcd_template.h b/hw/display/omap_lcd_template.h
index f0ce71f..1025ff3 100644
--- a/hw/display/omap_lcd_template.h
+++ b/hw/display/omap_lcd_template.h
@@ -27,13 +27,7 @@ 
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#if DEPTH == 8
-# define BPP 1
-# define PIXEL_TYPE uint8_t
-#elif DEPTH == 15 || DEPTH == 16
-# define BPP 2
-# define PIXEL_TYPE uint16_t
-#elif DEPTH == 32
+#if DEPTH == 32
 # define BPP 4
 # define PIXEL_TYPE uint32_t
 #else
@@ -152,7 +146,7 @@  static void glue(draw_line12_, DEPTH)(void *opaque,
 static void glue(draw_line16_, DEPTH)(void *opaque,
                 uint8_t *d, const uint8_t *s, int width, int deststep)
 {
-#if DEPTH == 16 && defined(HOST_WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN)
+#if defined(HOST_WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN)
     memcpy(d, s, width * 2);
 #else
     uint16_t v;
diff --git a/hw/display/omap_lcdc.c b/hw/display/omap_lcdc.c
index ce1058b..07a5eff 100644
--- a/hw/display/omap_lcdc.c
+++ b/hw/display/omap_lcdc.c
@@ -71,47 +71,9 @@  static void omap_lcd_interrupts(struct omap_lcd_panel_s *s)
 
 #define draw_line_func drawfn
 
-#define DEPTH 8
-#include "omap_lcd_template.h"
-#define DEPTH 15
-#include "omap_lcd_template.h"
-#define DEPTH 16
-#include "omap_lcd_template.h"
 #define DEPTH 32
 #include "omap_lcd_template.h"
 
-static draw_line_func draw_line_table2[33] = {
-    [0 ... 32]	= NULL,
-    [8]		= draw_line2_8,
-    [15]	= draw_line2_15,
-    [16]	= draw_line2_16,
-    [32]	= draw_line2_32,
-}, draw_line_table4[33] = {
-    [0 ... 32]	= NULL,
-    [8]		= draw_line4_8,
-    [15]	= draw_line4_15,
-    [16]	= draw_line4_16,
-    [32]	= draw_line4_32,
-}, draw_line_table8[33] = {
-    [0 ... 32]	= NULL,
-    [8]		= draw_line8_8,
-    [15]	= draw_line8_15,
-    [16]	= draw_line8_16,
-    [32]	= draw_line8_32,
-}, draw_line_table12[33] = {
-    [0 ... 32]	= NULL,
-    [8]		= draw_line12_8,
-    [15]	= draw_line12_15,
-    [16]	= draw_line12_16,
-    [32]	= draw_line12_32,
-}, draw_line_table16[33] = {
-    [0 ... 32]	= NULL,
-    [8]		= draw_line16_8,
-    [15]	= draw_line16_15,
-    [16]	= draw_line16_16,
-    [32]	= draw_line16_32,
-};
-
 static void omap_update_display(void *opaque)
 {
     struct omap_lcd_panel_s *omap_lcd = (struct omap_lcd_panel_s *) opaque;
@@ -143,25 +105,25 @@  static void omap_update_display(void *opaque)
     /* Colour depth */
     switch ((omap_lcd->palette[0] >> 12) & 7) {
     case 1:
-        draw_line = draw_line_table2[surface_bits_per_pixel(surface)];
+        draw_line = draw_line2_32;
         bpp = 2;
         break;
 
     case 2:
-        draw_line = draw_line_table4[surface_bits_per_pixel(surface)];
+        draw_line = draw_line4_32;
         bpp = 4;
         break;
 
     case 3:
-        draw_line = draw_line_table8[surface_bits_per_pixel(surface)];
+        draw_line = draw_line8_32;
         bpp = 8;
         break;
 
     case 4 ... 7:
         if (!omap_lcd->tft)
-            draw_line = draw_line_table12[surface_bits_per_pixel(surface)];
+            draw_line = draw_line12_32;
         else
-            draw_line = draw_line_table16[surface_bits_per_pixel(surface)];
+            draw_line = draw_line16_32;
         bpp = 16;
         break;