On Mon, Jun 4, 2018 at 10:56 PM Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> wrote: > > Hi Tomasz, > > On 06/04/2018 04:18 PM, Tomasz Figa wrote: > > Hi Vikash, > > > > On Sat, Jun 2, 2018 at 5:27 AM Vikash Garodia <vgarodia@xxxxxxxxxxxxxx> wrote: > >> +static int __init venus_init(void) > >> +{ > >> + int ret; > >> + > >> + ret = platform_driver_register(&qcom_video_firmware_driver); > >> + if (ret) > >> + return ret; > > > > Do we really need this firmware driver? As far as I can see, the > > approach used here should work even without any driver bound to the > > firmware device. > > We need device/driver bind because we need to call dma_configure() which > internally doing iommus sID parsing. I can see some drivers calling of_dma_configure() directly: https://elixir.bootlin.com/linux/latest/ident/of_dma_configure I'm not sure if it's more elegant, but should at least require less code. By the way, can we really assume that probe of firmware platform device really completes before we call venus_boot()? Best regards, Tomasz -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html