On Thu, Jan 24, 2008 at 09:58:11AM +0100, Milan Plzik wrote:
> Hello,
>
> attached patch should solve h5000 framebuffer initialization problems
> when device was not cleanly booted (mq11xx was in some state different
> from initial one) and there was no image on display. It would be great
> if someone could test it with other devices using MQ11xx chips, so if
> eventually commited, it won't break anything.
Thanks Milan, I've just tested it to work (i.e., after
"echo 1 > /sys/.../blank ; reboot -f" mq11xx is working fine).
Thanks,
> From: Milan Plzik <milan.plzik_at_gmail.com>
>
> tends to malfunction on h5000 series after booting linux from haret, or
> reseting device with active framebuffer. This patch adds mq11xx reset
> to the start of initialization routine, so chip is always in
> well-defined state.
> ---
>
> drivers/mfd/mq11xx_base.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mfd/mq11xx_base.c b/drivers/mfd/mq11xx_base.c
> index 91a1d98..0506d56 100644
> --- a/drivers/mfd/mq11xx_base.c
> +++ b/drivers/mfd/mq11xx_base.c
> @@ -435,6 +435,10 @@ mq11xx_init (struct mq_data *mqdata)
> endian = endian | (endian << 4);
> endian = endian | (endian << 8);
> *((u16 *)&mqdata->base.regs->DC.config_0) = endian;
> +
> + /* Reset the chip, so we don't need to worry about previous state */
> + mqdata->base.regs->DC.config_1 |= MQ_CONFIG_SOFTWARE_CHIP_RESET;
> +
> /* First of all, enable the oscillator clock */
> mqdata->base.regs->DC.config_1 = mqdata->mq_init->DC [1];
> /* Wait for oscillator to run - 30ms doesnt suffice */
-- Anton Vorontsov email: cbou_at_mail.ru backup email: ya-cbou_at_yandex.ru irc://irc.freenode.net/bd2Received on Sun Jan 27 2008 - 12:38:14 EST
This archive was generated by hypermail 2.2.0 : Mon Feb 04 2008 - 02:31:45 EST