Re: [PATCH] atmel_lcdfb: FIFO underflow management

From: Andrew Morton
Date: Mon May 19 2008 - 19:01:08 EST


On Fri, 16 May 2008 14:34:12 +0200
Nicolas Ferre <nicolas.ferre@xxxxxxxxx> wrote:

> Manage atmel_lcdfb FIFO underflow
>
> Resetting the LCD and DMA allows to fix screen shifting after a
> FIFO underflow. It follows reset sequence from errata
> "LCD Screen Shifting After a Reset".
>

This looks like 2.6.26-worthy bugfix to me? But as commonly happens,
that isn't terribly clear.

> + if (status & ATMEL_LCDC_UFLWI) {
> + dev_warn(info->device, "FIFO underflow %#x\n", status);
> + /* reset DMA and FIFO to avoid screen shifting */
> + schedule_work(&sinfo->task);
> + }
> + lcdc_writel(sinfo, ATMEL_LCDC_ICR, status);
> return IRQ_HANDLED;
> }

Shouldn't there be a cancel_work_sync() in atmel_lcdfb_exit()?


> + /* Initialize bottom half workqueue */

Well. "bottom half" is an ancient term for softirqs, not for the
new-fangled process-context callbacks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/