[GitHub] [incubator-nuttx] anchao opened a new pull request, #6524: wireless/bcm43xxx: replace private queue implement to list_node
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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)
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
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
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
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
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
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