Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

imxrt:serial rxdma reporting incorrect characters #10911

Conversation

danielappiagyei-bc
Copy link
Contributor

@danielappiagyei-bc danielappiagyei-bc commented Oct 15, 2023

Summary

Fixes issue #10912
See #11020 for PR that fixes this issue

Impact

TODO

Testing

TODO

DO NOT MERGE YET

arch/arm/src/imxrt/imxrt_serial.c Outdated Show resolved Hide resolved
arch/arm/src/imxrt/imxrt_serial.c Show resolved Hide resolved
arch/arm/src/imxrt/imxrt_serial.c Outdated Show resolved Hide resolved
Copy link
Contributor

@davids5 davids5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@danielappiagyei-bc Great! - The residual change needs to be applied the S32K, and K66

arch/arm/src/imxrt/imxrt_serial.c Outdated Show resolved Hide resolved
arch/arm/src/imxrt/imxrt_serial.c Show resolved Hide resolved
arch/arm/src/imxrt/imxrt_serial.c Outdated Show resolved Hide resolved
…r, add helpful warning re. preconfigured TCDs
@danielappiagyei-bc
Copy link
Contributor Author

@danielappiagyei-bc Great! - The residual change needs to be applied the S32K, and K66

Hi @davids5 , I've now applied these changes to the S32K devices but couldn't find a "k66", could you point me to the file?
Also I didn't enable an interrupt for overruns on these S32K devices, would you like me to? Thanks

@davids5
Copy link
Contributor

davids5 commented Oct 16, 2023

@danielappiagyei-bc Great! - The residual change needs to be applied the S32K, and K66

Hi @davids5 , I've now applied these changes to the S32K devices but couldn't find a "k66", could you point me to the file? Also I didn't enable an interrupt for overruns on these S32K devices, would you like me to? Thanks

Sorry I called it by name not family https://github.com/apache/nuttx/blob/master/arch/arm/src/kinetis/kinetis_edma.c

@acassis acassis marked this pull request as draft October 16, 2023 13:40
@davids5
Copy link
Contributor

davids5 commented Oct 24, 2023

@danielappiagyei-bc Great! - The residual change needs to be applied the S32K, and K66

Hi @davids5 , I've now applied these changes to the S32K devices but couldn't find a "k66", could you point me to the file? Also I didn't enable an interrupt for overruns on these S32K devices, would you like me to? Thanks

Sorry I called it by name not family https://github.com/apache/nuttx/blob/master/arch/arm/src/kinetis/kinetis_edma.c

So strike this. See #10912 (comment)

You might want to rebase on master after #11020 comes in and bring in all the other bits not related to serial or DMA

@danielappiagyei-bc
Copy link
Contributor Author

So strike this. See #10912 (comment)

You might want to rebase on master after #11020 comes in and bring in all the other bits not related to serial or DMA

Thanks david, I will close this PR and create a new one for the leftover changes. This will be:

  • typos
  • adding IMXRT_SERIAL_RXDMA_BUFFER_SIZE as a kconfig
  • add missing uintptr_t base; declaration to arch/arm/src/imxrt/imxrt_edma.c so compiling with CONFIG_DEBUG_DMA=y works
  • enabling LPUART_CTRL_ORIE for overruns in arch/arm/src/imxrt/imxrt_serial.c. It's an error condition just like the noise, framing, and parity error interrupts we have enabled and we are already explicitly clearing it in here

@danielappiagyei-bc
Copy link
Contributor Author

So strike this. See #10912 (comment)

You might want to rebase on master after #11020 comes in and bring in all the other bits not related to serial or DMA

Per david, he has found the cause to the issue and is fixing in his PR. See #10911 (comment) for what I will add in followup PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

imxrt: serial dma rx occasionally reports incorrect byte
4 participants