Wolfgang Reißnegger
9e349f4335
SAM3/4: Remove unused 'halted' flag in UDP driver.
2016-11-18 17:23:21 -08:00
Wolfgang Reißnegger
c7ef82c546
SAM3/4: Add delay between setting and clearing the endpoint RESET bit in sam_ep_resume().
...
We need to add a delay between setting and clearing the endpoint reset
bit in SAM_UDP_RSTEP. Without the delay the USB controller will (may?)
not reset the endpoint.
If the endpoint is not being reset, the Data Toggle (DTGLE) bit will
not to be cleared which will cause the next transaction to fail if
DTGLE is 1. If that happens the host will time-out and reset the bus.
Adding this delay may also fix the USBMSC_STALL_RACEWAR in
usbmsc_scsi.c, however this has not been verified yet.
2016-11-18 17:23:21 -08:00
Gregory Nutt
48d9fff95a
Update ChangeLog
2016-11-18 17:18:35 -06:00
Gregory Nutt
69e9f8638d
Most interrupt handling logic interacts with tasks via standard mechanism such as sem_post, sigqueue, mq_send, etc. This all call enter_critical_section and are assumed to be safe in the SMP case.
...
But certain logic interacts with tasks in different ways. The only one that comes to mind are wdogs. There is a tasking interface that to manipulate wdogs, and a different interface in the timer interrupt handling logic to manage wdog expirations.
In the normal case, this is fine. Since the tasking level code calls enter_critical_section, interrupts are disabled an no conflicts can occur. But that may not be the case in the SMP case. Most architectures do not permit disabling interrupts on other CPUs so enter_critical_section must work differently: Locks are required to protect code.
So this change adds locking (via enter_critical section) to wdog expiration logic for the the case if the SMP configuration.
2016-11-18 13:57:30 -06:00
Gregory Nutt
cdbc66addd
Merge branch 'master' of bitbucket.org:nuttx/nuttx
2016-11-18 09:30:40 -06:00
Gregory Nutt
936b55f608
drivers/net: Add option to use low-priority work queue to all drivers in drivers/net. Not yet added to all architecture-specific network drivers.
2016-11-18 09:22:49 -06:00
Gregory Nutt
175ec43628
Merged in slorquet/nuttx/timerfixes (pull request #171 )
...
Timerfixes
2016-11-18 14:45:36 +00:00
Gregory Nutt
52560bba37
ENC28J60: Allow either HP or LP work queue to be used.
2016-11-18 08:41:27 -06:00
Sebastien Lorquet
d6813b0e2d
Merge branch 'master' into timerfixes
2016-11-18 15:29:44 +01:00
Sebastien Lorquet
ddba6de8bc
Add support for timers to nucleo l476
2016-11-18 15:26:31 +01:00
Sebastien Lorquet
5363d0619a
Fix warnings
2016-11-18 15:26:08 +01:00
Gregory Nutt
78fd358023
Update some comments.
2016-11-18 08:20:52 -06:00
Gregory Nutt
8602e8a8a9
SMP: irq_csection() has a bad assumption. It assumed that the state of certain variables. That was true on entry into the interrupt handler, but might change to the execution of logic within the interrupt handler.
2016-11-18 07:38:16 -06:00
Gregory Nutt
8e029f019b
Update comments
2016-11-17 17:30:12 -06:00
Gregory Nutt
47b52a2633
Fix an error in manually bringing in Sebastien's changes; Update some comments.
2016-11-17 16:15:06 -06:00
Gregory Nutt
9acd57c819
Fix up some naming and update some comments.
2016-11-17 15:50:39 -06:00
Gregory Nutt
558f4049d4
sched/irq/irq_csection: Fix a bad DEBUG assertion when SMP is enabled.
2016-11-17 15:36:27 -06:00
Gregory Nutt
f92afbfbf3
apps/examples/timer: Restore the timer example, but adapt the interface to use the new signal logic from Sebastien, Lorquet. Totally untested and probably does not work!
2016-11-17 15:19:17 -06:00
Gregory Nutt
19c1c9d78b
All timer lower half drivers. Port Sebastien's changes to all all other implementations of the timer lower half. Very many just and untested. Expect some problems.
2016-11-17 15:03:31 -06:00
Sebastien Lorquet
197cec58d2
timer driver: Use signal to notify of timer expiration. Add generic argument so that there can be additional usage.
2016-11-17 14:38:21 -06:00
Gregory Nutt
18ad40b98c
ARMv7-M: Fix double allocation of MPU region in mmu.h
2016-11-17 13:37:24 -06:00
Gregory Nutt
61bdea1625
Merge remote-tracking branch 'origin/master' into csection
2016-11-17 13:05:36 -06:00
Gregory Nutt
d4a048c0c6
Timer driver: Add hooks to support signal notification of timer expiration. Commented out because invasive interface changes would also be required to complete the implementation.
2016-11-17 12:41:11 -06:00
Gregory Nutt
ecb2d4cbc1
drivers/timer: Remove the TIOC_SETHANDLER IOCTL call. This calls directly from the timer driver into application code. That is non-standard, non-portable, and cannot be supported
2016-11-17 11:52:42 -06:00
Gregory Nutt
10af1e1734
sabre-6quad: Update TODO list
2016-11-17 11:50:58 -06:00
Gregory Nutt
bb19f1b499
spinlocks should be volatile.
2016-11-17 10:04:22 -06:00
Gregory Nutt
2c314464a8
Fix a typo in a comment
2016-11-17 08:03:45 -06:00
Gregory Nutt
ccdc11d8ff
Fix typo in variable naming. g_cpu_irqset should be g_cpu_irqlock.
2016-11-17 06:37:24 -06:00
Gregory Nutt
1c1564f0c1
Add logic to handled nested calls to enter_critical_section() from interrupts handlers (with SMP).
2016-11-16 22:45:08 -06:00
Gregory Nutt
0c3207e86e
Fix backward logic in an assertion.
2016-11-16 21:48:27 -06:00
Gregory Nutt
16f0b8fa96
Fix typos in DEBUASSERT statements
2016-11-16 19:58:51 -06:00
Gregory Nutt
f1e4951a8d
Fix some comments
2016-11-16 19:11:31 -06:00
Gregory Nutt
4ca653a1cc
Add some experimental changes to enter/leave_critical_section to deal with the case where interrupts are disabled only on the local CPU
2016-11-16 18:28:35 -06:00
Gregory Nutt
6a875bcb61
Xtensa: Add EXPERIMENTAL hooks to support lazy co-processor state restore in the future.
2016-11-16 06:48:13 -06:00
Gregory Nutt
5ce3b399d5
Correct some typos in comments
2016-11-15 16:48:40 -06:00
Gregory Nutt
40d7216a22
Back out 65ab12 and parts of 21f92b
2016-11-15 15:44:43 -06:00
Gregory Nutt
1b16e5a9e3
Merge branch 'master' of bitbucket.org:nuttx/nuttx
2016-11-15 13:25:42 -06:00
Gregory Nutt
6683f01444
Trivial change to comment
2016-11-15 13:38:43 -06:00
Gregory Nutt
23d2915179
Update README
2016-11-15 13:25:30 -06:00
Gregory Nutt
21f92ba601
Review some SMP logic; update comments; refresh configuration.
2016-11-15 09:24:00 -06:00
Gregory Nutt
65ab12fbb9
If SMP is enabled, if any interrupt handler calls enter_critical_section(), it should take the spinlock.
2016-11-15 08:37:58 -06:00
Gregory Nutt
b53866c872
sched/irq: Change order for SMP case in enter_critical_section: Disble local interrupts BEFORE taking spinlock.
2016-11-15 07:54:18 -06:00
Gregory Nutt
e2f999a5df
Update Changelog
2016-11-15 07:35:30 -06:00
Gregory Nutt
a2531cea0c
ESP32: Refresh configurations, update README
2016-11-15 07:28:37 -06:00
Eunbong Song
4545af3249
sleep() was returning remaining nanoseconds (kind of), instead the remaining seconds.
2016-11-15 06:47:59 -06:00
Gregory Nutt
5dfc5f1da5
ESP32 Core v2: Add configuration to supporting linking NuttX for execution out of IRAM.
2016-11-14 17:51:50 -06:00
Gregory Nutt
96e7d1c310
Update REAMME
2016-11-14 16:41:37 -06:00
Gregory Nutt
0ed0217be2
ESP32: Trivial typo prevent good link
2016-11-14 13:41:30 -06:00
Gregory Nutt
c84db68103
Xtensa ESP32: Fix some compilation errors that snuck with some of the last changes
2016-11-14 13:29:08 -06:00
Gregory Nutt
3b6c4b37b0
Update README
2016-11-14 12:54:29 -06:00