Re: [PATCH v2 1/6] serial: imx: only set DMA rx-ing when DMA starts
On Thu, Jul 06, 2017 at 10:31:38AM +0200, Romain Perier wrote: > Hello, > > > Le 05/07/2017 à 15:29, Uwe Kleine-König a écrit : > > Hello, > > > > On Wed, Jul 05, 2017 at 03:07:01PM +0200, Romain Perier wrote: > >> From: Nandor Han> >> > >> Avoid the situation when `dma_is_rxing` could incorrectly signal that > >> DMA RX channel is receiving data in case DMA preparation or sg mapping > >> fails. > >> > >> This commit fixes the issues by moving the assignment of dma_is_rxing > >> out of imx_disable_rx_int(), then the variable is set to 1 from > >> start_rx_dma() only when the preparation is correctly done. > > I'd write: > > > > There are a few issues with setting dma_is_rxing to 1 in > > imx_disable_rx_int: > > > > - Currently always after imx_disable_rx_int() the function > >start_rx_dma() is called. This dependency isn't obvious though. > > - start_rx_dma() does error checking and might exit without enabling > >DMA but keeping dma_is_rxing 1. > > > > So the more natural place for setting dma_is_rxing to 1 is in > > start_rx_dma after all errors are checked. > > > > If you use this, there is nothing left of Nandor Han's patch and you can > > drop his authorship. > > > > Best regards > > Uwe > > > Ok, will do. No other feedback for the rest of the series ? (just to > know if I send a v3 or If I wait a bit...) I didn't come around looking in the patches I didn't comment yet. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König| Industrial Linux Solutions | http://www.pengutronix.de/ |
Re: [PATCH v2 1/6] serial: imx: only set DMA rx-ing when DMA starts
On Thu, Jul 06, 2017 at 10:31:38AM +0200, Romain Perier wrote: > Hello, > > > Le 05/07/2017 à 15:29, Uwe Kleine-König a écrit : > > Hello, > > > > On Wed, Jul 05, 2017 at 03:07:01PM +0200, Romain Perier wrote: > >> From: Nandor Han > >> > >> Avoid the situation when `dma_is_rxing` could incorrectly signal that > >> DMA RX channel is receiving data in case DMA preparation or sg mapping > >> fails. > >> > >> This commit fixes the issues by moving the assignment of dma_is_rxing > >> out of imx_disable_rx_int(), then the variable is set to 1 from > >> start_rx_dma() only when the preparation is correctly done. > > I'd write: > > > > There are a few issues with setting dma_is_rxing to 1 in > > imx_disable_rx_int: > > > > - Currently always after imx_disable_rx_int() the function > >start_rx_dma() is called. This dependency isn't obvious though. > > - start_rx_dma() does error checking and might exit without enabling > >DMA but keeping dma_is_rxing 1. > > > > So the more natural place for setting dma_is_rxing to 1 is in > > start_rx_dma after all errors are checked. > > > > If you use this, there is nothing left of Nandor Han's patch and you can > > drop his authorship. > > > > Best regards > > Uwe > > > Ok, will do. No other feedback for the rest of the series ? (just to > know if I send a v3 or If I wait a bit...) I didn't come around looking in the patches I didn't comment yet. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König| Industrial Linux Solutions | http://www.pengutronix.de/ |
Re: [PATCH v2 1/6] serial: imx: only set DMA rx-ing when DMA starts
Hello, Le 05/07/2017 à 15:29, Uwe Kleine-König a écrit : > Hello, > > On Wed, Jul 05, 2017 at 03:07:01PM +0200, Romain Perier wrote: >> From: Nandor Han>> >> Avoid the situation when `dma_is_rxing` could incorrectly signal that >> DMA RX channel is receiving data in case DMA preparation or sg mapping >> fails. >> >> This commit fixes the issues by moving the assignment of dma_is_rxing >> out of imx_disable_rx_int(), then the variable is set to 1 from >> start_rx_dma() only when the preparation is correctly done. > I'd write: > > There are a few issues with setting dma_is_rxing to 1 in > imx_disable_rx_int: > >- Currently always after imx_disable_rx_int() the function > start_rx_dma() is called. This dependency isn't obvious though. >- start_rx_dma() does error checking and might exit without enabling > DMA but keeping dma_is_rxing 1. > > So the more natural place for setting dma_is_rxing to 1 is in > start_rx_dma after all errors are checked. > > If you use this, there is nothing left of Nandor Han's patch and you can > drop his authorship. > > Best regards > Uwe > Ok, will do. No other feedback for the rest of the series ? (just to know if I send a v3 or If I wait a bit...) Thanks, Romain
Re: [PATCH v2 1/6] serial: imx: only set DMA rx-ing when DMA starts
Hello, Le 05/07/2017 à 15:29, Uwe Kleine-König a écrit : > Hello, > > On Wed, Jul 05, 2017 at 03:07:01PM +0200, Romain Perier wrote: >> From: Nandor Han >> >> Avoid the situation when `dma_is_rxing` could incorrectly signal that >> DMA RX channel is receiving data in case DMA preparation or sg mapping >> fails. >> >> This commit fixes the issues by moving the assignment of dma_is_rxing >> out of imx_disable_rx_int(), then the variable is set to 1 from >> start_rx_dma() only when the preparation is correctly done. > I'd write: > > There are a few issues with setting dma_is_rxing to 1 in > imx_disable_rx_int: > >- Currently always after imx_disable_rx_int() the function > start_rx_dma() is called. This dependency isn't obvious though. >- start_rx_dma() does error checking and might exit without enabling > DMA but keeping dma_is_rxing 1. > > So the more natural place for setting dma_is_rxing to 1 is in > start_rx_dma after all errors are checked. > > If you use this, there is nothing left of Nandor Han's patch and you can > drop his authorship. > > Best regards > Uwe > Ok, will do. No other feedback for the rest of the series ? (just to know if I send a v3 or If I wait a bit...) Thanks, Romain
Re: [PATCH v2 1/6] serial: imx: only set DMA rx-ing when DMA starts
Hello, On Wed, Jul 05, 2017 at 03:07:01PM +0200, Romain Perier wrote: > From: Nandor Han> > Avoid the situation when `dma_is_rxing` could incorrectly signal that > DMA RX channel is receiving data in case DMA preparation or sg mapping > fails. > > This commit fixes the issues by moving the assignment of dma_is_rxing > out of imx_disable_rx_int(), then the variable is set to 1 from > start_rx_dma() only when the preparation is correctly done. I'd write: There are a few issues with setting dma_is_rxing to 1 in imx_disable_rx_int: - Currently always after imx_disable_rx_int() the function start_rx_dma() is called. This dependency isn't obvious though. - start_rx_dma() does error checking and might exit without enabling DMA but keeping dma_is_rxing 1. So the more natural place for setting dma_is_rxing to 1 is in start_rx_dma after all errors are checked. If you use this, there is nothing left of Nandor Han's patch and you can drop his authorship. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König| Industrial Linux Solutions | http://www.pengutronix.de/ |
Re: [PATCH v2 1/6] serial: imx: only set DMA rx-ing when DMA starts
Hello, On Wed, Jul 05, 2017 at 03:07:01PM +0200, Romain Perier wrote: > From: Nandor Han > > Avoid the situation when `dma_is_rxing` could incorrectly signal that > DMA RX channel is receiving data in case DMA preparation or sg mapping > fails. > > This commit fixes the issues by moving the assignment of dma_is_rxing > out of imx_disable_rx_int(), then the variable is set to 1 from > start_rx_dma() only when the preparation is correctly done. I'd write: There are a few issues with setting dma_is_rxing to 1 in imx_disable_rx_int: - Currently always after imx_disable_rx_int() the function start_rx_dma() is called. This dependency isn't obvious though. - start_rx_dma() does error checking and might exit without enabling DMA but keeping dma_is_rxing 1. So the more natural place for setting dma_is_rxing to 1 is in start_rx_dma after all errors are checked. If you use this, there is nothing left of Nandor Han's patch and you can drop his authorship. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König| Industrial Linux Solutions | http://www.pengutronix.de/ |