| /rk3399_ARM-atf/plat/xilinx/versal_net/include/ |
| H A D | plat_private.h | 07625d9dd42d81c0e15f101fc0b6efa1c784b6f4 Wed Dec 20 10:45:03 UTC 2023 Prasad Kummari <prasad.kummari@amd.com> fix(versal-net): setup counter frequency
Refactor the system counter configuration into the syscnt_freq_config_setup() function as it involves timestamp and system counter configuration, which requires early configuration for clock setup and read the value of the IOU_SCNTRS_BASE_FREQ register using mmio_read_32() to determine the counter frequency.
If the counter frequency is zero, the system will set the default CPU clocks constants in TF-A and displays message. However, if the counter frequency is non-zero, the program will return the value stored in the IOU_SCNTRS_BASE_FREQ register.
The issue lies in dcc_status_timeout(),function verifying timeout status, particularly within timeout_cnt_us2cnt(), converting microseconds to counter ticks using read_cntfrq_el0(), which returns zero. timeout_elapsed() then checks if the current counter from read_cntpct_el0() exceeds the expiration count, reached to timeout.
After the function set_cnt_freq() writes into the counter frequency register, the function timeout_cnt_us2cnt() is used to obtain the appropriate counter ticks. Subsequently, the function timeout_elapsed() checks whether the current counter value read_cntpct_el0() has exceeded the specified expiration count. If it has, this indicates that the timeout has lapsed.
Change-Id: Ib9ed3493d22f23c832f8bb7d11c4f727fe1ebe3c Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
|
| /rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/ |
| H A D | versal_net_common.c | 07625d9dd42d81c0e15f101fc0b6efa1c784b6f4 Wed Dec 20 10:45:03 UTC 2023 Prasad Kummari <prasad.kummari@amd.com> fix(versal-net): setup counter frequency
Refactor the system counter configuration into the syscnt_freq_config_setup() function as it involves timestamp and system counter configuration, which requires early configuration for clock setup and read the value of the IOU_SCNTRS_BASE_FREQ register using mmio_read_32() to determine the counter frequency.
If the counter frequency is zero, the system will set the default CPU clocks constants in TF-A and displays message. However, if the counter frequency is non-zero, the program will return the value stored in the IOU_SCNTRS_BASE_FREQ register.
The issue lies in dcc_status_timeout(),function verifying timeout status, particularly within timeout_cnt_us2cnt(), converting microseconds to counter ticks using read_cntfrq_el0(), which returns zero. timeout_elapsed() then checks if the current counter from read_cntpct_el0() exceeds the expiration count, reached to timeout.
After the function set_cnt_freq() writes into the counter frequency register, the function timeout_cnt_us2cnt() is used to obtain the appropriate counter ticks. Subsequently, the function timeout_elapsed() checks whether the current counter value read_cntpct_el0() has exceeded the specified expiration count. If it has, this indicates that the timeout has lapsed.
Change-Id: Ib9ed3493d22f23c832f8bb7d11c4f727fe1ebe3c Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
|
| /rk3399_ARM-atf/plat/xilinx/versal_net/ |
| H A D | platform.mk | 07625d9dd42d81c0e15f101fc0b6efa1c784b6f4 Wed Dec 20 10:45:03 UTC 2023 Prasad Kummari <prasad.kummari@amd.com> fix(versal-net): setup counter frequency
Refactor the system counter configuration into the syscnt_freq_config_setup() function as it involves timestamp and system counter configuration, which requires early configuration for clock setup and read the value of the IOU_SCNTRS_BASE_FREQ register using mmio_read_32() to determine the counter frequency.
If the counter frequency is zero, the system will set the default CPU clocks constants in TF-A and displays message. However, if the counter frequency is non-zero, the program will return the value stored in the IOU_SCNTRS_BASE_FREQ register.
The issue lies in dcc_status_timeout(),function verifying timeout status, particularly within timeout_cnt_us2cnt(), converting microseconds to counter ticks using read_cntfrq_el0(), which returns zero. timeout_elapsed() then checks if the current counter from read_cntpct_el0() exceeds the expiration count, reached to timeout.
After the function set_cnt_freq() writes into the counter frequency register, the function timeout_cnt_us2cnt() is used to obtain the appropriate counter ticks. Subsequently, the function timeout_elapsed() checks whether the current counter value read_cntpct_el0() has exceeded the specified expiration count. If it has, this indicates that the timeout has lapsed.
Change-Id: Ib9ed3493d22f23c832f8bb7d11c4f727fe1ebe3c Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
|
| H A D | bl31_versal_net_setup.c | 07625d9dd42d81c0e15f101fc0b6efa1c784b6f4 Wed Dec 20 10:45:03 UTC 2023 Prasad Kummari <prasad.kummari@amd.com> fix(versal-net): setup counter frequency
Refactor the system counter configuration into the syscnt_freq_config_setup() function as it involves timestamp and system counter configuration, which requires early configuration for clock setup and read the value of the IOU_SCNTRS_BASE_FREQ register using mmio_read_32() to determine the counter frequency.
If the counter frequency is zero, the system will set the default CPU clocks constants in TF-A and displays message. However, if the counter frequency is non-zero, the program will return the value stored in the IOU_SCNTRS_BASE_FREQ register.
The issue lies in dcc_status_timeout(),function verifying timeout status, particularly within timeout_cnt_us2cnt(), converting microseconds to counter ticks using read_cntfrq_el0(), which returns zero. timeout_elapsed() then checks if the current counter from read_cntpct_el0() exceeds the expiration count, reached to timeout.
After the function set_cnt_freq() writes into the counter frequency register, the function timeout_cnt_us2cnt() is used to obtain the appropriate counter ticks. Subsequently, the function timeout_elapsed() checks whether the current counter value read_cntpct_el0() has exceeded the specified expiration count. If it has, this indicates that the timeout has lapsed.
Change-Id: Ib9ed3493d22f23c832f8bb7d11c4f727fe1ebe3c Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
|