[PATCH 08/46] ARM: pxa: move regs-lcd.h into driver

Bartlomiej Zolnierkiewicz b.zolnierkie at samsung.com
Fri Nov 8 14:40:10 UTC 2019


On 10/18/19 5:41 PM, Arnd Bergmann wrote:
> Only the pxafb driver uses this header, so move it into the
> same directory. The SMART_* macros are required by some
> platform data definitions and can go into the
> linux/platform_data/video-pxafb.h header.
> 
> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie at samsung.com>
> Cc: dri-devel at lists.freedesktop.org
> Cc: linux-fbdev at vger.kernel.org
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>

Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie at samsung.com>

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

> ---
>  .../video/fbdev/pxa3xx-regs.h                 | 19 ----------------
>  drivers/video/fbdev/pxafb.c                   |  1 +
>  include/linux/platform_data/video-pxafb.h     | 22 ++++++++++++++++++-
>  3 files changed, 22 insertions(+), 20 deletions(-)
>  rename arch/arm/mach-pxa/include/mach/regs-lcd.h => drivers/video/fbdev/pxa3xx-regs.h (90%)
> 
> diff --git a/arch/arm/mach-pxa/include/mach/regs-lcd.h b/drivers/video/fbdev/pxa3xx-regs.h
> similarity index 90%
> rename from arch/arm/mach-pxa/include/mach/regs-lcd.h
> rename to drivers/video/fbdev/pxa3xx-regs.h
> index 6a434675f84a..6a96610ef9b5 100644
> --- a/arch/arm/mach-pxa/include/mach/regs-lcd.h
> +++ b/drivers/video/fbdev/pxa3xx-regs.h
> @@ -177,23 +177,4 @@
>  #define PRSR_ST_OK	(1 << 9)	/* Status OK */
>  #define PRSR_CON_NT	(1 << 10)	/* Continue to Next Command */
>  
> -#define SMART_CMD_A0			 (0x1 << 8)
> -#define SMART_CMD_READ_STATUS_REG	 (0x0 << 9)
> -#define SMART_CMD_READ_FRAME_BUFFER	((0x0 << 9) | SMART_CMD_A0)
> -#define SMART_CMD_WRITE_COMMAND		 (0x1 << 9)
> -#define SMART_CMD_WRITE_DATA		((0x1 << 9) | SMART_CMD_A0)
> -#define SMART_CMD_WRITE_FRAME		((0x2 << 9) | SMART_CMD_A0)
> -#define SMART_CMD_WAIT_FOR_VSYNC	 (0x3 << 9)
> -#define SMART_CMD_NOOP			 (0x4 << 9)
> -#define SMART_CMD_INTERRUPT		 (0x5 << 9)
> -
> -#define SMART_CMD(x)	(SMART_CMD_WRITE_COMMAND | ((x) & 0xff))
> -#define SMART_DAT(x)	(SMART_CMD_WRITE_DATA | ((x) & 0xff))
> -
> -/* SMART_DELAY() is introduced for software controlled delay primitive which
> - * can be inserted between command sequences, unused command 0x6 is used here
> - * and delay ranges from 0ms ~ 255ms
> - */
> -#define SMART_CMD_DELAY		(0x6 << 9)
> -#define SMART_DELAY(ms)		(SMART_CMD_DELAY | ((ms) & 0xff))
>  #endif /* __ASM_ARCH_REGS_LCD_H */
> diff --git a/drivers/video/fbdev/pxafb.c b/drivers/video/fbdev/pxafb.c
> index e68b8a69db92..a65453c6c390 100644
> --- a/drivers/video/fbdev/pxafb.c
> +++ b/drivers/video/fbdev/pxafb.c
> @@ -72,6 +72,7 @@
>  #define DEBUG_VAR 1
>  
>  #include "pxafb.h"
> +#include "pxa3xx-regs.h"
>  
>  /* Bits which should not be set in machine configuration structures */
>  #define LCCR0_INVALID_CONFIG_MASK	(LCCR0_OUM | LCCR0_BM | LCCR0_QDM |\
> diff --git a/include/linux/platform_data/video-pxafb.h b/include/linux/platform_data/video-pxafb.h
> index b3d574778326..6333bac166a5 100644
> --- a/include/linux/platform_data/video-pxafb.h
> +++ b/include/linux/platform_data/video-pxafb.h
> @@ -8,7 +8,6 @@
>   */
>  
>  #include <linux/fb.h>
> -#include <mach/regs-lcd.h>
>  
>  /*
>   * Supported LCD connections
> @@ -153,6 +152,27 @@ struct pxafb_mach_info {
>  void pxa_set_fb_info(struct device *, struct pxafb_mach_info *);
>  unsigned long pxafb_get_hsync_time(struct device *dev);
>  
> +/* smartpanel related */
> +#define SMART_CMD_A0			 (0x1 << 8)
> +#define SMART_CMD_READ_STATUS_REG	 (0x0 << 9)
> +#define SMART_CMD_READ_FRAME_BUFFER	((0x0 << 9) | SMART_CMD_A0)
> +#define SMART_CMD_WRITE_COMMAND		 (0x1 << 9)
> +#define SMART_CMD_WRITE_DATA		((0x1 << 9) | SMART_CMD_A0)
> +#define SMART_CMD_WRITE_FRAME		((0x2 << 9) | SMART_CMD_A0)
> +#define SMART_CMD_WAIT_FOR_VSYNC	 (0x3 << 9)
> +#define SMART_CMD_NOOP			 (0x4 << 9)
> +#define SMART_CMD_INTERRUPT		 (0x5 << 9)
> +
> +#define SMART_CMD(x)	(SMART_CMD_WRITE_COMMAND | ((x) & 0xff))
> +#define SMART_DAT(x)	(SMART_CMD_WRITE_DATA | ((x) & 0xff))
> +
> +/* SMART_DELAY() is introduced for software controlled delay primitive which
> + * can be inserted between command sequences, unused command 0x6 is used here
> + * and delay ranges from 0ms ~ 255ms
> + */
> +#define SMART_CMD_DELAY		(0x6 << 9)
> +#define SMART_DELAY(ms)		(SMART_CMD_DELAY | ((ms) & 0xff))
> +
>  #ifdef CONFIG_FB_PXA_SMARTPANEL
>  extern int pxafb_smart_queue(struct fb_info *info, uint16_t *cmds, int);
>  extern int pxafb_smart_flush(struct fb_info *info);
> 


More information about the dri-devel mailing list