1.1 --- a/pkg/devices/lib/lcd/src/jz4740/lcd-jz4740.cc Wed Feb 21 00:33:55 2024 +0100
1.2 +++ b/pkg/devices/lib/lcd/src/jz4740/lcd-jz4740.cc Fri Feb 23 22:52:35 2024 +0100
1.3 @@ -3,7 +3,7 @@
1.4 *
1.5 * Copyright (C) Xiangfu Liu <xiangfu@sharism.cc>
1.6 * Copyright (C) 2015, 2016, 2017, 2018,
1.7 - * 2020 Paul Boddie <paul@boddie.org.uk>
1.8 + * 2020, 2024 Paul Boddie <paul@boddie.org.uk>
1.9 *
1.10 * This program is free software; you can redistribute it and/or
1.11 * modify it under the terms of the GNU General Public License as
1.12 @@ -24,9 +24,13 @@
1.13 #include <l4/devices/hw_mmio_register_block.h>
1.14 #include <l4/sys/cache.h>
1.15 #include <l4/sys/irq.h>
1.16 +#include <l4/sys/rcv_endpoint.h>
1.17 #include <l4/sys/types.h>
1.18 #include <l4/util/util.h>
1.19
1.20 +#include <pthread.h>
1.21 +#include <pthread-l4.h>
1.22 +
1.23 #include "lcd-jz4740.h"
1.24 #include "lcd-jz4740-config.h"
1.25 #include "lcd-jz4740-regs.h"
1.26 @@ -626,6 +630,11 @@
1.27
1.28 _regs[Lcd_status] = _regs[Lcd_status] & ~(_status_irq());
1.29
1.30 + long err = l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0));
1.31 +
1.32 + if (err)
1.33 + return err;
1.34 +
1.35 // Wait for a condition.
1.36
1.37 tag = l4_irq_receive(_irq, l4_timeout(L4_IPC_TIMEOUT_NEVER, l4util_micros2l4to(2000000)));