-
Notifications
You must be signed in to change notification settings - Fork 3k
Silicon Labs: Add support for hardware CRC #7479
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
Conversation
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.
LGTM. Will wait for one other before starting CI
LGTM |
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.
Implementation consistent with the requirements.
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.
LGTM! Thanks @stevew817
/morph build |
Build : SUCCESSBuild number : 2583 Triggering tests/morph test |
Exporter Build : SUCCESSBuild number : 2225 |
Test : SUCCESSBuild number : 2335 |
|
||
bool hal_crc_is_supported(const crc_mbed_config_t *config) | ||
{ | ||
//GPCRC supports any 16-bit poly, but only the CCITT 32-bit poly |
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.
Looks good to me, just one query / concern, GPCRC_PRESENT will always be present for all targets?
In case DEVICE_CRC is true and GPCRC_PRESENT is not defined hal_crc_is_supported
should return false and rest of the API's should just return.
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.
DEVICE_CRC is a target-specific definition through targets.json, while GPCRC_PRESENT is a Silicon Labs CMSIS define. If a device doesn't have a GPCRC engine, then we don't add the CRC capability to its entry in targets.json.
The reason for still having the DEVICE_CRC define is to allow people to turn off CRC acceleration if they should want to do so.
Rebased on master and added CRC capability to EFM32GG11 as well, now that #7079 was merged. |
/morph build |
Build : SUCCESSBuild number : 2614 Triggering tests/morph test |
Test : SUCCESSBuild number : 2364 |
@0xc0170 Is the exporter really still 'in progress' after 16 hours? |
Completed but not reported back, restarting /morph export-build |
@0xc0170 Still nothing... |
That's weird. I've never seen the pipeline get stuck like that... /morph export-build Should be <2h now. |
@cmonr No dice... |
Exporter Build : FAILUREBuild number : 2272 |
Oh goodness, looks like either someone needs to make a call to Sweden or implement better resource management for CI resources... |
Sorry, but it looks like the CI is having a day... |
/morph export-build |
Exporter Build : SUCCESSBuild number : 2274 |
Silicon Labs: Add support for hardware CRC
Description
Adding in support for the mbed CRC API, such that CRC calculations can be accelerated by hardware on EFM32PG, EFR32MG and EFM32GG11.
Test results:
Pull request type