[PATCH 10/13] mac68k: start CUDA early
Benjamin Herrenschmidt
benh at kernel.crashing.org
Tue Nov 17 13:03:41 EST 2009
On Wed, 2009-11-04 at 00:46 +1100, Finn Thain wrote:
> The valkyriefb driver needs the CUDA to work in order to set the video
> mode at boot. Initialising the device earlier, and bring the m68k code
> closer to the powermac code.
>
> Signed-off-by: Finn Thain <fthain at telegraphics.com.au>
Hi Finn !
> @@ -224,20 +249,9 @@ cuda_probe(void)
> static int __init
> cuda_init(void)
> {
> -#ifdef CONFIG_PPC
> if (via == NULL)
> return -ENODEV;
> return 0;
> -#else
> - int err = cuda_init_via();
> - if (err) {
> - printk(KERN_ERR "cuda_init_via() failed\n");
> - return -ENODEV;
> - }
> - out_8(&via[IER], IER_SET|SR_INT); /* enable interrupt from SR */
> -
> - return via_cuda_start();
> -#endif
> }
> #endif /* CONFIG_ADB */
Can't we just get rid of cuda_init() completely ?
> @@ -430,9 +444,12 @@ cuda_poll(void)
> /* cuda_interrupt only takes a normal lock, we disable
> * interrupts here to avoid re-entering and thus deadlocking.
> */
> - disable_irq(cuda_irq);
> - cuda_interrupt(0, NULL);
> - enable_irq(cuda_irq);
> + if (cuda_fully_inited) {
> + disable_irq(cuda_irq);
> + cuda_interrupt(0, NULL);
> + enable_irq(cuda_irq);
> + } else
> + cuda_interrupt(0, NULL);
> }
Wouldn't it be better that way ?
if (cuda_irq)
disable_irq(cuda_irq);
cuda_interrupt(0, NULL);
if (cuda_irq)
enable_irq(cuda_irq);
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list