> -----Original Message----- > From: Radhey Shyam Pandey > Sent: Friday, September 27, 2019 10:46 AM > To: Vinod Koul <vkoul@xxxxxxxxxx> > Cc: dan.j.williams@xxxxxxxxx; Michal Simek <michals@xxxxxxxxxx>; > nick.graumann@xxxxxxxxx; andrea.merello@xxxxxxxxx; Appana Durga > Kedareswara Rao <appanad@xxxxxxxxxx>; mcgrof@xxxxxxxxxx; > dmaengine@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Subject: RE: [PATCH -next 3/8] dmaengine: xilinx_dma: Introduce > xilinx_dma_get_residue > > > -----Original Message----- > > From: Vinod Koul <vkoul@xxxxxxxxxx> > > Sent: Thursday, September 26, 2019 10:48 PM > > To: Radhey Shyam Pandey <radheys@xxxxxxxxxx> > > Cc: dan.j.williams@xxxxxxxxx; Michal Simek <michals@xxxxxxxxxx>; > > nick.graumann@xxxxxxxxx; andrea.merello@xxxxxxxxx; Appana Durga > > Kedareswara Rao <appanad@xxxxxxxxxx>; mcgrof@xxxxxxxxxx; > > dmaengine@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > > Subject: Re: [PATCH -next 3/8] dmaengine: xilinx_dma: Introduce > > xilinx_dma_get_residue > > > > On 26-09-19, 05:52, Radhey Shyam Pandey wrote: > > > > > > > + * VDMA and simple mode do not support residue reporting, > so the > > > > > + * residue field will always be 0. > > > > > + */ > > > > > + if (chan->xdev->dma_config->dmatype == > XDMA_TYPE_VDMA || > > > > !chan->has_sg) > > > > > + return residue; > > > > > > > > why not check this in status callback? > > > Assuming we mean to move vdma and non-sg check to > > xilinx_dma_tx_status. > > > Just a thought- Keeping this check in xilinx_dma_get_residue > > > provides an abstraction and caller can simply call this func with > > > knowing about IP config specific residue calculation. Considering > > > this point does it looks ok ? > > > > well you are checking either way, so calling the lower level function > > only when you need it makes more sense! > > Sure, will do it in v2. Just noticed that xilinx_dma_get_residue() is called at the multiple places i.e one in device_tx_status and other in _complete_descriptor. To avoid code duplication, I will create a helper function to check if residue calculation is supported. > > > > -- > > ~Vinod