]> git.baikalelectronics.ru Git - arm-tf.git/commit
fix(intel): always set doorbell to SDM after sending command
authorSiew Chin Lim <elly.siew.chin.lim@intel.com>
Thu, 29 Jul 2021 16:40:48 +0000 (00:40 +0800)
committerSieu Mun Tang <sieu.mun.tang@intel.com>
Wed, 23 Feb 2022 08:29:03 +0000 (16:29 +0800)
commite93551bb3bd8ac43779fa70c7363ee2568da45ca
tree97389c0184de9449e210832a2e5e2a974f9211f9
parentc9c070994caedf123212aad23b6942122c5dd793
fix(intel): always set doorbell to SDM after sending command

This patch fixes the mailbox stall issue when sending mailbox command
that is larger than mailbox command FIFO size.

Large mailbox command will be sent to SDM in multiple chunks. HPS will
set doorbell to SDM when command FIFO full (is_doorbell_triggered will
be set to 1) to notify SDM to read the command data from FIFO, so that
HPS can continue to send the next chunk of command data.

However, HPS will not set the doorbell to SDM at the end if the doorbell
have been set earlier due to FIFO full. This will cause SDM mailbox
service stall because it is still waiting for last chunk of command data.

This patch fixes the code to always set the doorbell to SDM at the end
to get rid of stall issue.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Change-Id: Idbe62410a00d92a30c7aeaa26d53d79a910cac0a
plat/intel/soc/common/soc/socfpga_mailbox.c