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

hwmv2: intel_adsp: Port to HWMv2 #68412

Merged
merged 18 commits into from
Feb 19, 2024

Conversation

golowanow
Copy link
Member

@golowanow golowanow commented Feb 1, 2024

Port intel_adsp SoC family: ace and cavs SoC series, and related board configurations:

  • intel_adsp_cavs25
  • intel_adsp_cavs25_tgph changed to intel_adsp_cavs25/intel_tgl_adsp/tgph
  • intel_adsp_ace15_mtpm
  • intel_adsp_ace20_lnl

cc:

@golowanow
Copy link
Member Author

@tejlmand, @nashif, @dcpleung - for your early feedback as a draft.

@golowanow
Copy link
Member Author

golowanow commented Feb 6, 2024

  1. adjusted to hwmv2: move all non-ported legacy boards and socs to legacy folders #68346
  2. intel_adsp_cavs25_tgph board configuration is converted to a HWMv2 variant intel_adsp_cavs25/intel_tgl_adsp/tgph

Copy link
Member Author

Choose a reason for hiding this comment

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

this move from intel_adsp/common/include to intel_adsp/cavs/ resolves build issue when this header file was applied with the HWMv2 for adsp builds as well

@nashif
Copy link
Member

nashif commented Feb 6, 2024

  • intel_adsp_cavs25_tgph changed to intel_adsp_cavs25/intel_tgl_adsp/tgph

oh wow, not nice at all, @tejlmand, we need away for this to be shorter and to the point, lots of redundancy in that name.

@nordicjm
Copy link
Collaborator

nordicjm commented Feb 7, 2024

  • intel_adsp_cavs25_tgph changed to intel_adsp_cavs25/intel_tgl_adsp/tgph

oh wow, not nice at all, @tejlmand, we need away for this to be shorter and to the point, lots of redundancy in that name.

As said before, if there is only one soc then you can omit the soc, i.e. intel_adsp_cavs25//tgph, that should only be omitted by users on the command line though, .yaml files and sample.yml/testcase.yml should use the full name

soc/intel/intel_adsp/Kconfig Outdated Show resolved Hide resolved
soc/intel/intel_adsp/ace/Kconfig.defconfig.series Outdated Show resolved Hide resolved
soc/intel/intel_adsp/ace/Kconfig.series Outdated Show resolved Hide resolved
soc/intel/intel_adsp/ace/Kconfig.series Outdated Show resolved Hide resolved
soc/intel/intel_adsp/ace/Kconfig.series Outdated Show resolved Hide resolved
soc/intel/intel_adsp/ace/Kconfig.soc Show resolved Hide resolved
soc/intel/intel_adsp/ace/Kconfig.soc Show resolved Hide resolved
soc/intel/intel_adsp/cavs/Kconfig.series Outdated Show resolved Hide resolved
boards/intel/intel_adsp_cavs25/Kconfig.intel_adsp_cavs25 Outdated Show resolved Hide resolved
@nashif
Copy link
Member

nashif commented Feb 7, 2024

As said before, if there is only one soc then you can omit the soc, i.e. intel_adsp_cavs25//tgph, that should only be omitted by users on the command line though, .yaml files and sample.yml/testcase.yml should use the full name

as said before, this context aware board naming and guessing is not ideal and is going to be very error-prone. The fact is that for reference we will need one unique and authorative name for boards and should not rely on the context, i.e. for tooling and what not. Such long names with lots of redundancy are not user or developer friendly at all. I am sure this can be solved in the definition of the board or soc itself, but we are giving a people a rope to hang themselves with and we will end up with 1m long board names with lots of redunancy that is not as intuitive as it may seem.

@nashif
Copy link
Member

nashif commented Feb 7, 2024

@tejlmand @nordicjm btw, there is something very wrong here, SOF failing to build and picking kconfigs from some completely unrelated _defconfig file (for CONFIG_MULTICORE defined in SOF). Looks like some handling of ARCH is not quite right.

@golowanow
Copy link
Member Author

golowanow commented Feb 7, 2024

@tejlmand @nordicjm btw, there is something very wrong here, SOF failing to build and picking kconfigs from some completely unrelated _defconfig file (for CONFIG_MULTICORE defined in SOF). Looks like some handling of ARCH is not quite right.

the proposed fix will be in this PR soon.
I just need to respond to all comments here as well and test it again.

Copy link
Member Author

@golowanow golowanow Feb 8, 2024

Choose a reason for hiding this comment

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

SOF failing to build and picking kconfigs from some completely unrelated _defconfig file (for CONFIG_MULTICORE defined in SOF). Looks like some handling of ARCH is not quite right.

it is where CORE_COUNT is set to default 1 at SOF module when its Kconfig is processed by the HWMv2 altered build sequence (without ARCH set):
https://github.com/zephyrproject-rtos/sof/blob/0606152d4aafc1f7ed43df1b1813252bfc74e154/src/arch/host/Kconfig#L5-L9

so the workaround's idea is to just re-align to MAX_CORE_COUNT MP_MAX_NUM_CPUS of the SoC similar to
https://github.com/zephyrproject-rtos/sof/blob/0606152d4aafc1f7ed43df1b1813252bfc74e154/src/platform/Kconfig#L240-L247

@golowanow
Copy link
Member Author

CI checks with twister fail currently only on non-related to this change boards: mps2_an521_remote, nrf5340bsim_nrf5340_cpuapp, qemu_x86_tiny.

@golowanow
Copy link
Member Author

@tejlmand, @nashif, @dcpleung - up to your attention.

@golowanow
Copy link
Member Author

golowanow commented Feb 17, 2024

re-assign reviewers according to the current Intel Xtensa MAINTAINERS and for HWMv2 check

Copy link
Collaborator

@tejlmand tejlmand left a comment

Choose a reason for hiding this comment

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

Thanks for this porting, but please update the board's Kconfig.

boards/intel/intel_adsp/Kconfig.intel_adsp Outdated Show resolved Hide resolved
boards/intel/intel_adsp/board.cmake Show resolved Hide resolved
@zephyrbot zephyrbot added the DNM This PR should not be merged (Do Not Merge) label Feb 19, 2024
@golowanow golowanow removed the DNM This PR should not be merged (Do Not Merge) label Feb 19, 2024
Copy link
Collaborator

@tejlmand tejlmand left a comment

Choose a reason for hiding this comment

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

approved, but as it turns out board.cmake is created new, then fixing indentation in the process would be nice, but can also be done later.

Rename and join configurations for intel_adsp CAVS and ACE
boards to benefit from HWMv2 shortened names with resulting
names change:

  `intel_adsp_ace15_mtpm` --> `intel_adsp/ace15_mtpm`
  `intel_adsp_ace20_lnl`  --> `intel_adsp/ace20_lnl`

Signed-off-by: Dmitrii Golovanov <[email protected]>
Adjust tests to HWMv2 intel_adsp_ace board name changes.

Signed-off-by: Dmitrii Golovanov <[email protected]>
Disable Pylint compliance check warning `R0801:Similar lines`.

Signed-off-by: Dmitrii Golovanov <[email protected]>
Adjust intel_adsp paths to HWMv2 move.

Signed-off-by: Dmitrii Golovanov <[email protected]>
Index boards/intel/intel_adsp pages.

Signed-off-by: Dmitrii Golovanov <[email protected]>
Provisional link to SOF with adjustment to the HWMv2 new
intel_adsp board names.

Signed-off-by: Dmitrii Golovanov <[email protected]>
@zephyrbot zephyrbot added the DNM This PR should not be merged (Do Not Merge) label Feb 19, 2024
@golowanow
Copy link
Member Author

approved, but as it turns out board.cmake is created new, then fixing indentation in the process would be nice, but can also be done later.

indentation fixed

@golowanow golowanow removed the DNM This PR should not be merged (Do Not Merge) label Feb 19, 2024
@nashif nashif merged commit 78c7630 into zephyrproject-rtos:collab-hwm Feb 19, 2024
22 of 23 checks passed
config CORE_COUNT
int
default MP_MAX_NUM_CPUS
endif
Copy link
Member

Choose a reason for hiding this comment

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

Can't we get rid of this now since we already have to do changes in SOF side ?

@golowanow golowanow deleted the hwmv2_intel_adsp branch February 19, 2024 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants