Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dmaengine: ste_dma40: Fetch the number of physical channels from DT

Some platforms insist on obscure physical channel availability. This
information is currently passed though platform data in internal BSP
kernels. Once those platforms land, they'll need to configure them
appropriately, so we may as well add the infrastructure.

Cc: Dan Williams <djbw@fb.com>
Cc: Per Forlin <per.forlin@stericsson.com>
Cc: Rabin Vincent <rabin@rab.in>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Lee Jones and committed by
Linus Walleij
fd59f9e6 0117f7c7

+6 -1
+6 -1
drivers/dma/ste_dma40.c
··· 3482 3482 struct device_node *np) 3483 3483 { 3484 3484 struct stedma40_platform_data *pdata; 3485 - int num_memcpy = 0; 3485 + int num_phy = 0, num_memcpy = 0; 3486 3486 const const __be32 *list; 3487 3487 3488 3488 pdata = devm_kzalloc(&pdev->dev, ··· 3490 3490 GFP_KERNEL); 3491 3491 if (!pdata) 3492 3492 return -ENOMEM; 3493 + 3494 + /* If absent this value will be obtained from h/w. */ 3495 + of_property_read_u32(np, "dma-channels", &num_phy); 3496 + if (num_phy > 0) 3497 + pdata->num_of_phy_chans = num_phy; 3493 3498 3494 3499 list = of_get_property(np, "memcpy-channels", &num_memcpy); 3495 3500 num_memcpy /= sizeof(*list);