RE: [PATCH 1/3] Move FIMD register headers to include/video/
Hello, On Tuesday, July 31, 2012 2:48 AM Jingoo Han wrote: On Monday, July 30, 2012 8:16 PM, Leela Krishna Amudala wrote: Hello Jingoo Han, On Mon, Jul 30, 2012 at 2:23 PM, Jingoo Han jg1@samsung.com wrote: On Monday, July 30, 2012 5:45 PM, Leela Krishna Amudala wrote: Moved the contents of regs-fb-v4.h and regs-fb.h from arch side to include/video/samsung_fimd.h Signed-off-by: Leela Krishna Amudala l.kris...@samsung.com --- arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 159 --- arch/arm/plat-samsung/include/plat/regs-fb.h| 403 - include/video/samsung_fimd.h| 533 +++ 3 files changed, 533 insertions(+), 562 deletions(-) delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb-v4.h delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb.h create mode 100644 include/video/samsung_fimd.h +*/ + +/*FIMD V8 REG OFFSET */ +#define FIMD_V8_VIDTCON0 (0x20010) +#define FIMD_V8_VIDTCON1 (0x20014) +#define FIMD_V8_VIDTCON2 (0x20018) +#define FIMD_V8_VIDTCON3 (0x2001C) +#define FIMD_V8_VIDCON1 (0x20004) How about using soc_is_exynos5250()? +#define VIDTCON0 (soc_is_exynos5250() ? \ + (0x20010) : (0x10)) In this case, the FIMD driver does not need to change. Also, one binary is available. Please don't mix two methods of runtime detection. FIMD driver (s3c-fb) already has runtime hw detection based on platform device id. Adding such detection for exynos5 to DRM FIMD driver should not be a big issue too. Best regards -- Marek Szyprowski Samsung Poland RD Center -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] Move FIMD register headers to include/video/
Hi, On Tuesday 31 of July 2012 at 09:47:57, Jingoo Han wrote: On Monday, July 30, 2012 8:16 PM, Leela Krishna Amudala wrote: Hello Jingoo Han, On Mon, Jul 30, 2012 at 2:23 PM, Jingoo Han jg1@samsung.com wrote: On Monday, July 30, 2012 5:45 PM, Leela Krishna Amudala wrote: Moved the contents of regs-fb-v4.h and regs-fb.h from arch side to include/video/samsung_fimd.h Signed-off-by: Leela Krishna Amudala l.kris...@samsung.com --- arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 159 --- arch/arm/plat-samsung/include/plat/regs-fb.h| 403 - include/video/samsung_fimd.h| 533 +++ 3 files changed, 533 insertions(+), 562 deletions(-) delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb-v4.h delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb.h create mode 100644 include/video/samsung_fimd.h +*/ + +/*FIMD V8 REG OFFSET */ +#define FIMD_V8_VIDTCON0 (0x20010) +#define FIMD_V8_VIDTCON1 (0x20014) +#define FIMD_V8_VIDTCON2 (0x20018) +#define FIMD_V8_VIDTCON3 (0x2001C) +#define FIMD_V8_VIDCON1 (0x20004) How about using soc_is_exynos5250()? +#define VIDTCON0 (soc_is_exynos5250() ? \ + (0x20010) : (0x10)) In this case, the FIMD driver does not need to change. Also, one binary is available. This would look good indeed, but there are some drawbacks: - it would not scale nicely for future SoCs using the new FIMD - it would add the overhead of checking SoC ID for every access to affected registers (at least 1 load, 1 AND, 1 compare, 1 move and 1 conditional OR, so 5 instructions in total, possibly even more, as opposed to a single load from a variant struct). I would stay with the way used in s3c-fb driver, using variant structs describing FIMD revisions. Best regards, Tomasz Figa Best regards, Jingoo Han CC'ed Marek. To Leela Krishna Amudala, Don't add these definitions for FIMD_V8_xxx registers, which arenot related to current regs-fb-v4.h and regs-fb.h. Just move and merge regs-fb-v4.h and regs-fb.h to one header file, not add new definitions. If you want to add these definitions, please make new patch for this. Will do it in the suggested way, Also, #define FIMD_V8_xxx is ugly. I think that there is better way. Please, find other way. I used FIMD_V8_xxx instead of EXYNOS5_FIMD_*, because in future, there is a possibility that version 8 FIMD can be used in other application processors also. Thanks for reviewing the patch. Best Wishes, Leela Krishna. -- 1.7.0.4 -- To unsubscribe from this list: send the line unsubscribe linux-fbdev in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] Move FIMD register headers to include/video/
Hi, On 07/30/2012 10:45 AM, Leela Krishna Amudala wrote: Moved the contents of regs-fb-v4.h and regs-fb.h from arch side to include/video/samsung_fimd.h Signed-off-by: Leela Krishna Amudala l.kris...@samsung.com --- arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 159 --- arch/arm/plat-samsung/include/plat/regs-fb.h| 403 - include/video/samsung_fimd.h| 533 +++ 3 files changed, 533 insertions(+), 562 deletions(-) delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb-v4.h delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb.h create mode 100644 include/video/samsung_fimd.h Thanks for taking care if this. However you might need to split this patch in two, so there is no build and git bisection breakage. In the first patch a new header file would be added, then the patch updating users of the FIMD headers would be applied, and finally the regs-fb*.h files would be removed. Also it helps to use -M option to git format-patch when creating patches that mainly move files. -- Regards, Sylwester -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] Move FIMD register headers to include/video/
On Monday, July 30, 2012 5:45 PM, Leela Krishna Amudala wrote: Moved the contents of regs-fb-v4.h and regs-fb.h from arch side to include/video/samsung_fimd.h Signed-off-by: Leela Krishna Amudala l.kris...@samsung.com --- arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 159 --- arch/arm/plat-samsung/include/plat/regs-fb.h| 403 - include/video/samsung_fimd.h| 533 +++ 3 files changed, 533 insertions(+), 562 deletions(-) delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb-v4.h delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb.h create mode 100644 include/video/samsung_fimd.h diff --git a/arch/arm/plat-samsung/include/plat/regs-fb-v4.h b/arch/arm/plat-samsung/include/plat/regs- fb-v4.h deleted file mode 100644 index 4c3647f..000 --- a/arch/arm/plat-samsung/include/plat/regs-fb-v4.h +++ /dev/null @@ -1,159 +0,0 @@ -/* arch/arm/plat-samsung/include/plat/regs-fb-v4.h - * - * Copyright 2008 Openmoko, Inc. - * Copyright 2008 Simtec Electronics - * http://armlinux.simtec.co.uk/ - * Ben Dooks b...@simtec.co.uk - * - * S3C64XX - new-style framebuffer register definitions - * - * This is the register set for the new style framebuffer interface - * found from the S3C2443 onwards and specifically the S3C64XX series - * S3C6400 and S3C6410. - * - * The file contains the cpu specific items which change between whichever - * architecture is selected. See plat/regs-fb.h for the core definitions - * that are the same. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. -*/ - -/* include the core definitions here, in case we really do need to - * override them at a later date. -*/ - -#include plat/regs-fb.h - -#define S3C_FB_MAX_WIN (5) /* number of hardware windows available. */ -#define VIDCON1_FSTATUS_EVEN (1 15) - -/* Video timing controls */ -#define VIDTCON0 (0x10) -#define VIDTCON1 (0x14) -#define VIDTCON2 (0x18) - -/* Window position controls */ - -#define WINCON(_win) (0x20 + ((_win) * 4)) - -/* OSD1 and OSD4 do not have register D */ - -#define VIDOSD_BASE (0x40) - -#define VIDINTCON0 (0x130) - -/* WINCONx */ - -#define WINCONx_CSCWIDTH_MASK(0x3 26) -#define WINCONx_CSCWIDTH_SHIFT (26) -#define WINCONx_CSCWIDTH_WIDE(0x0 26) -#define WINCONx_CSCWIDTH_NARROW (0x3 26) - -#define WINCONx_ENLOCAL (1 22) -#define WINCONx_BUFSTATUS(1 21) -#define WINCONx_BUFSEL (1 20) -#define WINCONx_BUFAUTOEN(1 19) -#define WINCONx_YCbCr(1 13) - -#define WINCON1_LOCALSEL_CAMIF (1 23) - -#define WINCON2_LOCALSEL_CAMIF (1 23) -#define WINCON2_BLD_PIX (1 6) - -#define WINCON2_ALPHA_SEL(1 1) -#define WINCON2_BPPMODE_MASK (0xf 2) -#define WINCON2_BPPMODE_SHIFT(2) -#define WINCON2_BPPMODE_1BPP (0x0 2) -#define WINCON2_BPPMODE_2BPP (0x1 2) -#define WINCON2_BPPMODE_4BPP (0x2 2) -#define WINCON2_BPPMODE_8BPP_1232(0x4 2) -#define WINCON2_BPPMODE_16BPP_565(0x5 2) -#define WINCON2_BPPMODE_16BPP_A1555 (0x6 2) -#define WINCON2_BPPMODE_16BPP_I1555 (0x7 2) -#define WINCON2_BPPMODE_18BPP_666(0x8 2) -#define WINCON2_BPPMODE_18BPP_A1665 (0x9 2) -#define WINCON2_BPPMODE_19BPP_A1666 (0xa 2) -#define WINCON2_BPPMODE_24BPP_888(0xb 2) -#define WINCON2_BPPMODE_24BPP_A1887 (0xc 2) -#define WINCON2_BPPMODE_25BPP_A1888 (0xd 2) -#define WINCON2_BPPMODE_28BPP_A4888 (0xd 2) - -#define WINCON3_BLD_PIX (1 6) - -#define WINCON3_ALPHA_SEL(1 1) -#define WINCON3_BPPMODE_MASK (0xf 2) -#define WINCON3_BPPMODE_SHIFT(2) -#define WINCON3_BPPMODE_1BPP (0x0 2) -#define WINCON3_BPPMODE_2BPP (0x1 2) -#define WINCON3_BPPMODE_4BPP (0x2 2) -#define WINCON3_BPPMODE_16BPP_565(0x5 2) -#define WINCON3_BPPMODE_16BPP_A1555 (0x6 2) -#define WINCON3_BPPMODE_16BPP_I1555 (0x7 2) -#define WINCON3_BPPMODE_18BPP_666(0x8 2) -#define WINCON3_BPPMODE_18BPP_A1665 (0x9 2) -#define WINCON3_BPPMODE_19BPP_A1666 (0xa 2) -#define
Re: [PATCH 1/3] Move FIMD register headers to include/video/
Hi, On 07/30/2012 10:53 AM, Jingoo Han wrote: +/*FIMD V8 REG OFFSET */ +#define FIMD_V8_VIDTCON0(0x20010) +#define FIMD_V8_VIDTCON1(0x20014) +#define FIMD_V8_VIDTCON2(0x20018) +#define FIMD_V8_VIDTCON3(0x2001C) +#define FIMD_V8_VIDCON1 (0x20004) CC'ed Marek. To Leela Krishna Amudala, Don't add these definitions for FIMD_V8_xxx registers, which are not related to current regs-fb-v4.h and regs-fb.h. Just move and merge regs-fb-v4.h and regs-fb.h to one header file, not add new definitions. If you want to add these definitions, please make new patch for this. Good point. Also, #define FIMD_V8_xxx is ugly. I think that there is better way. Please, find other way. Instead of just telling that something is wrong and you don't like it, perhaps it would be kind to give at least a slight suggestion of what would have been good enough to your taste...respecting someone else's time and effort. So what would you like to see there instead, EXYNOS5_FIMD_* ? BTW, your e-mails are badly word wrapped, I had to manually correct it. -- Regards, Sylwester -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] Move FIMD register headers to include/video/
Hello Sylwester, On Mon, Jul 30, 2012 at 2:19 PM, Sylwester Nawrocki s.nawro...@samsung.com wrote: Hi, On 07/30/2012 10:45 AM, Leela Krishna Amudala wrote: Moved the contents of regs-fb-v4.h and regs-fb.h from arch side to include/video/samsung_fimd.h Signed-off-by: Leela Krishna Amudala l.kris...@samsung.com --- arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 159 --- arch/arm/plat-samsung/include/plat/regs-fb.h| 403 - include/video/samsung_fimd.h| 533 +++ 3 files changed, 533 insertions(+), 562 deletions(-) delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb-v4.h delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb.h create mode 100644 include/video/samsung_fimd.h Thanks for taking care if this. However you might need to split this patch in two, so there is no build and git bisection breakage. In the first patch a new header file would be added, then the patch updating users of the FIMD headers would be applied, and finally the regs-fb*.h files would be removed. Also it helps to use -M option to git format-patch when creating patches that mainly move files. Will do it in the suggested way, Thanks for reviewing the patch. -- Regards, Sylwester -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] Move FIMD register headers to include/video/
Hello Jingoo Han, On Mon, Jul 30, 2012 at 2:23 PM, Jingoo Han jg1@samsung.com wrote: On Monday, July 30, 2012 5:45 PM, Leela Krishna Amudala wrote: Moved the contents of regs-fb-v4.h and regs-fb.h from arch side to include/video/samsung_fimd.h Signed-off-by: Leela Krishna Amudala l.kris...@samsung.com --- arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 159 --- arch/arm/plat-samsung/include/plat/regs-fb.h| 403 - include/video/samsung_fimd.h| 533 +++ 3 files changed, 533 insertions(+), 562 deletions(-) delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb-v4.h delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb.h create mode 100644 include/video/samsung_fimd.h diff --git a/arch/arm/plat-samsung/include/plat/regs-fb-v4.h b/arch/arm/plat-samsung/include/plat/regs- fb-v4.h deleted file mode 100644 index 4c3647f..000 --- a/arch/arm/plat-samsung/include/plat/regs-fb-v4.h +++ /dev/null @@ -1,159 +0,0 @@ -/* arch/arm/plat-samsung/include/plat/regs-fb-v4.h - * - * Copyright 2008 Openmoko, Inc. - * Copyright 2008 Simtec Electronics - * http://armlinux.simtec.co.uk/ - * Ben Dooks b...@simtec.co.uk - * - * S3C64XX - new-style framebuffer register definitions - * - * This is the register set for the new style framebuffer interface - * found from the S3C2443 onwards and specifically the S3C64XX series - * S3C6400 and S3C6410. - * - * The file contains the cpu specific items which change between whichever - * architecture is selected. See plat/regs-fb.h for the core definitions - * that are the same. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. -*/ - -/* include the core definitions here, in case we really do need to - * override them at a later date. -*/ - -#include plat/regs-fb.h - -#define S3C_FB_MAX_WIN (5) /* number of hardware windows available. */ -#define VIDCON1_FSTATUS_EVEN (1 15) - -/* Video timing controls */ -#define VIDTCON0 (0x10) -#define VIDTCON1 (0x14) -#define VIDTCON2 (0x18) - -/* Window position controls */ - -#define WINCON(_win) (0x20 + ((_win) * 4)) - -/* OSD1 and OSD4 do not have register D */ - -#define VIDOSD_BASE (0x40) - -#define VIDINTCON0 (0x130) - -/* WINCONx */ - -#define WINCONx_CSCWIDTH_MASK(0x3 26) -#define WINCONx_CSCWIDTH_SHIFT (26) -#define WINCONx_CSCWIDTH_WIDE(0x0 26) -#define WINCONx_CSCWIDTH_NARROW (0x3 26) - -#define WINCONx_ENLOCAL (1 22) -#define WINCONx_BUFSTATUS(1 21) -#define WINCONx_BUFSEL (1 20) -#define WINCONx_BUFAUTOEN(1 19) -#define WINCONx_YCbCr(1 13) - -#define WINCON1_LOCALSEL_CAMIF (1 23) - -#define WINCON2_LOCALSEL_CAMIF (1 23) -#define WINCON2_BLD_PIX (1 6) - -#define WINCON2_ALPHA_SEL(1 1) -#define WINCON2_BPPMODE_MASK (0xf 2) -#define WINCON2_BPPMODE_SHIFT(2) -#define WINCON2_BPPMODE_1BPP (0x0 2) -#define WINCON2_BPPMODE_2BPP (0x1 2) -#define WINCON2_BPPMODE_4BPP (0x2 2) -#define WINCON2_BPPMODE_8BPP_1232(0x4 2) -#define WINCON2_BPPMODE_16BPP_565(0x5 2) -#define WINCON2_BPPMODE_16BPP_A1555 (0x6 2) -#define WINCON2_BPPMODE_16BPP_I1555 (0x7 2) -#define WINCON2_BPPMODE_18BPP_666(0x8 2) -#define WINCON2_BPPMODE_18BPP_A1665 (0x9 2) -#define WINCON2_BPPMODE_19BPP_A1666 (0xa 2) -#define WINCON2_BPPMODE_24BPP_888(0xb 2) -#define WINCON2_BPPMODE_24BPP_A1887 (0xc 2) -#define WINCON2_BPPMODE_25BPP_A1888 (0xd 2) -#define WINCON2_BPPMODE_28BPP_A4888 (0xd 2) - -#define WINCON3_BLD_PIX (1 6) - -#define WINCON3_ALPHA_SEL(1 1) -#define WINCON3_BPPMODE_MASK (0xf 2) -#define WINCON3_BPPMODE_SHIFT(2) -#define WINCON3_BPPMODE_1BPP (0x0 2) -#define WINCON3_BPPMODE_2BPP (0x1 2) -#define WINCON3_BPPMODE_4BPP (0x2 2) -#define WINCON3_BPPMODE_16BPP_565(0x5 2) -#define WINCON3_BPPMODE_16BPP_A1555 (0x6 2) -#define WINCON3_BPPMODE_16BPP_I1555 (0x7 2) -#define WINCON3_BPPMODE_18BPP_666(0x8 2) -#define WINCON3_BPPMODE_18BPP_A1665
RE: [PATCH 1/3] Move FIMD register headers to include/video/
On Monday, July 30, 2012 8:16 PM, Leela Krishna Amudala wrote: Hello Jingoo Han, On Mon, Jul 30, 2012 at 2:23 PM, Jingoo Han jg1@samsung.com wrote: On Monday, July 30, 2012 5:45 PM, Leela Krishna Amudala wrote: Moved the contents of regs-fb-v4.h and regs-fb.h from arch side to include/video/samsung_fimd.h Signed-off-by: Leela Krishna Amudala l.kris...@samsung.com --- arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 159 --- arch/arm/plat-samsung/include/plat/regs-fb.h| 403 - include/video/samsung_fimd.h| 533 +++ 3 files changed, 533 insertions(+), 562 deletions(-) delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb-v4.h delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb.h create mode 100644 include/video/samsung_fimd.h +*/ + +/*FIMD V8 REG OFFSET */ +#define FIMD_V8_VIDTCON0 (0x20010) +#define FIMD_V8_VIDTCON1 (0x20014) +#define FIMD_V8_VIDTCON2 (0x20018) +#define FIMD_V8_VIDTCON3 (0x2001C) +#define FIMD_V8_VIDCON1 (0x20004) How about using soc_is_exynos5250()? +#define VIDTCON0 (soc_is_exynos5250() ? \ + (0x20010) : (0x10)) In this case, the FIMD driver does not need to change. Also, one binary is available. Best regards, Jingoo Han CC'ed Marek. To Leela Krishna Amudala, Don't add these definitions for FIMD_V8_xxx registers, which arenot related to current regs-fb-v4.h and regs-fb.h. Just move and merge regs-fb-v4.h and regs-fb.h to one header file, not add new definitions. If you want to add these definitions, please make new patch for this. Will do it in the suggested way, Also, #define FIMD_V8_xxx is ugly. I think that there is better way. Please, find other way. I used FIMD_V8_xxx instead of EXYNOS5_FIMD_*, because in future, there is a possibility that version 8 FIMD can be used in other application processors also. Thanks for reviewing the patch. Best Wishes, Leela Krishna. -- 1.7.0.4 -- To unsubscribe from this list: send the line unsubscribe linux-fbdev in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html