remoteproc: qcom: Introduce panic handler for PAS and ADSP
Make the PAS and ADSP/CDSP remoteproc drivers implement the panic handler that will invoke a stop to prepare the remoteprocs for post mortem debugging. Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org> Link: https://lore.kernel.org/r/20200324052904.738594-5-bjorn.andersson@linaro.org Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
parent
e9142f5c28
commit
717c21bad1
@ -282,12 +282,20 @@ static void *adsp_da_to_va(struct rproc *rproc, u64 da, size_t len)
|
|||||||
return adsp->mem_region + offset;
|
return adsp->mem_region + offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static unsigned long adsp_panic(struct rproc *rproc)
|
||||||
|
{
|
||||||
|
struct qcom_adsp *adsp = rproc->priv;
|
||||||
|
|
||||||
|
return qcom_q6v5_panic(&adsp->q6v5);
|
||||||
|
}
|
||||||
|
|
||||||
static const struct rproc_ops adsp_ops = {
|
static const struct rproc_ops adsp_ops = {
|
||||||
.start = adsp_start,
|
.start = adsp_start,
|
||||||
.stop = adsp_stop,
|
.stop = adsp_stop,
|
||||||
.da_to_va = adsp_da_to_va,
|
.da_to_va = adsp_da_to_va,
|
||||||
.parse_fw = qcom_register_dump_segments,
|
.parse_fw = qcom_register_dump_segments,
|
||||||
.load = adsp_load,
|
.load = adsp_load,
|
||||||
|
.panic = adsp_panic,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int adsp_init_clock(struct qcom_adsp *adsp, const char **clk_ids)
|
static int adsp_init_clock(struct qcom_adsp *adsp, const char **clk_ids)
|
||||||
|
@ -234,12 +234,20 @@ static void *adsp_da_to_va(struct rproc *rproc, u64 da, size_t len)
|
|||||||
return adsp->mem_region + offset;
|
return adsp->mem_region + offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static unsigned long adsp_panic(struct rproc *rproc)
|
||||||
|
{
|
||||||
|
struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv;
|
||||||
|
|
||||||
|
return qcom_q6v5_panic(&adsp->q6v5);
|
||||||
|
}
|
||||||
|
|
||||||
static const struct rproc_ops adsp_ops = {
|
static const struct rproc_ops adsp_ops = {
|
||||||
.start = adsp_start,
|
.start = adsp_start,
|
||||||
.stop = adsp_stop,
|
.stop = adsp_stop,
|
||||||
.da_to_va = adsp_da_to_va,
|
.da_to_va = adsp_da_to_va,
|
||||||
.parse_fw = qcom_register_dump_segments,
|
.parse_fw = qcom_register_dump_segments,
|
||||||
.load = adsp_load,
|
.load = adsp_load,
|
||||||
|
.panic = adsp_panic,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int adsp_init_clock(struct qcom_adsp *adsp)
|
static int adsp_init_clock(struct qcom_adsp *adsp)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user