Hi Iaroslav, Could you Cc linux-arm-msm ML next time. Cc: Stephen and linux-arm-msm Andy, Stephen probably we don't have conclusion about adding those two clocks in bam driver but do you have some better ideas? On 08/30/2016 06:42 PM, Iaroslav Gridin wrote: > From: Voker57 <voker57@xxxxxxxxx> > > These initialization are missing and causing bam not to init > Signed-off-by: Iaroslav Gridin <voker57@xxxxxxxxx> > --- > drivers/dma/qcom/bam_dma.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c > index 03c4eb3..faae0c8 100644 > --- a/drivers/dma/qcom/bam_dma.c > +++ b/drivers/dma/qcom/bam_dma.c > @@ -395,6 +395,8 @@ struct bam_device { > const struct reg_offset_data *layout; > > struct clk *bamclk; > + struct clk *axi_clk; > + struct clk *core_clk; > int irq; > > /* dma start transaction tasklet */ > @@ -1189,6 +1191,25 @@ static int bam_dma_probe(struct platform_device *pdev) > return ret; > } > > + bdev->axi_clk = devm_clk_get(bdev->dev, "axi_clk"); > + if (IS_ERR(bdev->axi_clk)) > + bdev->axi_clk = NULL; > + > + ret = clk_prepare_enable(bdev->axi_clk); > + if (ret) { > + dev_err(bdev->dev, "failed to prepare/enable axi clock\n"); > + return ret; > + } > + > + bdev->core_clk = devm_clk_get(bdev->dev, "core_clk"); > + if (IS_ERR(bdev->core_clk)) > + bdev->core_clk = NULL; > + > + ret = clk_prepare_enable(bdev->core_clk); > + if (ret) { > + dev_err(bdev->dev, "failed to prepare/enable core clock\n"); > + return ret; > + } > ret = bam_init(bdev); > if (ret) > goto err_disable_clk; > regards, Stan -- regards, Stan -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html