-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
applications: sdp: no copy IPC #20116
base: main
Are you sure you want to change the base?
Conversation
CI InformationTo view the history of this post, clich the 'edited' button above Inputs:Sources:sdk-nrf: PR head: 523a617b014febf9bf538fda3debe39f0f318473 more detailssdk-nrf:
Github labels
List of changed files detected by CI (6)
Outputs:ToolchainVersion: 342151af73 Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
You can find the documentation preview for this PR at this link. Note: This comment is automatically posted by the Documentation Publish GitHub Action. |
bdeae8e
to
5d6c142
Compare
include/drivers/mspi/nrfe_mspi.h
Outdated
@@ -16,6 +16,8 @@ extern "C" { | |||
|
|||
#ifdef CONFIG_SOC_NRF54L15 | |||
|
|||
#define NRFE_MSPI_NO_COPY_IPC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be an option in Kconfig, set to default value depending on the platform.
116dc9c
to
f2fd5ad
Compare
Fixed bug where after increasing bus width using buffered registers, in first clock cycle the mask for previous bus width was still present. Signed-off-by: Michal Frankiewicz <[email protected]>
f2fd5ad
to
eccb841
Compare
@@ -359,9 +366,12 @@ static void ep_recv(const void *data, size_t len, void *priv) | |||
xfer_config->xfer_config.command_length != 0 || | |||
xfer_config->xfer_config.address_length != 0); | |||
|
|||
#ifdef NRFE_MSPI_NO_COPY_IPC | |||
nrfe_mspi_xfer_config_ptr = &xfer_config->xfer_config; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is such a hacky move, I do not like it. mspi_xfer_config_msg
(and xfer_config
, as it is part of it) is created in nrfe_mspi.c
right before calling send_config
, which means, it is a local variable, and it will be deallocated the moment APP leaves xfer_packet
. I admit, it will work now, as xfer_packet
also sends packets right after sending xfer_config
. However, this is such a big risk in terms of memory violation. What if someone decides, that they will split xfer_packet
function into two, one that will send xfer_config, and the other, that would send the packets? Then this will no longer work.
@masz-nordic do you think we can accept the risk that comes with this solution?
Added workarounds to hardware issue causing, additional clock edge in spi modes 1-3. Signed-off-by: Michal Frankiewicz <[email protected]>
Implemented option to pass data between cores through IPC by reference. Signed-off-by: Michal Frankiewicz <[email protected]>
Implemented option to pass data between cores through IPC by reference. Signed-off-by: Michal Frankiewicz <[email protected]>
eccb841
to
523a617
Compare
Depends on #20017