Message ID | 20180515075859.17217-8-stanimir.varbanov@linaro.org |
---|---|
State | New |
Headers | show |
Series | [v2,01/29] venus: hfi_msgs: correct pointer increment | expand |
Hi Tomasz, On 05/18/2018 05:23 PM, Tomasz Figa wrote: > On Tue, May 15, 2018 at 5:12 PM Stanimir Varbanov < > stanimir.varbanov@linaro.org> wrote: > >> Add AXI halt support for version 4xx by using venus wrapper >> registers. > >> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> >> --- >> drivers/media/platform/qcom/venus/hfi_venus.c | 17 +++++++++++++++++ >> 1 file changed, 17 insertions(+) > >> diff --git a/drivers/media/platform/qcom/venus/hfi_venus.c > b/drivers/media/platform/qcom/venus/hfi_venus.c >> index 734ce11b0ed0..53546174aab8 100644 >> --- a/drivers/media/platform/qcom/venus/hfi_venus.c >> +++ b/drivers/media/platform/qcom/venus/hfi_venus.c >> @@ -532,6 +532,23 @@ static int venus_halt_axi(struct venus_hfi_device > *hdev) >> u32 val; >> int ret; > >> + if (hdev->core->res->hfi_version == HFI_VERSION_4XX) { >> + val = venus_readl(hdev, WRAPPER_CPU_AXI_HALT); >> + val |= BIT(16); > > Can we have the bit defined? > >> + venus_writel(hdev, WRAPPER_CPU_AXI_HALT, val); >> + >> + ret = readl_poll_timeout(base + > WRAPPER_CPU_AXI_HALT_STATUS, >> + val, val & BIT(24), > > Ditto. Sure will add defines. -- regards, Stan
diff --git a/drivers/media/platform/qcom/venus/hfi_venus.c b/drivers/media/platform/qcom/venus/hfi_venus.c index 734ce11b0ed0..53546174aab8 100644 --- a/drivers/media/platform/qcom/venus/hfi_venus.c +++ b/drivers/media/platform/qcom/venus/hfi_venus.c @@ -532,6 +532,23 @@ static int venus_halt_axi(struct venus_hfi_device *hdev) u32 val; int ret; + if (hdev->core->res->hfi_version == HFI_VERSION_4XX) { + val = venus_readl(hdev, WRAPPER_CPU_AXI_HALT); + val |= BIT(16); + venus_writel(hdev, WRAPPER_CPU_AXI_HALT, val); + + ret = readl_poll_timeout(base + WRAPPER_CPU_AXI_HALT_STATUS, + val, val & BIT(24), + POLL_INTERVAL_US, + VBIF_AXI_HALT_ACK_TIMEOUT_US); + if (ret) { + dev_err(dev, "AXI bus port halt timeout\n"); + return ret; + } + + return 0; + } + /* Halt AXI and AXI IMEM VBIF Access */ val = venus_readl(hdev, VBIF_AXI_HALT_CTRL0); val |= VBIF_AXI_HALT_CTRL0_HALT_REQ;
Add AXI halt support for version 4xx by using venus wrapper registers. Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> --- drivers/media/platform/qcom/venus/hfi_venus.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) -- 2.14.1