* Re: Radeon fb issue: invalid framebuffer id kernel 3.2.12
From: Fabio Coatti @ 2012-03-21 23:01 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <CADpTngU6fL3r3cHsH3B6Hx68Bm4R_baoBeVmvGf6bUJPV3CXbA@mail.gmail.com>
2012/3/19 Dave Airlie <airlied@gmail.com>:
>> Hi all,
>> I'm setting up a new laptot with Advanced Micro Devices [AMD] nee ATI
>> Seymour [Radeon HD 6400M Series] card, using radeon drivers. I'm
>> facing an issue for wich I found a lot of references but no actual
>> solution, so I'm asking here for some help
>
> the invalid framebuffer id isn't fatal, however it sounds like you
> haven't got CONFIG_FRAMEBUFFER_CONSOLE
> or haven't loaded fbcon.
Indeed your'e right. I was confused by the error and i didn't looked
in the right and obvious place, silly me.
Thanks for the heads up!
--
Fabio
^ permalink raw reply
* Re: [PATCH] kyrofb: fix on x86_64
From: Paul Mundt @ 2012-03-22 0:01 UTC (permalink / raw)
To: Ondrej Zary
Cc: Florian Tobias Schandinat, linux-fbdev, Kernel development list
In-Reply-To: <201203212336.55396.linux@rainbow-software.org>
On Wed, Mar 21, 2012 at 11:36:50PM +0100, Ondrej Zary wrote:
> kyrofb is completely broken on x86_64 because the registers are defined as
> unsigned long. Change them to u32 to make the driver work.
> Tested with Hercules 3D Prophet 4000XT.
>
> Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
>
Looks fine to me.
Acked-by: Paul Mundt <lethal@linux-sh.org>
^ permalink raw reply
* Re: [PATCH] x86: export 'pcibios_enabled'
From: Wang YanQing @ 2012-03-22 0:41 UTC (permalink / raw)
To: Alan Cox
Cc: Florian Tobias Schandinat, H. Peter Anvin, Randy Dunlap,
Stephen Rothwell, linux-next, LKML, Michal Januszewski,
linux-fbdev, x86, Andrew Morton
In-Reply-To: <20120314112137.68fa4f70@pyramind.ukuu.org.uk>
On Wed, Mar 14, 2012 at 11:21:37AM +0000, Alan Cox wrote:
> You can use set_memory_x() to mark memory executable (and _nx to set it back).
>
NO I can't, if I set_memory_x and don't set pcibios_enabled = 1, then
static_protections will still failed because pcibios_enabled = 0,
and I don't want to use set_memory_x, because I don't want to give the user
of uvesafb that feeling "I will lost BIOS NX protection if I choice uvesafb."
> If you really need to know if NX is being used then the check
>
> if (__supported_pte_mask & PTE_NX)
>
> will do the trick and the variable is exported.
I don't understand what do you mean, do you means CONFIG_X86_PAE for 32? Or CONFIG_X86_64?
when NX is being used, the pci bios is NX or not also depend on
ACPI.ACPI on or off all will influnce the code path in pci_arch_init,
decide the set_bios_x have chance to execute or not.See
https://lkml.org/lkml/2011/11/16/84
By the way _PAGE_NX instead of PTE_NX, right?
> I'd suggest however you wrap that in a cpu_has_nx() type macro somewhere
> in the arch headers.
>
The same above.
> If you go poking around pcibios values you are going to get burned if
> someone is ever bored enough to make NX and PCIBIOS work together
> differently.
>
Indeed according to 5bd5a452662bc37c54fb6828db1a3faf87e6511c, who bring me
the trouble, check the pcibios_enabled is the only simple and good way to
resolve the Oops I meet.
If you really don't want it, and if I am not all wrong about your "helper method",
you means you want export the below:
int check_pcibios_enabled()?
See https://lkml.org/lkml/2012/2/26/124
Thanks.
^ permalink raw reply
* Re: [PATCH] Added backlight driver for Acer Aspire 4736
From: joeyli @ 2012-03-22 1:33 UTC (permalink / raw)
To: Pradeep Subrahmanion
Cc: Matthew Garrett, rpurdie, FlorianSchandinat, akpm, linux-fbdev,
linux-kernel
In-Reply-To: <1332356993.3103.23.camel@debian.Gayathri>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="windows-1254", Size: 1731 bytes --]
æ¼ åï¼2012-03-22 æ¼ 00:39 +0530ï¼Pradeep Subrahmanion æå°ï¼
> > This new patch should remove acpi_video0 interface on your machine.
> > Please kindly provide your dmidecode:
> > dmidecode > dmidecode.log
> >
> > And,
> > please make should the patch really applied, you can do a bit change on
> > pr_info message by yourself.
>
> Sorry . I think there was some mistake . I tried the patch again. Now
> I see only intel_backlight inside /sys/class/backlight. There is no
> acer-wmi interface . Is this the expected behavior ? . Or am I missing
> anything ?
>
Yes, this is the expected behavior! But, now I doubt your issue was
workaround by acpi_osi=Linux but not intel_backlight.
>
>
> >
> > > echo 5 > /sys/class/backlight/acpi_video0/brightness
> > > echo 5 > /sys/class/backlight/intel_backlight/brightness
> > >
> > > But it doesn't make any change .
> > >
> > > In my case , 'acpi_backlight = vendor' does not make any difference since the hot key control
> > >
> > > already starts working with 'acpi_osi=Linux' option.
> > >
> > > cat /proc/cmdline gives ,
> > >
> > > BOOT_IMAGE=/boot/vmlinuz-3.3.0+
> > > root=UUIDð197a59-c067-4fd8-ad90-c4d721816077 ro acpi_osi=Linux
> > >
> > >
> > > Thanks ,
> > >
> > > Pradeep Subrahmanion
> > >
> >
> > OK, that's more clearly, please remove acpi_osi=Linux then re-test, I
> > think the hotkey of backlight control only works with acpi_osi=Linux ?
> >
Does your backlight control still work if you remove acpi_osi=Linux ?
Thanks a lot!
Joey Lee
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH] Added backlight driver for Acer Aspire 4736
From: Pradeep Subrahmanion @ 2012-03-22 2:45 UTC (permalink / raw)
To: joeyli
Cc: Matthew Garrett, rpurdie, FlorianSchandinat, akpm, linux-fbdev,
linux-kernel
In-Reply-To: <1332380037.10557.398.camel@linux-s257.site>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="windows-1254", Size: 1987 bytes --]
On Thu, 2012-03-22 at 09:33 +0800, joeyli wrote:
> æ¼ åï¼2012-03-22 æ¼ 00:39 +0530ï¼Pradeep Subrahmanion æå°ï¼
> > > This new patch should remove acpi_video0 interface on your machine.
> > > Please kindly provide your dmidecode:
> > > dmidecode > dmidecode.log
> > >
> > > And,
> > > please make should the patch really applied, you can do a bit change on
> > > pr_info message by yourself.
> >
> > Sorry . I think there was some mistake . I tried the patch again. Now
> > I see only intel_backlight inside /sys/class/backlight. There is no
> > acer-wmi interface . Is this the expected behavior ? . Or am I missing
> > anything ?
> >
>
> Yes, this is the expected behavior! But, now I doubt your issue was
> workaround by acpi_osi=Linux but not intel_backlight.
>
> >
> >
> > >
> > > > echo 5 > /sys/class/backlight/acpi_video0/brightness
> > > > echo 5 > /sys/class/backlight/intel_backlight/brightness
> > > >
> > > > But it doesn't make any change .
> > > >
> > > > In my case , 'acpi_backlight = vendor' does not make any difference since the hot key control
> > > >
> > > > already starts working with 'acpi_osi=Linux' option.
> > > >
> > > > cat /proc/cmdline gives ,
> > > >
> > > > BOOT_IMAGE=/boot/vmlinuz-3.3.0+
> > > > root=UUIDð197a59-c067-4fd8-ad90-c4d721816077 ro acpi_osi=Linux
> > > >
> > > >
> > > > Thanks ,
> > > >
> > > > Pradeep Subrahmanion
> > > >
> > >
> > > OK, that's more clearly, please remove acpi_osi=Linux then re-test, I
> > > think the hotkey of backlight control only works with acpi_osi=Linux ?
> > >
>
> Does your backlight control still work if you remove acpi_osi=Linux ?
If I remove acpi_osi=Linux , the hot key control stops working .
>
>
> Thanks a lot!
> Joey Lee
>
Thanks ,
Pradeep Subrahmanion
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH] Added backlight driver for Acer Aspire 4736
From: joeyli @ 2012-03-22 3:25 UTC (permalink / raw)
To: Pradeep Subrahmanion
Cc: Matthew Garrett, rpurdie, FlorianSchandinat, akpm, linux-fbdev,
linux-kernel
In-Reply-To: <1332383623.2622.6.camel@debian.Gayathri>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="windows-1254", Size: 2199 bytes --]
æ¼ åï¼2012-03-22 æ¼ 08:03 +0530ï¼Pradeep Subrahmanion æå°ï¼
> On Thu, 2012-03-22 at 09:33 +0800, joeyli wrote:
> > æ¼ åï¼2012-03-22 æ¼ 00:39 +0530ï¼Pradeep Subrahmanion æå°ï¼
> > > > This new patch should remove acpi_video0 interface on your machine.
> > > > Please kindly provide your dmidecode:
> > > > dmidecode > dmidecode.log
> > > >
> > > > And,
> > > > please make should the patch really applied, you can do a bit change on
> > > > pr_info message by yourself.
> > >
> > > Sorry . I think there was some mistake . I tried the patch again. Now
> > > I see only intel_backlight inside /sys/class/backlight. There is no
> > > acer-wmi interface . Is this the expected behavior ? . Or am I missing
> > > anything ?
> > >
> >
> > Yes, this is the expected behavior! But, now I doubt your issue was
> > workaround by acpi_osi=Linux but not intel_backlight.
> >
>
> > >
> > >
> > > >
> > > > > echo 5 > /sys/class/backlight/acpi_video0/brightness
> > > > > echo 5 > /sys/class/backlight/intel_backlight/brightness
> > > > >
> > > > > But it doesn't make any change .
> > > > >
> > > > > In my case , 'acpi_backlight = vendor' does not make any difference since the hot key control
> > > > >
> > > > > already starts working with 'acpi_osi=Linux' option.
> > > > >
> > > > > cat /proc/cmdline gives ,
> > > > >
> > > > > BOOT_IMAGE=/boot/vmlinuz-3.3.0+
> > > > > root=UUIDð197a59-c067-4fd8-ad90-c4d721816077 ro acpi_osi=Linux
> > > > >
> > > > >
> > > > > Thanks ,
> > > > >
> > > > > Pradeep Subrahmanion
> > > > >
> > > >
> > > > OK, that's more clearly, please remove acpi_osi=Linux then re-test, I
> > > > think the hotkey of backlight control only works with acpi_osi=Linux ?
> > > >
> >
> > Does your backlight control still work if you remove acpi_osi=Linux ?
>
> If I remove acpi_osi=Linux , the hot key control stops working .
>
What is the preload OS in your machine when you bought it? Windows XP,
Vista or Windows 7?
thanks
Joey Lee
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH] Added backlight driver for Acer Aspire 4736
From: Pradeep Subrahmanion @ 2012-03-22 3:44 UTC (permalink / raw)
To: joeyli
Cc: Matthew Garrett, rpurdie, FlorianSchandinat, akpm, linux-fbdev,
linux-kernel
In-Reply-To: <1332386725.10557.402.camel@linux-s257.site>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="windows-1254", Size: 2429 bytes --]
On Thu, 2012-03-22 at 11:25 +0800, joeyli wrote:
> æ¼ åï¼2012-03-22 æ¼ 08:03 +0530ï¼Pradeep Subrahmanion æå°ï¼
> > On Thu, 2012-03-22 at 09:33 +0800, joeyli wrote:
> > > æ¼ åï¼2012-03-22 æ¼ 00:39 +0530ï¼Pradeep Subrahmanion æå°ï¼
> > > > > This new patch should remove acpi_video0 interface on your machine.
> > > > > Please kindly provide your dmidecode:
> > > > > dmidecode > dmidecode.log
> > > > >
> > > > > And,
> > > > > please make should the patch really applied, you can do a bit change on
> > > > > pr_info message by yourself.
> > > >
> > > > Sorry . I think there was some mistake . I tried the patch again. Now
> > > > I see only intel_backlight inside /sys/class/backlight. There is no
> > > > acer-wmi interface . Is this the expected behavior ? . Or am I missing
> > > > anything ?
> > > >
> > >
> > > Yes, this is the expected behavior! But, now I doubt your issue was
> > > workaround by acpi_osi=Linux but not intel_backlight.
> > >
> >
> > > >
> > > >
> > > > >
> > > > > > echo 5 > /sys/class/backlight/acpi_video0/brightness
> > > > > > echo 5 > /sys/class/backlight/intel_backlight/brightness
> > > > > >
> > > > > > But it doesn't make any change .
> > > > > >
> > > > > > In my case , 'acpi_backlight = vendor' does not make any difference since the hot key control
> > > > > >
> > > > > > already starts working with 'acpi_osi=Linux' option.
> > > > > >
> > > > > > cat /proc/cmdline gives ,
> > > > > >
> > > > > > BOOT_IMAGE=/boot/vmlinuz-3.3.0+
> > > > > > root=UUIDð197a59-c067-4fd8-ad90-c4d721816077 ro acpi_osi=Linux
> > > > > >
> > > > > >
> > > > > > Thanks ,
> > > > > >
> > > > > > Pradeep Subrahmanion
> > > > > >
> > > > >
> > > > > OK, that's more clearly, please remove acpi_osi=Linux then re-test, I
> > > > > think the hotkey of backlight control only works with acpi_osi=Linux ?
> > > > >
> > >
> > > Does your backlight control still work if you remove acpi_osi=Linux ?
> >
> > If I remove acpi_osi=Linux , the hot key control stops working .
> >
>
> What is the preload OS in your machine when you bought it? Windows XP,
> Vista or Windows 7?
It was Windows XP.
>
>
> thanks
> Joey Lee
>
Thanks ,
Pradeep Subrahmanion
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH] Added backlight driver for Acer Aspire 4736
From: joeyli @ 2012-03-22 3:54 UTC (permalink / raw)
To: Pradeep Subrahmanion
Cc: Matthew Garrett, rpurdie, FlorianSchandinat, akpm, linux-fbdev,
linux-kernel
In-Reply-To: <1332387122.2622.9.camel@debian.Gayathri>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="windows-1254", Size: 2783 bytes --]
æ¼ åï¼2012-03-22 æ¼ 09:02 +0530ï¼Pradeep Subrahmanion æå°ï¼
> On Thu, 2012-03-22 at 11:25 +0800, joeyli wrote:
> > æ¼ åï¼2012-03-22 æ¼ 08:03 +0530ï¼Pradeep Subrahmanion æå°ï¼
> > > On Thu, 2012-03-22 at 09:33 +0800, joeyli wrote:
> > > > æ¼ åï¼2012-03-22 æ¼ 00:39 +0530ï¼Pradeep Subrahmanion æå°ï¼
> > > > > > This new patch should remove acpi_video0 interface on your machine.
> > > > > > Please kindly provide your dmidecode:
> > > > > > dmidecode > dmidecode.log
> > > > > >
> > > > > > And,
> > > > > > please make should the patch really applied, you can do a bit change on
> > > > > > pr_info message by yourself.
> > > > >
> > > > > Sorry . I think there was some mistake . I tried the patch again. Now
> > > > > I see only intel_backlight inside /sys/class/backlight. There is no
> > > > > acer-wmi interface . Is this the expected behavior ? . Or am I missing
> > > > > anything ?
> > > > >
> > > >
> > > > Yes, this is the expected behavior! But, now I doubt your issue was
> > > > workaround by acpi_osi=Linux but not intel_backlight.
> > > >
> > >
> > > > >
> > > > >
> > > > > >
> > > > > > > echo 5 > /sys/class/backlight/acpi_video0/brightness
> > > > > > > echo 5 > /sys/class/backlight/intel_backlight/brightness
> > > > > > >
> > > > > > > But it doesn't make any change .
> > > > > > >
> > > > > > > In my case , 'acpi_backlight = vendor' does not make any difference since the hot key control
> > > > > > >
> > > > > > > already starts working with 'acpi_osi=Linux' option.
> > > > > > >
> > > > > > > cat /proc/cmdline gives ,
> > > > > > >
> > > > > > > BOOT_IMAGE=/boot/vmlinuz-3.3.0+
> > > > > > > root=UUIDð197a59-c067-4fd8-ad90-c4d721816077 ro acpi_osi=Linux
> > > > > > >
> > > > > > >
> > > > > > > Thanks ,
> > > > > > >
> > > > > > > Pradeep Subrahmanion
> > > > > > >
> > > > > >
> > > > > > OK, that's more clearly, please remove acpi_osi=Linux then re-test, I
> > > > > > think the hotkey of backlight control only works with acpi_osi=Linux ?
> > > > > >
> > > >
> > > > Does your backlight control still work if you remove acpi_osi=Linux ?
> > >
> > > If I remove acpi_osi=Linux , the hot key control stops working .
> > >
> >
> > What is the preload OS in your machine when you bought it? Windows XP,
> > Vista or Windows 7?
>
> It was Windows XP.
>
The WDDM driver didn't support by Windows XP, the brightness control on
XP should works with _BCM or OpRegion.
Wonder how does brightness control work on XP with your machine.
I will dig more in your dsdt...
Thanks
Joey Lee
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH] Added backlight driver for Acer Aspire 4736
From: Pradeep Subrahmanion @ 2012-03-22 5:57 UTC (permalink / raw)
To: joeyli
Cc: Matthew Garrett, rpurdie, FlorianSchandinat, akpm, linux-fbdev,
linux-kernel
In-Reply-To: <1332388489.10557.406.camel@linux-s257.site>
From acer acpi ,I came to know that the 4730 series uses new wmi interface .
http://code.google.com/p/aceracpi/wiki/SupportedHardware
Thanks ,
Pradeep Subrahmanion
On Thu, Mar 22, 2012 at 9:24 AM, joeyli <jlee@suse.com> wrote:
> ©ó ¥|¡A2012-03-22 ©ó 09:02 +0530¡APradeep Subrahmanion ´£¨ì¡G
>> On Thu, 2012-03-22 at 11:25 +0800, joeyli wrote:
>> > ©ó ¥|¡A2012-03-22 ©ó 08:03 +0530¡APradeep Subrahmanion ´£¨ì¡G
>> > > On Thu, 2012-03-22 at 09:33 +0800, joeyli wrote:
>> > > > ©ó ¥|¡A2012-03-22 ©ó 00:39 +0530¡APradeep Subrahmanion ´£¨ì¡G
>> > > > > > This new patch should remove acpi_video0 interface on your machine.
>> > > > > > Please kindly provide your dmidecode:
>> > > > > > dmidecode > dmidecode.log
>> > > > > >
>> > > > > > And,
>> > > > > > please make should the patch really applied, you can do a bit change on
>> > > > > > pr_info message by yourself.
>> > > > >
>> > > > > Sorry . I think there was some mistake . I tried the patch again. Now
>> > > > > I see only intel_backlight inside /sys/class/backlight. There is no
>> > > > > acer-wmi interface . Is this the expected behavior ? . Or am I missing
>> > > > > anything ?
>> > > > >
>> > > >
>> > > > Yes, this is the expected behavior! But, now I doubt your issue was
>> > > > workaround by acpi_osi=Linux but not intel_backlight.
>> > > >
>> > >
>> > > > >
>> > > > >
>> > > > > >
>> > > > > > > echo 5 > /sys/class/backlight/acpi_video0/brightness
>> > > > > > > echo 5 > /sys/class/backlight/intel_backlight/brightness
>> > > > > > >
>> > > > > > > But it doesn't make any change .
>> > > > > > >
>> > > > > > > In my case , 'acpi_backlight = vendor' does not make any difference since the hot key control
>> > > > > > >
>> > > > > > > already starts working with 'acpi_osi=Linux' option.
>> > > > > > >
>> > > > > > > cat /proc/cmdline gives ,
>> > > > > > >
>> > > > > > > BOOT_IMAGE=/boot/vmlinuz-3.3.0+
>> > > > > > > root=UUIDð197a59-c067-4fd8-ad90-c4d721816077 ro acpi_osi=Linux
>> > > > > > >
>> > > > > > >
>> > > > > > > Thanks ,
>> > > > > > >
>> > > > > > > Pradeep Subrahmanion
>> > > > > > >
>> > > > > >
>> > > > > > OK, that's more clearly, please remove acpi_osi=Linux then re-test, I
>> > > > > > think the hotkey of backlight control only works with acpi_osi=Linux ?
>> > > > > >
>> > > >
>> > > > Does your backlight control still work if you remove acpi_osi=Linux ?
>> > >
>> > > If I remove acpi_osi=Linux , the hot key control stops working .
>> > >
>> >
>> > What is the preload OS in your machine when you bought it? Windows XP,
>> > Vista or Windows 7?
>>
>> It was Windows XP.
>>
>
> The WDDM driver didn't support by Windows XP, the brightness control on
> XP should works with _BCM or OpRegion.
>
> Wonder how does brightness control work on XP with your machine.
>
> I will dig more in your dsdt...
>
>
> Thanks
> Joey Lee
>
^ permalink raw reply
* Re: [PATCH v2] udlfb: Fix invalid return codes in edid sysfs entry store function
From: Olivier Sobrie @ 2012-03-22 7:32 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1330499200-20819-1-git-send-email-olivier@sobrie.be>
On Wed, Mar 21, 2012 at 06:29:39PM +0000, Florian Tobias Schandinat wrote:
> On 02/29/2012 07:06 AM, Olivier Sobrie wrote:
> > Return a negative errno instead of zero in the write function of
> > the sysfs entry in case of error.
> > Also add a check on the return value of dlfb_setup_modes().
> >
> > Signed-off-by: Olivier Sobrie <olivier@sobrie.be>
>
> As Bernie did agree in the pull request, I applied this patch.
ok!
Thank you,
--
Olivier
^ permalink raw reply
* Re: [PATCH] Added backlight driver for Acer Aspire 4736
From: joeyli @ 2012-03-22 9:34 UTC (permalink / raw)
To: Pradeep Subrahmanion
Cc: Matthew Garrett, rpurdie, FlorianSchandinat, akpm, linux-fbdev,
linux-kernel
In-Reply-To: <CABNxG=D-JJgD72Wv3hpui0CiprW25MvBzCKcNt-+twAD72+Eyg@mail.gmail.com>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="windows-1254", Size: 3447 bytes --]
æ¼ åï¼2012-03-22 æ¼ 11:26 +0530ï¼Pradeep Subrahmanion æå°ï¼
> >From acer acpi ,I came to know that the 4730 series uses new wmi interface .
>
> http://code.google.com/p/aceracpi/wiki/SupportedHardware
>
I am not sure what is the WMIDv2, but it's not the current WMI v2 in
acer-wmi driver.
> Thanks ,
>
> Pradeep Subrahmanion
>
> On Thu, Mar 22, 2012 at 9:24 AM, joeyli <jlee@suse.com> wrote:
> > æ¼ åï¼2012-03-22 æ¼ 09:02 +0530ï¼Pradeep Subrahmanion æå°ï¼
> >> On Thu, 2012-03-22 at 11:25 +0800, joeyli wrote:
> >> > æ¼ åï¼2012-03-22 æ¼ 08:03 +0530ï¼Pradeep Subrahmanion æå°ï¼
> >> > > On Thu, 2012-03-22 at 09:33 +0800, joeyli wrote:
> >> > > > æ¼ åï¼2012-03-22 æ¼ 00:39 +0530ï¼Pradeep Subrahmanion æå°ï¼
> >> > > > > > This new patch should remove acpi_video0 interface on your machine.
> >> > > > > > Please kindly provide your dmidecode:
> >> > > > > > dmidecode > dmidecode.log
> >> > > > > >
> >> > > > > > And,
> >> > > > > > please make should the patch really applied, you can do a bit change on
> >> > > > > > pr_info message by yourself.
> >> > > > >
> >> > > > > Sorry . I think there was some mistake . I tried the patch again. Now
> >> > > > > I see only intel_backlight inside /sys/class/backlight. There is no
> >> > > > > acer-wmi interface . Is this the expected behavior ? . Or am I missing
> >> > > > > anything ?
> >> > > > >
> >> > > >
> >> > > > Yes, this is the expected behavior! But, now I doubt your issue was
> >> > > > workaround by acpi_osi=Linux but not intel_backlight.
> >> > > >
> >> > >
> >> > > > >
> >> > > > >
> >> > > > > >
> >> > > > > > > echo 5 > /sys/class/backlight/acpi_video0/brightness
> >> > > > > > > echo 5 > /sys/class/backlight/intel_backlight/brightness
> >> > > > > > >
> >> > > > > > > But it doesn't make any change .
> >> > > > > > >
> >> > > > > > > In my case , 'acpi_backlight = vendor' does not make any difference since the hot key control
> >> > > > > > >
> >> > > > > > > already starts working with 'acpi_osi=Linux' option.
> >> > > > > > >
> >> > > > > > > cat /proc/cmdline gives ,
> >> > > > > > >
> >> > > > > > > BOOT_IMAGE=/boot/vmlinuz-3.3.0+
> >> > > > > > > root=UUIDð197a59-c067-4fd8-ad90-c4d721816077 ro acpi_osi=Linux
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > Thanks ,
> >> > > > > > >
> >> > > > > > > Pradeep Subrahmanion
> >> > > > > > >
> >> > > > > >
> >> > > > > > OK, that's more clearly, please remove acpi_osi=Linux then re-test, I
> >> > > > > > think the hotkey of backlight control only works with acpi_osi=Linux ?
> >> > > > > >
> >> > > >
> >> > > > Does your backlight control still work if you remove acpi_osi=Linux ?
> >> > >
> >> > > If I remove acpi_osi=Linux , the hot key control stops working .
> >> > >
> >> >
> >> > What is the preload OS in your machine when you bought it? Windows XP,
> >> > Vista or Windows 7?
> >>
> >> It was Windows XP.
> >>
> >
> > The WDDM driver didn't support by Windows XP, the brightness control on
> > XP should works with _BCM or OpRegion.
> >
> > Wonder how does brightness control work on XP with your machine.
> >
> > I will dig more in your dsdt...
> >
> >
Please kindly try acpi_osi="!Windows 2006", I think it also works to
you.
Thanks
Joey Lee
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* usage of height and width in fb_var_screeninfo
From: Jun Nie @ 2012-03-22 11:52 UTC (permalink / raw)
To: linux-fbdev
Does anyone happen to know the usage of below member in
fb_var_screeninfo? I do not know whether mm stand for geometry size or
memory, can not find its usage in any driver neither. We considering
to use it as zoomed size.
struct fb_var_screeninfo {
__u32 height; /* height of picture in mm */
__u32 width; /* width of picture in mm */
Jun
^ permalink raw reply
* Re: usage of height and width in fb_var_screeninfo
From: Geert Uytterhoeven @ 2012-03-22 12:15 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <CAGA24ML642uOP1tEp+VOTe0OZQ9S3HnP8Zi+N1n8X-QsjP9P2w@mail.gmail.com>
On Thu, Mar 22, 2012 at 12:52, Jun Nie <niej0001@gmail.com> wrote:
> Does anyone happen to know the usage of below member in
> fb_var_screeninfo? I do not know whether mm stand for geometry size or
> memory, can not find its usage in any driver neither. We considering
> to use it as zoomed size.
>
> struct fb_var_screeninfo {
> __u32 height; /* height of picture in mm */
> __u32 width; /* width of picture in mm */
They are both geometry sizes in millimeters.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply
* Re: [GIT PULL] OMAP DSS for v3.4
From: Florian Tobias Schandinat @ 2012-03-22 15:51 UTC (permalink / raw)
To: Arnd Bergmann; +Cc: Tomi Valkeinen, linux-omap, linux-fbdev
In-Reply-To: <201203191624.42020.arnd@arndb.de>
Arnd,
On 03/19/2012 04:24 PM, Arnd Bergmann wrote:
> I've looked at the specific conflicts again, and it seems that the only
> conflicting commit in arm-soc is 2e3ee9f45b "ARM: OMAP1: Move most of
> plat/io.h into local iomap.h". I'm planning to send that one very early,
> as soon as Russell has his first set up patches merged, so I don't
> actually have to resolve the conflict here unless Florian is also
> there early.
just for your info, I am going to send my pull request today. As I
didn't find any pull request from you until now, I didn't pull any of
the branches below.
Best regards,
Florian Tobias Schandinat
>
> Florian, if I end up being faster than you, feel free to pull the
> omap/cleanup branch from git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git
> if you want to get a conflict resolution using the minimum set of patches
> from upstream. Alternatively, pulling "cleanup" from
> git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap should give you
> the same.
>
> Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply
* Re: [GIT PULL] OMAP DSS for v3.4
From: Arnd Bergmann @ 2012-03-22 15:58 UTC (permalink / raw)
To: Florian Tobias Schandinat; +Cc: Tomi Valkeinen, linux-omap, linux-fbdev
In-Reply-To: <4F6B4A80.309@gmx.de>
On Thursday 22 March 2012, Florian Tobias Schandinat wrote:
> On 03/19/2012 04:24 PM, Arnd Bergmann wrote:
> > I've looked at the specific conflicts again, and it seems that the only
> > conflicting commit in arm-soc is 2e3ee9f45b "ARM: OMAP1: Move most of
> > plat/io.h into local iomap.h". I'm planning to send that one very early,
> > as soon as Russell has his first set up patches merged, so I don't
> > actually have to resolve the conflict here unless Florian is also
> > there early.
>
> just for your info, I am going to send my pull request today. As I
> didn't find any pull request from you until now, I didn't pull any of
> the branches below.
Ok, thanks for the notification. I'm still waiting for Russell to go
first, so I'll pull in your branch.
Arnd
^ permalink raw reply
* Re: [PATCH] Added backlight driver for Acer Aspire 4736
From: Pradeep Subrahmanion @ 2012-03-22 16:29 UTC (permalink / raw)
To: joeyli
Cc: Matthew Garrett, rpurdie, FlorianSchandinat, akpm, linux-fbdev,
linux-kernel
In-Reply-To: <1332408881.10557.416.camel@linux-s257.site>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="windows-1254", Size: 3819 bytes --]
On Thu, 2012-03-22 at 17:34 +0800, joeyli wrote:
> æ¼ åï¼2012-03-22 æ¼ 11:26 +0530ï¼Pradeep Subrahmanion æå°ï¼
> > >From acer acpi ,I came to know that the 4730 series uses new wmi interface .
> >
> > http://code.google.com/p/aceracpi/wiki/SupportedHardware
> >
>
> I am not sure what is the WMIDv2, but it's not the current WMI v2 in
> acer-wmi driver.
>
> > Thanks ,
> >
> > Pradeep Subrahmanion
> >
> > On Thu, Mar 22, 2012 at 9:24 AM, joeyli <jlee@suse.com> wrote:
> > > æ¼ åï¼2012-03-22 æ¼ 09:02 +0530ï¼Pradeep Subrahmanion æå°ï¼
> > >> On Thu, 2012-03-22 at 11:25 +0800, joeyli wrote:
> > >> > æ¼ åï¼2012-03-22 æ¼ 08:03 +0530ï¼Pradeep Subrahmanion æå°ï¼
> > >> > > On Thu, 2012-03-22 at 09:33 +0800, joeyli wrote:
> > >> > > > æ¼ åï¼2012-03-22 æ¼ 00:39 +0530ï¼Pradeep Subrahmanion æå°ï¼
> > >> > > > > > This new patch should remove acpi_video0 interface on your machine.
> > >> > > > > > Please kindly provide your dmidecode:
> > >> > > > > > dmidecode > dmidecode.log
> > >> > > > > >
> > >> > > > > > And,
> > >> > > > > > please make should the patch really applied, you can do a bit change on
> > >> > > > > > pr_info message by yourself.
> > >> > > > >
> > >> > > > > Sorry . I think there was some mistake . I tried the patch again. Now
> > >> > > > > I see only intel_backlight inside /sys/class/backlight. There is no
> > >> > > > > acer-wmi interface . Is this the expected behavior ? . Or am I missing
> > >> > > > > anything ?
> > >> > > > >
> > >> > > >
> > >> > > > Yes, this is the expected behavior! But, now I doubt your issue was
> > >> > > > workaround by acpi_osi=Linux but not intel_backlight.
> > >> > > >
> > >> > >
> > >> > > > >
> > >> > > > >
> > >> > > > > >
> > >> > > > > > > echo 5 > /sys/class/backlight/acpi_video0/brightness
> > >> > > > > > > echo 5 > /sys/class/backlight/intel_backlight/brightness
> > >> > > > > > >
> > >> > > > > > > But it doesn't make any change .
> > >> > > > > > >
> > >> > > > > > > In my case , 'acpi_backlight = vendor' does not make any difference since the hot key control
> > >> > > > > > >
> > >> > > > > > > already starts working with 'acpi_osi=Linux' option.
> > >> > > > > > >
> > >> > > > > > > cat /proc/cmdline gives ,
> > >> > > > > > >
> > >> > > > > > > BOOT_IMAGE=/boot/vmlinuz-3.3.0+
> > >> > > > > > > root=UUIDð197a59-c067-4fd8-ad90-c4d721816077 ro acpi_osi=Linux
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > Thanks ,
> > >> > > > > > >
> > >> > > > > > > Pradeep Subrahmanion
> > >> > > > > > >
> > >> > > > > >
> > >> > > > > > OK, that's more clearly, please remove acpi_osi=Linux then re-test, I
> > >> > > > > > think the hotkey of backlight control only works with acpi_osi=Linux ?
> > >> > > > > >
> > >> > > >
> > >> > > > Does your backlight control still work if you remove acpi_osi=Linux ?
> > >> > >
> > >> > > If I remove acpi_osi=Linux , the hot key control stops working .
> > >> > >
> > >> >
> > >> > What is the preload OS in your machine when you bought it? Windows XP,
> > >> > Vista or Windows 7?
> > >>
> > >> It was Windows XP.
> > >>
> > >
> > > The WDDM driver didn't support by Windows XP, the brightness control on
> > > XP should works with _BCM or OpRegion.
> > >
> > > Wonder how does brightness control work on XP with your machine.
> > >
> > > I will dig more in your dsdt...
> > >
> > >
>
> Please kindly try acpi_osi="!Windows 2006", I think it also works to
> you.
I tried giving this option . It gives me a blank screen while
booting. Hot keys are not working .
>
>
> Thanks
> Joey Lee
>
Regards,
Pradeep Subrahmanion.
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* [GIT PULL] fbdev updates for 3.4
From: Florian Tobias Schandinat @ 2012-03-22 18:38 UTC (permalink / raw)
To: Linus Torvalds; +Cc: LKML, linux-fbdev@vger.kernel.org
Hi Linus,
please pull the changes below.
Have a nice weekend.
Thanks,
Florian Tobias Schandinat
The following changes since commit c16fa4f2ad19908a47c63d8fa436a1178438c7e7:
Linux 3.3 (2012-03-18 16:15:34 -0700)
are available in the git repository at:
git://github.com/schandinat/linux-2.6.git fbdev-updates-for-3.4
for you to fetch changes up to 6bff98b455cf3e666fd0e3d0d908eba874de0eee:
Revert "video:uvesafb: Fix oops that uvesafb try to execute NX-protected page" (2012-03-21 13:28:31 +0000)
----------------------------------------------------------------
fbdev updates for 3.4
It includes:
- drivers for Samsung Exynos MIPI DSI and display port
- i740fb to support those old Intel chips
- large updates to OMAP, viafb and sh_mobile_lcdcfb
- some updates to s3c-fb and udlfb, few patches to others
----------------------------------------------------------------
Anatolij Gustschin (2):
fbdev: da8xx:: fix reporting of the display timing info
fbdev: da8xx: add support for SP10Q010 display
Archit Taneja (2):
OMAPDSS: Features: Maintain dss_feats as a list
OMAPDSS: DISPC: Fix scaling constraints for OMAP4
Axel Lin (1):
video: convert drivers/video/* to use module_spi_driver()
Ben Collins (2):
udlfb: Make sure to get correct endian keys from vendor descriptor
udlfb: Add module_param to allow forcing pixel_limit
Bernie Thompson (2):
udlfb: add maintainer
udlfb: fix hcd_buffer_free panic on unplug/replug
Dan Carpenter (1):
viafb: NULL dereference on allocation failure in query_edid()
Danny Kukawka (2):
OMAPDSS: VENC: fix NULL pointer dereference in DSS2 VENC sysfs debug attr on OMAP4
riva/fbdev: fix several -Wuninitialized
Donghwa Lee (3):
video: support MIPI-DSI controller driver
video: backlight: support s6e8ax0 panel driver based on MIPI DSI
MAINTAINERS: add entry for exynos mipi display drivers
Florian Tobias Schandinat (26):
Merge commit 'v3.3-rc1' into fbdev-next
viafb: add auxiliary device management infrastructure
viafb: set correct polarity for second adapter
viafb: fill xres and yres
viafb: make single framebuffer multiple adapter mode work
viafb: make SAMM to also work on LCD
viafb: fix I2C emulation on GPIO ports
viafb: add initial EDID support
Merge branch 'viafb-samm' into viafb-next
Merge branch 'viafb-aux' into viafb-next
i740fb: fix compile error when CONFIG_MTRR is not selected
viafb: another workaround for OLPCs weird wiring
viafb: Fix bug in centering code
Merge branch 'fbdev-for-linus' into fbdev-next
Merge branch 'fbdev-for-linus' into fbdev-next
viafb: LCD bpp cleanup
Merge pull request #1 from bernieplug/fbdev-next
Merge commit 'v3.3-rc6' into fbdev-next
viafb: modetable conversion
viafb: avoid refresh and mode lookup in set_par
Merge branch 'for-next' of git://linuxtv.org/pinchartl/fbdev into fbdev-next
Merge branch 'viafb-next' of git://github.com/schandinat/linux-2.6 into fbdev-next
Merge branch 'for-3.4' of git://gitorious.org/linux-omap-dss2/linux into fbdev-next
Merge commit 'v3.3' into fbdev-next
Revert "MAINTAINERS: add entry for exynos mipi display drivers"
Revert "video:uvesafb: Fix oops that uvesafb try to execute NX-protected page"
Grazvydas Ignotas (2):
OMAPDSS: TPO-TD03MTEA1: fix suspend hang
OMAPDSS: TPO-TD03MTEA1: update default gamma
Jean Delvare (1):
fbdev: bfin_adv7393fb: Drop needless include
Jingoo Han (8):
video: use gpio_request_one
video: s3c-fb: fix checkpatch error
video: s3c-fb: add alpha value width setting
video: s3c-fb: add video clock running at data under-flow
video: support DP controller driver
video: s3c-fb: use devm_request_irq()
video: s3c-fb: Add support EXYNOS5 FIMD
MAINTAINERS: add maintainer entry for Exynos DP driver
Julia Lawall (4):
OMAPDSS: use devm_ functions
drivers/video/au*fb.c: use devm_ functions
drivers/video/pxa168fb.c: use devm_ functions
drivers/video/pvr2fb.c: ensure arguments to request_irq and free_irq are compatible
Kay Sievers (1):
udlfb: remove sysfs framebuffer device with USB .disconnect()
Kuninori Morimoto (2):
fbdev: remove dependency of FB_SH_MOBILE_MERAM from FB_SH_MOBILE_LCDC
fbdev: sh_mipi_dsi: add extra phyctrl for sh_mipi_dsi_info
Lajos Molnar (3):
OMAPDSS: DISPC: Fix OMAP4 supported color formats
OMAPDSS: DISPC: Fix FIR coefficients
OMAPDSS: MANAGER/APPLY: Add runtime_pm protection around wait_for_go/vsync functions
Laurent Pinchart (55):
fbdev: sh_mobile_lcdc: Reorder code into sections
fbdev: sh_mobile_lcdc: Mark init-only symbols with __devinit(const)
fbdev: sh_mobile_lcdc: Move pm runtime enable to probe()
fbdev: sh_mobile_lcdc: Don't pass struct device around
fbdev: sh_mobile_lcdc: Create functions to turn the display on/off
fbdev: sh_mobile_hdmi: Don't access LCDC channel in notifier callback
sh_mobile_hdmi: Remove platform data lcd_dev field
fbdev: sh_mobile_lcdc: Add sh_mobile_lcdc_entity definition
fbdev: sh_mobile_hdmi: Implement sh_mobile_lcdc_entity interface
fbdev: sh_mipi_dsi: Implement sh_mobile_lcdc_entity interface
fbdev: sh_mobile_lcdc: Handle HDMI/MIPI transmitter device directly
arm: mach-shmobile: Add LCDC tx_dev field to platform data
fbdev: sh_mipi_dsi: Don't hook up into board_cfg display operations
fbdev: sh_mobile_hdmi: Don't hook up into board_cfg display operations
arm: mach-shmobile: Don't initialize the hdmi_info lcd_chan field
fbdev: sh_mobile_hdmi: Remove sh_mobile_hdmi_info lcd_chan field
fbdev: sh_mobile_lcdc: Remove board configuration owner field
fbdev: sh_mobile_lcdc: Remove board configuration board_data field
fbdev: sh_mobile_lcdc: Move brightness ops to sh_mobile_lcdc_bl_info
fbdev: sh_mobile_lcdc: Merge board_cfg and lcd_size_cfg into panel_cfg
sh_mobile_lcdc: Add an lcdc channel pointer to sh_mobile_lcdc_entity
sh_mobile_hdmi: Use sh_mobile_lcdc_entity::channel to access fb_info
fbdev: sh_mobile_lcdc: Remove fb_info parameter to display_on operation
fbdev: sh_mobile_lcdc: Return display connection state in display_on
sh_mobile_lcdc: Add display notify callback to sh_mobile_lcdc_chan
sh_mobile_hdmi: Use LCDC notification callback
fbdev: sh_mobile_lcdc: Pass a video mode to the notify callback
fbdev: sh_mobile_hdmi: Don't set sh_hdmi::mode in the display on handler
fbdev: sh_mobile_hdmi: Don't access LCDC fb_info
fbdev: sh_mobile_lcdc: Store display mode in a struct fb_videomode
fbdev: sh_mobile_lcdc: Rename (lcd|num)_cfg (lcd|num)_modes
fbdev: sh_mobile_lcdc: Reorganize the sh_mobile_lcdc_chan structure
fbdev: sh_mobile_lcdc: Add sh_mobile_format_info() function
fbdev: sh_mobile_lcdc: Store the format in struct sh_mobile_lcdc_chan
fbdev: sh_mobile_lcdc: Split fb init/cleanup from channel init/cleanup
fbdev: sh_mobile_lcdc: Pass physical device pointer to DMA functions
fbdev: sh_mobile_lcdc: Store configuration in channel structure
fbdev: sh_mobile_lcdc: Pass channel pointer to sh_mobile_wait_for_vsync
arm: mach-shmobile: Split MERAM resources into regs and meram
fbdev: sh_mobile_meram: Request memory regions for memory resources
fbdev: sh_mobile_meram: Add _cfg suffix to struct sh_mobile_meram_icb
fbdev: sh_mobile_meram: Make variables unsigned where applicable
fbdev: sh_mobile_meram: Make current_reg field store the current reg set
fbdev: sh_mobile_meram: Add struct sh_mobile_meram_icb
fbdev: sh_mobile_meram: Don't inline everything
fbdev: sh_mobile_meram: Divide the code into sections
fbdev: sh_mobile_meram: Use genalloc to manage MERAM allocation
fbdev: sh_mobile_meram: Allocate ICBs automatically
arm: mach-shmobile: Don't set MERAM ICB numbers in platform data
fbdev: sh_mobile_meram: Remove unused sh_mobile_meram_icb_cfg fields
fbdev: sh_mobile_lcdc: Don't store copy of platform data
arm: mach-shmobile: Constify sh_mobile_meram_cfg structures
fbdev: sh_mobile_meram: Don't perform update in register operation
fbdev: sh_mobile_meram: Remove unneeded sanity checks
fbdev: sh_mobile_meram: Implement system suspend/resume
Manjunathappa, Prakash (3):
video: da8xx-fb: reset LCDC only if functional clock changes with DVFS
video: da8xx-fb: Fix build warning on unused label
video:da8xx-fb: calculate pixel clock period for the panel
Mark Brown (1):
video: s3c-fb: Convert to devm style allocation
Martin Decky (1):
udlfb: Improve debugging printouts with refresh rate
Mythri P K (6):
OMAPDSS: HDMI: remove duplicate video interface code
OMAPDSS: HDMI: update static timing table
OMAPDSS: HDMI: change the timing match logic
OMAPDSS: HDMI: remove duplicate code and mode parameter
OMAPDSS: HDMI: Move Avi-infoframe struct to hdmi_ip_data
OMAPDSS: HDMI: Add M2 divider while calculating clkout
Olivier Sobrie (1):
udlfb: Fix invalid return codes in edid sysfs entry store function
Ondrej Zary (1):
Resurrect Intel740 driver: i740fb
Peter Korsgaard (1):
atmel_lcdfb: support 16bit BGR:565 mode, remove unsupported 15bit modes
Philipp Zabel (1):
video: pxafb: add clk_prepare/clk_unprepare calls
Ricardo Neri (4):
OMAPDSS: HDMI: Correct source of the pixel clock in ACR calculation
OMAPDSS: Add DSS feature for HDMI MCLK for audio
OMAPDSS: HDMI: Implement initialization of MCLK
OMAPDSS: HDMI: Modify logic to configure MCLK
Tomi Valkeinen (30):
OMAPDSS: FEAT: Add FIFO_MERGE feature
OMAPDSS: APPLY: add fifo merge support funcs
OMAPDSS: APPLY: add fifo-merge support
OMAPDSS: DISPC: print fifo threshold values in bytes
OMAPDSS: DISPC: move fifo threhold calc to dispc.c
OMAPDSS: DISPC: Add naive threshold calc for fifomerge
Merge branch 'work/fifomerge'
Merge commit 'v3.3-rc4'
OMAPDSS: cleanup probe functions
OMAPFB: remove old blizzard driver
OMAPFB: Remove OMAP2/3 support from old omapfb driver
OMAPDSS: Remove video SRAM support
OMAPFB: Remove video SRAM support (old omapfb)
OMAP2+: remove unneeded #include omapfb.h
OMAP: N770: remove HWA742 platform data
OAMPFB: remove unused omapfb_set_ctrl_platform_data()
OMAPFB: remove early mem alloc from old omapfb
OMAPFB: remove mem info from platform_data
OMAPFB: remove unused fb_format_to_dss_mode()
OMAPFB: Move old omapfb private structs to a private include file
OMAPFB: remove omapfb_set_platform_data()
OMAP1: pass LCD config with omapfb_set_lcd_config()
OMAP: Remove OMAP_TAG_LCD and OMAP_TAG_FBMEM
OMAP1: Remove unused LCD devices from board files
OMAPFB: remove remaining OMAP arch checks
Merge branch 'work/old-omapfb-removal'
Merge commit 'v3.3-rc6'
OMAPDSS: APPLY: print warning if wait_pending_extra_info_updates fails
OMAPDSS: APPLY: fix clearing shadow dirty flag with manual update
OMAPDSS: register dss drivers in module init
Tony Lindgren (1):
ARM: OMAP2+: Fix compile error when FB_OMAP2 is not set
Vasily Khoruzhick (1):
pxafb: do console locking before calling fb_blank()
Wang YanQing (2):
video:uvesafb: Fix oops that uvesafb try to execute NX-protected page
video:uvesafb: notice user when we failed to save hardware state
Yegor Yefremov (1):
OMAPDSS: add Innolux AT080TN52 display support
MAINTAINERS | 33 +-
arch/arm/mach-omap1/board-ams-delta.c | 9 +-
arch/arm/mach-omap1/board-fsample.c | 15 +-
arch/arm/mach-omap1/board-h2.c | 15 +-
arch/arm/mach-omap1/board-h3.c | 9 +-
arch/arm/mach-omap1/board-htcherald.c | 9 +-
arch/arm/mach-omap1/board-innovator.c | 11 +-
arch/arm/mach-omap1/board-nokia770.c | 19 +-
arch/arm/mach-omap1/board-osk.c | 14 +-
arch/arm/mach-omap1/board-palmte.c | 10 +-
arch/arm/mach-omap1/board-palmtt.c | 10 +-
arch/arm/mach-omap1/board-palmz71.c | 10 +-
arch/arm/mach-omap1/board-perseus2.c | 15 +-
arch/arm/mach-omap1/board-sx1.c | 16 +-
arch/arm/mach-omap2/io.c | 1 -
arch/arm/mach-shmobile/board-ag5evm.c | 24 +-
arch/arm/mach-shmobile/board-ap4evb.c | 302 ++--
arch/arm/mach-shmobile/board-bonito.c | 6 +-
arch/arm/mach-shmobile/board-mackerel.c | 106 +-
arch/arm/plat-omap/common.c | 2 -
arch/arm/plat-omap/fb.c | 334 +----
arch/arm/plat-omap/fb.h | 10 -
arch/arm/plat-omap/include/plat/blizzard.h | 12 -
arch/arm/plat-omap/include/plat/board.h | 2 -
arch/arm/plat-omap/include/plat/hwa742.h | 8 -
arch/arm/plat-omap/include/plat/vram.h | 21 +-
arch/arm/plat-samsung/include/plat/regs-fb.h | 33 +-
arch/sh/boards/mach-ap325rxa/setup.c | 22 +-
arch/sh/boards/mach-ecovec24/setup.c | 20 +-
arch/sh/boards/mach-kfr2r09/lcd_wqvga.c | 10 +-
arch/sh/boards/mach-kfr2r09/setup.c | 8 +-
arch/sh/boards/mach-migor/lcd_qvga.c | 3 +-
arch/sh/boards/mach-migor/setup.c | 16 +-
arch/sh/boards/mach-se/7724/setup.c | 12 +-
arch/sh/include/mach-kfr2r09/mach/kfr2r09.h | 16 +-
arch/sh/include/mach-migor/mach/migor.h | 2 +-
drivers/video/Kconfig | 39 +-
drivers/video/Makefile | 3 +
drivers/video/atmel_lcdfb.c | 12 +-
drivers/video/au1100fb.c | 32 +-
drivers/video/au1200fb.c | 9 +-
drivers/video/bf537-lq035.c | 12 +-
drivers/video/bf54x-lq043fb.c | 4 +-
drivers/video/bfin-lq035q1-fb.c | 8 +-
drivers/video/bfin_adv7393fb.c | 7 +-
drivers/video/da8xx-fb.c | 79 +-
drivers/video/exynos/Kconfig | 37 +
drivers/video/exynos/Makefile | 8 +
drivers/video/exynos/exynos_dp_core.c | 1058 +++++++++++++
drivers/video/exynos/exynos_dp_core.h | 206 +++
drivers/video/exynos/exynos_dp_reg.c | 1173 ++++++++++++++
drivers/video/exynos/exynos_dp_reg.h | 335 ++++
drivers/video/exynos/exynos_mipi_dsi.c | 600 +++++++
drivers/video/exynos/exynos_mipi_dsi_common.c | 896 +++++++++++
drivers/video/exynos/exynos_mipi_dsi_common.h | 46 +
drivers/video/exynos/exynos_mipi_dsi_lowlevel.c | 618 ++++++++
drivers/video/exynos/exynos_mipi_dsi_lowlevel.h | 112 ++
drivers/video/exynos/exynos_mipi_dsi_regs.h | 149 ++
drivers/video/exynos/s6e8ax0.c | 898 +++++++++++
drivers/video/exynos/s6e8ax0.h | 21 +
drivers/video/fbmem.c | 18 +-
drivers/video/i740_reg.h | 309 ++++
drivers/video/i740fb.c | 1337 ++++++++++++++++
drivers/video/msm/mddi_client_nt35399.c | 7 +-
drivers/video/msm/mddi_client_toshiba.c | 7 +-
drivers/video/omap/Kconfig | 16 +-
drivers/video/omap/Makefile | 12 +-
drivers/video/omap/blizzard.c | 1648 --------------------
drivers/video/omap/dispc.c | 1547 ------------------
drivers/video/omap/dispc.h | 46 -
drivers/video/omap/hwa742.c | 21 +-
drivers/video/omap/lcd_inn1610.c | 10 +-
drivers/video/omap/lcd_mipid.c | 14 +-
drivers/video/omap/omapfb.h | 25 +-
drivers/video/omap/omapfb_main.c | 30 +-
drivers/video/omap/rfbi.c | 598 -------
drivers/video/omap2/displays/panel-acx565akm.c | 13 +-
drivers/video/omap2/displays/panel-generic-dpi.c | 23 +
.../omap2/displays/panel-lgphilips-lb035q02.c | 12 +-
.../omap2/displays/panel-nec-nl8048hl11-01b.c | 12 +-
drivers/video/omap2/displays/panel-taal.c | 4 +-
.../video/omap2/displays/panel-tpo-td043mtea1.c | 177 ++-
drivers/video/omap2/dss/apply.c | 275 +++-
drivers/video/omap2/dss/core.c | 135 +-
drivers/video/omap2/dss/dispc.c | 121 +-
drivers/video/omap2/dss/dispc_coefs.c | 9 +-
drivers/video/omap2/dss/display.c | 10 -
drivers/video/omap2/dss/dsi.c | 65 +-
drivers/video/omap2/dss/dss.c | 17 +-
drivers/video/omap2/dss/dss.h | 10 +-
drivers/video/omap2/dss/dss_features.c | 181 ++-
drivers/video/omap2/dss/dss_features.h | 54 +-
drivers/video/omap2/dss/hdmi.c | 278 ++--
drivers/video/omap2/dss/manager.c | 12 +-
drivers/video/omap2/dss/rfbi.c | 36 +-
drivers/video/omap2/dss/ti_hdmi.h | 56 +-
drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c | 94 +-
drivers/video/omap2/dss/ti_hdmi_4xxx_ip.h | 47 -
drivers/video/omap2/dss/venc.c | 32 +-
drivers/video/omap2/omapfb/omapfb-ioctl.c | 2 +-
drivers/video/omap2/omapfb/omapfb-main.c | 101 +--
drivers/video/omap2/vram.c | 99 +--
drivers/video/pvr2fb.c | 4 +-
drivers/video/pxa168fb.c | 15 +-
drivers/video/pxafb.c | 10 +-
drivers/video/riva/fbdev.c | 5 +-
drivers/video/s3c-fb.c | 133 ++-
drivers/video/sh_mipi_dsi.c | 99 +-
drivers/video/sh_mobile_hdmi.c | 297 +---
drivers/video/sh_mobile_lcdcfb.c | 1298 +++++++++-------
drivers/video/sh_mobile_lcdcfb.h | 84 +-
drivers/video/sh_mobile_meram.c | 690 +++++----
drivers/video/udlfb.c | 180 ++-
drivers/video/uvesafb.c | 14 +-
drivers/video/via/Makefile | 5 +-
drivers/video/via/chip.h | 3 -
drivers/video/via/dvi.c | 7 +-
drivers/video/via/dvi.h | 3 +-
drivers/video/via/hw.c | 130 +-
drivers/video/via/hw.h | 9 +-
drivers/video/via/lcd.c | 82 +-
drivers/video/via/lcd.h | 3 +-
drivers/video/via/share.h | 331 ----
drivers/video/via/via_aux.c | 88 ++
drivers/video/via/via_aux.h | 93 ++
drivers/video/via/via_aux_ch7301.c | 50 +
drivers/video/via/via_aux_edid.c | 100 ++
drivers/video/via/via_aux_sii164.c | 54 +
drivers/video/via/via_aux_vt1621.c | 44 +
drivers/video/via/via_aux_vt1622.c | 50 +
drivers/video/via/via_aux_vt1625.c | 50 +
drivers/video/via/via_aux_vt1631.c | 46 +
drivers/video/via/via_aux_vt1632.c | 54 +
drivers/video/via/via_aux_vt1636.c | 46 +
drivers/video/via/via_i2c.c | 10 +-
drivers/video/via/viafbdev.c | 87 +-
drivers/video/via/viafbdev.h | 6 +
drivers/video/via/viamode.c | 713 ++--------
drivers/video/via/viamode.h | 11 +-
include/linux/fb.h | 1 +
include/linux/omapfb.h | 32 +-
include/video/exynos_dp.h | 131 ++
include/video/exynos_mipi_dsim.h | 359 +++++
include/video/sh_mipi_dsi.h | 1 +
include/video/sh_mobile_hdmi.h | 2 -
include/video/sh_mobile_lcdc.h | 35 +-
include/video/sh_mobile_meram.h | 45 +-
include/video/udlfb.h | 1 +
148 files changed, 12349 insertions(+), 8209 deletions(-)
delete mode 100644 arch/arm/plat-omap/fb.h
delete mode 100644 arch/arm/plat-omap/include/plat/blizzard.h
delete mode 100644 arch/arm/plat-omap/include/plat/hwa742.h
create mode 100644 drivers/video/exynos/Kconfig
create mode 100644 drivers/video/exynos/Makefile
create mode 100644 drivers/video/exynos/exynos_dp_core.c
create mode 100644 drivers/video/exynos/exynos_dp_core.h
create mode 100644 drivers/video/exynos/exynos_dp_reg.c
create mode 100644 drivers/video/exynos/exynos_dp_reg.h
create mode 100644 drivers/video/exynos/exynos_mipi_dsi.c
create mode 100644 drivers/video/exynos/exynos_mipi_dsi_common.c
create mode 100644 drivers/video/exynos/exynos_mipi_dsi_common.h
create mode 100644 drivers/video/exynos/exynos_mipi_dsi_lowlevel.c
create mode 100644 drivers/video/exynos/exynos_mipi_dsi_lowlevel.h
create mode 100644 drivers/video/exynos/exynos_mipi_dsi_regs.h
create mode 100644 drivers/video/exynos/s6e8ax0.c
create mode 100644 drivers/video/exynos/s6e8ax0.h
create mode 100644 drivers/video/i740_reg.h
create mode 100644 drivers/video/i740fb.c
delete mode 100644 drivers/video/omap/blizzard.c
delete mode 100644 drivers/video/omap/dispc.c
delete mode 100644 drivers/video/omap/dispc.h
delete mode 100644 drivers/video/omap/rfbi.c
create mode 100644 drivers/video/via/via_aux.c
create mode 100644 drivers/video/via/via_aux.h
create mode 100644 drivers/video/via/via_aux_ch7301.c
create mode 100644 drivers/video/via/via_aux_edid.c
create mode 100644 drivers/video/via/via_aux_sii164.c
create mode 100644 drivers/video/via/via_aux_vt1621.c
create mode 100644 drivers/video/via/via_aux_vt1622.c
create mode 100644 drivers/video/via/via_aux_vt1625.c
create mode 100644 drivers/video/via/via_aux_vt1631.c
create mode 100644 drivers/video/via/via_aux_vt1632.c
create mode 100644 drivers/video/via/via_aux_vt1636.c
create mode 100644 include/video/exynos_dp.h
create mode 100644 include/video/exynos_mipi_dsim.h
^ permalink raw reply
* Re: [PATCH] Added backlight driver for Acer Aspire 4736
From: Pradeep Subrahmanion @ 2012-03-23 3:48 UTC (permalink / raw)
To: joeyli
Cc: Matthew Garrett, rpurdie, FlorianSchandinat, akpm, linux-fbdev,
linux-kernel
In-Reply-To: <1332298845.10557.343.camel@linux-s257.site>
On Wed, 2012-03-21 at 11:00 +0800, joeyli wrote:
> think the hotkey of backlight control only works with acpi_osi=Linux ?
yes , hot key control only works with this option.Any ideas about where
the hot key events gets handled ? I tried logging inside
'acpi_video_device_notify' method in video.c . But the control does not
seem to reach here .
Thanks,
Pradeep Subrahmanion
^ permalink raw reply
* Re: [PATCH] Added backlight driver for Acer Aspire 4736
From: joeyli @ 2012-03-23 4:25 UTC (permalink / raw)
To: Pradeep Subrahmanion
Cc: Matthew Garrett, rpurdie, FlorianSchandinat, akpm, linux-fbdev,
linux-kernel
In-Reply-To: <1332473811.3051.5.camel@debian.Gayathri>
於 五,2012-03-23 於 09:06 +0530,Pradeep Subrahmanion 提到:
> On Wed, 2012-03-21 at 11:00 +0800, joeyli wrote:
> > think the hotkey of backlight control only works with acpi_osi=Linux ?
>
> yes , hot key control only works with this option.Any ideas about where
> the hot key events gets handled ? I tried logging inside
> 'acpi_video_device_notify' method in video.c . But the control does not
> seem to reach here .
>
> Thanks,
>
> Pradeep Subrahmanion
Hotkey change status is through _Q11 and _Q12 event but not wmi:
Method (_Q11, 0, NotSerialized) /* Brightness down */
{
If (LGreaterEqual (OSYS, 0x07D6)) /* Vista or later */
{
If (LEqual (OBV, 0xFF))
{
Notify (^^^PEGP.VGA.LCD, 0x87)
}
Else
{
Notify (^^^OVGA.DD03, 0x87)
}
}
Else /* 0x07D1 (XP) or 0x03E8 (Linux) */
{
^^^OVGA.AINT (One, BRTS) /* access AINT, it touch BCLP register */
If (LEqual (^^^WMID.BAEF, One))
{
Store (BRTS, Local1)
Store (^^^WMID.LBL0, Local2)
Add (Local2, Local1, Local2)
Store (Local2, ^^^WMID.NTDC)
Notify (WMID, 0x80)
}
}
}
Method (AINT, 2, NotSerialized)
{
...
Else
{
If (LEqual (Arg0, One)) /* Linux or XP */
{
Add (Arg1, One, Arg1)
Store (Divide (Multiply (Arg1, 0xFF), 0x0A, ), BCLP)
Or (BCLP, 0x80000000, BCLP) /* touch BCLP register */
Store (0x02, ASLC)
}
That's why I said acpi_osi"!Windows 2006" should also works to you. Unfortunately,
there have something wrong in video driver for support this machine on XP mode.
thanks a lot!
Joey Lee
^ permalink raw reply
* [PATCH] fbdev: fix au1*fb builds
From: Manuel Lauss @ 2012-03-24 10:38 UTC (permalink / raw)
To: linux-fbdev
Commit 1c16697bf9d5b206cb0d2b905a54de5e077296be
("drivers/video/au*fb.c: use devm_ functions) introduced 2 build failures
in the au1100fb and au1200fb drivers, fix them.
Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
---
drivers/video/au1100fb.c | 5 +++--
drivers/video/au1200fb.c | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/video/au1100fb.c b/drivers/video/au1100fb.c
index befcbd8..ffbce45 100644
--- a/drivers/video/au1100fb.c
+++ b/drivers/video/au1100fb.c
@@ -499,7 +499,8 @@ static int __devinit au1100fb_drv_probe(struct platform_device *dev)
au1100fb_fix.mmio_start = regs_res->start;
au1100fb_fix.mmio_len = resource_size(regs_res);
- if (!devm_request_mem_region(au1100fb_fix.mmio_start,
+ if (!devm_request_mem_region(&dev->dev,
+ au1100fb_fix.mmio_start,
au1100fb_fix.mmio_len,
DRIVER_NAME)) {
print_err("fail to lock memory region at 0x%08lx",
@@ -516,7 +517,7 @@ static int __devinit au1100fb_drv_probe(struct platform_device *dev)
fbdev->fb_len = fbdev->panel->xres * fbdev->panel->yres *
(fbdev->panel->bpp >> 3) * AU1100FB_NBR_VIDEO_BUFFERS;
- fbdev->fb_mem = dmam_alloc_coherent(&dev->dev, &dev->dev,
+ fbdev->fb_mem = dmam_alloc_coherent(&dev->dev,
PAGE_ALIGN(fbdev->fb_len),
&fbdev->fb_phys, GFP_KERNEL);
if (!fbdev->fb_mem) {
diff --git a/drivers/video/au1200fb.c b/drivers/video/au1200fb.c
index 3e9a773..7ca79f0 100644
--- a/drivers/video/au1200fb.c
+++ b/drivers/video/au1200fb.c
@@ -1724,7 +1724,7 @@ static int __devinit au1200fb_drv_probe(struct platform_device *dev)
/* Allocate the framebuffer to the maximum screen size */
fbdev->fb_len = (win->w[plane].xres * win->w[plane].yres * bpp) / 8;
- fbdev->fb_mem = dmam_alloc_noncoherent(&dev->dev, &dev->dev,
+ fbdev->fb_mem = dmam_alloc_noncoherent(&dev->dev,
PAGE_ALIGN(fbdev->fb_len),
&fbdev->fb_phys, GFP_KERNEL);
if (!fbdev->fb_mem) {
--
1.7.8.5
^ permalink raw reply related
* [PATCH v3 0/4] video: s3c-fb: Rearrange the elements in platform data
From: Thomas Abraham @ 2012-03-24 16:40 UTC (permalink / raw)
To: linux-arm-kernel
Changes since v2:
- Patch 3/4 is a new patch in this series. The real6410 and mini6410 boards
use the display controllers window configuration data to represent video
timing of two different lcd panels. Since the window configuration data
should be not be used to specify timing of two different panels, this has
been reworked in such a way that two instance of display controller's
platform data is setup for the two supported lcd panels. Depending on the
lcd panel specified using boot parameters, the corresponding platform data
is registered. This maintains backward compatibility with existing
functionality of supporting multiple lcd panels at runtime.
Changes since v1:
- Includes all changes suggested by Jingoo Han.
- Reworked s3c-fb platform data in all Samsung SoC based board files.
This patchset rearranges the elements in the platform data of the s3c-fb
driver with the intent of adding device tree support to the driver in
subsequent patches.
The first patch moves the video timing information from the individual window
setup data into the platform specific configuration section in the platform
data. The video timing is independent of the window setup. The resolution of
the window could be smaller than that of the lcd panel attached. So the video
timing data is removed from window configuration data.
The second patch removes the need for the 'default_win' element in the
platform data. This element was used to decide whether the video data
output from the controller should be enabled or disabled when the window
specified by 'default_win' is enabled or disabled. With the first patch
removing the need for atleast one window to be of the same resolution as
that of the lcd panel, it is now possible to decide when to enable/disable
the video data output based on the state of each window. If any of the
window is active, the lcd data output is enabled. Otherwise, the lcd data
output is disabled. Hence, the 'default_win' parameter from the platform
data can be removed, which anyways cannot be specified when using
device tree.
The third patch reworks the display controller's platform data that was
used to supply video timing information for two different panels on the
mini6410 and real6410 boards. That was not the correct usage of the window
data and hence reworks the runtime handling of two different lcd panels.
For all the Samsung SoC based boards, the forth patch reworks the platform
data of the display controller based on the changes introduced in the first
two patches.
This patch series is based on
http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git [for-next]
with all patches merged from
https://github.com/schandinat/linux-2.6.git [fbdev-next]
and tested one Exynos4210 based Origen board (only compile tested for
other boards)
Thomas Abraham (4):
video: s3c-fb: move video interface timing out of window setup data
video: s3c-fb: remove 'default_win' element from platform data
ARM: s3c64xx: Decouple lcd type from display controller window data
ARM: Samsung: Rework platform data of s3c-fb driver
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 | 92 +++++++++++--------
arch/arm/mach-s3c64xx/mach-real6410.c | 90 +++++++++++--------
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 +++--
arch/arm/plat-samsung/include/plat/fb.h | 11 ++-
drivers/video/s3c-fb.c | 135 +++++++++++++--------------
21 files changed, 426 insertions(+), 345 deletions(-)
^ permalink raw reply
* [PATCH v3 1/4] video: s3c-fb: move video interface timing out of window setup data
From: Thomas Abraham @ 2012-03-24 16:40 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1332606528-32338-1-git-send-email-thomas.abraham@linaro.org>
The video interface timing is independent of the window setup data.
The resolution of the window can be smaller than that of the lcd
panel to which the video data is output.
So move the video timing data from the per-window setup data to the
platform specific section in the platform data. This also removes
the restriction that atleast one window should have the same
resolution as that of the panel attached.
Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Jingoo Han <jg1.han@samsung.com>
---
arch/arm/plat-samsung/include/plat/fb.h | 9 ++-
drivers/video/s3c-fb.c | 112 +++++++++++++++++--------------
2 files changed, 67 insertions(+), 54 deletions(-)
diff --git a/arch/arm/plat-samsung/include/plat/fb.h b/arch/arm/plat-samsung/include/plat/fb.h
index 0fedf47..39d6bd7 100644
--- a/arch/arm/plat-samsung/include/plat/fb.h
+++ b/arch/arm/plat-samsung/include/plat/fb.h
@@ -24,15 +24,16 @@
/**
* struct s3c_fb_pd_win - per window setup data
- * @win_mode: The display parameters to initialise (not for window 0)
+ * @xres : The window X size.
+ * @yres : The window Y size.
* @virtual_x: The virtual X size.
* @virtual_y: The virtual Y size.
*/
struct s3c_fb_pd_win {
- struct fb_videomode win_mode;
-
unsigned short default_bpp;
unsigned short max_bpp;
+ unsigned short xres;
+ unsigned short yres;
unsigned short virtual_x;
unsigned short virtual_y;
};
@@ -45,6 +46,7 @@ struct s3c_fb_pd_win {
* @default_win: default window layer number to be used for UI layer.
* @vidcon0: The base vidcon0 values to control the panel data format.
* @vidcon1: The base vidcon1 values to control the panel data output.
+ * @vtiming: Video timing when connected to a RGB type panel.
* @win: The setup data for each hardware window, or NULL for unused.
* @display_mode: The LCD output display mode.
*
@@ -58,6 +60,7 @@ struct s3c_fb_platdata {
void (*setup_gpio)(void);
struct s3c_fb_pd_win *win[S3C_FB_MAX_WIN];
+ struct fb_videomode *vtiming;
u32 default_win;
diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c
index f310516..c94f40d 100644
--- a/drivers/video/s3c-fb.c
+++ b/drivers/video/s3c-fb.c
@@ -495,7 +495,6 @@ static int s3c_fb_set_par(struct fb_info *info)
u32 alpha = 0;
u32 data;
u32 pagewidth;
- int clkdiv;
dev_dbg(sfb->dev, "setting framebuffer parameters\n");
@@ -532,48 +531,9 @@ static int s3c_fb_set_par(struct fb_info *info)
/* disable the window whilst we update it */
writel(0, regs + WINCON(win_no));
- /* use platform specified window as the basis for the lcd timings */
-
- if (win_no = sfb->pdata->default_win) {
- clkdiv = s3c_fb_calc_pixclk(sfb, var->pixclock);
-
- data = sfb->pdata->vidcon0;
- data &= ~(VIDCON0_CLKVAL_F_MASK | VIDCON0_CLKDIR);
-
- if (clkdiv > 1)
- data |= VIDCON0_CLKVAL_F(clkdiv-1) | VIDCON0_CLKDIR;
- else
- data &= ~VIDCON0_CLKDIR; /* 1:1 clock */
-
- /* write the timing data to the panel */
-
- if (sfb->variant.is_2443)
- data |= (1 << 5);
-
- writel(data, regs + VIDCON0);
-
+ if (win_no = sfb->pdata->default_win)
s3c_fb_enable(sfb, 1);
- data = VIDTCON0_VBPD(var->upper_margin - 1) |
- VIDTCON0_VFPD(var->lower_margin - 1) |
- VIDTCON0_VSPW(var->vsync_len - 1);
-
- writel(data, regs + sfb->variant.vidtcon);
-
- data = VIDTCON1_HBPD(var->left_margin - 1) |
- VIDTCON1_HFPD(var->right_margin - 1) |
- VIDTCON1_HSPW(var->hsync_len - 1);
-
- /* VIDTCON1 */
- writel(data, regs + sfb->variant.vidtcon + 4);
-
- data = VIDTCON2_LINEVAL(var->yres - 1) |
- VIDTCON2_HOZVAL(var->xres - 1) |
- VIDTCON2_LINEVAL_E(var->yres - 1) |
- VIDTCON2_HOZVAL_E(var->xres - 1);
- writel(data, regs + sfb->variant.vidtcon + 8);
- }
-
/* write the buffer address */
/* start and end registers stride is 8 */
@@ -1144,11 +1104,11 @@ static int __devinit s3c_fb_alloc_memory(struct s3c_fb *sfb,
dev_dbg(sfb->dev, "allocating memory for display\n");
- real_size = windata->win_mode.xres * windata->win_mode.yres;
+ real_size = windata->xres * windata->yres;
virt_size = windata->virtual_x * windata->virtual_y;
dev_dbg(sfb->dev, "real_size=%u (%u.%u), virt_size=%u (%u.%u)\n",
- real_size, windata->win_mode.xres, windata->win_mode.yres,
+ real_size, windata->xres, windata->yres,
virt_size, windata->virtual_x, windata->virtual_y);
size = (real_size > virt_size) ? real_size : virt_size;
@@ -1230,7 +1190,7 @@ static int __devinit s3c_fb_probe_win(struct s3c_fb *sfb, unsigned int win_no,
struct s3c_fb_win **res)
{
struct fb_var_screeninfo *var;
- struct fb_videomode *initmode;
+ struct fb_videomode initmode;
struct s3c_fb_pd_win *windata;
struct s3c_fb_win *win;
struct fb_info *fbinfo;
@@ -1251,11 +1211,11 @@ static int __devinit s3c_fb_probe_win(struct s3c_fb *sfb, unsigned int win_no,
}
windata = sfb->pdata->win[win_no];
- initmode = &windata->win_mode;
+ initmode = *sfb->pdata->vtiming;
WARN_ON(windata->max_bpp = 0);
- WARN_ON(windata->win_mode.xres = 0);
- WARN_ON(windata->win_mode.yres = 0);
+ WARN_ON(windata->xres = 0);
+ WARN_ON(windata->yres = 0);
win = fbinfo->par;
*res = win;
@@ -1294,7 +1254,9 @@ static int __devinit s3c_fb_probe_win(struct s3c_fb *sfb, unsigned int win_no,
}
/* setup the initial video mode from the window */
- fb_videomode_to_var(&fbinfo->var, initmode);
+ initmode.xres = windata->xres;
+ initmode.yres = windata->yres;
+ fb_videomode_to_var(&fbinfo->var, &initmode);
fbinfo->fix.type = FB_TYPE_PACKED_PIXELS;
fbinfo->fix.accel = FB_ACCEL_NONE;
@@ -1339,6 +1301,53 @@ static int __devinit s3c_fb_probe_win(struct s3c_fb *sfb, unsigned int win_no,
}
/**
+ * s3c_fb_set_rgb_timing() - set video timing for rgb interface.
+ * @sfb: The base resources for the hardware.
+ *
+ * Set horizontal and vertical lcd rgb interface timing.
+ */
+static void s3c_fb_set_rgb_timing(struct s3c_fb *sfb)
+{
+ struct fb_videomode *vmode = sfb->pdata->vtiming;
+ void __iomem *regs = sfb->regs;
+ int clkdiv;
+ u32 data;
+
+ if (!vmode->pixclock)
+ s3c_fb_missing_pixclock(vmode);
+
+ clkdiv = s3c_fb_calc_pixclk(sfb, vmode->pixclock);
+
+ data = sfb->pdata->vidcon0;
+ data &= ~(VIDCON0_CLKVAL_F_MASK | VIDCON0_CLKDIR);
+
+ if (clkdiv > 1)
+ data |= VIDCON0_CLKVAL_F(clkdiv-1) | VIDCON0_CLKDIR;
+ else
+ data &= ~VIDCON0_CLKDIR; /* 1:1 clock */
+
+ if (sfb->variant.is_2443)
+ data |= (1 << 5);
+ writel(data, regs + VIDCON0);
+
+ data = VIDTCON0_VBPD(vmode->upper_margin - 1) |
+ VIDTCON0_VFPD(vmode->lower_margin - 1) |
+ VIDTCON0_VSPW(vmode->vsync_len - 1);
+ writel(data, regs + sfb->variant.vidtcon);
+
+ data = VIDTCON1_HBPD(vmode->left_margin - 1) |
+ VIDTCON1_HFPD(vmode->right_margin - 1) |
+ VIDTCON1_HSPW(vmode->hsync_len - 1);
+ writel(data, regs + sfb->variant.vidtcon + 4);
+
+ data = VIDTCON2_LINEVAL(vmode->yres - 1) |
+ VIDTCON2_HOZVAL(vmode->xres - 1) |
+ VIDTCON2_LINEVAL_E(vmode->yres - 1) |
+ VIDTCON2_HOZVAL_E(vmode->xres - 1);
+ writel(data, regs + sfb->variant.vidtcon + 8);
+}
+
+/**
* s3c_fb_clear_win() - clear hardware window registers.
* @sfb: The base resources for the hardware.
* @win: The window to process.
@@ -1481,15 +1490,14 @@ static int __devinit s3c_fb_probe(struct platform_device *pdev)
writel(0xffffff, regs + WKEYCON1);
}
+ s3c_fb_set_rgb_timing(sfb);
+
/* we have the register setup, start allocating framebuffers */
for (win = 0; win < fbdrv->variant.nr_windows; win++) {
if (!pd->win[win])
continue;
- if (!pd->win[win]->win_mode.pixclock)
- s3c_fb_missing_pixclock(&pd->win[win]->win_mode);
-
ret = s3c_fb_probe_win(sfb, win, fbdrv->win[win],
&sfb->windows[win]);
if (ret < 0) {
@@ -1623,6 +1631,8 @@ static int s3c_fb_resume(struct device *dev)
shadow_protect_win(win, 0);
}
+ s3c_fb_set_rgb_timing(sfb);
+
/* restore framebuffers */
for (win_no = 0; win_no < S3C_FB_MAX_WIN; win_no++) {
win = sfb->windows[win_no];
--
1.6.6.rc2
^ permalink raw reply related
* [PATCH v3 2/4] video: s3c-fb: remove 'default_win' element from platform data
From: Thomas Abraham @ 2012-03-24 16:40 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1332606528-32338-1-git-send-email-thomas.abraham@linaro.org>
The decision to enable or disable the data output to the lcd panel from
the controller need not be based on the value of 'default_win' element
in the platform data. Instead, the data output to the panel is enabled
if any of the windows are active, else data output is disabled.
Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
arch/arm/plat-samsung/include/plat/fb.h | 2 --
drivers/video/s3c-fb.c | 25 +++++--------------------
2 files changed, 5 insertions(+), 22 deletions(-)
diff --git a/arch/arm/plat-samsung/include/plat/fb.h b/arch/arm/plat-samsung/include/plat/fb.h
index 39d6bd7..536002f 100644
--- a/arch/arm/plat-samsung/include/plat/fb.h
+++ b/arch/arm/plat-samsung/include/plat/fb.h
@@ -62,8 +62,6 @@ struct s3c_fb_platdata {
struct s3c_fb_pd_win *win[S3C_FB_MAX_WIN];
struct fb_videomode *vtiming;
- u32 default_win;
-
u32 vidcon0;
u32 vidcon1;
};
diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c
index c94f40d..18c84b8 100644
--- a/drivers/video/s3c-fb.c
+++ b/drivers/video/s3c-fb.c
@@ -531,7 +531,7 @@ static int s3c_fb_set_par(struct fb_info *info)
/* disable the window whilst we update it */
writel(0, regs + WINCON(win_no));
- if (win_no = sfb->pdata->default_win)
+ if (!sfb->output_on)
s3c_fb_enable(sfb, 1);
/* write the buffer address */
@@ -799,6 +799,7 @@ static int s3c_fb_blank(int blank_mode, struct fb_info *info)
struct s3c_fb *sfb = win->parent;
unsigned int index = win->index;
u32 wincon;
+ u32 output_on = sfb->output_on;
dev_dbg(sfb->dev, "blank mode %d\n", blank_mode);
@@ -837,34 +838,18 @@ static int s3c_fb_blank(int blank_mode, struct fb_info *info)
shadow_protect_win(win, 1);
writel(wincon, sfb->regs + sfb->variant.wincon + (index * 4));
- shadow_protect_win(win, 0);
/* Check the enabled state to see if we need to be running the
* main LCD interface, as if there are no active windows then
* it is highly likely that we also do not need to output
* anything.
*/
-
- /* We could do something like the following code, but the current
- * system of using framebuffer events means that we cannot make
- * the distinction between just window 0 being inactive and all
- * the windows being down.
- *
- * s3c_fb_enable(sfb, sfb->enabled ? 1 : 0);
- */
-
- /* we're stuck with this until we can do something about overriding
- * the power control using the blanking event for a single fb.
- */
- if (index = sfb->pdata->default_win) {
- shadow_protect_win(win, 1);
- s3c_fb_enable(sfb, blank_mode != FB_BLANK_POWERDOWN ? 1 : 0);
- shadow_protect_win(win, 0);
- }
+ s3c_fb_enable(sfb, sfb->enabled ? 1 : 0);
+ shadow_protect_win(win, 0);
pm_runtime_put_sync(sfb->dev);
- return 0;
+ return output_on = sfb->output_on;
}
/**
--
1.6.6.rc2
^ permalink raw reply related
* [PATCH v3 3/4] ARM: s3c64xx: Decouple lcd type from display controller window data
From: Thomas Abraham @ 2012-03-24 16:40 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1332606528-32338-1-git-send-email-thomas.abraham@linaro.org>
The display controller window data should contain window configuration data
for only one type of lcd panel. So, for real6410 and mini6410 boards, split
the existing display controller window data, which contains window
configuration data for two different types of lcd panels, into two seperate
instances and register one of them depending on the type of the lcd panel
detected at runtime.
This is a prerequisite change for a subsequent commit that reorders the
platform data of display controller by moving video interface timing out
of window setup data.
Cc: Darius Augulis <augulis.darius@gmail.com>
Cc: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
arch/arm/mach-s3c64xx/mach-mini6410.c | 82 +++++++++++++++++---------------
arch/arm/mach-s3c64xx/mach-real6410.c | 82 +++++++++++++++++---------------
2 files changed, 88 insertions(+), 76 deletions(-)
diff --git a/arch/arm/mach-s3c64xx/mach-mini6410.c b/arch/arm/mach-s3c64xx/mach-mini6410.c
index c34c2ab..34f5195 100644
--- a/arch/arm/mach-s3c64xx/mach-mini6410.c
+++ b/arch/arm/mach-s3c64xx/mach-mini6410.c
@@ -151,41 +151,49 @@ static struct s3c2410_platform_nand mini6410_nand_info = {
.sets = mini6410_nand_sets,
};
-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,
- }, {
- .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,
+static struct s3c_fb_pd_win mini6410_lcd_type0_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,
};
-static struct s3c_fb_platdata mini6410_lcd_pdata __initdata = {
- .setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
- .win[0] = &mini6410_fb_win[0],
- .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
- .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
+static struct s3c_fb_pd_win mini6410_lcd_type1_fb_win = {
+ .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,
+};
+
+static struct s3c_fb_platdata mini6410_lcd_pdata[] __initdata = {
+ {
+ .setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .win[0] = &mini6410_lcd_type0_fb_win,
+ .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
+ .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
+ }, {
+ .setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .win[0] = &mini6410_lcd_type1_fb_win,
+ .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
+ .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
+ },
+ { },
};
static void mini6410_lcd_power_set(struct plat_lcd_data *pd,
@@ -283,7 +291,7 @@ static void mini6410_parse_features(
"screen type already set\n", f);
} else {
int li = f - '0';
- if (li >= ARRAY_SIZE(mini6410_fb_win))
+ if (li >= ARRAY_SIZE(mini6410_lcd_pdata))
printk(KERN_INFO "MINI6410: '%c' out "
"of range LCD mode\n", f);
else {
@@ -307,14 +315,12 @@ static void __init mini6410_machine_init(void)
/* Parse the feature string */
mini6410_parse_features(&features, mini6410_features_str);
- 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[features.lcd_index].win[0]->win_mode.xres,
+ mini6410_lcd_pdata[features.lcd_index].win[0]->win_mode.yres);
s3c_nand_set_platdata(&mini6410_nand_info);
- s3c_fb_set_platdata(&mini6410_lcd_pdata);
+ s3c_fb_set_platdata(&mini6410_lcd_pdata[features.lcd_index]);
s3c24xx_ts_set_platdata(NULL);
/* configure nCS1 width to 16 bits */
diff --git a/arch/arm/mach-s3c64xx/mach-real6410.c b/arch/arm/mach-s3c64xx/mach-real6410.c
index be2a9a2..21f91e5 100644
--- a/arch/arm/mach-s3c64xx/mach-real6410.c
+++ b/arch/arm/mach-s3c64xx/mach-real6410.c
@@ -117,41 +117,49 @@ 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,
- }, {
- .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,
+static struct s3c_fb_pd_win real6410_lcd_type0_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,
};
-static struct s3c_fb_platdata real6410_lcd_pdata __initdata = {
- .setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
- .win[0] = &real6410_fb_win[0],
- .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
- .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
+static struct s3c_fb_pd_win real6410_lcd_type1_fb_win = {
+ .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,
+};
+
+static struct s3c_fb_platdata real6410_lcd_pdata[] __initdata = {
+ {
+ .setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .win[0] = &real6410_lcd_type0_fb_win,
+ .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
+ .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
+ }, {
+ .setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .win[0] = &real6410_lcd_type1_fb_win,
+ .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
+ .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
+ },
+ { },
};
static struct mtd_partition real6410_nand_part[] = {
@@ -264,7 +272,7 @@ static void real6410_parse_features(
"screen type already set\n", f);
} else {
int li = f - '0';
- if (li >= ARRAY_SIZE(real6410_fb_win))
+ if (li >= ARRAY_SIZE(real6410_lcd_pdata))
printk(KERN_INFO "REAL6410: '%c' out "
"of range LCD mode\n", f);
else {
@@ -288,13 +296,11 @@ static void __init real6410_machine_init(void)
/* Parse the feature string */
real6410_parse_features(&features, real6410_features_str);
- real6410_lcd_pdata.win[0] = &real6410_fb_win[features.lcd_index];
-
printk(KERN_INFO "REAL6410: selected LCD display is %dx%d\n",
- real6410_lcd_pdata.win[0]->win_mode.xres,
- real6410_lcd_pdata.win[0]->win_mode.yres);
+ real6410_lcd_pdata[features.lcd_index].win[0]->win_mode.xres,
+ real6410_lcd_pdata[features.lcd_index].win[0]->win_mode.yres);
- s3c_fb_set_platdata(&real6410_lcd_pdata);
+ s3c_fb_set_platdata(&real6410_lcd_pdata[features.lcd_index]);
s3c_nand_set_platdata(&real6410_nand_info);
s3c24xx_ts_set_platdata(NULL);
--
1.6.6.rc2
^ permalink raw reply related
* [PATCH v3 4/4] ARM: Samsung: Rework platform data of s3c-fb driver
From: Thomas Abraham @ 2012-03-24 16:40 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1332606528-32338-1-git-send-email-thomas.abraham@linaro.org>
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 | 54 ++++++++++++++++-----------
arch/arm/mach-s3c64xx/mach-real6410.c | 52 +++++++++++++++-----------
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, 311 insertions(+), 238 deletions(-)
diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c
index 7ac81ce..a7e6731 100644
--- a/arch/arm/mach-exynos/mach-nuri.c
+++ b/arch/arm/mach-exynos/mach-nuri.c
@@ -212,25 +212,29 @@ static struct platform_device nuri_gpio_keys = {
/* Frame Buffer */
static struct s3c_fb_pd_win nuri_fb_win0 = {
- .win_mode = {
- .left_margin = 64,
- .right_margin = 16,
- .upper_margin = 64,
- .lower_margin = 1,
- .hsync_len = 48,
- .vsync_len = 3,
- .xres = 1024,
- .yres = 600,
- .refresh = 60,
- },
.max_bpp = 24,
.default_bpp = 16,
+ .xres = 1024,
+ .yres = 600,
.virtual_x = 1024,
.virtual_y = 2 * 600,
};
+static struct fb_videomode nuri_lcd_timing = {
+ .left_margin = 64,
+ .right_margin = 16,
+ .upper_margin = 64,
+ .lower_margin = 1,
+ .hsync_len = 48,
+ .vsync_len = 3,
+ .xres = 1024,
+ .yres = 600,
+ .refresh = 60,
+};
+
static struct s3c_fb_platdata nuri_fb_pdata __initdata = {
.win[0] = &nuri_fb_win0,
+ .vtiming = &nuri_lcd_timing,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB |
VIDCON0_CLKSEL_LCD,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c
index 25c9b46..de71237 100644
--- a/arch/arm/mach-exynos/mach-origen.c
+++ b/arch/arm/mach-exynos/mach-origen.c
@@ -583,22 +583,26 @@ static struct platform_device origen_lcd_hv070wsa = {
};
static struct s3c_fb_pd_win origen_fb_win0 = {
- .win_mode = {
- .left_margin = 64,
- .right_margin = 16,
- .upper_margin = 64,
- .lower_margin = 16,
- .hsync_len = 48,
- .vsync_len = 3,
- .xres = 1024,
- .yres = 600,
- },
+ .xres = 1024,
+ .yres = 600,
.max_bpp = 32,
.default_bpp = 24,
};
+static struct fb_videomode origen_lcd_timing = {
+ .left_margin = 64,
+ .right_margin = 16,
+ .upper_margin = 64,
+ .lower_margin = 16,
+ .hsync_len = 48,
+ .vsync_len = 3,
+ .xres = 1024,
+ .yres = 600,
+};
+
static struct s3c_fb_platdata origen_lcd_pdata __initdata = {
.win[0] = &origen_fb_win0,
+ .vtiming = &origen_lcd_timing,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC |
VIDCON1_INV_VCLK,
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c
index f08529f..6c00fa6 100644
--- a/arch/arm/mach-exynos/mach-smdkv310.c
+++ b/arch/arm/mach-exynos/mach-smdkv310.c
@@ -157,22 +157,26 @@ static struct platform_device smdkv310_lcd_lte480wv = {
};
static struct s3c_fb_pd_win smdkv310_fb_win0 = {
- .win_mode = {
- .left_margin = 13,
- .right_margin = 8,
- .upper_margin = 7,
- .lower_margin = 5,
- .hsync_len = 3,
- .vsync_len = 1,
- .xres = 800,
- .yres = 480,
- },
- .max_bpp = 32,
- .default_bpp = 24,
+ .max_bpp = 32,
+ .default_bpp = 24,
+ .xres = 800,
+ .yres = 480,
+};
+
+static struct fb_videomode smdkv310_lcd_timing = {
+ .left_margin = 13,
+ .right_margin = 8,
+ .upper_margin = 7,
+ .lower_margin = 5,
+ .hsync_len = 3,
+ .vsync_len = 1,
+ .xres = 800,
+ .yres = 480,
};
static struct s3c_fb_platdata smdkv310_lcd0_pdata __initdata = {
.win[0] = &smdkv310_fb_win0,
+ .vtiming = &smdkv310_lcd_timing,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
.setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c
index 57e4418..67a9547 100644
--- a/arch/arm/mach-exynos/mach-universal_c210.c
+++ b/arch/arm/mach-exynos/mach-universal_c210.c
@@ -813,25 +813,29 @@ static struct i2c_board_info i2c1_devs[] __initdata = {
/* Frame Buffer */
static struct s3c_fb_pd_win universal_fb_win0 = {
- .win_mode = {
- .left_margin = 16,
- .right_margin = 16,
- .upper_margin = 2,
- .lower_margin = 28,
- .hsync_len = 2,
- .vsync_len = 1,
- .xres = 480,
- .yres = 800,
- .refresh = 55,
- },
.max_bpp = 32,
.default_bpp = 16,
+ .xres = 480,
+ .yres = 800,
.virtual_x = 480,
.virtual_y = 2 * 800,
};
+static struct fb_videomode universal_lcd_timing = {
+ .left_margin = 16,
+ .right_margin = 16,
+ .upper_margin = 2,
+ .lower_margin = 28,
+ .hsync_len = 2,
+ .vsync_len = 1,
+ .xres = 480,
+ .yres = 800,
+ .refresh = 55,
+};
+
static struct s3c_fb_platdata universal_lcd_pdata __initdata = {
.win[0] = &universal_fb_win0,
+ .vtiming = &universal_lcd_timing,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB |
VIDCON0_CLKSEL_LCD,
.vidcon1 = VIDCON1_INV_VCLK | VIDCON1_INV_VDEN
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2416.c b/arch/arm/mach-s3c24xx/mach-smdk2416.c
index 30a44f8..c3100a0 100644
--- a/arch/arm/mach-s3c24xx/mach-smdk2416.c
+++ b/arch/arm/mach-s3c24xx/mach-smdk2416.c
@@ -148,23 +148,25 @@ static struct s3c24xx_hsudc_platdata smdk2416_hsudc_platdata = {
static struct s3c_fb_pd_win smdk2416_fb_win[] = {
[0] = {
- /* think this is the same as the smdk6410 */
- .win_mode = {
- .pixclock = 41094,
- .left_margin = 8,
- .right_margin = 13,
- .upper_margin = 7,
- .lower_margin = 5,
- .hsync_len = 3,
- .vsync_len = 1,
- .xres = 800,
- .yres = 480,
- },
.default_bpp = 16,
.max_bpp = 32,
+ .xres = 800,
+ .yres = 480,
},
};
+static struct fb_videomode smdk2416_lcd_timing = {
+ .pixclock = 41094,
+ .left_margin = 8,
+ .right_margin = 13,
+ .upper_margin = 7,
+ .lower_margin = 5,
+ .hsync_len = 3,
+ .vsync_len = 1,
+ .xres = 800,
+ .yres = 480,
+};
+
static void s3c2416_fb_gpio_setup_24bpp(void)
{
unsigned int gpio;
@@ -187,6 +189,7 @@ static void s3c2416_fb_gpio_setup_24bpp(void)
static struct s3c_fb_platdata smdk2416_fb_platdata = {
.win[0] = &smdk2416_fb_win[0],
+ .vtiming = &smdk2416_lcd_timing,
.setup_gpio = s3c2416_fb_gpio_setup_24bpp,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
diff --git a/arch/arm/mach-s3c64xx/mach-anw6410.c b/arch/arm/mach-s3c64xx/mach-anw6410.c
index b86f277..58fd0e3 100644
--- a/arch/arm/mach-s3c64xx/mach-anw6410.c
+++ b/arch/arm/mach-s3c64xx/mach-anw6410.c
@@ -134,24 +134,27 @@ static struct platform_device anw6410_lcd_powerdev = {
};
static struct s3c_fb_pd_win anw6410_fb_win0 = {
- /* this is to ensure we use win0 */
- .win_mode = {
- .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 anw6410_lcd_timing = {
+ .left_margin = 8,
+ .right_margin = 13,
+ .upper_margin = 7,
+ .lower_margin = 5,
+ .hsync_len = 3,
+ .vsync_len = 1,
+ .xres = 800,
+ .yres = 480,
};
/* 405566 clocks per frame => 60Hz refresh requires 24333960Hz clock */
static struct s3c_fb_platdata anw6410_lcd_pdata __initdata = {
.setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .vtiming = &anw6410_lcd_timing,
.win[0] = &anw6410_fb_win0,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c
index e20bf58..c1ef57e 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410.c
@@ -151,26 +151,29 @@ static struct platform_device crag6410_lcd_powerdev = {
/* 640x480 URT */
static struct s3c_fb_pd_win crag6410_fb_win0 = {
- /* this is to ensure we use win0 */
- .win_mode = {
- .left_margin = 150,
- .right_margin = 80,
- .upper_margin = 40,
- .lower_margin = 5,
- .hsync_len = 40,
- .vsync_len = 5,
- .xres = 640,
- .yres = 480,
- },
.max_bpp = 32,
.default_bpp = 16,
+ .xres = 640,
+ .yres = 480,
.virtual_y = 480 * 2,
.virtual_x = 640,
};
+static struct fb_videomode crag6410_lcd_timing = {
+ .left_margin = 150,
+ .right_margin = 80,
+ .upper_margin = 40,
+ .lower_margin = 5,
+ .hsync_len = 40,
+ .vsync_len = 5,
+ .xres = 640,
+ .yres = 480,
+};
+
/* 405566 clocks per frame => 60Hz refresh requires 24333960Hz clock */
static struct s3c_fb_platdata crag6410_lcd_pdata __initdata = {
.setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .vtiming = &crag6410_lcd_timing,
.win[0] = &crag6410_fb_win0,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
diff --git a/arch/arm/mach-s3c64xx/mach-hmt.c b/arch/arm/mach-s3c64xx/mach-hmt.c
index 521e07b..4e9b1ac 100644
--- a/arch/arm/mach-s3c64xx/mach-hmt.c
+++ b/arch/arm/mach-s3c64xx/mach-hmt.c
@@ -129,23 +129,27 @@ static struct platform_device hmt_backlight_device = {
};
static struct s3c_fb_pd_win hmt_fb_win0 = {
- .win_mode = {
- .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 hmt_lcd_timing = {
+ .left_margin = 8,
+ .right_margin = 13,
+ .upper_margin = 7,
+ .lower_margin = 5,
+ .hsync_len = 3,
+ .vsync_len = 1,
+ .xres = 800,
+ .yres = 480,
};
/* 405566 clocks per frame => 60Hz refresh requires 24333960Hz clock */
static struct s3c_fb_platdata hmt_lcd_pdata __initdata = {
.setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .vtiming = &hmt_lcd_timing,
.win[0] = &hmt_fb_win0,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
diff --git a/arch/arm/mach-s3c64xx/mach-mini6410.c b/arch/arm/mach-s3c64xx/mach-mini6410.c
index 34f5195..2f425d5 100644
--- a/arch/arm/mach-s3c64xx/mach-mini6410.c
+++ b/arch/arm/mach-s3c64xx/mach-mini6410.c
@@ -152,43 +152,53 @@ static struct s3c2410_platform_nand mini6410_nand_info = {
};
static struct s3c_fb_pd_win mini6410_lcd_type0_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,
+};
+
+static struct fb_videomode mini6410_lcd_type0_timing = {
+ /* 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,
};
static struct s3c_fb_pd_win mini6410_lcd_type1_fb_win = {
- .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_type1_timing = {
+ /* 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,
};
static struct s3c_fb_platdata mini6410_lcd_pdata[] __initdata = {
{
.setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .vtiming = &mini6410_lcd_type0_timing,
.win[0] = &mini6410_lcd_type0_fb_win,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
}, {
.setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .vtiming = &mini6410_lcd_type1_timing,
.win[0] = &mini6410_lcd_type1_fb_win,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
@@ -316,8 +326,8 @@ static void __init mini6410_machine_init(void)
mini6410_parse_features(&features, mini6410_features_str);
printk(KERN_INFO "MINI6410: selected LCD display is %dx%d\n",
- mini6410_lcd_pdata[features.lcd_index].win[0]->win_mode.xres,
- mini6410_lcd_pdata[features.lcd_index].win[0]->win_mode.yres);
+ mini6410_lcd_pdata[features.lcd_index].win[0]->xres,
+ mini6410_lcd_pdata[features.lcd_index].win[0]->yres);
s3c_nand_set_platdata(&mini6410_nand_info);
s3c_fb_set_platdata(&mini6410_lcd_pdata[features.lcd_index]);
diff --git a/arch/arm/mach-s3c64xx/mach-real6410.c b/arch/arm/mach-s3c64xx/mach-real6410.c
index 21f91e5..0fbd32c 100644
--- a/arch/arm/mach-s3c64xx/mach-real6410.c
+++ b/arch/arm/mach-s3c64xx/mach-real6410.c
@@ -118,43 +118,51 @@ static struct platform_device real6410_device_eth = {
};
static struct s3c_fb_pd_win real6410_lcd_type0_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,
+};
+
+static struct fb_videomode real6410_lcd_type0_timing = {
+ /* 4.3" 480x272 */
+ .left_margin = 3,
+ .right_margin = 2,
+ .upper_margin = 1,
+ .lower_margin = 1,
+ .hsync_len = 40,
+ .vsync_len = 1,
};
static struct s3c_fb_pd_win real6410_lcd_type1_fb_win = {
- .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_type1_timing = {
+ /* 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,
};
static struct s3c_fb_platdata real6410_lcd_pdata[] __initdata = {
{
.setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .vtiming = &real6410_lcd_type0_timing,
.win[0] = &real6410_lcd_type0_fb_win,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
}, {
.setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .vtiming = &real6410_lcd_type1_timing,
.win[0] = &real6410_lcd_type1_fb_win,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
@@ -297,8 +305,8 @@ static void __init real6410_machine_init(void)
real6410_parse_features(&features, real6410_features_str);
printk(KERN_INFO "REAL6410: selected LCD display is %dx%d\n",
- real6410_lcd_pdata[features.lcd_index].win[0]->win_mode.xres,
- real6410_lcd_pdata[features.lcd_index].win[0]->win_mode.yres);
+ real6410_lcd_pdata[features.lcd_index].win[0]->xres,
+ real6410_lcd_pdata[features.lcd_index].win[0]->yres);
s3c_fb_set_platdata(&real6410_lcd_pdata[features.lcd_index]);
s3c_nand_set_platdata(&real6410_nand_info);
diff --git a/arch/arm/mach-s3c64xx/mach-smartq5.c b/arch/arm/mach-s3c64xx/mach-smartq5.c
index 3f42431..03a2f88 100644
--- a/arch/arm/mach-s3c64xx/mach-smartq5.c
+++ b/arch/arm/mach-s3c64xx/mach-smartq5.c
@@ -108,23 +108,27 @@ static struct platform_device smartq5_buttons_device = {
};
static struct s3c_fb_pd_win smartq5_fb_win0 = {
- .win_mode = {
- .left_margin = 216,
- .right_margin = 40,
- .upper_margin = 35,
- .lower_margin = 10,
- .hsync_len = 1,
- .vsync_len = 1,
- .xres = 800,
- .yres = 480,
- .refresh = 80,
- },
.max_bpp = 32,
.default_bpp = 16,
+ .xres = 800,
+ .yres = 480,
+};
+
+static struct fb_videomode smartq5_lcd_timing = {
+ .left_margin = 216,
+ .right_margin = 40,
+ .upper_margin = 35,
+ .lower_margin = 10,
+ .hsync_len = 1,
+ .vsync_len = 1,
+ .xres = 800,
+ .yres = 480,
+ .refresh = 80,
};
static struct s3c_fb_platdata smartq5_lcd_pdata __initdata = {
.setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .vtiming = &smartq5_lcd_timing,
.win[0] = &smartq5_fb_win0,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC |
diff --git a/arch/arm/mach-s3c64xx/mach-smartq7.c b/arch/arm/mach-s3c64xx/mach-smartq7.c
index e5c09b6..4e3b038 100644
--- a/arch/arm/mach-s3c64xx/mach-smartq7.c
+++ b/arch/arm/mach-s3c64xx/mach-smartq7.c
@@ -124,23 +124,27 @@ static struct platform_device smartq7_buttons_device = {
};
static struct s3c_fb_pd_win smartq7_fb_win0 = {
- .win_mode = {
- .left_margin = 3,
- .right_margin = 5,
- .upper_margin = 1,
- .lower_margin = 20,
- .hsync_len = 10,
- .vsync_len = 3,
- .xres = 800,
- .yres = 480,
- .refresh = 80,
- },
.max_bpp = 32,
.default_bpp = 16,
+ .xres = 800,
+ .yres = 480,
+};
+
+static struct fb_videomode smartq7_lcd_timing = {
+ .left_margin = 3,
+ .right_margin = 5,
+ .upper_margin = 1,
+ .lower_margin = 20,
+ .hsync_len = 10,
+ .vsync_len = 3,
+ .xres = 800,
+ .yres = 480,
+ .refresh = 80,
};
static struct s3c_fb_platdata smartq7_lcd_pdata __initdata = {
.setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .vtiming = &smartq7_lcd_timing,
.win[0] = &smartq7_fb_win0,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC |
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c
index d55bc96..3cfc90f 100644
--- a/arch/arm/mach-s3c64xx/mach-smdk6410.c
+++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c
@@ -146,26 +146,29 @@ static struct platform_device smdk6410_lcd_powerdev = {
};
static struct s3c_fb_pd_win smdk6410_fb_win0 = {
- /* this is to ensure we use win0 */
- .win_mode = {
- .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,
.virtual_y = 480 * 2,
.virtual_x = 800,
};
+static struct fb_videomode smdk6410_lcd_timing = {
+ .left_margin = 8,
+ .right_margin = 13,
+ .upper_margin = 7,
+ .lower_margin = 5,
+ .hsync_len = 3,
+ .vsync_len = 1,
+ .xres = 800,
+ .yres = 480,
+};
+
/* 405566 clocks per frame => 60Hz refresh requires 24333960Hz clock */
static struct s3c_fb_platdata smdk6410_lcd_pdata __initdata = {
.setup_gpio = s3c64xx_fb_gpio_setup_24bpp,
+ .vtiming = &smdk6410_lcd_timing,
.win[0] = &smdk6410_fb_win0,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
diff --git a/arch/arm/mach-s5p64x0/mach-smdk6440.c b/arch/arm/mach-s5p64x0/mach-smdk6440.c
index a40e325..92fefad 100644
--- a/arch/arm/mach-s5p64x0/mach-smdk6440.c
+++ b/arch/arm/mach-s5p64x0/mach-smdk6440.c
@@ -103,22 +103,26 @@ static struct s3c2410_uartcfg smdk6440_uartcfgs[] __initdata = {
/* Frame Buffer */
static struct s3c_fb_pd_win smdk6440_fb_win0 = {
- .win_mode = {
- .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 = 24,
+ .xres = 800,
+ .yres = 480,
+};
+
+static struct fb_videomode smdk6440_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 smdk6440_lcd_pdata __initdata = {
.win[0] = &smdk6440_fb_win0,
+ .vtiming = &smdk6440_lcd_timing,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
.setup_gpio = s5p64x0_fb_gpio_setup_24bpp,
diff --git a/arch/arm/mach-s5p64x0/mach-smdk6450.c b/arch/arm/mach-s5p64x0/mach-smdk6450.c
index efb69e2..e2335ec 100644
--- a/arch/arm/mach-s5p64x0/mach-smdk6450.c
+++ b/arch/arm/mach-s5p64x0/mach-smdk6450.c
@@ -121,22 +121,26 @@ static struct s3c2410_uartcfg smdk6450_uartcfgs[] __initdata = {
/* Frame Buffer */
static struct s3c_fb_pd_win smdk6450_fb_win0 = {
- .win_mode = {
- .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 = 24,
+ .xres = 800,
+ .yres = 480,
+};
+
+static struct fb_videomode smdk6450_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 smdk6450_lcd_pdata __initdata = {
.win[0] = &smdk6450_fb_win0,
+ .vtiming = &smdk6450_lcd_timing,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
.setup_gpio = s5p64x0_fb_gpio_setup_24bpp,
diff --git a/arch/arm/mach-s5pc100/mach-smdkc100.c b/arch/arm/mach-s5pc100/mach-smdkc100.c
index 674d229..0c3ae38 100644
--- a/arch/arm/mach-s5pc100/mach-smdkc100.c
+++ b/arch/arm/mach-s5pc100/mach-smdkc100.c
@@ -136,24 +136,27 @@ static struct platform_device smdkc100_lcd_powerdev = {
/* Frame Buffer */
static struct s3c_fb_pd_win smdkc100_fb_win0 = {
- /* this is to ensure we use win0 */
- .win_mode = {
- .left_margin = 8,
- .right_margin = 13,
- .upper_margin = 7,
- .lower_margin = 5,
- .hsync_len = 3,
- .vsync_len = 1,
- .xres = 800,
- .yres = 480,
- .refresh = 80,
- },
.max_bpp = 32,
.default_bpp = 16,
+ .xres = 800,
+ .yres = 480,
+};
+
+static struct fb_videomode smdkc100_lcd_timing = {
+ .left_margin = 8,
+ .right_margin = 13,
+ .upper_margin = 7,
+ .lower_margin = 5,
+ .hsync_len = 3,
+ .vsync_len = 1,
+ .xres = 800,
+ .yres = 480,
+ .refresh = 80,
};
static struct s3c_fb_platdata smdkc100_lcd_pdata __initdata = {
.win[0] = &smdkc100_fb_win0,
+ .vtiming = &smdkc100_lcd_timing,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
.setup_gpio = s5pc100_fb_gpio_setup_24bpp,
diff --git a/arch/arm/mach-s5pv210/mach-aquila.c b/arch/arm/mach-s5pv210/mach-aquila.c
index a9ea64e..7b91bbf 100644
--- a/arch/arm/mach-s5pv210/mach-aquila.c
+++ b/arch/arm/mach-s5pv210/mach-aquila.c
@@ -96,38 +96,34 @@ static struct s3c2410_uartcfg aquila_uartcfgs[] __initdata = {
/* Frame Buffer */
static struct s3c_fb_pd_win aquila_fb_win0 = {
- .win_mode = {
- .left_margin = 16,
- .right_margin = 16,
- .upper_margin = 3,
- .lower_margin = 28,
- .hsync_len = 2,
- .vsync_len = 2,
- .xres = 480,
- .yres = 800,
- },
.max_bpp = 32,
.default_bpp = 16,
+ .xres = 480,
+ .yres = 800,
};
static struct s3c_fb_pd_win aquila_fb_win1 = {
- .win_mode = {
- .left_margin = 16,
- .right_margin = 16,
- .upper_margin = 3,
- .lower_margin = 28,
- .hsync_len = 2,
- .vsync_len = 2,
- .xres = 480,
- .yres = 800,
- },
.max_bpp = 32,
.default_bpp = 16,
+ .xres = 480,
+ .yres = 800,
+};
+
+static struct fb_videomode aquila_lcd_timing = {
+ .left_margin = 16,
+ .right_margin = 16,
+ .upper_margin = 3,
+ .lower_margin = 28,
+ .hsync_len = 2,
+ .vsync_len = 2,
+ .xres = 480,
+ .yres = 800,
};
static struct s3c_fb_platdata aquila_lcd_pdata __initdata = {
.win[0] = &aquila_fb_win0,
.win[1] = &aquila_fb_win1,
+ .vtiming = &aquila_lcd_timing,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC |
VIDCON1_INV_VCLK | VIDCON1_INV_VDEN,
diff --git a/arch/arm/mach-s5pv210/mach-goni.c b/arch/arm/mach-s5pv210/mach-goni.c
index 2cf5ed7..07a840d 100644
--- a/arch/arm/mach-s5pv210/mach-goni.c
+++ b/arch/arm/mach-s5pv210/mach-goni.c
@@ -105,25 +105,29 @@ static struct s3c2410_uartcfg goni_uartcfgs[] __initdata = {
/* Frame Buffer */
static struct s3c_fb_pd_win goni_fb_win0 = {
- .win_mode = {
- .left_margin = 16,
- .right_margin = 16,
- .upper_margin = 2,
- .lower_margin = 28,
- .hsync_len = 2,
- .vsync_len = 1,
- .xres = 480,
- .yres = 800,
- .refresh = 55,
- },
.max_bpp = 32,
.default_bpp = 16,
+ .xres = 480,
+ .yres = 800,
.virtual_x = 480,
.virtual_y = 2 * 800,
};
+static struct fb_videomode goni_lcd_timing = {
+ .left_margin = 16,
+ .right_margin = 16,
+ .upper_margin = 2,
+ .lower_margin = 28,
+ .hsync_len = 2,
+ .vsync_len = 1,
+ .xres = 480,
+ .yres = 800,
+ .refresh = 55,
+};
+
static struct s3c_fb_platdata goni_lcd_pdata __initdata = {
.win[0] = &goni_fb_win0,
+ .vtiming = &goni_lcd_timing,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB |
VIDCON0_CLKSEL_LCD,
.vidcon1 = VIDCON1_INV_VCLK | VIDCON1_INV_VDEN
diff --git a/arch/arm/mach-s5pv210/mach-smdkv210.c b/arch/arm/mach-s5pv210/mach-smdkv210.c
index 91d4ad8..5e0c955 100644
--- a/arch/arm/mach-s5pv210/mach-smdkv210.c
+++ b/arch/arm/mach-s5pv210/mach-smdkv210.c
@@ -189,22 +189,26 @@ static struct platform_device smdkv210_lcd_lte480wv = {
};
static struct s3c_fb_pd_win smdkv210_fb_win0 = {
- .win_mode = {
- .left_margin = 13,
- .right_margin = 8,
- .upper_margin = 7,
- .lower_margin = 5,
- .hsync_len = 3,
- .vsync_len = 1,
- .xres = 800,
- .yres = 480,
- },
.max_bpp = 32,
.default_bpp = 24,
+ .xres = 800,
+ .yres = 480,
+};
+
+static struct fb_videomode smdkv210_lcd_timing = {
+ .left_margin = 13,
+ .right_margin = 8,
+ .upper_margin = 7,
+ .lower_margin = 5,
+ .hsync_len = 3,
+ .vsync_len = 1,
+ .xres = 800,
+ .yres = 480,
};
static struct s3c_fb_platdata smdkv210_lcd0_pdata __initdata = {
.win[0] = &smdkv210_fb_win0,
+ .vtiming = &smdkv210_lcd_timing,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
.setup_gpio = s5pv210_fb_gpio_setup_24bpp,
--
1.6.6.rc2
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox