0002-rt.patch 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. From:
  2. http://patches.openembedded.org/patch/65803/
  3. diff -Nur linux-4.1.10.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c linux-4.1.10/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
  4. --- linux-4.1.10.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c 2015-10-13 16:22:22.044878316 +0200
  5. +++ linux-4.1.10/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c 2015-10-13 16:34:45.559823687 +0200
  6. @@ -3060,7 +3060,7 @@
  7. gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex));
  8. /* Initialize the mutex. */
  9. - mutex_init(*Mutex);
  10. + mutex_init((struct mutex*)*Mutex);
  11. /* Return status. */
  12. gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex);
  13. @@ -3105,7 +3105,7 @@
  14. gcmkVERIFY_ARGUMENT(Mutex != gcvNULL);
  15. /* Destroy the mutex. */
  16. - mutex_destroy(Mutex);
  17. + mutex_destroy((struct mutex*)Mutex);
  18. /* Free the mutex structure. */
  19. gcmkONERROR(gckOS_Free(Os, Mutex));
  20. @@ -7625,7 +7625,7 @@
  21. might_sleep();
  22. - spin_lock_irq(&signal->obj.wait.lock);
  23. + raw_spin_lock_irq(&signal->obj.wait.lock);
  24. if (signal->obj.done)
  25. {
  26. @@ -7655,9 +7655,8 @@
  27. : Wait * HZ / 1000;
  28. #endif
  29. - DECLARE_WAITQUEUE(wait, current);
  30. - wait.flags |= WQ_FLAG_EXCLUSIVE;
  31. - __add_wait_queue_tail(&signal->obj.wait, &wait);
  32. + DEFINE_SWAITER(wait);
  33. + swait_prepare_locked(&signal->obj.wait, &wait);
  34. while (gcvTRUE)
  35. {
  36. @@ -7669,9 +7668,9 @@
  37. }
  38. __set_current_state(TASK_INTERRUPTIBLE);
  39. - spin_unlock_irq(&signal->obj.wait.lock);
  40. + raw_spin_unlock_irq(&signal->obj.wait.lock);
  41. timeout = schedule_timeout(timeout);
  42. - spin_lock_irq(&signal->obj.wait.lock);
  43. + raw_spin_lock_irq(&signal->obj.wait.lock);
  44. if (signal->obj.done)
  45. {
  46. @@ -7735,7 +7734,7 @@
  47. }
  48. }
  49. - __remove_wait_queue(&signal->obj.wait, &wait);
  50. + swait_finish_locked(&signal->obj.wait, &wait);
  51. #if gcdDETECT_TIMEOUT
  52. if (complained)
  53. @@ -7748,7 +7747,7 @@
  54. #endif
  55. }
  56. - spin_unlock_irq(&signal->obj.wait.lock);
  57. + raw_spin_unlock_irq(&signal->obj.wait.lock);
  58. OnError:
  59. /* Return status. */