aboutsummaryrefslogtreecommitdiff
path: root/drivers/firmware/firmware-zynqmp.c
diff options
context:
space:
mode:
authorMichal Simek2021-11-18 13:00:02 +0100
committerMichal Simek2022-01-05 10:22:02 +0100
commit380bd08370b363a4bfe76e70fbbaead10541445b (patch)
tree61dc5215f5db0281ba427ab8c602261ed74a1cbc /drivers/firmware/firmware-zynqmp.c
parent67bf8888506150c7e72d5edfef1856976832a005 (diff)
xilinx: firmware: Move dcache handling directly to pmufw load config
Core function should make sure that data is stored properly that's why move cache operations directly to zynqmp_pmufw_load_config_object() to be able to call it from other functions. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Link: https://lore.kernel.org/r/8c92edd3650ce34a3cfd1c1e4e9103980830b1fa.1637236800.git.michal.simek@xilinx.com
Diffstat (limited to 'drivers/firmware/firmware-zynqmp.c')
-rw-r--r--drivers/firmware/firmware-zynqmp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/firmware/firmware-zynqmp.c b/drivers/firmware/firmware-zynqmp.c
index b44fede3079..aa20e33b404 100644
--- a/drivers/firmware/firmware-zynqmp.c
+++ b/drivers/firmware/firmware-zynqmp.c
@@ -6,6 +6,7 @@
*/
#include <common.h>
+#include <cpu_func.h>
#include <dm.h>
#include <log.h>
#include <zynqmp_firmware.h>
@@ -99,6 +100,8 @@ void zynqmp_pmufw_load_config_object(const void *cfg_obj, size_t size)
printf("Loading new PMUFW cfg obj (%ld bytes)\n", size);
+ flush_dcache_range((ulong)cfg_obj, (ulong)(cfg_obj + size));
+
err = xilinx_pm_request(PM_SET_CONFIGURATION, (u32)(u64)cfg_obj, 0, 0,
0, ret_payload);
if (err == XST_PM_NO_ACCESS) {