linux内核驱动中intel集成显示驱动里ironlake和sandybridge在使用ringbuffer上有什么区别?
我在linux驱动向vxworks中移植的过程中遇到的这个问题,就是linux内核中的intelfbhw.c中的ringbuffer有关的操作在ironlake(QM57)中或者945GM中用着没问题,但是在sandybridge(QM67)中和ivybridge(QM77)中就不好用了,表现为写ring tail后ring head不更新,我看linux各个版本有关这个ringbuffer的用法并没有什么区别,为什么就不能在SNB和IVB上用了呢?
ring head不更新导致的错误提示为:
1537 WRN_MSG("ring buffer : space: %d wanted %d\n",
1538 dinfo->ring_space, n);
1539 WRN_MSG("lockup - turning off hardware "
1540 "acceleration\n");