[PATCH v3 09/12] s3c-fb: Correct window osd size and alpha register handling
Pawel Osciak
p.osciak at samsung.com
Fri Jul 2 10:53:54 EDT 2010
>Ben Dooks <ben at simtec.co.uk> wrote:
>On 28/06/10 09:08, Pawel Osciak wrote:
>> S3C64xx and S5P OSD registers for OSD size and alpha are as follows:
>> VIDOSDC: win 0 - size, win 1-4: alpha
>> VIDOSDD: win 1-2 - size; not present for windows 0, 3 and 4
>>
>> Signed-off-by: Pawel Osciak <p.osciak at samsung.com>
>> Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
>> ---
>> drivers/video/s3c-fb.c | 58 ++++++++++++++++++++++++++++++++++++++++++--
>---
>> 1 files changed, 51 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c
>> index 94423c5..3b2c7fe 100644
>> --- a/drivers/video/s3c-fb.c
>> +++ b/drivers/video/s3c-fb.c
>> @@ -64,6 +64,9 @@ struct s3c_fb;
>> #define VIDOSD_B(win, variant) (OSD_BASE(win, variant) + 0x04)
>> #define VIDOSD_C(win, variant) (OSD_BASE(win, variant) + 0x08)
>> #define VIDOSD_D(win, variant) (OSD_BASE(win, variant) + 0x0C)
>> +#define VIDOSD_SIZE(win, variant, win_variant) \
>> + (OSD_BASE(win, variant) + (win_variant).osd_size_off)
>> +#define VIDOSD_ALPHA(win, variant, win_variant) VIDOSD_C(win, variant)
>
>hmm, this is becoming a bit complicated. if we have a function to
>set it then maybe we should just calculate it there.
>
>> @@ -1445,12 +1478,17 @@ static int s3c_fb_resume(struct platform_device
>*pdev)
>> static struct s3c_fb_win_variant s3c_fb_data_64xx_wins[] __devinitdata = {
>> [0] = {
>> .has_osd_c = 1,
>> + .has_osd_size = 1,
>> + .osd_size_off = 0x8,
>> .palette_sz = 256,
>> .valid_bpp = VALID_BPP1248 | VALID_BPP(16) | VALID_BPP(24),
>> },
>> [1] = {
>> .has_osd_c = 1,
>> .has_osd_d = 1,
>> + .has_osd_size = 1,
>> + .osd_size_off = 0x12,
>> + .has_osd_alpha = 1,
>
>how about osd_size_off !=0 => has_osd_size ?
>
Could be done that way, yes... I'm not aware of any SoC with osd_size_off == 0
till now.
>do we need to change the osd c and d definitions?
I'd prefer not using "OSD_C" and "OSD_D" names at all. How they are changing
their usage across hw versions and windows is confusing enough. Maybe we should
only be using osd_sizeand osd_alpha instead? Would you agree?
Best regards
--
Pawel Osciak
Linux Platform Group
Samsung Poland R&D Center
More information about the linux-arm-kernel
mailing list