dmaengine: ti: k3-udma-glue: Get the ringacc from udma_dev
If of_xudma_dev_get() returns with the valid udma_dev then the driver already got the ringacc, there is no need to execute of_k3_ringacc_get_by_phandle() for each channel via the glue layer. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com> Link: https://lore.kernel.org/r/20201208090440.31792-6-peter.ujfalusi@ti.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
Родитель
426506a7e0
Коммит
aa8a4c4eda
|
@ -86,15 +86,11 @@ struct k3_udma_glue_rx_channel {
|
|||
static int of_k3_udma_glue_parse(struct device_node *udmax_np,
|
||||
struct k3_udma_glue_common *common)
|
||||
{
|
||||
common->ringacc = of_k3_ringacc_get_by_phandle(udmax_np,
|
||||
"ti,ringacc");
|
||||
if (IS_ERR(common->ringacc))
|
||||
return PTR_ERR(common->ringacc);
|
||||
|
||||
common->udmax = of_xudma_dev_get(udmax_np, NULL);
|
||||
if (IS_ERR(common->udmax))
|
||||
return PTR_ERR(common->udmax);
|
||||
|
||||
common->ringacc = xudma_get_ringacc(common->udmax);
|
||||
common->tisci_rm = xudma_dev_get_tisci_rm(common->udmax);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -56,6 +56,12 @@ struct device *xudma_get_device(struct udma_dev *ud)
|
|||
}
|
||||
EXPORT_SYMBOL(xudma_get_device);
|
||||
|
||||
struct k3_ringacc *xudma_get_ringacc(struct udma_dev *ud)
|
||||
{
|
||||
return ud->ringacc;
|
||||
}
|
||||
EXPORT_SYMBOL(xudma_get_ringacc);
|
||||
|
||||
u32 xudma_dev_get_psil_base(struct udma_dev *ud)
|
||||
{
|
||||
return ud->psil_base;
|
||||
|
|
|
@ -113,6 +113,7 @@ int xudma_navss_psil_unpair(struct udma_dev *ud, u32 src_thread,
|
|||
|
||||
struct udma_dev *of_xudma_dev_get(struct device_node *np, const char *property);
|
||||
struct device *xudma_get_device(struct udma_dev *ud);
|
||||
struct k3_ringacc *xudma_get_ringacc(struct udma_dev *ud);
|
||||
void xudma_dev_put(struct udma_dev *ud);
|
||||
u32 xudma_dev_get_psil_base(struct udma_dev *ud);
|
||||
struct udma_tisci_rm *xudma_dev_get_tisci_rm(struct udma_dev *ud);
|
||||
|
|
Загрузка…
Ссылка в новой задаче