[GitHub] [incubator-nuttx] anchao opened a new pull request, #6524: wireless/bcm43xxx: replace private queue implement to list_node

2022-06-25 Thread GitBox


anchao opened a new pull request, #6524:
URL: https://github.com/apache/incubator-nuttx/pull/6524

   ## Summary
   
   wireless/bcm43xxx: replace private queue implement to list_node
   
   ## Impact
   
   N/A
   
   ## Testing
   
   bcm43013


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] anchao opened a new pull request, #6523: wireless/bcm43xxx: remove unused tx_queue_count

2022-06-25 Thread GitBox


anchao opened a new pull request, #6523:
URL: https://github.com/apache/incubator-nuttx/pull/6523

   ## Summary
   
   wireless/bcm43xxx: remove unused tx_queue_count
   
   ## Impact
   
   N/A
   
   ## Testing
   
   bcm43013


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx-apps] normanr commented on a diff in pull request #904: netutils/dhcpc: add non-blocking interface

2022-06-25 Thread GitBox


normanr commented on code in PR #904:
URL: 
https://github.com/apache/incubator-nuttx-apps/pull/904#discussion_r906743256


##
netutils/dhcpc/dhcpc.c:
##
@@ -445,6 +448,47 @@ static uint8_t dhcpc_parsemsg(FAR struct dhcpc_state_s 
*pdhcpc, int buflen,
   return 0;
 }
 
+/
+ * Name: dhcpc_run
+ /
+
+static void *dhcpc_run(void *args)
+{
+  FAR struct dhcpc_state_s *pdhcpc = (FAR struct dhcpc_state_s *)args;
+  struct dhcpc_state result;
+  int ret;
+
+  while (1)
+{
+  ret = dhcpc_request(pdhcpc, );
+  if (ret == OK)
+{
+  pdhcpc->callback();
+}
+  else
+{
+  pdhcpc->callback(NULL);
+  nerr("dhcpc_request error\n");
+}
+
+  if (pdhcpc->cancel)
+{
+  return NULL;
+}
+
+  while (result.lease_time)
+{
+  result.lease_time = sleep(result.lease_time);

Review Comment:
   fixed in: https://github.com/apache/incubator-nuttx-apps/pull/958



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx-apps] nimish commented on pull request #840: interpreters/micropython: Add Micropython support to NuttX (WIP)

2022-06-25 Thread GitBox


nimish commented on PR #840:
URL: 
https://github.com/apache/incubator-nuttx-apps/pull/840#issuecomment-1166390760

   >nsh> upy
   >MicroPython v1.19.1-24-gffb0e674b-dirty on 2022-06-25; nuttx [GCC 11.2.1] 
version
   >Use Ctrl-D to exit, Ctrl-E for paste mode
   >hello
   
   Got it to work, with caveats: 
   the repl doesn't echo and doesn't really respond to special chars, something 
to do with readline I think. 
   
   This is on a SPRESENSE CXD5602 board. Can exit via `sys.exit()`
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[incubator-nuttx-website] branch asf-site updated: Publishing web: 3c980bc717a3874c683a1bd2a48c64c33af05833 docs: 4c2b7f3ac9052d50aa1c8fa20e643ce4bbf639c6

2022-06-25 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
 new 9791da1  Publishing web: 3c980bc717a3874c683a1bd2a48c64c33af05833 
docs: 4c2b7f3ac9052d50aa1c8fa20e643ce4bbf639c6
9791da1 is described below

commit 9791da1cd52c856f8217542d6f22dfa7f40c4c05
Author: Alin 
AuthorDate: Sun Jun 26 00:15:01 2022 +

Publishing web: 3c980bc717a3874c683a1bd2a48c64c33af05833 docs: 
4c2b7f3ac9052d50aa1c8fa20e643ce4bbf639c6
---
 content/docs/10.0.0/index.html | 2 +-
 content/docs/10.0.1/index.html | 2 +-
 content/docs/10.1.0/index.html | 2 +-
 content/docs/10.2.0/index.html | 2 +-
 content/docs/10.3.0/index.html | 2 +-
 content/docs/latest/index.html | 2 +-
 content/feed.xml   | 4 ++--
 7 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index 15db078..294c3bb 100644
--- a/content/docs/10.0.0/index.html
+++ b/content/docs/10.0.0/index.html
@@ -207,7 +207,7 @@ by following these 
 NuttX Documentation¶
 NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller 
environments, the primary governing standards in NuttX are Posix and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).
-Last Updated: 25 June 22 at 00:10
+Last Updated: 26 June 22 at 00:11
 
 Table of Contents
 
diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html
index c9eab44..081920d 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -217,7 +217,7 @@ by following these 
 NuttX Documentation¶
 NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller 
environments, the primary governing standards in NuttX are Posix and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).
-Last Updated: 25 June 22 at 00:10
+Last Updated: 26 June 22 at 00:11
 
 Table of Contents
 
diff --git a/content/docs/10.1.0/index.html b/content/docs/10.1.0/index.html
index 40df8d7..8270a18 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -217,7 +217,7 @@ by following these 
 NuttX Documentation¶
 NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller 
environments, the primary governing standards in NuttX are POSIX and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).
-Last Updated: 25 June 22 at 00:10
+Last Updated: 26 June 22 at 00:12
 
 Table of Contents
 
diff --git a/content/docs/10.2.0/index.html b/content/docs/10.2.0/index.html
index effdf34..e4a0994 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -218,7 +218,7 @@ by following these 
 NuttX Documentation¶
 NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller 
environments, the primary governing standards in NuttX are POSIX and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).
-Last Updated: 25 June 22 at 00:11
+Last Updated: 26 June 22 at 00:12
 
 Table of Contents
 
diff --git a/content/docs/10.3.0/index.html b/content/docs/10.3.0/index.html
index effdf34..e4a0994 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -218,7 +218,7 @@ by following these 
 NuttX Documentation¶
 NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller 
environments, the primary governing standards in NuttX are POSIX and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).
-Last Updated: 25 June 

[GitHub] [incubator-nuttx] nimish closed pull request #6482: Use builtins for byteswapping

2022-06-25 Thread GitBox


nimish closed pull request #6482: Use builtins for byteswapping
URL: https://github.com/apache/incubator-nuttx/pull/6482


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] andrey-pr commented on pull request #6521: Added config for using BMP280 with ESP32

2022-06-25 Thread GitBox


andrey-pr commented on PR #6521:
URL: https://github.com/apache/incubator-nuttx/pull/6521#issuecomment-1166357196

   @xiaoxiang781216 I removed merge and created new PR


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] andrey-pr opened a new pull request, #6522: Added configuration files for using BMP280 with ESP32-DevkitC

2022-06-25 Thread GitBox


andrey-pr opened a new pull request, #6522:
URL: https://github.com/apache/incubator-nuttx/pull/6522

   ## Summary
   I added configuration files for using BMP280 with ESP32-DevkitC, and 
recreated PR because of error with previous repo
   
   ## Impact
   
   ## Testing
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] ppisa commented on issue #6082: Export Make.defs broken, missing HEAD_OBJ, LDENDGROUP, LDSTARTGROUP

2022-06-25 Thread GitBox


ppisa commented on issue #6082:
URL: 
https://github.com/apache/incubator-nuttx/issues/6082#issuecomment-1166347130

   Hello, I have found time only now and test state with actual NuttX sources.
   
   I test with `tools/configure.sh esp32c3-devkit:twai` but it seems to be 
problem with most other architectures.
   
   When I run `make export` then at least `HEAD_OBJ` is not exported.
   
   it is initially defined in `nuttx/arch/risc-v/src/esp32c3/Make.defs`:
   ```
   HEAD_ASRC = esp32c3_head.S
   ```
   It then used in `nuttx/arch/risc-v/src/Makefile`:
   ```
   HEAD_OBJ = $(HEAD_ASRC:.S=$(OBJEXT))
   STARTUP_OBJS ?= $(HEAD_OBJ)
   ```
   
   `nuttx/tools/mkexport.sh`:
   ```
 echo "HEAD_OBJ = ${HEAD_OBJ}" >>"${EXPORTDIR}/scripts/Make.defs"
   ```
   
   then `nuttx-export-10.3.0/scripts/Make.defs`:
   ```
   HEAD_OBJ =
   ```
   
   Same problem with `LDENDGROUP` and `LDSTARTGROUP`
   
   `nuttx/tools/Export.mk` does not include `HEAD_OBJ` but it includes 
`LDENDGROUP` and `LDSTARTGROUP` which are not exported as well. Even when I add 
line for `HEAD_OBJ` it does not help.
   
   `nuttx/tools/Export.mk` includes only.
   ```
   include $(TOPDIR)/.config
   include $(EXPORTDIR)/Make.defs
   ```
   The second one is copy of `${TOPDIR}/Make.defs` which is link to 
`risc-v/esp32c3/esp32c3-devkit/scripts/Make.defs`.
   
   It includes
   ```
   include $(TOPDIR)/.config
   include $(TOPDIR)/tools/Config.mk
   include $(TOPDIR)/tools/esp32c3/Config.mk
   include $(TOPDIR)/arch/risc-v/src/common/Toolchain.defs
   ```
   But none of these includes group and or head information.
   
   This is only included in `nuttx/arch/risc-v/src/Makefile` but that cannot be 
sourced, because it defines too many rules and is not probably prepared for to 
be used as source of defines for other Makefiles.
   
   So I think that `LDSTARTGROUP` and  `LDENDGROUP` should be defined in  
`nuttx/arch/risc-v/src/common/Toolchain.defs`. There should be even explicit 
define `LINK_BY_CC` or `LINK_BY_LD` to select if link is done by CC or LD.  
Where should be moved define `HEAD_ASRC` and preparation of `HEAD_OBJ` is even 
more questionable. It wold be ideal to do the change for all architectures and 
boards...


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a diff in pull request #6512: driver/syslog:sched lock in syslog to prevent garbled print from multi-thread

2022-06-25 Thread GitBox


xiaoxiang781216 commented on code in PR #6512:
URL: https://github.com/apache/incubator-nuttx/pull/6512#discussion_r906701940


##
drivers/syslog/vsyslog.c:
##
@@ -79,6 +79,10 @@ int nx_vsyslog(int priority, FAR const IPTR char *fmt, FAR 
va_list *ap)
 #endif
 #endif
 
+#ifdef CONFIG_SYSLOG_SCHEDLOCK
+  sched_lock();

Review Comment:
   sched_lock can't protect in SMP case, so you have to use critical section 
here: https://github.com/apache/incubator-nuttx/issues/3600
   basically, all sched_lock which is used for lock need replace with critical 
section or spinlock.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a diff in pull request #6512: driver/syslog:sched lock in syslog to prevent garbled print from multi-thread

2022-06-25 Thread GitBox


xiaoxiang781216 commented on code in PR #6512:
URL: https://github.com/apache/incubator-nuttx/pull/6512#discussion_r906701940


##
drivers/syslog/vsyslog.c:
##
@@ -79,6 +79,10 @@ int nx_vsyslog(int priority, FAR const IPTR char *fmt, FAR 
va_list *ap)
 #endif
 #endif
 
+#ifdef CONFIG_SYSLOG_SCHEDLOCK
+  sched_lock();

Review Comment:
   sched_lock can't protect in SMP case, so you have to use critical section 
here.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] xiaoxiang781216 commented on pull request #6521: Added config for using BMP280 with ESP32

2022-06-25 Thread GitBox


xiaoxiang781216 commented on PR #6521:
URL: https://github.com/apache/incubator-nuttx/pull/6521#issuecomment-1166321137

   @andrey-pr please remove the merge patch from PR.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] qinwei2004 commented on a diff in pull request #6478: arch: arm64: ARMv8-A support for NuttX

2022-06-25 Thread GitBox


qinwei2004 commented on code in PR #6478:
URL: https://github.com/apache/incubator-nuttx/pull/6478#discussion_r906698456


##
arch/arm64/src/common/arm64_assert.c:
##
@@ -0,0 +1,582 @@
+/
+ * arch/arm64/src/common/arm64_assert.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ /
+
+/
+ * Included Files
+ /
+
+#include 
+
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "sched/sched.h"
+#include "irq/irq.h"
+#include "arm64_arch.h"
+#include "arm64_internal.h"
+#include "chip.h"
+
+#ifdef CONFIG_ARCH_FPU
+#include "arm64_fpu.h"
+#endif
+
+/
+ * Pre-processor Definitions
+ /
+
+/* USB trace dumping */
+
+#ifndef CONFIG_USBDEV_TRACE
+#  undef CONFIG_ARCH_USBDUMP
+#endif
+
+#ifndef CONFIG_BOARD_RESET_ON_ASSERT
+#  define CONFIG_BOARD_RESET_ON_ASSERT 0
+#endif
+
+/
+ * Name: arm_registerdump
+ /
+
+static void arm64_registerdump(struct regs_context * regs)
+{
+  _alert("stack = %p\n", regs);
+  _alert("x0:   0x%-16"PRIx64"  x1:   0x%"PRIx64"\n",
+regs->regs[REG_X0], regs->regs[REG_X1]);
+  _alert("x2:   0x%-16"PRIx64"  x3:   0x%"PRIx64"\n",
+regs->regs[REG_X2], regs->regs[REG_X3]);
+  _alert("x4:   0x%-16"PRIx64"  x5:   0x%"PRIx64"\n",
+regs->regs[REG_X4], regs->regs[REG_X5]);
+  _alert("x6:   0x%-16"PRIx64"  x7:   0x%"PRIx64"\n",
+regs->regs[REG_X6], regs->regs[REG_X7]);
+  _alert("x8:   0x%-16"PRIx64"  x9:   0x%"PRIx64"\n",
+regs->regs[REG_X8], regs->regs[REG_X9]);
+  _alert("x10:  0x%-16"PRIx64"  x11:  0x%"PRIx64"\n",
+regs->regs[REG_X10], regs->regs[REG_X11]);
+  _alert("x12:  0x%-16"PRIx64"  x13:  0x%"PRIx64"\n",
+regs->regs[REG_X12], regs->regs[REG_X13]);
+  _alert("x14:  0x%-16"PRIx64"  x15:  0x%"PRIx64"\n",
+regs->regs[REG_X14], regs->regs[REG_X15]);
+  _alert("x16:  0x%-16"PRIx64"  x17:  0x%"PRIx64"\n",
+regs->regs[REG_X16], regs->regs[REG_X17]);
+  _alert("x18:  0x%-16"PRIx64"  x19:  0x%"PRIx64"\n",
+regs->regs[REG_X18], regs->regs[REG_X19]);
+  _alert("x20:  0x%-16"PRIx64"  x21:  0x%"PRIx64"\n",
+regs->regs[REG_X20], regs->regs[REG_X21]);
+  _alert("x22:  0x%-16"PRIx64"  x23:  0x%"PRIx64"\n",
+regs->regs[REG_X22], regs->regs[REG_X23]);
+  _alert("x24:  0x%-16"PRIx64"  x25:  0x%"PRIx64"\n",
+regs->regs[REG_X24], regs->regs[REG_X25]);
+  _alert("x26:  0x%-16"PRIx64"  x27:  0x%"PRIx64"\n",
+regs->regs[REG_X26], regs->regs[REG_X27]);
+  _alert("x28:  0x%-16"PRIx64"  x29:  0x%"PRIx64"\n",
+regs->regs[REG_X28], regs->regs[REG_X29]);
+  _alert("x30:  0x%-16"PRIx64"\n", regs->regs[REG_X30]);
+
+  _alert("\n");
+  _alert("STATUS Registers:\n");
+  _alert("SPSR:  0x%-16"PRIx64"\n", regs->spsr);
+  _alert("ELR:   0x%-16"PRIx64"\n", regs->elr);
+  _alert("SP_EL0:0x%-16"PRIx64"\n", regs->sp_el0);
+  _alert("SP_ELX:0x%-16"PRIx64"\n", regs->sp_elx);
+  _alert("TPIDR_EL0: 0x%-16"PRIx64"\n", regs->tpidr_el0);
+  _alert("TPIDR_EL1: 0x%-16"PRIx64"\n", regs->tpidr_el1);
+  _alert("EXE_DEPTH: 0x%-16"PRIx64"\n", regs->exe_depth);
+}
+
+#ifdef CONFIG_ARCH_STACKDUMP
+
+/
+ * Private Functions
+ /
+
+/
+ * Name: arm_stackdump
+ /
+
+static void arm64_stackdump(uint64_t sp, uint64_t stack_top)
+{
+  uint64_t stack;
+
+  /* Flush any buffered SYSLOG data to avoid overwrite */
+
+  syslog_flush();
+
+  for 

[GitHub] [incubator-nuttx] qinwei2004 commented on a diff in pull request #6478: arch: arm64: ARMv8-A support for NuttX

2022-06-25 Thread GitBox


qinwei2004 commented on code in PR #6478:
URL: https://github.com/apache/incubator-nuttx/pull/6478#discussion_r906697466


##
arch/arm64/src/common/arm64_boot.c:
##
@@ -0,0 +1,185 @@
+/
+ * arch/arm64/src/common/arm64_boot.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ /
+
+/
+ * Included Files
+ /
+
+#include 
+
+#include 
+#include 
+
+#include "arm64_internal.h"
+#include "arm64_arch.h"
+
+extern void *_vector_table[];
+
+/
+ * Public Functions
+ /
+
+void arm64_boot_el3_init(void)
+{
+  uint64_t reg;
+
+  /* Setup vector table */
+
+  write_sysreg((uint64_t)_vector_table, vbar_el3);
+  __ISB();
+
+  reg   = 0U;   /* Mostly RES0 */
+  reg   &= ~(CPTR_TTA_BIT | /* Do not trap sysreg accesses */
+ CPTR_TFP_BIT | /* Do not trap SVE, SIMD and FP */
+ CPTR_TCPAC_BIT);   /* Do not trap CPTR_EL2 / CPACR_EL1 accesses
+ */
+
+  /* CPTR_EL3, Architectural Feature Trap Register (EL3) */
+
+  write_sysreg(reg, cptr_el3);
+
+  reg   = 0U;   /* Reset */
+  reg   |= SCR_NS_BIT;  /* EL2 / EL3 non-secure */
+  reg   |= (SCR_RES1 |  /* RES1 */
+SCR_RW_BIT |/* EL2 execution state is AArch64 */
+SCR_ST_BIT |/* Do not trap EL1 accesses to timer */
+SCR_HCE_BIT |   /* Do not trap HVC */
+SCR_SMD_BIT);   /* Do not trap SMC */
+  write_sysreg(reg, scr_el3);
+
+  reg   = read_sysreg(ICC_SRE_EL3);
+  reg   |= (ICC_SRE_ELX_DFB_BIT |   /* Disable FIQ bypass */
+ICC_SRE_ELX_DIB_BIT |   /* Disable IRQ bypass */
+ICC_SRE_ELX_SRE_BIT |   /* System register interface is used */
+ICC_SRE_EL3_EN_BIT);/* Enables lower Exception level access to
+ * ICC_SRE_EL1 */
+  write_sysreg(reg, ICC_SRE_EL3);
+
+  __ISB();
+}
+
+void arm64_boot_el3_get_next_el(uint64_t switch_addr)
+{
+  uint64_t spsr;
+
+  write_sysreg(switch_addr, elr_el3);
+
+  /* Mask the DAIF */
+
+  spsr  = SPSR_DAIF_MASK;
+  spsr  |= SPSR_MODE_EL2T;
+
+  write_sysreg(spsr, spsr_el3);
+}
+
+void arm64_boot_el2_init(void)
+{
+  uint64_t reg;
+
+  reg   = read_sysreg(sctlr_el2);
+  reg   |= (SCTLR_EL2_RES1 |/* RES1 */
+SCTLR_I_BIT |   /* Enable i-cache */
+SCTLR_SA_BIT);  /* Enable SP alignment check */
+  write_sysreg(reg, sctlr_el2);
+
+  reg   = read_sysreg(hcr_el2);
+  reg   |= HCR_RW_BIT;  /* EL1 Execution state is AArch64 */
+  write_sysreg(reg, hcr_el2);
+
+  reg   = 0U;   /* RES0 */
+  reg   |= CPTR_EL2_RES1;   /* RES1 */
+  reg   &= ~(CPTR_TFP_BIT | /* Do not trap SVE, SIMD and FP */
+ CPTR_TCPAC_BIT);   /* Do not trap CPACR_EL1 accesses */
+  write_sysreg(reg, cptr_el2);
+
+  /* Enable EL1 access to timers */
+
+  reg   = read_sysreg(cnthctl_el2);
+  reg   |= (CNTHCTL_EL2_EL1PCEN_EN | CNTHCTL_EL2_EL1PCTEN_EN);
+  write_sysreg(reg, cnthctl_el2);
+
+  zero_sysreg(cntvoff_el2);   /* Set 64-bit virtual timer offset to 0 */
+
+#ifdef CONFIG_ARCH_ARMV8R
+  zero_sysreg(cnthps_ctl_el2);
+#else
+  zero_sysreg(cnthp_ctl_el2);
+#endif
+
+  /* Enable this if/when we use the hypervisor timer.
+   * write_cnthp_cval_el2(~(uint64_t)0);
+   */
+
+  __ISB();
+}
+
+void arm64_boot_el1_init(void)
+{
+  uint64_t reg;
+
+  /* Setup vector table */
+
+  write_sysreg((uint64_t)_vector_table, vbar_el1);
+  __ISB();
+
+  reg   = 0U;   /* RES0 */
+  reg   |= CPACR_EL1_FPEN_NOTRAP;   /* Do not trap NEON/SIMD/FP initially */
+
+  /* TODO: CONFIG_FLOAT_*_FORBIDDEN */
+
+  write_sysreg(reg, cpacr_el1);
+
+  reg   = read_sysreg(sctlr_el1);
+  reg   |= (SCTLR_EL1_RES1 |/* RES1 */
+SCTLR_I_BIT |   /* Enable i-cache */
+

[GitHub] [incubator-nuttx] pkarashchenko commented on pull request #6512: driver/syslog:sched lock in syslog to prevent garbled print from multi-thread

2022-06-25 Thread GitBox


pkarashchenko commented on PR #6512:
URL: https://github.com/apache/incubator-nuttx/pull/6512#issuecomment-1166307610

   > Or maybe I can change our way of using syslog, rather than print 1000+ 
symbols per syslog, I can split a long string into several syslog calls. Maybe 
this is a better way?
   > 
   > @pkarashchenko @acassis @davids5 what do you guys think?
   
   If those prints should be read but the human I would print not more than 80 
chars per line in total.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] XinStellaris commented on pull request #6512: driver/syslog:sched lock in syslog to prevent garbled print from multi-thread

2022-06-25 Thread GitBox


XinStellaris commented on PR #6512:
URL: https://github.com/apache/incubator-nuttx/pull/6512#issuecomment-1166298333

   Or maybe I can change our way of using syslog, rather than print 1000+ 
symbols per syslog, I can split a long string into several syslog calls. Maybe 
this is a better way?
   
   @pkarashchenko @acassis @davids5 what do you guys think? 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6478: arch: arm64: ARMv8-A support for NuttX

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6478:
URL: https://github.com/apache/incubator-nuttx/pull/6478#discussion_r906688242


##
arch/arm64/src/common/arm64_boot.c:
##
@@ -0,0 +1,185 @@
+/
+ * arch/arm64/src/common/arm64_boot.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ /
+
+/
+ * Included Files
+ /
+
+#include 
+
+#include 
+#include 
+
+#include "arm64_internal.h"
+#include "arm64_arch.h"
+
+extern void *_vector_table[];
+
+/
+ * Public Functions
+ /
+
+void arm64_boot_el3_init(void)
+{
+  uint64_t reg;
+
+  /* Setup vector table */
+
+  write_sysreg((uint64_t)_vector_table, vbar_el3);
+  __ISB();
+
+  reg   = 0U;   /* Mostly RES0 */
+  reg   &= ~(CPTR_TTA_BIT | /* Do not trap sysreg accesses */
+ CPTR_TFP_BIT | /* Do not trap SVE, SIMD and FP */
+ CPTR_TCPAC_BIT);   /* Do not trap CPTR_EL2 / CPACR_EL1 accesses
+ */
+
+  /* CPTR_EL3, Architectural Feature Trap Register (EL3) */
+
+  write_sysreg(reg, cptr_el3);
+
+  reg   = 0U;   /* Reset */
+  reg   |= SCR_NS_BIT;  /* EL2 / EL3 non-secure */
+  reg   |= (SCR_RES1 |  /* RES1 */
+SCR_RW_BIT |/* EL2 execution state is AArch64 */
+SCR_ST_BIT |/* Do not trap EL1 accesses to timer */
+SCR_HCE_BIT |   /* Do not trap HVC */
+SCR_SMD_BIT);   /* Do not trap SMC */
+  write_sysreg(reg, scr_el3);
+
+  reg   = read_sysreg(ICC_SRE_EL3);
+  reg   |= (ICC_SRE_ELX_DFB_BIT |   /* Disable FIQ bypass */
+ICC_SRE_ELX_DIB_BIT |   /* Disable IRQ bypass */
+ICC_SRE_ELX_SRE_BIT |   /* System register interface is used */
+ICC_SRE_EL3_EN_BIT);/* Enables lower Exception level access to
+ * ICC_SRE_EL1 */
+  write_sysreg(reg, ICC_SRE_EL3);
+
+  __ISB();
+}
+
+void arm64_boot_el3_get_next_el(uint64_t switch_addr)
+{
+  uint64_t spsr;
+
+  write_sysreg(switch_addr, elr_el3);
+
+  /* Mask the DAIF */
+
+  spsr  = SPSR_DAIF_MASK;
+  spsr  |= SPSR_MODE_EL2T;
+
+  write_sysreg(spsr, spsr_el3);
+}
+
+void arm64_boot_el2_init(void)
+{
+  uint64_t reg;
+
+  reg   = read_sysreg(sctlr_el2);
+  reg   |= (SCTLR_EL2_RES1 |/* RES1 */
+SCTLR_I_BIT |   /* Enable i-cache */
+SCTLR_SA_BIT);  /* Enable SP alignment check */
+  write_sysreg(reg, sctlr_el2);
+
+  reg   = read_sysreg(hcr_el2);
+  reg   |= HCR_RW_BIT;  /* EL1 Execution state is AArch64 */
+  write_sysreg(reg, hcr_el2);
+
+  reg   = 0U;   /* RES0 */
+  reg   |= CPTR_EL2_RES1;   /* RES1 */
+  reg   &= ~(CPTR_TFP_BIT | /* Do not trap SVE, SIMD and FP */
+ CPTR_TCPAC_BIT);   /* Do not trap CPACR_EL1 accesses */
+  write_sysreg(reg, cptr_el2);
+
+  /* Enable EL1 access to timers */
+
+  reg   = read_sysreg(cnthctl_el2);
+  reg   |= (CNTHCTL_EL2_EL1PCEN_EN | CNTHCTL_EL2_EL1PCTEN_EN);
+  write_sysreg(reg, cnthctl_el2);
+
+  zero_sysreg(cntvoff_el2);   /* Set 64-bit virtual timer offset to 0 */
+
+#ifdef CONFIG_ARCH_ARMV8R
+  zero_sysreg(cnthps_ctl_el2);
+#else
+  zero_sysreg(cnthp_ctl_el2);
+#endif
+
+  /* Enable this if/when we use the hypervisor timer.
+   * write_cnthp_cval_el2(~(uint64_t)0);
+   */
+
+  __ISB();
+}
+
+void arm64_boot_el1_init(void)
+{
+  uint64_t reg;
+
+  /* Setup vector table */
+
+  write_sysreg((uint64_t)_vector_table, vbar_el1);
+  __ISB();
+
+  reg   = 0U;   /* RES0 */
+  reg   |= CPACR_EL1_FPEN_NOTRAP;   /* Do not trap NEON/SIMD/FP initially */
+
+  /* TODO: CONFIG_FLOAT_*_FORBIDDEN */
+
+  write_sysreg(reg, cpacr_el1);
+
+  reg   = read_sysreg(sctlr_el1);
+  reg   |= (SCTLR_EL1_RES1 |/* RES1 */
+SCTLR_I_BIT |   /* Enable i-cache */
+

[GitHub] [incubator-nuttx] XinStellaris commented on pull request #6512: driver/syslog:sched lock in syslog to prevent garbled print from multi-thread

2022-06-25 Thread GitBox


XinStellaris commented on PR #6512:
URL: https://github.com/apache/incubator-nuttx/pull/6512#issuecomment-1166293727

   > So you are printing 1000+ symbols per syslog call?
   
   From time to time, syslog in out application will print 1000+ symbols. It 
happens when:
   1. We recv a long string from wireless. About once in a minute.
   2. We recv a long string from uart. This can happen at any time.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6478: arch: arm64: ARMv8-A support for NuttX

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6478:
URL: https://github.com/apache/incubator-nuttx/pull/6478#discussion_r906687696


##
arch/arm64/src/common/arm64_arch.h:
##
@@ -0,0 +1,531 @@
+/
+ * arch/arm64/src/common/arm64_arch.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ /
+
+#ifndef ___ARCH_ARM64_SRC_COMMON_ARM64_ARCH_H
+#define ___ARCH_ARM64_SRC_COMMON_ARM64_ARCH_H
+
+/
+ * Included Files
+ /
+
+#include 
+
+#ifndef __ASSEMBLY__
+# include 
+#endif
+
+/
+ * Pre-processor Definitions
+ /
+
+#define STRINGIFY(x)#x
+#define ARRAY_SIZE(x)   (sizeof(x) / sizeof((x)[0]))
+
+/* define MAX(a, b)/MIN(a, b)
+ * The larger/smaller value between a and b.
+ * Arguments are evaluated twice.
+ */
+#ifndef MIN
+#define MAX(a, b)   (((a) > (b)) ? (a) : (b))
+#endif
+
+#ifndef MIN
+#define MIN(a, b)   (((a) < (b)) ? (a) : (b))
+#endif
+
+/* Number of bytes in @p x kibibytes/mebibytes/gibibytes */
+#define KB(x)   ((x) << 10)
+#define MB(x)   (KB(x) << 10)
+#define GB(x)   (MB(x) << 10)
+
+/* Unsigned integer with bit position n set (signed in
+ * assembly language).
+ */
+#define BIT(n)  (1UL << (n))
+#define BIT64(_n)   (1ULL << (_n))
+
+/* Bit mask with bits 0 through n-1 (inclusive) set,
+ * or 0 if n is 0.
+ */
+#define BIT_MASK(n) (BIT(n) - 1)
+#define BIT64_MASK(n)   (BIT64(n) - 1ULL)

Review Comment:
   Sure



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6478: arch: arm64: ARMv8-A support for NuttX

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6478:
URL: https://github.com/apache/incubator-nuttx/pull/6478#discussion_r906687639


##
arch/arm64/src/common/arm64_assert.c:
##
@@ -0,0 +1,582 @@
+/
+ * arch/arm64/src/common/arm64_assert.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ /
+
+/
+ * Included Files
+ /
+
+#include 
+
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "sched/sched.h"
+#include "irq/irq.h"
+#include "arm64_arch.h"
+#include "arm64_internal.h"
+#include "chip.h"
+
+#ifdef CONFIG_ARCH_FPU
+#include "arm64_fpu.h"
+#endif
+
+/
+ * Pre-processor Definitions
+ /
+
+/* USB trace dumping */
+
+#ifndef CONFIG_USBDEV_TRACE
+#  undef CONFIG_ARCH_USBDUMP
+#endif
+
+#ifndef CONFIG_BOARD_RESET_ON_ASSERT
+#  define CONFIG_BOARD_RESET_ON_ASSERT 0
+#endif
+
+/
+ * Name: arm_registerdump
+ /
+
+static void arm64_registerdump(struct regs_context * regs)
+{
+  _alert("stack = %p\n", regs);
+  _alert("x0:   0x%-16"PRIx64"  x1:   0x%"PRIx64"\n",
+regs->regs[REG_X0], regs->regs[REG_X1]);
+  _alert("x2:   0x%-16"PRIx64"  x3:   0x%"PRIx64"\n",
+regs->regs[REG_X2], regs->regs[REG_X3]);
+  _alert("x4:   0x%-16"PRIx64"  x5:   0x%"PRIx64"\n",
+regs->regs[REG_X4], regs->regs[REG_X5]);
+  _alert("x6:   0x%-16"PRIx64"  x7:   0x%"PRIx64"\n",
+regs->regs[REG_X6], regs->regs[REG_X7]);
+  _alert("x8:   0x%-16"PRIx64"  x9:   0x%"PRIx64"\n",
+regs->regs[REG_X8], regs->regs[REG_X9]);
+  _alert("x10:  0x%-16"PRIx64"  x11:  0x%"PRIx64"\n",
+regs->regs[REG_X10], regs->regs[REG_X11]);
+  _alert("x12:  0x%-16"PRIx64"  x13:  0x%"PRIx64"\n",
+regs->regs[REG_X12], regs->regs[REG_X13]);
+  _alert("x14:  0x%-16"PRIx64"  x15:  0x%"PRIx64"\n",
+regs->regs[REG_X14], regs->regs[REG_X15]);
+  _alert("x16:  0x%-16"PRIx64"  x17:  0x%"PRIx64"\n",
+regs->regs[REG_X16], regs->regs[REG_X17]);
+  _alert("x18:  0x%-16"PRIx64"  x19:  0x%"PRIx64"\n",
+regs->regs[REG_X18], regs->regs[REG_X19]);
+  _alert("x20:  0x%-16"PRIx64"  x21:  0x%"PRIx64"\n",
+regs->regs[REG_X20], regs->regs[REG_X21]);
+  _alert("x22:  0x%-16"PRIx64"  x23:  0x%"PRIx64"\n",
+regs->regs[REG_X22], regs->regs[REG_X23]);
+  _alert("x24:  0x%-16"PRIx64"  x25:  0x%"PRIx64"\n",
+regs->regs[REG_X24], regs->regs[REG_X25]);
+  _alert("x26:  0x%-16"PRIx64"  x27:  0x%"PRIx64"\n",
+regs->regs[REG_X26], regs->regs[REG_X27]);
+  _alert("x28:  0x%-16"PRIx64"  x29:  0x%"PRIx64"\n",
+regs->regs[REG_X28], regs->regs[REG_X29]);
+  _alert("x30:  0x%-16"PRIx64"\n", regs->regs[REG_X30]);
+
+  _alert("\n");
+  _alert("STATUS Registers:\n");
+  _alert("SPSR:  0x%-16"PRIx64"\n", regs->spsr);
+  _alert("ELR:   0x%-16"PRIx64"\n", regs->elr);
+  _alert("SP_EL0:0x%-16"PRIx64"\n", regs->sp_el0);
+  _alert("SP_ELX:0x%-16"PRIx64"\n", regs->sp_elx);
+  _alert("TPIDR_EL0: 0x%-16"PRIx64"\n", regs->tpidr_el0);
+  _alert("TPIDR_EL1: 0x%-16"PRIx64"\n", regs->tpidr_el1);
+  _alert("EXE_DEPTH: 0x%-16"PRIx64"\n", regs->exe_depth);
+}
+
+#ifdef CONFIG_ARCH_STACKDUMP
+
+/
+ * Private Functions
+ /
+
+/
+ * Name: arm_stackdump
+ /
+
+static void arm64_stackdump(uint64_t sp, uint64_t stack_top)
+{
+  uint64_t stack;
+
+  /* Flush any buffered SYSLOG data to avoid overwrite */
+
+  syslog_flush();
+
+  for 

[GitHub] [incubator-nuttx] acassis commented on pull request #6512: driver/syslog:sched lock in syslog to prevent garbled print from multi-thread

2022-06-25 Thread GitBox


acassis commented on PR #6512:
URL: https://github.com/apache/incubator-nuttx/pull/6512#issuecomment-1166292513

   > > > 
   > > 
   > > 
   > > Thanks for your review. Yes this will have impact on scheduler and needs 
to be dealt with carefully. But I am not sure under which case can this make 
the system not real-time. Sched_lock will not disable interrupts, though some 
work in hpwork will be delayed, they will be done after the print is finished. 
Maybe the delay of hpwork is what you are talking about? In RR schedule, this 
pr surely will bring in some delay for higher priority task, but the delay can 
be predicted from uart baud-rate and print length.
   > > Am I understanding the system and real-time correctly?
   > 
   > With `sched_lock` if the printing is done from a lower priority task, then 
higher priority will not start execution until the scheduler is unlocked so 
here we are loosing the real-time.
   
   Exactly!!! I think even with priority  inheritance the issue will happen!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on pull request #6512: driver/syslog:sched lock in syslog to prevent garbled print from multi-thread

2022-06-25 Thread GitBox


pkarashchenko commented on PR #6512:
URL: https://github.com/apache/incubator-nuttx/pull/6512#issuecomment-1166292487

   So you are printing 1000+ symbols per syslog call?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] XinStellaris commented on pull request #6512: driver/syslog:sched lock in syslog to prevent garbled print from multi-thread

2022-06-25 Thread GitBox


XinStellaris commented on PR #6512:
URL: https://github.com/apache/incubator-nuttx/pull/6512#issuecomment-1166292225

   > If the system does not have hard memory limitations, then maybe it is 
better to configure `CONFIG_SYSLOG_BUFFER=y` and set `CONFIG_IOB_BUFSIZE` to 
the maximum size of the output message. This I hope should solve an issue with 
multi-threaded syslog usage. without compromising real-time performance
   
   We have 6K bytes for total IOB size. So it is too brutal to set 
CONFIG_IOB_BUFSIZE to 1000+. 1000 bytes of CONFIG_IOB_BUFSIZE means only about 
6 IOBs can be allocated. 6 IOBs are not enough for the system, especially when 
we have TCP stack enabled and 2~3 connections are necessary at the same time.
   
   Thats why I don't want to use CONFIG_SYSLOG_BUFFER and increase syslog 
buffer size to 1000+ bytes


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[incubator-nuttx] branch master updated (252985fc1d -> 4c2b7f3ac9)

2022-06-25 Thread pkarashchenko
This is an automated email from the ASF dual-hosted git repository.

pkarashchenko pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


from 252985fc1d netdev/carrier: check the IF stautus before carrier
 add 4c2b7f3ac9 tools/jlink-nuttx: Move the register index check to 
setget_reg

No new revisions were added by this update.

Summary of changes:
 tools/jlink-nuttx.c | 15 +--
 1 file changed, 5 insertions(+), 10 deletions(-)



[GitHub] [incubator-nuttx] pkarashchenko merged pull request #6520: tools/jlink-nuttx: Move the register index check to setget_reg

2022-06-25 Thread GitBox


pkarashchenko merged PR #6520:
URL: https://github.com/apache/incubator-nuttx/pull/6520


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] andrey-pr opened a new pull request, #6521: Added config for using BMP280 with ESP32

2022-06-25 Thread GitBox


andrey-pr opened a new pull request, #6521:
URL: https://github.com/apache/incubator-nuttx/pull/6521

   ## Summary
   
   ## Impact
   
   ## Testing
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] xiaoxiang781216 opened a new pull request, #6520: tools/jlink-nuttx: Move the register index check to setget_reg

2022-06-25 Thread GitBox


xiaoxiang781216 opened a new pull request, #6520:
URL: https://github.com/apache/incubator-nuttx/pull/6520

   ## Summary
   avoid access tcbinfo before initializing it in update_tcbinfo
   
   ## Impact
   Fix the crash
   
   ## Testing
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6511: esp32_board_spi:Missing Data Command pin support

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6511:
URL: https://github.com/apache/incubator-nuttx/pull/6511#discussion_r906675614


##
boards/xtensa/esp32/common/src/esp32_board_spi.c:
##
@@ -71,7 +71,7 @@ static inline uint8_t spi_status(struct spi_dev_s *dev, 
uint32_t devid)
 static inline int spi_cmddata(struct spi_dev_s *dev, uint32_t devid,
   bool cmd)
 {
-#ifdef CONFIG_LCD_ILI9341
+#if defined(CONFIG_LCD_ILI9341) || defined(CONFIG_LCD_SSD1680)

Review Comment:
   Having that fixed per board is the best I think. I agree with @gustavonihei 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] qinwei2004 commented on a diff in pull request #6478: arch: arm64: ARMv8-A support for NuttX

2022-06-25 Thread GitBox


qinwei2004 commented on code in PR #6478:
URL: https://github.com/apache/incubator-nuttx/pull/6478#discussion_r906674372


##
arch/arm64/src/common/arm64_boot.c:
##
@@ -0,0 +1,185 @@
+/
+ * arch/arm64/src/common/arm64_boot.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ /
+
+/
+ * Included Files
+ /
+
+#include 
+
+#include 
+#include 
+
+#include "arm64_internal.h"
+#include "arm64_arch.h"
+
+extern void *_vector_table[];
+
+/
+ * Public Functions
+ /
+
+void arm64_boot_el3_init(void)
+{
+  uint64_t reg;
+
+  /* Setup vector table */
+
+  write_sysreg((uint64_t)_vector_table, vbar_el3);
+  __ISB();
+
+  reg   = 0U;   /* Mostly RES0 */
+  reg   &= ~(CPTR_TTA_BIT | /* Do not trap sysreg accesses */
+ CPTR_TFP_BIT | /* Do not trap SVE, SIMD and FP */
+ CPTR_TCPAC_BIT);   /* Do not trap CPTR_EL2 / CPACR_EL1 accesses
+ */
+
+  /* CPTR_EL3, Architectural Feature Trap Register (EL3) */
+
+  write_sysreg(reg, cptr_el3);
+
+  reg   = 0U;   /* Reset */
+  reg   |= SCR_NS_BIT;  /* EL2 / EL3 non-secure */
+  reg   |= (SCR_RES1 |  /* RES1 */
+SCR_RW_BIT |/* EL2 execution state is AArch64 */
+SCR_ST_BIT |/* Do not trap EL1 accesses to timer */
+SCR_HCE_BIT |   /* Do not trap HVC */
+SCR_SMD_BIT);   /* Do not trap SMC */
+  write_sysreg(reg, scr_el3);
+
+  reg   = read_sysreg(ICC_SRE_EL3);
+  reg   |= (ICC_SRE_ELX_DFB_BIT |   /* Disable FIQ bypass */
+ICC_SRE_ELX_DIB_BIT |   /* Disable IRQ bypass */
+ICC_SRE_ELX_SRE_BIT |   /* System register interface is used */
+ICC_SRE_EL3_EN_BIT);/* Enables lower Exception level access to
+ * ICC_SRE_EL1 */
+  write_sysreg(reg, ICC_SRE_EL3);
+
+  __ISB();
+}
+
+void arm64_boot_el3_get_next_el(uint64_t switch_addr)
+{
+  uint64_t spsr;
+
+  write_sysreg(switch_addr, elr_el3);
+
+  /* Mask the DAIF */
+
+  spsr  = SPSR_DAIF_MASK;
+  spsr  |= SPSR_MODE_EL2T;
+
+  write_sysreg(spsr, spsr_el3);
+}
+
+void arm64_boot_el2_init(void)
+{
+  uint64_t reg;
+
+  reg   = read_sysreg(sctlr_el2);
+  reg   |= (SCTLR_EL2_RES1 |/* RES1 */
+SCTLR_I_BIT |   /* Enable i-cache */
+SCTLR_SA_BIT);  /* Enable SP alignment check */
+  write_sysreg(reg, sctlr_el2);
+
+  reg   = read_sysreg(hcr_el2);
+  reg   |= HCR_RW_BIT;  /* EL1 Execution state is AArch64 */
+  write_sysreg(reg, hcr_el2);
+
+  reg   = 0U;   /* RES0 */
+  reg   |= CPTR_EL2_RES1;   /* RES1 */
+  reg   &= ~(CPTR_TFP_BIT | /* Do not trap SVE, SIMD and FP */
+ CPTR_TCPAC_BIT);   /* Do not trap CPACR_EL1 accesses */
+  write_sysreg(reg, cptr_el2);
+
+  /* Enable EL1 access to timers */
+
+  reg   = read_sysreg(cnthctl_el2);
+  reg   |= (CNTHCTL_EL2_EL1PCEN_EN | CNTHCTL_EL2_EL1PCTEN_EN);
+  write_sysreg(reg, cnthctl_el2);
+
+  zero_sysreg(cntvoff_el2);   /* Set 64-bit virtual timer offset to 0 */
+
+#ifdef CONFIG_ARCH_ARMV8R
+  zero_sysreg(cnthps_ctl_el2);
+#else
+  zero_sysreg(cnthp_ctl_el2);
+#endif
+
+  /* Enable this if/when we use the hypervisor timer.
+   * write_cnthp_cval_el2(~(uint64_t)0);
+   */
+
+  __ISB();
+}
+
+void arm64_boot_el1_init(void)
+{
+  uint64_t reg;
+
+  /* Setup vector table */
+
+  write_sysreg((uint64_t)_vector_table, vbar_el1);
+  __ISB();
+
+  reg   = 0U;   /* RES0 */
+  reg   |= CPACR_EL1_FPEN_NOTRAP;   /* Do not trap NEON/SIMD/FP initially */
+
+  /* TODO: CONFIG_FLOAT_*_FORBIDDEN */
+
+  write_sysreg(reg, cpacr_el1);
+
+  reg   = read_sysreg(sctlr_el1);
+  reg   |= (SCTLR_EL1_RES1 |/* RES1 */
+SCTLR_I_BIT |   /* Enable i-cache */
+

[GitHub] [incubator-nuttx] qinwei2004 commented on a diff in pull request #6478: arch: arm64: ARMv8-A support for NuttX

2022-06-25 Thread GitBox


qinwei2004 commented on code in PR #6478:
URL: https://github.com/apache/incubator-nuttx/pull/6478#discussion_r906673839


##
arch/arm64/src/common/arm64_assert.c:
##
@@ -0,0 +1,582 @@
+/
+ * arch/arm64/src/common/arm64_assert.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ /
+
+/
+ * Included Files
+ /
+
+#include 
+
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "sched/sched.h"
+#include "irq/irq.h"
+#include "arm64_arch.h"
+#include "arm64_internal.h"
+#include "chip.h"
+
+#ifdef CONFIG_ARCH_FPU
+#include "arm64_fpu.h"
+#endif
+
+/
+ * Pre-processor Definitions
+ /
+
+/* USB trace dumping */
+
+#ifndef CONFIG_USBDEV_TRACE
+#  undef CONFIG_ARCH_USBDUMP
+#endif
+
+#ifndef CONFIG_BOARD_RESET_ON_ASSERT
+#  define CONFIG_BOARD_RESET_ON_ASSERT 0
+#endif
+
+/
+ * Name: arm_registerdump
+ /
+
+static void arm64_registerdump(struct regs_context * regs)
+{
+  _alert("stack = %p\n", regs);
+  _alert("x0:   0x%-16"PRIx64"  x1:   0x%"PRIx64"\n",
+regs->regs[REG_X0], regs->regs[REG_X1]);
+  _alert("x2:   0x%-16"PRIx64"  x3:   0x%"PRIx64"\n",
+regs->regs[REG_X2], regs->regs[REG_X3]);
+  _alert("x4:   0x%-16"PRIx64"  x5:   0x%"PRIx64"\n",
+regs->regs[REG_X4], regs->regs[REG_X5]);
+  _alert("x6:   0x%-16"PRIx64"  x7:   0x%"PRIx64"\n",
+regs->regs[REG_X6], regs->regs[REG_X7]);
+  _alert("x8:   0x%-16"PRIx64"  x9:   0x%"PRIx64"\n",
+regs->regs[REG_X8], regs->regs[REG_X9]);
+  _alert("x10:  0x%-16"PRIx64"  x11:  0x%"PRIx64"\n",
+regs->regs[REG_X10], regs->regs[REG_X11]);
+  _alert("x12:  0x%-16"PRIx64"  x13:  0x%"PRIx64"\n",
+regs->regs[REG_X12], regs->regs[REG_X13]);
+  _alert("x14:  0x%-16"PRIx64"  x15:  0x%"PRIx64"\n",
+regs->regs[REG_X14], regs->regs[REG_X15]);
+  _alert("x16:  0x%-16"PRIx64"  x17:  0x%"PRIx64"\n",
+regs->regs[REG_X16], regs->regs[REG_X17]);
+  _alert("x18:  0x%-16"PRIx64"  x19:  0x%"PRIx64"\n",
+regs->regs[REG_X18], regs->regs[REG_X19]);
+  _alert("x20:  0x%-16"PRIx64"  x21:  0x%"PRIx64"\n",
+regs->regs[REG_X20], regs->regs[REG_X21]);
+  _alert("x22:  0x%-16"PRIx64"  x23:  0x%"PRIx64"\n",
+regs->regs[REG_X22], regs->regs[REG_X23]);
+  _alert("x24:  0x%-16"PRIx64"  x25:  0x%"PRIx64"\n",
+regs->regs[REG_X24], regs->regs[REG_X25]);
+  _alert("x26:  0x%-16"PRIx64"  x27:  0x%"PRIx64"\n",
+regs->regs[REG_X26], regs->regs[REG_X27]);
+  _alert("x28:  0x%-16"PRIx64"  x29:  0x%"PRIx64"\n",
+regs->regs[REG_X28], regs->regs[REG_X29]);
+  _alert("x30:  0x%-16"PRIx64"\n", regs->regs[REG_X30]);
+
+  _alert("\n");
+  _alert("STATUS Registers:\n");
+  _alert("SPSR:  0x%-16"PRIx64"\n", regs->spsr);
+  _alert("ELR:   0x%-16"PRIx64"\n", regs->elr);
+  _alert("SP_EL0:0x%-16"PRIx64"\n", regs->sp_el0);
+  _alert("SP_ELX:0x%-16"PRIx64"\n", regs->sp_elx);
+  _alert("TPIDR_EL0: 0x%-16"PRIx64"\n", regs->tpidr_el0);
+  _alert("TPIDR_EL1: 0x%-16"PRIx64"\n", regs->tpidr_el1);
+  _alert("EXE_DEPTH: 0x%-16"PRIx64"\n", regs->exe_depth);
+}
+
+#ifdef CONFIG_ARCH_STACKDUMP
+
+/
+ * Private Functions
+ /
+
+/
+ * Name: arm_stackdump
+ /
+
+static void arm64_stackdump(uint64_t sp, uint64_t stack_top)
+{
+  uint64_t stack;
+
+  /* Flush any buffered SYSLOG data to avoid overwrite */
+
+  syslog_flush();
+
+  for 

[incubator-nuttx] branch master updated: netdev/carrier: check the IF stautus before carrier

2022-06-25 Thread xiaoxiang
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


The following commit(s) were added to refs/heads/master by this push:
 new 252985fc1d netdev/carrier: check the IF stautus before carrier
252985fc1d is described below

commit 252985fc1d5f95cc70459ebe4bf31c332f3c707e
Author: chao.an 
AuthorDate: Sat Jun 25 02:30:10 2022 +0800

netdev/carrier: check the IF stautus before carrier

Signed-off-by: chao.an 
---
 net/netdev/netdev_carrier.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/netdev/netdev_carrier.c b/net/netdev/netdev_carrier.c
index fe087649d6..630bb76b0a 100644
--- a/net/netdev/netdev_carrier.c
+++ b/net/netdev/netdev_carrier.c
@@ -60,7 +60,7 @@
 
 int netdev_carrier_on(FAR struct net_driver_s *dev)
 {
-  if (dev)
+  if (dev && !IFF_IS_RUNNING(dev->d_flags))
 {
   dev->d_flags |= IFF_RUNNING;
   netlink_device_notify(dev);
@@ -87,7 +87,7 @@ int netdev_carrier_on(FAR struct net_driver_s *dev)
 
 int netdev_carrier_off(FAR struct net_driver_s *dev)
 {
-  if (dev)
+  if (dev && IFF_IS_RUNNING(dev->d_flags))
 {
   dev->d_flags &= ~IFF_RUNNING;
   netlink_device_notify(dev);



[GitHub] [incubator-nuttx] xiaoxiang781216 merged pull request #6519: netdev/carrier: check the IF stautus before carrier

2022-06-25 Thread GitBox


xiaoxiang781216 merged PR #6519:
URL: https://github.com/apache/incubator-nuttx/pull/6519


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[incubator-nuttx] branch master updated (2eb1124db5 -> 43497df78b)

2022-06-25 Thread xiaoxiang
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


from 2eb1124db5 wireless/bcm43xxx: correct the return value
 add 43497df78b wireless/bcm43xxx: add dynamic kso control support

No new revisions were added by this update.

Summary of changes:
 drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c  | 177 ---
 drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.h  |   3 +-
 drivers/wireless/ieee80211/bcm43xxx/bcmf_sdpcm.c |   7 +-
 3 files changed, 133 insertions(+), 54 deletions(-)



[GitHub] [incubator-nuttx] xiaoxiang781216 merged pull request #6518: wireless/bcm43xxx: add dynamic kso control support

2022-06-25 Thread GitBox


xiaoxiang781216 merged PR #6518:
URL: https://github.com/apache/incubator-nuttx/pull/6518


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] qinwei2004 commented on a diff in pull request #6478: arch: arm64: ARMv8-A support for NuttX

2022-06-25 Thread GitBox


qinwei2004 commented on code in PR #6478:
URL: https://github.com/apache/incubator-nuttx/pull/6478#discussion_r906673001


##
arch/arm64/src/common/arm64_arch.h:
##
@@ -0,0 +1,531 @@
+/
+ * arch/arm64/src/common/arm64_arch.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ /
+
+#ifndef ___ARCH_ARM64_SRC_COMMON_ARM64_ARCH_H
+#define ___ARCH_ARM64_SRC_COMMON_ARM64_ARCH_H
+
+/
+ * Included Files
+ /
+
+#include 
+
+#ifndef __ASSEMBLY__
+# include 
+#endif
+
+/
+ * Pre-processor Definitions
+ /
+
+#define STRINGIFY(x)#x
+#define ARRAY_SIZE(x)   (sizeof(x) / sizeof((x)[0]))
+
+/* define MAX(a, b)/MIN(a, b)
+ * The larger/smaller value between a and b.
+ * Arguments are evaluated twice.
+ */
+#ifndef MIN
+#define MAX(a, b)   (((a) > (b)) ? (a) : (b))
+#endif
+
+#ifndef MIN
+#define MIN(a, b)   (((a) < (b)) ? (a) : (b))
+#endif
+
+/* Number of bytes in @p x kibibytes/mebibytes/gibibytes */
+#define KB(x)   ((x) << 10)
+#define MB(x)   (KB(x) << 10)
+#define GB(x)   (MB(x) << 10)
+
+/* Unsigned integer with bit position n set (signed in
+ * assembly language).
+ */
+#define BIT(n)  (1UL << (n))
+#define BIT64(_n)   (1ULL << (_n))
+
+/* Bit mask with bits 0 through n-1 (inclusive) set,
+ * or 0 if n is 0.
+ */
+#define BIT_MASK(n) (BIT(n) - 1)
+#define BIT64_MASK(n)   (BIT64(n) - 1ULL)

Review Comment:
   I perfer to keep previous code which is look more readable



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] gustavonihei commented on a diff in pull request #6511: esp32_board_spi:Missing Data Command pin support

2022-06-25 Thread GitBox


gustavonihei commented on code in PR #6511:
URL: https://github.com/apache/incubator-nuttx/pull/6511#discussion_r906670100


##
boards/xtensa/esp32/common/src/esp32_board_spi.c:
##
@@ -71,7 +71,7 @@ static inline uint8_t spi_status(struct spi_dev_s *dev, 
uint32_t devid)
 static inline int spi_cmddata(struct spi_dev_s *dev, uint32_t devid,
   bool cmd)
 {
-#ifdef CONFIG_LCD_ILI9341
+#if defined(CONFIG_LCD_ILI9341) || defined(CONFIG_LCD_SSD1680)

Review Comment:
   What is the motivation for having it as a Kconfig option?
   I explained why I consider it as a bad option [in another 
comment](https://github.com/apache/incubator-nuttx/pull/6511#discussion_r906054724),
 which has not been addressed.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6511: esp32_board_spi:Missing Data Command pin support

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6511:
URL: https://github.com/apache/incubator-nuttx/pull/6511#discussion_r90824


##
boards/xtensa/esp32/common/src/esp32_board_spi.c:
##
@@ -71,15 +71,17 @@ static inline uint8_t spi_status(struct spi_dev_s *dev, 
uint32_t devid)
 static inline int spi_cmddata(struct spi_dev_s *dev, uint32_t devid,
   bool cmd)
 {
-#ifdef CONFIG_LCD_ILI9341
+#if defined(CONFIG_LCD_ILI9341) || defined(CONFIG_LCD_SSD1680)
   if (devid == SPIDEV_DISPLAY(0))
 {
   /*  This is the Data/Command control pad which determines whether the
*  data bits are data or a command.
*/
-
+#  if defined(CONFIG_LCD_SSD1680)
+  esp32_gpiowrite(CONFIG_SSD1680_GPIO_PIN_DTA_CMD, !cmd);
+#  else
   esp32_gpiowrite(DISPLAY_DC, !cmd);
-
+#  endif

Review Comment:
   I think the current implementation of `CONFIG_SSD1680_GPIO_PIN_DTA_CMD` 
could be optimized. We need to change `board.h`:
   ```
   #define DISPLAY_SPI   2
   #if defined(CONFIG_LCD_SSD1680)
   #  define DISPLAY_DC  CONFIG_SSD1680_GPIO_PIN_DTA_CMD
   #else
   #  define DISPLAY_DC  21
   #endif
   #define DISPLAY_RST   18
   #define DISPLAY_BCKL  5
   ```
   and revert change here



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6511: esp32_board_spi:Missing Data Command pin support

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6511:
URL: https://github.com/apache/incubator-nuttx/pull/6511#discussion_r90824


##
boards/xtensa/esp32/common/src/esp32_board_spi.c:
##
@@ -71,15 +71,17 @@ static inline uint8_t spi_status(struct spi_dev_s *dev, 
uint32_t devid)
 static inline int spi_cmddata(struct spi_dev_s *dev, uint32_t devid,
   bool cmd)
 {
-#ifdef CONFIG_LCD_ILI9341
+#if defined(CONFIG_LCD_ILI9341) || defined(CONFIG_LCD_SSD1680)
   if (devid == SPIDEV_DISPLAY(0))
 {
   /*  This is the Data/Command control pad which determines whether the
*  data bits are data or a command.
*/
-
+#  if defined(CONFIG_LCD_SSD1680)
+  esp32_gpiowrite(CONFIG_SSD1680_GPIO_PIN_DTA_CMD, !cmd);
+#  else
   esp32_gpiowrite(DISPLAY_DC, !cmd);
-
+#  endif

Review Comment:
   I think the current implementation of `CONFIG_SSD1680_GPIO_PIN_DTA_CMD` 
could be optimized. We need to change `board.h`:
   ```
   #define DISPLAY_SPI   2
   #if defined(CONFIG_LCD_SSD1680)
   #  define DISPLAY_DC CONFIG_SSD1680_GPIO_PIN_DTA_CMD
   #else
   #  define DISPLAY_DC21
   #endif
   #define DISPLAY_RST   18
   #define DISPLAY_BCKL  5
   ```
   and revert change here



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] adamkaliszan commented on a diff in pull request #6511: esp32_board_spi:Missing Data Command pin support

2022-06-25 Thread GitBox


adamkaliszan commented on code in PR #6511:
URL: https://github.com/apache/incubator-nuttx/pull/6511#discussion_r90610


##
boards/xtensa/esp32/common/src/esp32_board_spi.c:
##
@@ -71,7 +71,7 @@ static inline uint8_t spi_status(struct spi_dev_s *dev, 
uint32_t devid)
 static inline int spi_cmddata(struct spi_dev_s *dev, uint32_t devid,
   bool cmd)
 {
-#ifdef CONFIG_LCD_ILI9341
+#if defined(CONFIG_LCD_ILI9341) || defined(CONFIG_LCD_SSD1680)

Review Comment:
   I Would like to use **CONFIG_SSD1680_GPIO_PIN_DTA_CMD** instead of 
**DISPLAY_DC**. The **CONFIG_SSD1680_GPIO_PIN_DTA_CMD** is provided by Kconfig. 
Do I need to use DISPLAY_DC ?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6510: Support for 2.13 inch display v2

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6510:
URL: https://github.com/apache/incubator-nuttx/pull/6510#discussion_r906665867


##
drivers/lcd/ssd1680.c:
##
@@ -878,19 +896,30 @@ static void ssd1680_select(FAR struct ssd1680_dev_s 
*priv, bool cs)
 }
 }
 
-static void ssd1680_busy_wait(FAR struct ssd1680_dev_s *priv)
+static int ssd1680_busy_wait(FAR struct ssd1680_dev_s *priv)
 {
+  int maks_wait_ticks = 200;
   if ((priv->board_priv != NULL) && (priv->board_priv->check_busy != NULL))
 {
-  while (priv->board_priv->check_busy())
+  while (priv->board_priv->check_busy() && maks_wait_ticks > 0)
 {
-  nxsig_usleep(1);
+  nxsig_usleep(1000);
+  maks_wait_ticks--;
 }
 }
   else
 {
-  nxsig_usleep(200);
+  nxsig_usleep(maks_wait_ticks);

Review Comment:
   maybe
   ```suggestion
 nxsig_usleep(maks_wait_ticks * 1000);
   ```
   ?



##
drivers/lcd/ssd1680.c:
##
@@ -567,49 +567,96 @@ static int ssd1680_configuredisplay(struct ssd1680_dev_s 
*priv)
 
   /* Busy wait */
 
-  ssd1680_busy_wait(priv);
-  lcdinfo("SSD1680 is ready\n");
+  ret = ssd1680_busy_wait(priv);
+  if (ret != OK)
+{
+  goto exit_err;

Review Comment:
   IMO duplicating `lcderr("Configuration is not ready\n");` here + `return 
ret;` is better than `goto`. Anyway if the mesage is the same, then compiler 
till optimize and generate the code similar to goto.



##
drivers/lcd/ssd1680.c:
##
@@ -878,19 +896,30 @@ static void ssd1680_select(FAR struct ssd1680_dev_s 
*priv, bool cs)
 }
 }
 
-static void ssd1680_busy_wait(FAR struct ssd1680_dev_s *priv)
+static int ssd1680_busy_wait(FAR struct ssd1680_dev_s *priv)
 {
+  int maks_wait_ticks = 200;
   if ((priv->board_priv != NULL) && (priv->board_priv->check_busy != NULL))
 {
-  while (priv->board_priv->check_busy())
+  while (priv->board_priv->check_busy() && maks_wait_ticks > 0)

Review Comment:
   ```suggestion
 while (priv->board_priv->check_busy() && maks_wait_ticks-- > 0)
   ```
   and remove code below.



##
drivers/lcd/ssd1680.c:
##
@@ -1269,11 +1299,16 @@ FAR struct lcd_dev_s *ssd1680_initialize(FAR struct 
spi_dev_s *dev,
   /* Initialize the framebuffer */
 
   memset(priv->shadow_fb, SSD1680_Y1_BLACK & 1 ?
-0xff : 0x00, SSD1680_DEV_FBSIZE);
+ 0xff : 0x00, SSD1680_DEV_FBSIZE);
 
   /* Power on and configure display */
 
-  ssd1680_setpower(>dev, true);
+  ret = ssd1680_setpower(>dev, true);
+

Review Comment:
   Optional
   ```suggestion
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] anchao commented on a diff in pull request #6519: netdev/carrier: check the IF stautus before carrier

2022-06-25 Thread GitBox


anchao commented on code in PR #6519:
URL: https://github.com/apache/incubator-nuttx/pull/6519#discussion_r906665668


##
net/netdev/netdev_carrier.c:
##
@@ -89,13 +93,16 @@ int netdev_carrier_off(FAR struct net_driver_s *dev)
 {
   if (dev)
 {
-  dev->d_flags &= ~IFF_RUNNING;
-  netlink_device_notify(dev);
+  if (IFF_IS_RUNNING(dev->d_flags))

Review Comment:
   Done



##
net/netdev/netdev_carrier.c:
##
@@ -62,8 +62,12 @@ int netdev_carrier_on(FAR struct net_driver_s *dev)
 {
   if (dev)
 {
-  dev->d_flags |= IFF_RUNNING;
-  netlink_device_notify(dev);
+  if (!IFF_IS_RUNNING(dev->d_flags))

Review Comment:
   Done



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6519: netdev/carrier: check the IF stautus before carrier

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6519:
URL: https://github.com/apache/incubator-nuttx/pull/6519#discussion_r906665068


##
net/netdev/netdev_carrier.c:
##
@@ -62,8 +62,12 @@ int netdev_carrier_on(FAR struct net_driver_s *dev)
 {
   if (dev)
 {
-  dev->d_flags |= IFF_RUNNING;
-  netlink_device_notify(dev);
+  if (!IFF_IS_RUNNING(dev->d_flags))

Review Comment:
   Let's merge two lines into one
   ```
 if (dev && !IFF_IS_RUNNING(dev->d_flags))
   ```



##
net/netdev/netdev_carrier.c:
##
@@ -89,13 +93,16 @@ int netdev_carrier_off(FAR struct net_driver_s *dev)
 {
   if (dev)
 {
-  dev->d_flags &= ~IFF_RUNNING;
-  netlink_device_notify(dev);
+  if (IFF_IS_RUNNING(dev->d_flags))

Review Comment:
   let's merge 2 lines
   ```
   if (dev && IFF_IS_RUNNING(dev->d_flags))
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6519: netdev/carrier: check the IF stautus before carrier

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6519:
URL: https://github.com/apache/incubator-nuttx/pull/6519#discussion_r906664910


##
net/netdev/netdev_carrier.c:
##
@@ -62,8 +62,12 @@ int netdev_carrier_on(FAR struct net_driver_s *dev)
 {
   if (dev)
 {
-  dev->d_flags |= IFF_RUNNING;
-  netlink_device_notify(dev);
+  if (!IFF_IS_RUNNING(dev->d_flags))

Review Comment:
   Yes and no :) I mean if 2 out of 100 drivers can call `netdev_carrier_on` in 
a row, then we add check (extra code) for 98 cases that do not need it. Now if 
driver call it once then event is reported once to netlink, so no issue.
   Anyway this will lead to a code duplication in 2 (or more) cases.
   I do not have anything against this change, so we can keep it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] anchao commented on a diff in pull request #6519: netdev/carrier: check the IF stautus before carrier

2022-06-25 Thread GitBox


anchao commented on code in PR #6519:
URL: https://github.com/apache/incubator-nuttx/pull/6519#discussion_r906664524


##
net/netdev/netdev_carrier.c:
##
@@ -62,8 +62,12 @@ int netdev_carrier_on(FAR struct net_driver_s *dev)
 {
   if (dev)
 {
-  dev->d_flags |= IFF_RUNNING;
-  netlink_device_notify(dev);
+  if (!IFF_IS_RUNNING(dev->d_flags))

Review Comment:
   Yes, this issue can also be solved on the driver side, but I think if which 
can be fix inside netdev_carrier_*, it will also bring benefits to other 
drivers, because it is unnecessary to report more of the same events to netlink



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] davids5 commented on pull request #6511: esp32_board_spi:Missing Data Command pin support

2022-06-25 Thread GitBox


davids5 commented on PR #6511:
URL: https://github.com/apache/incubator-nuttx/pull/6511#issuecomment-1166247639

   @adamkaliszan  Please scope your (see title edit) PR messages so that the 
email subjects contain what part/arch/board of the system is effected.  


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6478: arch: arm64: ARMv8-A support for NuttX

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6478:
URL: https://github.com/apache/incubator-nuttx/pull/6478#discussion_r906659963


##
arch/arm64/include/irq.h:
##
@@ -0,0 +1,438 @@
+/
+ * arch/arm64/include/irq.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ /
+
+/* This file should never be included directly but, rather, only indirectly
+ * through nuttx/irq.h
+ */
+
+#ifndef __ARCH_ARM64_INCLUDE_IRQ_H
+#define __ARCH_ARM64_INCLUDE_IRQ_H
+
+/
+ * Included Files
+ /
+
+/* Include NuttX-specific IRQ definitions */
+
+#include 
+
+/* Include chip-specific IRQ definitions (including IRQ numbers) */
+
+#include 
+
+#include 
+
+#ifndef __ASSEMBLY__
+#  include 
+#  include 
+#endif
+
+/
+ * Exception stack frame format:
+ *
+ * x0 ~ x18, x30 (lr), spsr and elr
+ *Corruptible Registers and exception context
+ *reference to Armv8-A Instruction Set Architecture
+ *(ARM062-948681440-3280, Issue 1.1), chapter 11 PCS
+ *need to be saved in all exception
+ *
+ * x19 ~ x29, sp_el0, sp_elx
+ *Callee-saved Registers and SP pointer
+ *reference to Armv8-A Instruction Set Architecture
+ *(ARM062-948681440-3280, Issue 1.1), chapter 11 PCS
+ *These registers frame is allocated on stack frame
+ *when a exception is occurred and saved at task switch
+ *or crash exception
+ *check arm64_vectors.S for detail
+ *
+ /
+
+/
+ * Registers and exception context
+ * Note:
+ * REG_EXEC_DEPTH indicate the task's exception depth
+ *
+ /
+
+#define REG_X0  (0)
+#define REG_X1  (1)
+#define REG_X2  (2)
+#define REG_X3  (3)
+#define REG_X4  (4)
+#define REG_X5  (5)
+#define REG_X6  (6)
+#define REG_X7  (7)
+#define REG_X8  (8)
+#define REG_X9  (9)
+#define REG_X10 (10)
+#define REG_X11 (11)
+#define REG_X12 (12)
+#define REG_X13 (13)
+#define REG_X14 (14)
+#define REG_X15 (15)
+#define REG_X16 (16)
+#define REG_X17 (17)
+#define REG_X18 (18)
+#define REG_X19 (19)
+#define REG_X20 (20)
+#define REG_X21 (21)
+#define REG_X22 (22)
+#define REG_X23 (23)
+#define REG_X24 (24)
+#define REG_X25 (25)
+#define REG_X26 (26)
+#define REG_X27 (27)
+#define REG_X28 (28)
+#define REG_X29 (29)
+#define REG_X30 (30)
+#define REG_SP_ELX  (31)
+#define REG_ELR (32)
+#define REG_SPSR(33)
+#define REG_SP_EL0  (34)
+#define REG_EXE_DEPTH   (35)
+#define REG_TPIDR_EL0   (36)
+#define REG_TPIDR_EL1   (37)
+
+/* In Armv8-A Architecture, the stack must align with 16 byte */
+
+#define XCPTCONTEXT_GP_REGS (38)
+#define XCPTCONTEXT_GP_SIZE (8 * XCPTCONTEXT_GP_REGS)
+
+#ifdef CONFIG_ARCH_FPU
+
+/
+ * q0 ~ q31(128bit), fpsr, fpcr
+ *armv8 fpu registers and context
+ *With CONFIG_ARCH_FPU is enabled, armv8 fpu registers context
+ *is allocated on stack frame at exception and store/restore
+ *when switching FPU context
+ *check arm64_fpu.c for detail
+ *
+ /
+
+/* 128bit registers */
+
+#define FPU_REG_Q0  (0)
+#define FPU_REG_Q1  (1)
+#define FPU_REG_Q2  (2)
+#define FPU_REG_Q3  (3)
+#define FPU_REG_Q4  (4)
+#define FPU_REG_Q5 

[GitHub] [incubator-nuttx] qinwei2004 commented on pull request #6478: arch: arm64: ARMv8-A support for NuttX

2022-06-25 Thread GitBox


qinwei2004 commented on PR #6478:
URL: https://github.com/apache/incubator-nuttx/pull/6478#issuecomment-1166241837

   @xiaoxiang781216 , @hartmannathan , @pkarashchenko 
   check is complete, please review again
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6518: wireless/bcm43xxx: add dynamic kso control support

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6518:
URL: https://github.com/apache/incubator-nuttx/pull/6518#discussion_r906661477


##
drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c:
##
@@ -892,23 +962,44 @@ int bcmf_sdio_thread(int argc, char **argv)
 
   while (true)
 {
-  /* Wait for event (device interrupt, user request or waitdog timer) */
+  /* Check if RX/TX frames are available */
 
-  ret = nxsem_wait_uninterruptible(>thread_signal);
-  if (ret < 0)
+  if ((sbus->intstatus & I_HMB_FRAME_IND) == 0 &&
+  (sbus->tx_queue.tail == NULL) &&
+  !sbus->irq_pending)
 {
-  wlerr("Error while waiting for semaphore\n");
-  break;
-}
+  /* Wait for event (device interrupt or user request) */
+
+  if (timeout == UINT_MAX)
+{
+  ret = nxsem_wait_uninterruptible(>thread_signal);
+}
+  else
+{
+  ret = nxsem_tickwait_uninterruptible(>thread_signal,
+   timeout);
+}
 
-  /* Restart the waitdog timer */
+  if (ret == -ETIMEDOUT)
+{
+  /* Turn off clock request. */
+
+  timeout = UINT_MAX;
+  bcmf_sdio_bus_lowpower(sbus, true);
+  continue;

Review Comment:
   oops... sorry, missed where the scope ends. I thought that it will drop to 
the end of while, but it is end of `if ((sbus->intstatus & I_HMB_FRAME_IND) == 
0 && ...`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] anchao commented on a diff in pull request #6518: wireless/bcm43xxx: add dynamic kso control support

2022-06-25 Thread GitBox


anchao commented on code in PR #6518:
URL: https://github.com/apache/incubator-nuttx/pull/6518#discussion_r906660308


##
drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c:
##
@@ -892,23 +962,44 @@ int bcmf_sdio_thread(int argc, char **argv)
 
   while (true)
 {
-  /* Wait for event (device interrupt, user request or waitdog timer) */
+  /* Check if RX/TX frames are available */
 
-  ret = nxsem_wait_uninterruptible(>thread_signal);
-  if (ret < 0)
+  if ((sbus->intstatus & I_HMB_FRAME_IND) == 0 &&
+  (sbus->tx_queue.tail == NULL) &&
+  !sbus->irq_pending)
 {
-  wlerr("Error while waiting for semaphore\n");
-  break;
-}
+  /* Wait for event (device interrupt or user request) */
+
+  if (timeout == UINT_MAX)
+{
+  ret = nxsem_wait_uninterruptible(>thread_signal);
+}
+  else
+{
+  ret = nxsem_tickwait_uninterruptible(>thread_signal,
+   timeout);
+}
 
-  /* Restart the waitdog timer */
+  if (ret == -ETIMEDOUT)
+{
+  /* Turn off clock request. */
+
+  timeout = UINT_MAX;
+  bcmf_sdio_bus_lowpower(sbus, true);
+  continue;

Review Comment:
   why? it is unnecessary to ty other condition further if enter lowpoer mode 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] anchao commented on a diff in pull request #6518: wireless/bcm43xxx: add dynamic kso control support

2022-06-25 Thread GitBox


anchao commented on code in PR #6518:
URL: https://github.com/apache/incubator-nuttx/pull/6518#discussion_r906660136


##
drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c:
##
@@ -132,23 +131,96 @@ static struct bcmf_sdio_frame
 int bcmf_oob_irq(FAR void *arg)
 {
   FAR struct bcmf_sdio_dev_s *sbus = (FAR struct bcmf_sdio_dev_s *)arg;
+  int semcount;
 
   if (sbus->ready)
 {
   /* Signal bmcf thread */
 
   sbus->irq_pending = true;
-  nxsem_post(>thread_signal);
+
+  nxsem_get_value(>thread_signal, );
+  if (semcount < 1)
+{
+  nxsem_post(>thread_signal);
+}
 }
 
   return OK;
 }
 
-int bcmf_sdio_bus_sleep(FAR struct bcmf_sdio_dev_s *sbus, bool sleep)
+int bcmf_sdio_kso_enable(FAR struct bcmf_sdio_dev_s *sbus, bool enable)
 {
-  int ret;
+  uint8_t value;
   int loops;
+  int ret;
+
+  if (!sbus->ready)
+{
+  return -EPERM;
+}
+
+  if (sbus->kso_enable == enable)
+{
+  return OK;
+}
+
+  if (enable)
+{
+  loops = 200;
+  while (--loops > 0)
+{
+  ret = bcmf_write_reg(sbus, 1, SBSDIO_FUNC1_SLEEPCSR,
+   SBSDIO_FUNC1_SLEEPCSR_KSO_MASK |
+   SBSDIO_FUNC1_SLEEPCSR_DEVON_MASK);
+  if (ret != OK)
+{
+  wlerr("HT Avail request failed %d\n", ret);
+  return ret;
+}
+
+  nxsig_usleep(100 * 1000);
+  ret = bcmf_read_reg(sbus, 1, SBSDIO_FUNC1_SLEEPCSR, );
+  if (ret != OK)
+{
+  return ret;
+}
+
+  if (value & (SBSDIO_FUNC1_SLEEPCSR_KSO_MASK |
+   SBSDIO_FUNC1_SLEEPCSR_DEVON_MASK))

Review Comment:
   Done



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6482: Use builtins for byteswapping

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6482:
URL: https://github.com/apache/incubator-nuttx/pull/6482#discussion_r906658298


##
include/nuttx/compiler.h:
##
@@ -69,6 +69,36 @@
 #  undef CONFIG_HAVE_CXX14
 #endif
 
+#if defined(__cplusplus) && __cplusplus >= 201703L
+#  define CONFIG_HAVE_CXX17 1
+#else
+#  undef CONFIG_HAVE_CXX17
+#endif
+
+
+/* Check for intrinsics */
+#ifdef __has_builtin
+# if  __has_builtin(__builtin_bswap16)
+#  define CONFIG_HAVE_BUILTIN_BSWAP16 1
+# endif
+# if  __has_builtin(__builtin_bswap32)
+#  define CONFIG_HAVE_BUILTIN_BSWAP32 1
+# endif
+# if  __has_builtin(__builtin_bswap64) && defined(CONFIG_HAVE_LONG_LONG)
+#  define CONFIG_HAVE_BUILTIN_BSWAP64 1
+# endif
+# if  __has_builtin(__builtin_ctz)
+#  define CONFIG_HAVE_BUILTIN_CTZ 1
+# endif
+# if  __has_builtin(__builtin_clz)
+#  define CONFIG_HAVE_BUILTIN_CLZ 1
+# endif
+# if  __has_builtin(__builtin_popcount)
+#  define CONFIG_HAVE_BUILTIN_POPCOUNT 1
+# endif
+#endif

Review Comment:
   Yes. For Clang you can even redefine `__GNUC__` to a desired value, so with 
compiler option you can reach the desired functionality.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6511: Missing Data Command pin support

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6511:
URL: https://github.com/apache/incubator-nuttx/pull/6511#discussion_r906657953


##
boards/xtensa/esp32/common/src/esp32_board_spi.c:
##
@@ -71,7 +71,7 @@ static inline uint8_t spi_status(struct spi_dev_s *dev, 
uint32_t devid)
 static inline int spi_cmddata(struct spi_dev_s *dev, uint32_t devid,
   bool cmd)
 {
-#ifdef CONFIG_LCD_ILI9341
+#if defined(CONFIG_LCD_ILI9341) || defined(CONFIG_LCD_SSD1680)

Review Comment:
   Let's change line 55 in this file as well.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on pull request #6512: driver/syslog:sched lock in syslog to prevent garbled print from multi-thread

2022-06-25 Thread GitBox


pkarashchenko commented on PR #6512:
URL: https://github.com/apache/incubator-nuttx/pull/6512#issuecomment-1166234940

   > > 
   > 
   > Thanks for your review. Yes this will have impact on scheduler and needs 
to be dealt with carefully. But I am not sure under which case can this make 
the system not real-time. Sched_lock will not disable interrupts, though some 
work in hpwork will be delayed, they will be done after the print is finished. 
Maybe the delay of hpwork is what you are talking about? In RR schedule, this 
pr surely will bring in some delay for higher priority task, but the delay can 
be predicted from uart baud-rate and print length.
   > 
   > Am I understanding the system and real-time correctly?
   
   With `sched_lock` if the printing is done from a lower priority task, then 
higher priority will not start execution until the scheduler is unlocked so 
here we are loosing the real-time.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on pull request #6512: driver/syslog:sched lock in syslog to prevent garbled print from multi-thread

2022-06-25 Thread GitBox


pkarashchenko commented on PR #6512:
URL: https://github.com/apache/incubator-nuttx/pull/6512#issuecomment-1166234177

   If the system does not have hard memory limitations, then maybe it is better 
to configure `CONFIG_SYSLOG_BUFFER=y` and set `CONFIG_IOB_BUFSIZE` to the 
maximum size of the output message. This I hope should solve an issue with 
multi-threaded syslog usage. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a diff in pull request #6492: Stm32wl55JC SPI driver

2022-06-25 Thread GitBox


xiaoxiang781216 commented on code in PR #6492:
URL: https://github.com/apache/incubator-nuttx/pull/6492#discussion_r905047397


##
.github/workflows/docker_linux.yml:
##
@@ -65,7 +65,7 @@ jobs:
   tags: ${{ env.IMAGE_TAG }}
 
   - name: Push Linux image
-uses: docker/build-push-action@v2
+uses: docker/build-push-action@v3

Review Comment:
   still not revert yet.



##
.github/workflows/docker_linux.yml:
##
@@ -65,7 +65,7 @@ jobs:
   tags: ${{ env.IMAGE_TAG }}
 
   - name: Push Linux image
-uses: docker/build-push-action@v2
+uses: docker/build-push-action@v3

Review Comment:
   revert this change



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[incubator-nuttx] branch master updated: wireless/bcm43xxx: correct the return value

2022-06-25 Thread xiaoxiang
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


The following commit(s) were added to refs/heads/master by this push:
 new 2eb1124db5 wireless/bcm43xxx: correct the return value
2eb1124db5 is described below

commit 2eb1124db59302952f4c27d26cc5b586d1429a0b
Author: chao.an 
AuthorDate: Sat Jun 25 02:31:21 2022 +0800

wireless/bcm43xxx: correct the return value

Signed-off-by: chao.an 
---
 drivers/wireless/ieee80211/bcm43xxx/bcmf_netdev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/wireless/ieee80211/bcm43xxx/bcmf_netdev.c 
b/drivers/wireless/ieee80211/bcm43xxx/bcmf_netdev.c
index 3ebb799627..6a3e6bc1f4 100644
--- a/drivers/wireless/ieee80211/bcm43xxx/bcmf_netdev.c
+++ b/drivers/wireless/ieee80211/bcm43xxx/bcmf_netdev.c
@@ -647,7 +647,7 @@ static int bcmf_ifup(FAR struct net_driver_s *dev)
   FAR struct bcmf_dev_s *priv = (FAR struct bcmf_dev_s *)dev->d_private;
   irqstate_t flags;
   uint32_t out_len;
-  int ret;
+  int ret = OK;
 
   /* Disable the hardware interrupt */
 
@@ -726,7 +726,7 @@ errout_in_critical_section:
 
   leave_critical_section(flags);
 
-  return OK;
+  return ret;
 }
 
 /



[GitHub] [incubator-nuttx] xiaoxiang781216 merged pull request #6517: wireless/bcm43xxx: correct the return value

2022-06-25 Thread GitBox


xiaoxiang781216 merged PR #6517:
URL: https://github.com/apache/incubator-nuttx/pull/6517


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6518: wireless/bcm43xxx: add dynamic kso control support

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6518:
URL: https://github.com/apache/incubator-nuttx/pull/6518#discussion_r906655476


##
drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c:
##
@@ -892,23 +962,44 @@ int bcmf_sdio_thread(int argc, char **argv)
 
   while (true)
 {
-  /* Wait for event (device interrupt, user request or waitdog timer) */
+  /* Check if RX/TX frames are available */
 
-  ret = nxsem_wait_uninterruptible(>thread_signal);
-  if (ret < 0)
+  if ((sbus->intstatus & I_HMB_FRAME_IND) == 0 &&
+  (sbus->tx_queue.tail == NULL) &&
+  !sbus->irq_pending)
 {
-  wlerr("Error while waiting for semaphore\n");
-  break;
-}
+  /* Wait for event (device interrupt or user request) */
+
+  if (timeout == UINT_MAX)
+{
+  ret = nxsem_wait_uninterruptible(>thread_signal);
+}
+  else
+{
+  ret = nxsem_tickwait_uninterruptible(>thread_signal,
+   timeout);
+}
 
-  /* Restart the waitdog timer */
+  if (ret == -ETIMEDOUT)
+{
+  /* Turn off clock request. */
+
+  timeout = UINT_MAX;
+  bcmf_sdio_bus_lowpower(sbus, true);
+  continue;

Review Comment:
   No need.
   ```suggestion
   ```



##
drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c:
##
@@ -132,23 +131,96 @@ static struct bcmf_sdio_frame
 int bcmf_oob_irq(FAR void *arg)
 {
   FAR struct bcmf_sdio_dev_s *sbus = (FAR struct bcmf_sdio_dev_s *)arg;
+  int semcount;
 
   if (sbus->ready)
 {
   /* Signal bmcf thread */
 
   sbus->irq_pending = true;
-  nxsem_post(>thread_signal);
+
+  nxsem_get_value(>thread_signal, );
+  if (semcount < 1)
+{
+  nxsem_post(>thread_signal);
+}
 }
 
   return OK;
 }
 
-int bcmf_sdio_bus_sleep(FAR struct bcmf_sdio_dev_s *sbus, bool sleep)
+int bcmf_sdio_kso_enable(FAR struct bcmf_sdio_dev_s *sbus, bool enable)
 {
-  int ret;
+  uint8_t value;
   int loops;
+  int ret;
+
+  if (!sbus->ready)
+{
+  return -EPERM;
+}
+
+  if (sbus->kso_enable == enable)
+{
+  return OK;
+}
+
+  if (enable)
+{
+  loops = 200;
+  while (--loops > 0)
+{
+  ret = bcmf_write_reg(sbus, 1, SBSDIO_FUNC1_SLEEPCSR,
+   SBSDIO_FUNC1_SLEEPCSR_KSO_MASK |
+   SBSDIO_FUNC1_SLEEPCSR_DEVON_MASK);
+  if (ret != OK)
+{
+  wlerr("HT Avail request failed %d\n", ret);
+  return ret;
+}
+
+  nxsig_usleep(100 * 1000);
+  ret = bcmf_read_reg(sbus, 1, SBSDIO_FUNC1_SLEEPCSR, );
+  if (ret != OK)
+{
+  return ret;
+}
+
+  if (value & (SBSDIO_FUNC1_SLEEPCSR_KSO_MASK |
+   SBSDIO_FUNC1_SLEEPCSR_DEVON_MASK))

Review Comment:
   ```suggestion
 if (value & (SBSDIO_FUNC1_SLEEPCSR_KSO_MASK |
  SBSDIO_FUNC1_SLEEPCSR_DEVON_MASK) != 0)
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6519: netdev/carrier: check the IF stautus before carrier

2022-06-25 Thread GitBox


pkarashchenko commented on code in PR #6519:
URL: https://github.com/apache/incubator-nuttx/pull/6519#discussion_r906655111


##
net/netdev/netdev_carrier.c:
##
@@ -62,8 +62,12 @@ int netdev_carrier_on(FAR struct net_driver_s *dev)
 {
   if (dev)
 {
-  dev->d_flags |= IFF_RUNNING;
-  netlink_device_notify(dev);
+  if (!IFF_IS_RUNNING(dev->d_flags))

Review Comment:
   So we expect `netdev_carrier_on` to be called multiple times in a row? I 
mean that I do not see any harm in this code, but do not see explicit benefits.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] adamkaliszan commented on a diff in pull request #6510: Support for 2.13 inch display v2

2022-06-25 Thread GitBox


adamkaliszan commented on code in PR #6510:
URL: https://github.com/apache/incubator-nuttx/pull/6510#discussion_r906647539


##
drivers/lcd/ssd1680.c:
##
@@ -634,35 +679,50 @@ static int ssd1680_configuredisplay(struct ssd1680_dev_s 
*priv)
 
   /* Step 9: SSD1680_SET_RAMXCOUNT, 0 */
 
+  lcdinfo("Set ram X count (0x%02x): 0\n", SSD1680_SET_RAMXCOUNT);
   ssd1680_snd_cmd_with_data1(priv, SSD1680_SET_RAMXCOUNT, 0x00);
 
   /* Step 10: SSD1680_SET_RAMYCOUNT, 0, 0 */
 
+  lcdinfo("Set ram Y count (0x%02x): 0\n", SSD1680_SET_RAMYCOUNT);
   ssd1680_snd_cmd_with_data2(priv, SSD1680_SET_RAMYCOUNT, 0x00, 0x00);
 
   /* Step 11: Lookup table */
 
-  lcdinfo("Write lookup table (%d bytes)\n", sizeof (ssd1680_lut));
+  lcdinfo("Write lookup table (0x%02x): (%d bytes)\n", SSD1680_WRITE_LUT,
+  sizeof (ssd1680_lut));
   ssd1680_snd_cmd_with_data(priv, SSD1680_WRITE_LUT, ssd1680_lut,
   sizeof (ssd1680_lut));
 
   /* Step 12: Write sequence */
 
-  lcdinfo("Write controll sequence 0x%02x\n", 0xc0);
-  ssd1680_snd_cmd_with_data1(priv, SSD1680_DISP_CTRL2, 0xc0);
+  lcdinfo("Write control sequence (0x%02x): 0x%02x\n", SSD1680_DISP_CTRL2,
+  0xc0);
+  ssd1680_snd_cmd_with_data1(priv, SSD1680_DISP_CTRL2, 0xc7);
 
   /* Step 13: Master Activate and busy wait */
 
+  lcdinfo("Write master activate (0x%02x) command\n",
+  SSD1680_MASTER_ACTIVATE);
   ssd1680_snd_cmd_with_data0(priv, SSD1680_MASTER_ACTIVATE);
-  ssd1680_busy_wait(priv);
 
-  lcdinfo("Configuration ready\n");
-  priv->is_conf = true;
-  return OK;
+  ret = ssd1680_busy_wait(priv);
+exit:
+  if (ret == OK)
+{
+  lcdinfo("Configuration ready\n");
+  priv->is_conf = true;
+}
+  else

Review Comment:
   OK. I renamed the label **exit** into **exit_err**



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[incubator-nuttx-apps] 01/02: .github/workflows: Add nuttx/source to the safe directory

2022-06-25 Thread btashton
This is an automated email from the ASF dual-hosted git repository.

btashton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx-apps.git

commit 99d905369ec26d547a6d6981575c4bf8719a872c
Author: Xiang Xiao 
AuthorDate: Thu Jun 23 05:33:15 2022 +0800

.github/workflows: Add nuttx/source to the safe directory

Signed-off-by: Xiang Xiao 
---
 .github/workflows/build.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index da2c14eb9..1e9ded99d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -145,6 +145,7 @@ jobs:
 export CCACHE_DIR=`pwd`/ccache
 mkdir $CCACHE_DIR
 export ARTIFACTDIR=`pwd`/buildartifacts
+git config --global --add safe.directory 
/github/workspace/sources/nuttx
 cd sources/nuttx/tools/ci
 ./cibuild.sh -A -c testlist/${{matrix.boards}}.dat
 ccache -s



[incubator-nuttx-apps] 02/02: .github/workflows: Add nuttx/source to the safe directory, covering apps

2022-06-25 Thread btashton
This is an automated email from the ASF dual-hosted git repository.

btashton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx-apps.git

commit db9ea407986ff9c73dc92307e220c609d036b70d
Author: qinwei1 
AuthorDate: Fri Jun 24 18:28:22 2022 -0700

.github/workflows: Add nuttx/source to the safe directory, covering apps

Signed-off-by: qinwei1 
---
 .github/workflows/build.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1e9ded99d..5ab725e35 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -146,6 +146,7 @@ jobs:
 mkdir $CCACHE_DIR
 export ARTIFACTDIR=`pwd`/buildartifacts
 git config --global --add safe.directory 
/github/workspace/sources/nuttx
+git config --global --add safe.directory 
/github/workspace/sources/apps
 cd sources/nuttx/tools/ci
 ./cibuild.sh -A -c testlist/${{matrix.boards}}.dat
 ccache -s



[incubator-nuttx-apps] branch master updated (61250d551 -> db9ea4079)

2022-06-25 Thread btashton
This is an automated email from the ASF dual-hosted git repository.

btashton pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx-apps.git


from 61250d551 wireless/wapi: add get country code support
 new 99d905369 .github/workflows: Add nuttx/source to the safe directory
 new db9ea4079 .github/workflows: Add nuttx/source to the safe directory, 
covering apps

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/build.yml | 2 ++
 1 file changed, 2 insertions(+)



[GitHub] [incubator-nuttx-apps] btashton merged pull request #1210: .github/workflows: Add nuttx/source to the safe directory

2022-06-25 Thread GitBox


btashton merged PR #1210:
URL: https://github.com/apache/incubator-nuttx-apps/pull/1210


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] xiaoxiang781216 commented on pull request #6509: .github/workflows: Add nuttx/source to the safe directory

2022-06-25 Thread GitBox


xiaoxiang781216 commented on PR #6509:
URL: https://github.com/apache/incubator-nuttx/pull/6509#issuecomment-1166205945

   It's here: https://github.com/apache/incubator-nuttx-apps/pull/1210


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx-apps] xiaoxiang781216 opened a new pull request, #1210: .github/workflows: Add nuttx/source to the safe directory

2022-06-25 Thread GitBox


xiaoxiang781216 opened a new pull request, #1210:
URL: https://github.com/apache/incubator-nuttx-apps/pull/1210

   ## Summary
   Follow the nuttx side change: 
https://github.com/apache/incubator-nuttx/pull/6509
   
   ## Impact
   Fix the ci broken
   
   ## Testing
   Pass CI
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] anchao commented on a diff in pull request #6518: wireless/bcm43xxx: add dynamic kso control support

2022-06-25 Thread GitBox


anchao commented on code in PR #6518:
URL: https://github.com/apache/incubator-nuttx/pull/6518#discussion_r906643925


##
drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c:
##
@@ -132,23 +131,96 @@ static struct bcmf_sdio_frame
 int bcmf_oob_irq(FAR void *arg)
 {
   FAR struct bcmf_sdio_dev_s *sbus = (FAR struct bcmf_sdio_dev_s *)arg;
+  int semcount;
 
   if (sbus->ready)
 {
   /* Signal bmcf thread */
 
   sbus->irq_pending = true;
-  nxsem_post(>thread_signal);
+
+  nxsem_get_value(>thread_signal, );
+  if (semcount < 0)

Review Comment:
   Done



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[incubator-nuttx] 01/02: arch/stm32_capture: fix offset address of slave mode control register

2022-06-25 Thread xiaoxiang
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 20cd657a651359903a95a60ddd96596e3b1325d1
Author: zouboan 
AuthorDate: Sat Jun 25 10:09:11 2022 +0800

arch/stm32_capture: fix offset address of slave mode control register
---
 arch/arm/src/stm32/stm32_capture.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/src/stm32/stm32_capture.c 
b/arch/arm/src/stm32/stm32_capture.c
index 7d96912529..4e114a6f5e 100644
--- a/arch/arm/src/stm32/stm32_capture.c
+++ b/arch/arm/src/stm32/stm32_capture.c
@@ -661,7 +661,7 @@ static int stm32_cap_setclock(struct stm32_cap_dev_s *dev,
 return ERROR;
 }
 
-  stm32_modifyreg16(priv, STM32_BTIM_EGR_OFFSET, GTIM_SMCR_SMS_MASK, regval);
+  stm32_modifyreg16(priv, STM32_GTIM_SMCR_OFFSET, GTIM_SMCR_SMS_MASK, regval);
 
   /* Set Maximum */
 



[incubator-nuttx] branch master updated (667afb3b91 -> 78535d0123)

2022-06-25 Thread xiaoxiang
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


from 667afb3b91 sama5: add config SAMA5_SYSTEMRESET in arch/arm/src/Kconfig 
SAMA5D2 and SAMA5D4 does not support external reset. Some SAMA5 board's Kconfig 
contain item SAMA5_SYSTEMRESET, but it is better in arch/arm/src/Kconfig.
 new 20cd657a65 arch/stm32_capture: fix offset address of slave mode 
control register
 new 78535d0123 arch/stm32_capture: completion other slave mode selection

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 arch/arm/src/stm32/stm32_capture.c | 29 ++---
 arch/arm/src/stm32/stm32_capture.h |  8 ++--
 2 files changed, 32 insertions(+), 5 deletions(-)



[incubator-nuttx] 02/02: arch/stm32_capture: completion other slave mode selection

2022-06-25 Thread xiaoxiang
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 78535d012360f47f309e229540ad23f6f024f7d0
Author: zouboan 
AuthorDate: Sat Jun 25 10:17:33 2022 +0800

arch/stm32_capture: completion other slave mode selection
---
 arch/arm/src/stm32/stm32_capture.c | 29 ++---
 arch/arm/src/stm32/stm32_capture.h |  8 ++--
 2 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/arch/arm/src/stm32/stm32_capture.c 
b/arch/arm/src/stm32/stm32_capture.c
index 4e114a6f5e..57050a83ed 100644
--- a/arch/arm/src/stm32/stm32_capture.c
+++ b/arch/arm/src/stm32/stm32_capture.c
@@ -651,17 +651,40 @@ static int stm32_cap_setclock(struct stm32_cap_dev_s *dev,
   regval = GTIM_SMCR_DISAB;
   break;
 
+  case STM32_CAP_CLK_ENC1:
+  regval = GTIM_SMCR_ENCMD1;
+  break;
+
+  case STM32_CAP_CLK_ENC2:
+  regval = GTIM_SMCR_ENCMD2;
+  break;
+
+  case STM32_CAP_CLK_ENC3:
+  regval = GTIM_SMCR_ENCMD3;
+  break;
+
+  case STM32_CAP_CLK_RST:
+  regval = GTIM_SMCR_RESET;
+  break;
+
+  case STM32_CAP_CLK_GAT:
+  regval = GTIM_SMCR_GATED;
+  break;
+
+  case STM32_CAP_CLK_TRG:
+  regval = GTIM_SMCR_TRIGGER;
+  break;
+
   case STM32_CAP_CLK_EXT:
   regval = GTIM_SMCR_EXTCLK1;
   break;
 
-  /* TODO: Add other case */
-
   default:
 return ERROR;
 }
 
-  stm32_modifyreg16(priv, STM32_GTIM_SMCR_OFFSET, GTIM_SMCR_SMS_MASK, regval);
+  stm32_modifyreg16(priv, STM32_GTIM_SMCR_OFFSET,
+GTIM_SMCR_SMS_MASK, regval);
 
   /* Set Maximum */
 
diff --git a/arch/arm/src/stm32/stm32_capture.h 
b/arch/arm/src/stm32/stm32_capture.h
index ad8de8b078..347545fc31 100644
--- a/arch/arm/src/stm32/stm32_capture.h
+++ b/arch/arm/src/stm32/stm32_capture.h
@@ -127,9 +127,13 @@ typedef enum
 typedef enum
 {
   STM32_CAP_CLK_INT = 0,
+  STM32_CAP_CLK_ENC1,
+  STM32_CAP_CLK_ENC2,
+  STM32_CAP_CLK_ENC3,
+  STM32_CAP_CLK_RST,
+  STM32_CAP_CLK_GAT,
+  STM32_CAP_CLK_TRG,
   STM32_CAP_CLK_EXT,
-
-  /* TODO: Add other clock */
 } stm32_cap_clk_t;
 
 /* Capture flags */



[GitHub] [incubator-nuttx] xiaoxiang781216 merged pull request #6516: arch/stm32_capture fix SMC register offset address and completion slave mode selection

2022-06-25 Thread GitBox


xiaoxiang781216 merged PR #6516:
URL: https://github.com/apache/incubator-nuttx/pull/6516


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a diff in pull request #6482: Use builtins for byteswapping

2022-06-25 Thread GitBox


xiaoxiang781216 commented on code in PR #6482:
URL: https://github.com/apache/incubator-nuttx/pull/6482#discussion_r906643219


##
include/nuttx/compiler.h:
##
@@ -69,10 +77,30 @@
 #  undef CONFIG_HAVE_CXX14
 #endif
 
+#if defined(__cplusplus) && __cplusplus >= 201703L

Review Comment:
   move to other patch



##
include/endian.h:
##
@@ -51,23 +51,41 @@
 
 /* Common byte swapping macros */
 
-#define __SWAP_UINT16_ISMACRO 1
-#undef  __SWAP_UINT32_ISMACRO
-
-#ifdef __SWAP_UINT16_ISMACRO
+#ifdef CONFIG_HAVE_BUILTIN_BSWAP16
+#  define __swap_uint16 __builtin_bswap16
+#else
 #  define __swap_uint16(n) \
 (uint16_t)(uint16_t)(n)) & 0x00ff) << 8) | \
uint16_t)(n)) >> 8) & 0x00ff))
 #endif
 
-#ifdef __SWAP_UINT32_ISMACRO
+#ifdef CONFIG_HAVE_BUILTIN_BSWAP32
+#  define __swap_uint32 __builtin_bswap32
+#else
 #  define __swap_uint32(n) \
 (uint32_t)(uint32_t)(n)) & 0x00ffUL) << 24) | \
uint32_t)(n)) & 0xff00UL) <<  8) | \
uint32_t)(n)) & 0x00ffUL) >>  8) | \
uint32_t)(n)) & 0xff00UL) >> 24))
 #endif
 
+#ifdef CONFIG_HAVE_LONG_LONG
+#ifdef CONFIG_HAVE_BUILTIN_BSWAP64

Review Comment:
   let's indent the inner #ifdef/#else/#endif by two spaces



##
include/nuttx/compiler.h:
##
@@ -61,6 +61,14 @@
 #  define CONFIG_C99_BOOL 1
 #endif
 
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
+#  define CONFIG_C11_BOOL 1
+#endif
+
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201710L
+#  define CONFIG_C17_BOOL 1

Review Comment:
   it's better to create a new patch and PR instead



##
libs/libc/string/lib_ffsl.c:
##
@@ -48,14 +48,15 @@
  *   0, then ffsl() will return 0.
  *
  /
-

Review Comment:
   revert



##
include/netinet/in.h:
##
@@ -217,26 +217,14 @@
 /* This macro to convert a 16/32-bit constant values quantity from host byte
  * order to network byte order.  The 16-bit version of this macro is required
  * for uIP:
- *
- *   Author Adam Dunkels 
- *   Copyright (c) 2001-2003, Adam Dunkels.
- *   All rights reserved.
  */
 
 #ifdef CONFIG_ENDIAN_BIG
-# define HTONS(ns) (ns)
-# define HTONL(nl) (nl)
+#  define HTONS(ns) (ns)
+#  define HTONL(nl) (nl)
 #else
-# define HTONS(ns) \
-  (unsigned short) \
-(unsigned short)(ns)) & 0x00ff) << 8) | \
- unsigned short)(ns)) >> 8) & 0x00ff))
-# define HTONL(nl) \
-  (unsigned long) \
-(unsigned long)(nl)) & 0x00ffUL) << 24) | \
- unsigned long)(nl)) & 0xff00UL) <<  8) | \
- unsigned long)(nl)) & 0x00ffUL) >>  8) | \
- unsigned long)(nl)) & 0xff00UL) >> 24))
+#  define HTONS __swap_uint16

Review Comment:
   need include endian.h at the beginning.



##
libs/libc/string/lib_ffs.c:
##
@@ -48,14 +48,15 @@
  *   0, then ffs() will return 0.
  *
  /
-

Review Comment:
   revert the change



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a diff in pull request #6518: wireless/bcm43xxx: add dynamic kso control support

2022-06-25 Thread GitBox


xiaoxiang781216 commented on code in PR #6518:
URL: https://github.com/apache/incubator-nuttx/pull/6518#discussion_r906642299


##
drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c:
##
@@ -132,23 +131,96 @@ static struct bcmf_sdio_frame
 int bcmf_oob_irq(FAR void *arg)
 {
   FAR struct bcmf_sdio_dev_s *sbus = (FAR struct bcmf_sdio_dev_s *)arg;
+  int semcount;
 
   if (sbus->ready)
 {
   /* Signal bmcf thread */
 
   sbus->irq_pending = true;
-  nxsem_post(>thread_signal);
+
+  nxsem_get_value(>thread_signal, );
+  if (semcount < 0)

Review Comment:
   <= ? otherwise you may lose the event



##
drivers/wireless/ieee80211/bcm43xxx/bcmf_sdpcm.c:
##
@@ -470,7 +471,11 @@ int bcmf_sdpcm_queue_frame(FAR struct bcmf_dev_s *priv,
 
   /* Notify bcmf thread tx frame is ready */
 
-  nxsem_post(>thread_signal);
+  nxsem_get_value(>thread_signal, );
+  if (semcount < 0)

Review Comment:
   ditto



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [incubator-nuttx] btashton commented on pull request #6509: .github/workflows: Add nuttx/source to the safe directory

2022-06-25 Thread GitBox


btashton commented on PR #6509:
URL: https://github.com/apache/incubator-nuttx/pull/6509#issuecomment-1166203250

   Let's make sure we bring this change over to the apps repo as well. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org