write ordering and macfb nop() usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi All,

I've been working on macfb.c, and I notice that it is full of stuff like 
this:

        /* the nop's are there to order writes. */
        nubus_writeb(_regno, &cmap_regs->addr); nop();
        nubus_writeb(_red, &cmap_regs->lut);    nop();
        nubus_writeb(_green, &cmap_regs->lut);  nop();
        nubus_writeb(_blue, &cmap_regs->lut);

Timing aside, I don't see what are the nop's are for. I thought accessors 
like nubus_write/raw_out/out are intended to issue these writes in order 
anyway?

And why were nop's were used instead of an empty asm() or just a volatile 
qualifier anyway? Some accident of history like a compiler bug?

Also, can a nop provide a useful timing constraint when bus speed can vary 
so much from one machine to another?

I'm baffled.

Finn
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux