Re: [PATCH] bsps/microblaze: Fix console interrupt build errors

2022-10-24 Thread Chris Johns
OK to push

Chris

On 25/10/2022 12:36 pm, Alex White wrote:
> This fixes build errors seen when building with console interrupts
> enabled. A few places were missing bspopts.h includes, and one of the
> UART functions was not defined.
> ---
>  bsps/microblaze/include/dev/serial/uartlite.h  |  1 +
>  .../microblaze/include/dev/serial/uartlite_l.h | 18 ++
>  bsps/microblaze/shared/dev/serial/uartlite.c   |  3 ++-
>  3 files changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/bsps/microblaze/include/dev/serial/uartlite.h 
> b/bsps/microblaze/include/dev/serial/uartlite.h
> index 6e288d4dc7..2fda3796b3 100644
> --- a/bsps/microblaze/include/dev/serial/uartlite.h
> +++ b/bsps/microblaze/include/dev/serial/uartlite.h
> @@ -36,6 +36,7 @@
>  #ifndef LIBBSP_MICROBLAZE_SHARED_UARTLITE_H
>  #define LIBBSP_MICROBLAZE_SHARED_UARTLITE_H
>  
> +#include 
>  #include 
>  
>  #include 
> diff --git a/bsps/microblaze/include/dev/serial/uartlite_l.h 
> b/bsps/microblaze/include/dev/serial/uartlite_l.h
> index 8c0598e191..834fbb5f75 100644
> --- a/bsps/microblaze/include/dev/serial/uartlite_l.h
> +++ b/bsps/microblaze/include/dev/serial/uartlite_l.h
> @@ -234,6 +234,24 @@ static inline void Xil_Out32(UINTPTR Addr, u32 Value)
>((XUartLite_GetStatusReg((BaseAddress)) & XUL_SR_RX_FIFO_VALID_DATA) != \
>   XUL_SR_RX_FIFO_VALID_DATA)
>  
> +#ifdef __rtems__
> +//
> +/**
> +*
> +* Check to see if the transmitter is empty.
> +*
> +* @param BaseAddress is the  base address of the device
> +*
> +* @returnTRUE if the transmitter is empty, FALSE otherwise.
> +*
> +* @note  C-style Signature:
> +*int XUartLite_IsTransmitEmpty(u32 BaseAddress);
> +*
> +*/
> +#define XUartLite_IsTransmitEmpty(BaseAddress) \
> +  ((XUartLite_GetStatusReg((BaseAddress)) & XUL_SR_TX_FIFO_EMPTY) == \
> + XUL_SR_TX_FIFO_EMPTY)
> +#endif /* __rtems__ */
>  
>  
> //
>  /**
> diff --git a/bsps/microblaze/shared/dev/serial/uartlite.c 
> b/bsps/microblaze/shared/dev/serial/uartlite.c
> index 7387e22635..a5fc4fe82b 100644
> --- a/bsps/microblaze/shared/dev/serial/uartlite.c
> +++ b/bsps/microblaze/shared/dev/serial/uartlite.c
> @@ -35,6 +35,7 @@
>  
>  #include 
>  #include 
> +#include 
>  
>  #ifdef BSP_MICROBLAZE_FPGA_CONSOLE_INTERRUPTS
>  static void microblaze_uart_interrupt( void *arg )
> @@ -47,7 +48,7 @@ static void microblaze_uart_interrupt( void *arg )
>  rtems_termios_enqueue_raw_characters( tty, &c, 1 );
>}
>  
> -  while ( ctx->transmitting && !XUartLite_IsTransmitEmpty( ctx ) ) {
> +  while ( ctx->transmitting && !XUartLite_IsTransmitEmpty( ctx->address ) ) {
>  rtems_termios_dequeue_characters( tty, 1 );
>}
>  }
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH] bsps/microblaze: Fix console interrupt build errors

2022-10-24 Thread Alex White
This fixes build errors seen when building with console interrupts
enabled. A few places were missing bspopts.h includes, and one of the
UART functions was not defined.
---
 bsps/microblaze/include/dev/serial/uartlite.h  |  1 +
 .../microblaze/include/dev/serial/uartlite_l.h | 18 ++
 bsps/microblaze/shared/dev/serial/uartlite.c   |  3 ++-
 3 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/bsps/microblaze/include/dev/serial/uartlite.h 
b/bsps/microblaze/include/dev/serial/uartlite.h
index 6e288d4dc7..2fda3796b3 100644
--- a/bsps/microblaze/include/dev/serial/uartlite.h
+++ b/bsps/microblaze/include/dev/serial/uartlite.h
@@ -36,6 +36,7 @@
 #ifndef LIBBSP_MICROBLAZE_SHARED_UARTLITE_H
 #define LIBBSP_MICROBLAZE_SHARED_UARTLITE_H
 
+#include 
 #include 
 
 #include 
diff --git a/bsps/microblaze/include/dev/serial/uartlite_l.h 
b/bsps/microblaze/include/dev/serial/uartlite_l.h
index 8c0598e191..834fbb5f75 100644
--- a/bsps/microblaze/include/dev/serial/uartlite_l.h
+++ b/bsps/microblaze/include/dev/serial/uartlite_l.h
@@ -234,6 +234,24 @@ static inline void Xil_Out32(UINTPTR Addr, u32 Value)
   ((XUartLite_GetStatusReg((BaseAddress)) & XUL_SR_RX_FIFO_VALID_DATA) != \
XUL_SR_RX_FIFO_VALID_DATA)
 
+#ifdef __rtems__
+//
+/**
+*
+* Check to see if the transmitter is empty.
+*
+* @param   BaseAddress is the  base address of the device
+*
+* @return  TRUE if the transmitter is empty, FALSE otherwise.
+*
+* @noteC-style Signature:
+*  int XUartLite_IsTransmitEmpty(u32 BaseAddress);
+*
+*/
+#define XUartLite_IsTransmitEmpty(BaseAddress) \
+  ((XUartLite_GetStatusReg((BaseAddress)) & XUL_SR_TX_FIFO_EMPTY) == \
+   XUL_SR_TX_FIFO_EMPTY)
+#endif /* __rtems__ */
 
 //
 /**
diff --git a/bsps/microblaze/shared/dev/serial/uartlite.c 
b/bsps/microblaze/shared/dev/serial/uartlite.c
index 7387e22635..a5fc4fe82b 100644
--- a/bsps/microblaze/shared/dev/serial/uartlite.c
+++ b/bsps/microblaze/shared/dev/serial/uartlite.c
@@ -35,6 +35,7 @@
 
 #include 
 #include 
+#include 
 
 #ifdef BSP_MICROBLAZE_FPGA_CONSOLE_INTERRUPTS
 static void microblaze_uart_interrupt( void *arg )
@@ -47,7 +48,7 @@ static void microblaze_uart_interrupt( void *arg )
 rtems_termios_enqueue_raw_characters( tty, &c, 1 );
   }
 
-  while ( ctx->transmitting && !XUartLite_IsTransmitEmpty( ctx ) ) {
+  while ( ctx->transmitting && !XUartLite_IsTransmitEmpty( ctx->address ) ) {
 rtems_termios_dequeue_characters( tty, 1 );
   }
 }
-- 
2.34.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel