ivpu_mmu.c (e013aa9ab01b400cccc6c3e8b969b8e7f10bc6cb) | ivpu_mmu.c (0c287c27fbffa2737f155af73646a794e540e1d3) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (C) 2020-2023 Intel Corporation 4 */ 5 6#include <linux/circ_buf.h> 7#include <linux/highmem.h> 8 --- 486 unchanged lines hidden (view full) --- 495} 496 497static int ivpu_mmu_cmdq_sync(struct ivpu_device *vdev) 498{ 499 struct ivpu_mmu_queue *q = &vdev->mmu->cmdq; 500 u64 val; 501 int ret; 502 | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (C) 2020-2023 Intel Corporation 4 */ 5 6#include <linux/circ_buf.h> 7#include <linux/highmem.h> 8 --- 486 unchanged lines hidden (view full) --- 495} 496 497static int ivpu_mmu_cmdq_sync(struct ivpu_device *vdev) 498{ 499 struct ivpu_mmu_queue *q = &vdev->mmu->cmdq; 500 u64 val; 501 int ret; 502 |
503 val = FIELD_PREP(IVPU_MMU_CMD_OPCODE, CMD_SYNC) | 504 FIELD_PREP(IVPU_MMU_CMD_SYNC_0_CS, 0x2) | 505 FIELD_PREP(IVPU_MMU_CMD_SYNC_0_MSH, 0x3) | 506 FIELD_PREP(IVPU_MMU_CMD_SYNC_0_MSI_ATTR, 0xf); | 503 val = FIELD_PREP(IVPU_MMU_CMD_OPCODE, CMD_SYNC); |
507 508 ret = ivpu_mmu_cmdq_cmd_write(vdev, "SYNC", val, 0); 509 if (ret) 510 return ret; 511 512 clflush_cache_range(q->base, IVPU_MMU_CMDQ_SIZE); 513 REGV_WR32(IVPU_MMU_REG_CMDQ_PROD, q->prod); 514 --- 439 unchanged lines hidden --- | 504 505 ret = ivpu_mmu_cmdq_cmd_write(vdev, "SYNC", val, 0); 506 if (ret) 507 return ret; 508 509 clflush_cache_range(q->base, IVPU_MMU_CMDQ_SIZE); 510 REGV_WR32(IVPU_MMU_REG_CMDQ_PROD, q->prod); 511 --- 439 unchanged lines hidden --- |