開發環境:ubuntu 14.04
交叉編譯器版本:arm-poky-linux-gnueabi-gcc 5.3.0
kernel源碼版本:4.1.15
rt補丁版本:patch-4.1.15-rt16.patch
更新完rt補丁后,編譯報錯定位到drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c中提示rt_spin_lock/unlock出錯,可如下修改:
gceSTATUS
gckOS_WaitSignal(
IN gckOS Os,
IN gctSIGNAL Signal,
IN gctUINT32 Wait
)
{
gceSTATUS status = gcvSTATUS_OK;
gcsSIGNAL_PTR signal;
gcmkHEADER_ARG("Os=0x%X Signal=0x%X Wait=0x%08X", Os, Signal, Wait);
/* Verify the arguments. */
gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
gcmkONERROR(_QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal));
gcmkASSERT(signal->id == (gctUINT32)(gctUINTPTR_T)Signal);
might_sleep();
//modify by J.Wong 2018/09/04
//spin_lock_irq(&signal->obj.wait.lock);
raw_spin_lock_irq(&si