From: Darius Augulis <augulis.darius@gmail.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 3/3] ARM: Samsung: Rework platform data of s3c-fb driver
Date: Wed, 14 Mar 2012 19:08:11 +0000 [thread overview]
Message-ID: <4F60EC9B.9040409@gmail.com> (raw)
In-Reply-To: <CAJuYYwSUf-gsVesduMggSuues9OLOR6DUDAAMg_tL=e3=3c0tQ@mail.gmail.com>
On 03/13/2012 12:10 PM, Thomas Abraham wrote:
> On 13 March 2012 15:17, Jingoo Han<jg1.han@samsung.com> wrote:
>>> -----Original Message-----
>>> From: Thomas Abraham [mailto:thomas.abraham@linaro.org]
>>> Sent: Tuesday, March 13, 2012 6:00 AM
>>> To: linux-fbdev@vger.kernel.org
>>> Cc: FlorianSchandinat@gmx.de; linux-arm-kernel@lists.infradead.org; linux-samsung-soc@vger.kernel.org;
>>> kgene.kim@samsung.com; jg1.han@samsung.com; ben-linux@fluff.org; patches@linaro.org; Kyungmin Park;
>>> JeongHyeon Kim; Heiko Stuebner; Kwangwoo Lee; Mark Brown; Peter Korsgaard; Darius Augulis; Maurus
>>> Cuelenaere
>>> Subject: [PATCH v2 3/3] ARM: Samsung: Rework platform data of s3c-fb driver
>>>
>>> For all the Samsung SoC based boards which have the platform data for
>>> s3c-fb driver, the 'default_win' element in the platform data is removed
>>> and the lcd panel video timing values are moved out of individual window
>>> configuration data.
>>>
>>> Cc: Jingoo Han<jg1.han@samsung.com>
>>> Cc: Kyungmin Park<kyungmin.park@samsung.com>
>>> Cc: JeongHyeon Kim<jhkim@insignal.co.kr>
>>> Cc: Kukjin Kim<kgene.kim@samsung.com>
>>> Cc: Heiko Stuebner<heiko@sntech.de>
>>> Cc: Ben Dooks<ben-linux@fluff.org>
>>> Cc: Kwangwoo Lee<kwangwoo.lee@gmail.com>
>>> Cc: Mark Brown<broonie@opensource.wolfsonmicro.com>
>>> Cc: Peter Korsgaard<jacmet@sunsite.dk>
>>> Cc: Darius Augulis<augulis.darius@gmail.com>
>>> Cc: Maurus Cuelenaere<mcuelenaere@gmail.com>
>>> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
>>> ---
>>> arch/arm/mach-exynos/mach-nuri.c | 26 ++++++++++-------
>>> arch/arm/mach-exynos/mach-origen.c | 24 ++++++++++-------
>>> arch/arm/mach-exynos/mach-smdkv310.c | 28 +++++++++++--------
>>> arch/arm/mach-exynos/mach-universal_c210.c | 26 ++++++++++-------
>>> arch/arm/mach-s3c24xx/mach-smdk2416.c | 27 ++++++++++--------
>>> arch/arm/mach-s3c64xx/mach-anw6410.c | 25 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-crag6410.c | 25 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-hmt.c | 24 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-mini6410.c | 40 ++++++++++++---------------
>>> arch/arm/mach-s3c64xx/mach-real6410.c | 40 ++++++++++++---------------
>>> arch/arm/mach-s3c64xx/mach-smartq5.c | 26 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-smartq7.c | 26 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-smdk6410.c | 25 ++++++++++-------
>>> arch/arm/mach-s5p64x0/mach-smdk6440.c | 24 ++++++++++-------
>>> arch/arm/mach-s5p64x0/mach-smdk6450.c | 24 ++++++++++-------
>>> arch/arm/mach-s5pc100/mach-smdkc100.c | 27 ++++++++++--------
>>> arch/arm/mach-s5pv210/mach-aquila.c | 36 +++++++++++--------------
>>> arch/arm/mach-s5pv210/mach-goni.c | 26 ++++++++++-------
>>> arch/arm/mach-s5pv210/mach-smdkv210.c | 24 ++++++++++-------
>>> 19 files changed, 285 insertions(+), 238 deletions(-)
>>>
>> [.....]
>>
>>> diff --git a/arch/arm/mach-s3c64xx/mach-mini6410.c b/arch/arm/mach-s3c64xx/mach-mini6410.c
>>> index c34c2ab..24dcdc9 100644
>>> --- a/arch/arm/mach-s3c64xx/mach-mini6410.c
>>> +++ b/arch/arm/mach-s3c64xx/mach-mini6410.c
>>> @@ -153,36 +153,32 @@ static struct s3c2410_platform_nand mini6410_nand_info = {
>>>
>>> static struct s3c_fb_pd_win mini6410_fb_win[] = {
>>> {
>>> - .win_mode = { /* 4.3" 480x272 */
>>> - .left_margin = 3,
>>> - .right_margin = 2,
>>> - .upper_margin = 1,
>>> - .lower_margin = 1,
>>> - .hsync_len = 40,
>>> - .vsync_len = 1,
>>> - .xres = 480,
>>> - .yres = 272,
>>> - },
>>> .max_bpp = 32,
>>> .default_bpp = 16,
>>> + .xres = 480,
>>> + .yres = 272,
>>> }, {
>>> - .win_mode = { /* 7.0" 800x480 */
>>> - .left_margin = 8,
>>> - .right_margin = 13,
>>> - .upper_margin = 7,
>>> - .lower_margin = 5,
>>> - .hsync_len = 3,
>>> - .vsync_len = 1,
>>> - .xres = 800,
>>> - .yres = 480,
>>> - },
>>> .max_bpp = 32,
>>> .default_bpp = 16,
>>> + .xres = 800,
>>> + .yres = 480,
>>> },
>>> };
>>>
>>> +static struct fb_videomode mini6410_lcd_timing = {
>>> + .left_margin = 8,
>>> + .right_margin = 13,
>>> + .upper_margin = 7,
>>> + .lower_margin = 5,
>>> + .hsync_len = 3,
>>> + .vsync_len = 1,
>>> + .xres = 800,
>>> + .yres = 480,
>>> +};
>>> +
>>> static struct s3c_fb_platdata mini6410_lcd_pdata __initdata = {
>>> .setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
>>> + .vtiming =&mini6410_lcd_timing,
>>> .win[0] =&mini6410_fb_win[0],
>>> .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
>>> .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
>>> @@ -310,8 +306,8 @@ static void __init mini6410_machine_init(void)
>>> mini6410_lcd_pdata.win[0] =&mini6410_fb_win[features.lcd_index];
>>>
>>> printk(KERN_INFO "MINI6410: selected LCD display is %dx%d\n",
>>> - mini6410_lcd_pdata.win[0]->win_mode.xres,
>>> - mini6410_lcd_pdata.win[0]->win_mode.yres);
>>> + mini6410_lcd_pdata.win[0]->xres,
>>> + mini6410_lcd_pdata.win[0]->yres);
>>>
>>> s3c_nand_set_platdata(&mini6410_nand_info);
>>> s3c_fb_set_platdata(&mini6410_lcd_pdata);
>>> diff --git a/arch/arm/mach-s3c64xx/mach-real6410.c b/arch/arm/mach-s3c64xx/mach-real6410.c
>>> index be2a9a2..41e4f74 100644
>>> --- a/arch/arm/mach-s3c64xx/mach-real6410.c
>>> +++ b/arch/arm/mach-s3c64xx/mach-real6410.c
>>> @@ -119,36 +119,32 @@ static struct platform_device real6410_device_eth = {
>>>
>>> static struct s3c_fb_pd_win real6410_fb_win[] = {
>>> {
>>> - .win_mode = { /* 4.3" 480x272 */
>>> - .left_margin = 3,
>>> - .right_margin = 2,
>>> - .upper_margin = 1,
>>> - .lower_margin = 1,
>>> - .hsync_len = 40,
>>> - .vsync_len = 1,
>>> - .xres = 480,
>>> - .yres = 272,
>>> - },
>>> .max_bpp = 32,
>>> .default_bpp = 16,
>>> + .xres = 480,
>>> + .yres = 272,
>>> }, {
>>> - .win_mode = { /* 7.0" 800x480 */
>>> - .left_margin = 8,
>>> - .right_margin = 13,
>>> - .upper_margin = 7,
>>> - .lower_margin = 5,
>>> - .hsync_len = 3,
>>> - .vsync_len = 1,
>>> - .xres = 800,
>>> - .yres = 480,
>>> - },
>>> .max_bpp = 32,
>>> .default_bpp = 16,
>>> + .xres = 800,
>>> + .yres = 480,
>>> },
>>> };
>>>
>>> +static struct fb_videomode real6410_lcd_timing = {
>>> + .left_margin = 3,
>>> + .right_margin = 2,
>>> + .upper_margin = 1,
>>> + .lower_margin = 1,
>>> + .hsync_len = 40,
>>> + .vsync_len = 1,
>>> + .xres = 800,
>>> + .yres = 480,
>>> +};
>>
>> What is the difference between mini6410_lcd_timing and real6410_lcd_timing?
>> In my opinion, it would be good as follows:
>>
>> +static struct fb_videomode real6410_lcd_timing = {
>> + .left_margin = 8,
>> + .right_margin = 13,
>> + .upper_margin = 7,
>> + .lower_margin = 5,
>> + .hsync_len = 3,
>> + .vsync_len = 1,
>> + .xres = 800,
>> + .yres = 480,
>> +};
>>
>>
> Before this patch series, both real6410 and mini6410 had 'default_win'
> = 0 in the platform data. And, the s3c-fb driver selected the video
> timing from the window selected by the default_win parameter in s3c-fb
> platform data, i.e window 0 for both mini6440 and real6410. So, in
> this patch, while moving the timing values out of window data, the
> timing values for window 0 was selected.
>
> The timing value for window 1 was never used on mini6410 and real6410.
> So I would suggest to use timing value of window 0 in this patch.
You are wrong. Please see mini6410_parse_features(). Please do not
remove second window because it could be selected via kernel parameters
dinamically. It's very useful and I spend my hours to create it.
>
> Thanks for your comments.
>
> Regards,
> Thomas.
>
WARNING: multiple messages have this Message-ID (diff)
From: Darius Augulis <augulis.darius@gmail.com>
To: Thomas Abraham <thomas.abraham@linaro.org>
Cc: Jingoo Han <jg1.han@samsung.com>,
linux-fbdev@vger.kernel.org, FlorianSchandinat@gmx.de,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, kgene.kim@samsung.com,
ben-linux@fluff.org, patches@linaro.org,
Kyungmin Park <kyungmin.park@samsung.com>,
JeongHyeon Kim <jhkim@insignal.co.kr>,
Heiko Stuebner <heiko@sntech.de>,
Kwangwoo Lee <kwangwoo.lee@gmail.com>,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Peter Korsgaard <jacmet@sunsite.dk>,
Maurus Cuelenaere <mcuelenaere@gmail.com>
Subject: Re: [PATCH v2 3/3] ARM: Samsung: Rework platform data of s3c-fb driver
Date: Wed, 14 Mar 2012 21:08:11 +0200 [thread overview]
Message-ID: <4F60EC9B.9040409@gmail.com> (raw)
In-Reply-To: <CAJuYYwSUf-gsVesduMggSuues9OLOR6DUDAAMg_tL=e3=3c0tQ@mail.gmail.com>
On 03/13/2012 12:10 PM, Thomas Abraham wrote:
> On 13 March 2012 15:17, Jingoo Han<jg1.han@samsung.com> wrote:
>>> -----Original Message-----
>>> From: Thomas Abraham [mailto:thomas.abraham@linaro.org]
>>> Sent: Tuesday, March 13, 2012 6:00 AM
>>> To: linux-fbdev@vger.kernel.org
>>> Cc: FlorianSchandinat@gmx.de; linux-arm-kernel@lists.infradead.org; linux-samsung-soc@vger.kernel.org;
>>> kgene.kim@samsung.com; jg1.han@samsung.com; ben-linux@fluff.org; patches@linaro.org; Kyungmin Park;
>>> JeongHyeon Kim; Heiko Stuebner; Kwangwoo Lee; Mark Brown; Peter Korsgaard; Darius Augulis; Maurus
>>> Cuelenaere
>>> Subject: [PATCH v2 3/3] ARM: Samsung: Rework platform data of s3c-fb driver
>>>
>>> For all the Samsung SoC based boards which have the platform data for
>>> s3c-fb driver, the 'default_win' element in the platform data is removed
>>> and the lcd panel video timing values are moved out of individual window
>>> configuration data.
>>>
>>> Cc: Jingoo Han<jg1.han@samsung.com>
>>> Cc: Kyungmin Park<kyungmin.park@samsung.com>
>>> Cc: JeongHyeon Kim<jhkim@insignal.co.kr>
>>> Cc: Kukjin Kim<kgene.kim@samsung.com>
>>> Cc: Heiko Stuebner<heiko@sntech.de>
>>> Cc: Ben Dooks<ben-linux@fluff.org>
>>> Cc: Kwangwoo Lee<kwangwoo.lee@gmail.com>
>>> Cc: Mark Brown<broonie@opensource.wolfsonmicro.com>
>>> Cc: Peter Korsgaard<jacmet@sunsite.dk>
>>> Cc: Darius Augulis<augulis.darius@gmail.com>
>>> Cc: Maurus Cuelenaere<mcuelenaere@gmail.com>
>>> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
>>> ---
>>> arch/arm/mach-exynos/mach-nuri.c | 26 ++++++++++-------
>>> arch/arm/mach-exynos/mach-origen.c | 24 ++++++++++-------
>>> arch/arm/mach-exynos/mach-smdkv310.c | 28 +++++++++++--------
>>> arch/arm/mach-exynos/mach-universal_c210.c | 26 ++++++++++-------
>>> arch/arm/mach-s3c24xx/mach-smdk2416.c | 27 ++++++++++--------
>>> arch/arm/mach-s3c64xx/mach-anw6410.c | 25 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-crag6410.c | 25 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-hmt.c | 24 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-mini6410.c | 40 ++++++++++++---------------
>>> arch/arm/mach-s3c64xx/mach-real6410.c | 40 ++++++++++++---------------
>>> arch/arm/mach-s3c64xx/mach-smartq5.c | 26 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-smartq7.c | 26 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-smdk6410.c | 25 ++++++++++-------
>>> arch/arm/mach-s5p64x0/mach-smdk6440.c | 24 ++++++++++-------
>>> arch/arm/mach-s5p64x0/mach-smdk6450.c | 24 ++++++++++-------
>>> arch/arm/mach-s5pc100/mach-smdkc100.c | 27 ++++++++++--------
>>> arch/arm/mach-s5pv210/mach-aquila.c | 36 +++++++++++--------------
>>> arch/arm/mach-s5pv210/mach-goni.c | 26 ++++++++++-------
>>> arch/arm/mach-s5pv210/mach-smdkv210.c | 24 ++++++++++-------
>>> 19 files changed, 285 insertions(+), 238 deletions(-)
>>>
>> [.....]
>>
>>> diff --git a/arch/arm/mach-s3c64xx/mach-mini6410.c b/arch/arm/mach-s3c64xx/mach-mini6410.c
>>> index c34c2ab..24dcdc9 100644
>>> --- a/arch/arm/mach-s3c64xx/mach-mini6410.c
>>> +++ b/arch/arm/mach-s3c64xx/mach-mini6410.c
>>> @@ -153,36 +153,32 @@ static struct s3c2410_platform_nand mini6410_nand_info = {
>>>
>>> static struct s3c_fb_pd_win mini6410_fb_win[] = {
>>> {
>>> - .win_mode = { /* 4.3" 480x272 */
>>> - .left_margin = 3,
>>> - .right_margin = 2,
>>> - .upper_margin = 1,
>>> - .lower_margin = 1,
>>> - .hsync_len = 40,
>>> - .vsync_len = 1,
>>> - .xres = 480,
>>> - .yres = 272,
>>> - },
>>> .max_bpp = 32,
>>> .default_bpp = 16,
>>> + .xres = 480,
>>> + .yres = 272,
>>> }, {
>>> - .win_mode = { /* 7.0" 800x480 */
>>> - .left_margin = 8,
>>> - .right_margin = 13,
>>> - .upper_margin = 7,
>>> - .lower_margin = 5,
>>> - .hsync_len = 3,
>>> - .vsync_len = 1,
>>> - .xres = 800,
>>> - .yres = 480,
>>> - },
>>> .max_bpp = 32,
>>> .default_bpp = 16,
>>> + .xres = 800,
>>> + .yres = 480,
>>> },
>>> };
>>>
>>> +static struct fb_videomode mini6410_lcd_timing = {
>>> + .left_margin = 8,
>>> + .right_margin = 13,
>>> + .upper_margin = 7,
>>> + .lower_margin = 5,
>>> + .hsync_len = 3,
>>> + .vsync_len = 1,
>>> + .xres = 800,
>>> + .yres = 480,
>>> +};
>>> +
>>> static struct s3c_fb_platdata mini6410_lcd_pdata __initdata = {
>>> .setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
>>> + .vtiming =&mini6410_lcd_timing,
>>> .win[0] =&mini6410_fb_win[0],
>>> .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
>>> .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
>>> @@ -310,8 +306,8 @@ static void __init mini6410_machine_init(void)
>>> mini6410_lcd_pdata.win[0] =&mini6410_fb_win[features.lcd_index];
>>>
>>> printk(KERN_INFO "MINI6410: selected LCD display is %dx%d\n",
>>> - mini6410_lcd_pdata.win[0]->win_mode.xres,
>>> - mini6410_lcd_pdata.win[0]->win_mode.yres);
>>> + mini6410_lcd_pdata.win[0]->xres,
>>> + mini6410_lcd_pdata.win[0]->yres);
>>>
>>> s3c_nand_set_platdata(&mini6410_nand_info);
>>> s3c_fb_set_platdata(&mini6410_lcd_pdata);
>>> diff --git a/arch/arm/mach-s3c64xx/mach-real6410.c b/arch/arm/mach-s3c64xx/mach-real6410.c
>>> index be2a9a2..41e4f74 100644
>>> --- a/arch/arm/mach-s3c64xx/mach-real6410.c
>>> +++ b/arch/arm/mach-s3c64xx/mach-real6410.c
>>> @@ -119,36 +119,32 @@ static struct platform_device real6410_device_eth = {
>>>
>>> static struct s3c_fb_pd_win real6410_fb_win[] = {
>>> {
>>> - .win_mode = { /* 4.3" 480x272 */
>>> - .left_margin = 3,
>>> - .right_margin = 2,
>>> - .upper_margin = 1,
>>> - .lower_margin = 1,
>>> - .hsync_len = 40,
>>> - .vsync_len = 1,
>>> - .xres = 480,
>>> - .yres = 272,
>>> - },
>>> .max_bpp = 32,
>>> .default_bpp = 16,
>>> + .xres = 480,
>>> + .yres = 272,
>>> }, {
>>> - .win_mode = { /* 7.0" 800x480 */
>>> - .left_margin = 8,
>>> - .right_margin = 13,
>>> - .upper_margin = 7,
>>> - .lower_margin = 5,
>>> - .hsync_len = 3,
>>> - .vsync_len = 1,
>>> - .xres = 800,
>>> - .yres = 480,
>>> - },
>>> .max_bpp = 32,
>>> .default_bpp = 16,
>>> + .xres = 800,
>>> + .yres = 480,
>>> },
>>> };
>>>
>>> +static struct fb_videomode real6410_lcd_timing = {
>>> + .left_margin = 3,
>>> + .right_margin = 2,
>>> + .upper_margin = 1,
>>> + .lower_margin = 1,
>>> + .hsync_len = 40,
>>> + .vsync_len = 1,
>>> + .xres = 800,
>>> + .yres = 480,
>>> +};
>>
>> What is the difference between mini6410_lcd_timing and real6410_lcd_timing?
>> In my opinion, it would be good as follows:
>>
>> +static struct fb_videomode real6410_lcd_timing = {
>> + .left_margin = 8,
>> + .right_margin = 13,
>> + .upper_margin = 7,
>> + .lower_margin = 5,
>> + .hsync_len = 3,
>> + .vsync_len = 1,
>> + .xres = 800,
>> + .yres = 480,
>> +};
>>
>>
> Before this patch series, both real6410 and mini6410 had 'default_win'
> = 0 in the platform data. And, the s3c-fb driver selected the video
> timing from the window selected by the default_win parameter in s3c-fb
> platform data, i.e window 0 for both mini6440 and real6410. So, in
> this patch, while moving the timing values out of window data, the
> timing values for window 0 was selected.
>
> The timing value for window 1 was never used on mini6410 and real6410.
> So I would suggest to use timing value of window 0 in this patch.
You are wrong. Please see mini6410_parse_features(). Please do not
remove second window because it could be selected via kernel parameters
dinamically. It's very useful and I spend my hours to create it.
>
> Thanks for your comments.
>
> Regards,
> Thomas.
>
WARNING: multiple messages have this Message-ID (diff)
From: augulis.darius@gmail.com (Darius Augulis)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 3/3] ARM: Samsung: Rework platform data of s3c-fb driver
Date: Wed, 14 Mar 2012 21:08:11 +0200 [thread overview]
Message-ID: <4F60EC9B.9040409@gmail.com> (raw)
In-Reply-To: <CAJuYYwSUf-gsVesduMggSuues9OLOR6DUDAAMg_tL=e3=3c0tQ@mail.gmail.com>
On 03/13/2012 12:10 PM, Thomas Abraham wrote:
> On 13 March 2012 15:17, Jingoo Han<jg1.han@samsung.com> wrote:
>>> -----Original Message-----
>>> From: Thomas Abraham [mailto:thomas.abraham at linaro.org]
>>> Sent: Tuesday, March 13, 2012 6:00 AM
>>> To: linux-fbdev at vger.kernel.org
>>> Cc: FlorianSchandinat at gmx.de; linux-arm-kernel at lists.infradead.org; linux-samsung-soc at vger.kernel.org;
>>> kgene.kim at samsung.com; jg1.han at samsung.com; ben-linux at fluff.org; patches at linaro.org; Kyungmin Park;
>>> JeongHyeon Kim; Heiko Stuebner; Kwangwoo Lee; Mark Brown; Peter Korsgaard; Darius Augulis; Maurus
>>> Cuelenaere
>>> Subject: [PATCH v2 3/3] ARM: Samsung: Rework platform data of s3c-fb driver
>>>
>>> For all the Samsung SoC based boards which have the platform data for
>>> s3c-fb driver, the 'default_win' element in the platform data is removed
>>> and the lcd panel video timing values are moved out of individual window
>>> configuration data.
>>>
>>> Cc: Jingoo Han<jg1.han@samsung.com>
>>> Cc: Kyungmin Park<kyungmin.park@samsung.com>
>>> Cc: JeongHyeon Kim<jhkim@insignal.co.kr>
>>> Cc: Kukjin Kim<kgene.kim@samsung.com>
>>> Cc: Heiko Stuebner<heiko@sntech.de>
>>> Cc: Ben Dooks<ben-linux@fluff.org>
>>> Cc: Kwangwoo Lee<kwangwoo.lee@gmail.com>
>>> Cc: Mark Brown<broonie@opensource.wolfsonmicro.com>
>>> Cc: Peter Korsgaard<jacmet@sunsite.dk>
>>> Cc: Darius Augulis<augulis.darius@gmail.com>
>>> Cc: Maurus Cuelenaere<mcuelenaere@gmail.com>
>>> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
>>> ---
>>> arch/arm/mach-exynos/mach-nuri.c | 26 ++++++++++-------
>>> arch/arm/mach-exynos/mach-origen.c | 24 ++++++++++-------
>>> arch/arm/mach-exynos/mach-smdkv310.c | 28 +++++++++++--------
>>> arch/arm/mach-exynos/mach-universal_c210.c | 26 ++++++++++-------
>>> arch/arm/mach-s3c24xx/mach-smdk2416.c | 27 ++++++++++--------
>>> arch/arm/mach-s3c64xx/mach-anw6410.c | 25 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-crag6410.c | 25 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-hmt.c | 24 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-mini6410.c | 40 ++++++++++++---------------
>>> arch/arm/mach-s3c64xx/mach-real6410.c | 40 ++++++++++++---------------
>>> arch/arm/mach-s3c64xx/mach-smartq5.c | 26 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-smartq7.c | 26 ++++++++++-------
>>> arch/arm/mach-s3c64xx/mach-smdk6410.c | 25 ++++++++++-------
>>> arch/arm/mach-s5p64x0/mach-smdk6440.c | 24 ++++++++++-------
>>> arch/arm/mach-s5p64x0/mach-smdk6450.c | 24 ++++++++++-------
>>> arch/arm/mach-s5pc100/mach-smdkc100.c | 27 ++++++++++--------
>>> arch/arm/mach-s5pv210/mach-aquila.c | 36 +++++++++++--------------
>>> arch/arm/mach-s5pv210/mach-goni.c | 26 ++++++++++-------
>>> arch/arm/mach-s5pv210/mach-smdkv210.c | 24 ++++++++++-------
>>> 19 files changed, 285 insertions(+), 238 deletions(-)
>>>
>> [.....]
>>
>>> diff --git a/arch/arm/mach-s3c64xx/mach-mini6410.c b/arch/arm/mach-s3c64xx/mach-mini6410.c
>>> index c34c2ab..24dcdc9 100644
>>> --- a/arch/arm/mach-s3c64xx/mach-mini6410.c
>>> +++ b/arch/arm/mach-s3c64xx/mach-mini6410.c
>>> @@ -153,36 +153,32 @@ static struct s3c2410_platform_nand mini6410_nand_info = {
>>>
>>> static struct s3c_fb_pd_win mini6410_fb_win[] = {
>>> {
>>> - .win_mode = { /* 4.3" 480x272 */
>>> - .left_margin = 3,
>>> - .right_margin = 2,
>>> - .upper_margin = 1,
>>> - .lower_margin = 1,
>>> - .hsync_len = 40,
>>> - .vsync_len = 1,
>>> - .xres = 480,
>>> - .yres = 272,
>>> - },
>>> .max_bpp = 32,
>>> .default_bpp = 16,
>>> + .xres = 480,
>>> + .yres = 272,
>>> }, {
>>> - .win_mode = { /* 7.0" 800x480 */
>>> - .left_margin = 8,
>>> - .right_margin = 13,
>>> - .upper_margin = 7,
>>> - .lower_margin = 5,
>>> - .hsync_len = 3,
>>> - .vsync_len = 1,
>>> - .xres = 800,
>>> - .yres = 480,
>>> - },
>>> .max_bpp = 32,
>>> .default_bpp = 16,
>>> + .xres = 800,
>>> + .yres = 480,
>>> },
>>> };
>>>
>>> +static struct fb_videomode mini6410_lcd_timing = {
>>> + .left_margin = 8,
>>> + .right_margin = 13,
>>> + .upper_margin = 7,
>>> + .lower_margin = 5,
>>> + .hsync_len = 3,
>>> + .vsync_len = 1,
>>> + .xres = 800,
>>> + .yres = 480,
>>> +};
>>> +
>>> static struct s3c_fb_platdata mini6410_lcd_pdata __initdata = {
>>> .setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
>>> + .vtiming =&mini6410_lcd_timing,
>>> .win[0] =&mini6410_fb_win[0],
>>> .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
>>> .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
>>> @@ -310,8 +306,8 @@ static void __init mini6410_machine_init(void)
>>> mini6410_lcd_pdata.win[0] =&mini6410_fb_win[features.lcd_index];
>>>
>>> printk(KERN_INFO "MINI6410: selected LCD display is %dx%d\n",
>>> - mini6410_lcd_pdata.win[0]->win_mode.xres,
>>> - mini6410_lcd_pdata.win[0]->win_mode.yres);
>>> + mini6410_lcd_pdata.win[0]->xres,
>>> + mini6410_lcd_pdata.win[0]->yres);
>>>
>>> s3c_nand_set_platdata(&mini6410_nand_info);
>>> s3c_fb_set_platdata(&mini6410_lcd_pdata);
>>> diff --git a/arch/arm/mach-s3c64xx/mach-real6410.c b/arch/arm/mach-s3c64xx/mach-real6410.c
>>> index be2a9a2..41e4f74 100644
>>> --- a/arch/arm/mach-s3c64xx/mach-real6410.c
>>> +++ b/arch/arm/mach-s3c64xx/mach-real6410.c
>>> @@ -119,36 +119,32 @@ static struct platform_device real6410_device_eth = {
>>>
>>> static struct s3c_fb_pd_win real6410_fb_win[] = {
>>> {
>>> - .win_mode = { /* 4.3" 480x272 */
>>> - .left_margin = 3,
>>> - .right_margin = 2,
>>> - .upper_margin = 1,
>>> - .lower_margin = 1,
>>> - .hsync_len = 40,
>>> - .vsync_len = 1,
>>> - .xres = 480,
>>> - .yres = 272,
>>> - },
>>> .max_bpp = 32,
>>> .default_bpp = 16,
>>> + .xres = 480,
>>> + .yres = 272,
>>> }, {
>>> - .win_mode = { /* 7.0" 800x480 */
>>> - .left_margin = 8,
>>> - .right_margin = 13,
>>> - .upper_margin = 7,
>>> - .lower_margin = 5,
>>> - .hsync_len = 3,
>>> - .vsync_len = 1,
>>> - .xres = 800,
>>> - .yres = 480,
>>> - },
>>> .max_bpp = 32,
>>> .default_bpp = 16,
>>> + .xres = 800,
>>> + .yres = 480,
>>> },
>>> };
>>>
>>> +static struct fb_videomode real6410_lcd_timing = {
>>> + .left_margin = 3,
>>> + .right_margin = 2,
>>> + .upper_margin = 1,
>>> + .lower_margin = 1,
>>> + .hsync_len = 40,
>>> + .vsync_len = 1,
>>> + .xres = 800,
>>> + .yres = 480,
>>> +};
>>
>> What is the difference between mini6410_lcd_timing and real6410_lcd_timing?
>> In my opinion, it would be good as follows:
>>
>> +static struct fb_videomode real6410_lcd_timing = {
>> + .left_margin = 8,
>> + .right_margin = 13,
>> + .upper_margin = 7,
>> + .lower_margin = 5,
>> + .hsync_len = 3,
>> + .vsync_len = 1,
>> + .xres = 800,
>> + .yres = 480,
>> +};
>>
>>
> Before this patch series, both real6410 and mini6410 had 'default_win'
> = 0 in the platform data. And, the s3c-fb driver selected the video
> timing from the window selected by the default_win parameter in s3c-fb
> platform data, i.e window 0 for both mini6440 and real6410. So, in
> this patch, while moving the timing values out of window data, the
> timing values for window 0 was selected.
>
> The timing value for window 1 was never used on mini6410 and real6410.
> So I would suggest to use timing value of window 0 in this patch.
You are wrong. Please see mini6410_parse_features(). Please do not
remove second window because it could be selected via kernel parameters
dinamically. It's very useful and I spend my hours to create it.
>
> Thanks for your comments.
>
> Regards,
> Thomas.
>
next prev parent reply other threads:[~2012-03-14 19:08 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-12 20:56 [PATCH v2 0/3] video: s3c-fb: Rearrange the elements in platform data Thomas Abraham
2012-03-12 20:59 ` Thomas Abraham
2012-03-12 20:59 ` Thomas Abraham
2012-03-12 20:56 ` [PATCH v2 1/3] video: s3c-fb: move video interface timing out of window setup data Thomas Abraham
2012-03-12 20:59 ` Thomas Abraham
2012-03-12 20:59 ` Thomas Abraham
2012-03-12 20:56 ` [PATCH v2 2/3] video: s3c-fb: remove 'default_win' element from platform data Thomas Abraham
2012-03-12 20:59 ` Thomas Abraham
2012-03-12 20:59 ` Thomas Abraham
2012-03-13 9:34 ` [PATCH v3 " Jingoo Han
2012-03-13 9:34 ` Jingoo Han
2012-03-13 9:34 ` Jingoo Han
2012-03-12 20:57 ` [PATCH v2 3/3] ARM: Samsung: Rework platform data of s3c-fb driver Thomas Abraham
2012-03-12 20:59 ` Thomas Abraham
2012-03-12 20:59 ` Thomas Abraham
2012-03-13 9:47 ` Jingoo Han
2012-03-13 9:47 ` Jingoo Han
2012-03-13 9:47 ` Jingoo Han
2012-03-13 10:10 ` Thomas Abraham
2012-03-13 10:22 ` Thomas Abraham
2012-03-13 10:10 ` Thomas Abraham
2012-03-14 1:51 ` Jingoo Han
2012-03-14 1:51 ` Jingoo Han
2012-03-14 1:51 ` Jingoo Han
2012-03-14 18:39 ` Darius Augulis
2012-03-14 18:39 ` Darius Augulis
2012-03-14 18:39 ` Darius Augulis
2012-03-15 0:20 ` Jingoo Han
2012-03-15 0:20 ` Jingoo Han
2012-03-15 0:20 ` Jingoo Han
2012-03-15 7:42 ` Darius Augulis
2012-03-15 7:42 ` Darius Augulis
2012-03-15 7:42 ` Darius Augulis
2012-03-15 8:10 ` Jingoo Han
2012-03-15 8:10 ` Jingoo Han
2012-03-15 8:10 ` Jingoo Han
2012-03-15 8:26 ` Darius Augulis
2012-03-15 8:26 ` Darius Augulis
2012-03-15 8:26 ` Darius Augulis
2012-03-15 8:39 ` Jingoo Han
2012-03-15 8:39 ` Jingoo Han
2012-03-15 8:39 ` Jingoo Han
2012-03-16 1:39 ` Jingoo Han
2012-03-16 1:39 ` Jingoo Han
2012-03-16 1:39 ` Jingoo Han
2012-03-16 7:47 ` Darius Augulis
2012-03-16 7:47 ` Darius Augulis
2012-03-16 7:47 ` Darius Augulis
2012-03-16 8:07 ` Jingoo Han
2012-03-16 8:07 ` Jingoo Han
2012-03-16 8:07 ` Jingoo Han
2012-03-16 9:15 ` Darius Augulis
2012-03-16 9:15 ` Darius Augulis
2012-03-16 9:15 ` Darius Augulis
2012-03-16 9:48 ` Jingoo Han
2012-03-16 9:48 ` Jingoo Han
2012-03-16 9:48 ` Jingoo Han
2012-03-16 10:18 ` Darius Augulis
2012-03-16 10:18 ` Darius Augulis
2012-03-16 10:18 ` Darius Augulis
2012-03-18 23:46 ` Jingoo Han
2012-03-18 23:46 ` Jingoo Han
2012-03-18 23:46 ` Jingoo Han
2012-03-19 7:29 ` Thomas Abraham
2012-03-19 7:41 ` Thomas Abraham
2012-03-19 7:29 ` Thomas Abraham
2012-03-19 7:40 ` Darius Augulis
2012-03-19 7:40 ` Darius Augulis
2012-03-19 7:40 ` Darius Augulis
2012-03-19 7:49 ` Thomas Abraham
2012-03-19 7:50 ` Thomas Abraham
2012-03-19 7:49 ` Thomas Abraham
2012-03-19 7:52 ` Darius Augulis
2012-03-19 7:52 ` Darius Augulis
2012-03-19 7:52 ` Darius Augulis
2012-03-14 19:08 ` Darius Augulis [this message]
2012-03-14 19:08 ` Darius Augulis
2012-03-14 19:08 ` Darius Augulis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F60EC9B.9040409@gmail.com \
--to=augulis.darius@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.