Hi Jassi, There is one request for one GCE h/w buffer which contains a list of registers operation. I will resubmit a version and please review again. Thanks, Houlong On Thu, 2018-01-18 at 16:01 +0800, Jassi Brar wrote: > On Mon, Jan 8, 2018 at 2:08 PM, houlong wei <houlong.wei@xxxxxxxxxxxx> wrote: > > Hi Jassi, > > > > Sorry for reply so late. > > According to previous discussion, there are two methods to move > > dma_map_single() outside of spin_lock. > > (1) put in mtk-cmdq-helper.c, as described by HS on 2017-02-09. > > > I think a trade-off solution is to put in mtk-cmdq-helper.c. > > > Although it is a mailbox client, it is not a CMDQ client. > > > We can include mailbox_controller.h in mtk-cmdq-helper.c (instead of > > mtk-cmdq.h), and then map dma at cmdq_pkt_flush_async before > > mbox_send_message. > > > > > pkt->pa_base = dma_map_single(client->chan->mbox->dev, pkt->va_base, > > > pkt->cmd_buf_size, DMA_TO_DEVICE); > > (2) schedule a tasklet in send_data(). > > > > After internal discussion with HS and other experts, now we prefer > > method (1). > > How do you think about it? > > > I don't exactly see how you mean but please remember send_data() > callback is supposed to be atomic ... it is protected by > spin_lock_irqsave/restore in drivers/mailbox/mailbox.c:msg_submit() > > BTW, how many requests max can be queued in the GCE h/w buffer? > And since it's been over a year now, could you please resubmit after > checking for checkpatch with the --strict option? > > Thanks. -- 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