All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: <vinod.koul@intel.com>, <tony@atomide.com>
Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
	linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-spi@vger.kernel.org, linux-crypto@vger.kernel.org,
	linux-serial@vger.kernel.org, dmaengine@vger.kernel.org,
	dan.j.williams@intel.com, linux-omap@vger.kernel.org,
	linux-media@vger.kernel.org
Subject: [PATCH 00/13] dmaengine + omap drivers: support fro deferred probing
Date: Tue, 26 May 2015 16:25:55 +0300	[thread overview]
Message-ID: <1432646768-12532-1-git-send-email-peter.ujfalusi@ti.com> (raw)

Hi,

Vinod: as I promised: https://lkml.org/lkml/2015/5/8/80

With this series it is possible to put omap-dma or edma to even late_initcall
and the drivers will figure out the load order fine(ish).
We need to add dma_request_slave_channel_compat_reason() which is the equivalent
of dma_request_slave_channel_compat() but returning with error codes in case of
failure instead of NULL pointer.
The rest of the series just converts the OMAP/daVinci drivers to use this new
function to get the channel(s) and to handle the deferred probing.

I did not moved the omap-dma, edma or ti-dma-crossbar from arch_initcall. If I
do so UART will only comes up after the DMA driver is loaded since we are using,
or going to use 8250 with DAM support. This delays the kernel messages. Other
issue is the MMC/SD cards. On  board with eMMC and SD card slot the mmcblk0/1
might get swapped due to different probe order for the MMC/SD drivers. For
example in omap5-uevm:
1. omap-dma in arch_initcall the SD card is mmcblk1 (4809c000.mmc) and eMMC is
mmcblk0 (480b4000.mmc)
2. omap-dma in late_initcall the SD card is mmcblk0 (4809c000.mmc) and eMMC is
mmcblk1 (480b4000.mmc)

Because in case 1 the 4809c000.mmc got deferred by missing regulator so
480b4000.mmc got registered first. In case 2 both deferring because of DMA and
at the end 4809c000.mmc get registered first. So far I have not found a way to
bind mmcblk0/1 to a specific node...

Regards,
Peter
---
Peter Ujfalusi (13):
  dmaengine: of_dma: Correct return code for
    of_dma_request_slave_channel in case !CONFIG_OF
  dmaengine: Introduce dma_request_slave_channel_compat_reason()
  serial: 8250_dma: Support for deferred probing when requesting DMA
    channels
  mmc: omap_hsmmc: No need to check DMA channel validity at module
    remove
  mmc: omap_hsmmc: Support for deferred probing when requesting DMA
    channels
  mmc: omap: Support for deferred probing when requesting DMA channels
  mmc: davinci_mmc: Support for deferred probing when requesting DMA
    channels
  crypto: omap-aes - Support for deferred probing when requesting DMA
    channels
  crypto: omap-des - Support for deferred probing when requesting DMA
    channels
  crypto: omap-sham - Support for deferred probing when requesting DMA
    channel
  spi: omap2-mcspi: Support for deferred probing when requesting DMA
    channels
  [media] omap3isp: Support for deferred probing when requesting DMA
    channel
  ASoC: omap-pcm: Switch to use
    dma_request_slave_channel_compat_reason()

 drivers/crypto/omap-aes.c                 | 38 ++++++++++++++++---------------
 drivers/crypto/omap-des.c                 | 38 ++++++++++++++++---------------
 drivers/crypto/omap-sham.c                | 15 ++++++++----
 drivers/media/platform/omap3isp/isphist.c | 12 +++++++---
 drivers/mmc/host/davinci_mmc.c            | 26 ++++++++++++---------
 drivers/mmc/host/omap.c                   | 20 ++++++++++++----
 drivers/mmc/host/omap_hsmmc.c             | 28 ++++++++++-------------
 drivers/spi/spi-omap2-mcspi.c             | 36 +++++++++++++++++------------
 drivers/tty/serial/8250/8250_dma.c        | 18 +++++++--------
 include/linux/dmaengine.h                 | 22 ++++++++++++++++++
 include/linux/of_dma.h                    |  2 +-
 sound/soc/omap/omap-pcm.c                 | 16 ++++++++-----
 12 files changed, 164 insertions(+), 107 deletions(-)

-- 
2.3.5

WARNING: multiple messages have this Message-ID (diff)
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: <vinod.koul@intel.com>, <tony@atomide.com>
Cc: <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<dan.j.williams@intel.com>, <dmaengine@vger.kernel.org>,
	<linux-serial@vger.kernel.org>, <linux-omap@vger.kernel.org>,
	<linux-mmc@vger.kernel.org>, <linux-crypto@vger.kernel.org>,
	<linux-spi@vger.kernel.org>, <linux-media@vger.kernel.org>,
	<alsa-devel@alsa-project.org>
Subject: [PATCH 00/13] dmaengine + omap drivers: support fro deferred probing
Date: Tue, 26 May 2015 16:25:55 +0300	[thread overview]
Message-ID: <1432646768-12532-1-git-send-email-peter.ujfalusi@ti.com> (raw)

Hi,

Vinod: as I promised: https://lkml.org/lkml/2015/5/8/80

With this series it is possible to put omap-dma or edma to even late_initcall
and the drivers will figure out the load order fine(ish).
We need to add dma_request_slave_channel_compat_reason() which is the equivalent
of dma_request_slave_channel_compat() but returning with error codes in case of
failure instead of NULL pointer.
The rest of the series just converts the OMAP/daVinci drivers to use this new
function to get the channel(s) and to handle the deferred probing.

I did not moved the omap-dma, edma or ti-dma-crossbar from arch_initcall. If I
do so UART will only comes up after the DMA driver is loaded since we are using,
or going to use 8250 with DAM support. This delays the kernel messages. Other
issue is the MMC/SD cards. On  board with eMMC and SD card slot the mmcblk0/1
might get swapped due to different probe order for the MMC/SD drivers. For
example in omap5-uevm:
1. omap-dma in arch_initcall the SD card is mmcblk1 (4809c000.mmc) and eMMC is
mmcblk0 (480b4000.mmc)
2. omap-dma in late_initcall the SD card is mmcblk0 (4809c000.mmc) and eMMC is
mmcblk1 (480b4000.mmc)

Because in case 1 the 4809c000.mmc got deferred by missing regulator so
480b4000.mmc got registered first. In case 2 both deferring because of DMA and
at the end 4809c000.mmc get registered first. So far I have not found a way to
bind mmcblk0/1 to a specific node...

Regards,
Peter
---
Peter Ujfalusi (13):
  dmaengine: of_dma: Correct return code for
    of_dma_request_slave_channel in case !CONFIG_OF
  dmaengine: Introduce dma_request_slave_channel_compat_reason()
  serial: 8250_dma: Support for deferred probing when requesting DMA
    channels
  mmc: omap_hsmmc: No need to check DMA channel validity at module
    remove
  mmc: omap_hsmmc: Support for deferred probing when requesting DMA
    channels
  mmc: omap: Support for deferred probing when requesting DMA channels
  mmc: davinci_mmc: Support for deferred probing when requesting DMA
    channels
  crypto: omap-aes - Support for deferred probing when requesting DMA
    channels
  crypto: omap-des - Support for deferred probing when requesting DMA
    channels
  crypto: omap-sham - Support for deferred probing when requesting DMA
    channel
  spi: omap2-mcspi: Support for deferred probing when requesting DMA
    channels
  [media] omap3isp: Support for deferred probing when requesting DMA
    channel
  ASoC: omap-pcm: Switch to use
    dma_request_slave_channel_compat_reason()

 drivers/crypto/omap-aes.c                 | 38 ++++++++++++++++---------------
 drivers/crypto/omap-des.c                 | 38 ++++++++++++++++---------------
 drivers/crypto/omap-sham.c                | 15 ++++++++----
 drivers/media/platform/omap3isp/isphist.c | 12 +++++++---
 drivers/mmc/host/davinci_mmc.c            | 26 ++++++++++++---------
 drivers/mmc/host/omap.c                   | 20 ++++++++++++----
 drivers/mmc/host/omap_hsmmc.c             | 28 ++++++++++-------------
 drivers/spi/spi-omap2-mcspi.c             | 36 +++++++++++++++++------------
 drivers/tty/serial/8250/8250_dma.c        | 18 +++++++--------
 include/linux/dmaengine.h                 | 22 ++++++++++++++++++
 include/linux/of_dma.h                    |  2 +-
 sound/soc/omap/omap-pcm.c                 | 16 ++++++++-----
 12 files changed, 164 insertions(+), 107 deletions(-)

-- 
2.3.5


WARNING: multiple messages have this Message-ID (diff)
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: vinod.koul@intel.com, tony@atomide.com
Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
	linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-spi@vger.kernel.org, linux-crypto@vger.kernel.org,
	linux-serial@vger.kernel.org, dmaengine@vger.kernel.org,
	dan.j.williams@intel.com, linux-omap@vger.kernel.org,
	linux-media@vger.kernel.org
Subject: [PATCH 00/13] dmaengine + omap drivers: support fro deferred probing
Date: Tue, 26 May 2015 16:25:55 +0300	[thread overview]
Message-ID: <1432646768-12532-1-git-send-email-peter.ujfalusi@ti.com> (raw)

Hi,

Vinod: as I promised: https://lkml.org/lkml/2015/5/8/80

With this series it is possible to put omap-dma or edma to even late_initcall
and the drivers will figure out the load order fine(ish).
We need to add dma_request_slave_channel_compat_reason() which is the equivalent
of dma_request_slave_channel_compat() but returning with error codes in case of
failure instead of NULL pointer.
The rest of the series just converts the OMAP/daVinci drivers to use this new
function to get the channel(s) and to handle the deferred probing.

I did not moved the omap-dma, edma or ti-dma-crossbar from arch_initcall. If I
do so UART will only comes up after the DMA driver is loaded since we are using,
or going to use 8250 with DAM support. This delays the kernel messages. Other
issue is the MMC/SD cards. On  board with eMMC and SD card slot the mmcblk0/1
might get swapped due to different probe order for the MMC/SD drivers. For
example in omap5-uevm:
1. omap-dma in arch_initcall the SD card is mmcblk1 (4809c000.mmc) and eMMC is
mmcblk0 (480b4000.mmc)
2. omap-dma in late_initcall the SD card is mmcblk0 (4809c000.mmc) and eMMC is
mmcblk1 (480b4000.mmc)

Because in case 1 the 4809c000.mmc got deferred by missing regulator so
480b4000.mmc got registered first. In case 2 both deferring because of DMA and
at the end 4809c000.mmc get registered first. So far I have not found a way to
bind mmcblk0/1 to a specific node...

Regards,
Peter
---
Peter Ujfalusi (13):
  dmaengine: of_dma: Correct return code for
    of_dma_request_slave_channel in case !CONFIG_OF
  dmaengine: Introduce dma_request_slave_channel_compat_reason()
  serial: 8250_dma: Support for deferred probing when requesting DMA
    channels
  mmc: omap_hsmmc: No need to check DMA channel validity at module
    remove
  mmc: omap_hsmmc: Support for deferred probing when requesting DMA
    channels
  mmc: omap: Support for deferred probing when requesting DMA channels
  mmc: davinci_mmc: Support for deferred probing when requesting DMA
    channels
  crypto: omap-aes - Support for deferred probing when requesting DMA
    channels
  crypto: omap-des - Support for deferred probing when requesting DMA
    channels
  crypto: omap-sham - Support for deferred probing when requesting DMA
    channel
  spi: omap2-mcspi: Support for deferred probing when requesting DMA
    channels
  [media] omap3isp: Support for deferred probing when requesting DMA
    channel
  ASoC: omap-pcm: Switch to use
    dma_request_slave_channel_compat_reason()

 drivers/crypto/omap-aes.c                 | 38 ++++++++++++++++---------------
 drivers/crypto/omap-des.c                 | 38 ++++++++++++++++---------------
 drivers/crypto/omap-sham.c                | 15 ++++++++----
 drivers/media/platform/omap3isp/isphist.c | 12 +++++++---
 drivers/mmc/host/davinci_mmc.c            | 26 ++++++++++++---------
 drivers/mmc/host/omap.c                   | 20 ++++++++++++----
 drivers/mmc/host/omap_hsmmc.c             | 28 ++++++++++-------------
 drivers/spi/spi-omap2-mcspi.c             | 36 +++++++++++++++++------------
 drivers/tty/serial/8250/8250_dma.c        | 18 +++++++--------
 include/linux/dmaengine.h                 | 22 ++++++++++++++++++
 include/linux/of_dma.h                    |  2 +-
 sound/soc/omap/omap-pcm.c                 | 16 ++++++++-----
 12 files changed, 164 insertions(+), 107 deletions(-)

-- 
2.3.5

             reply	other threads:[~2015-05-26 13:25 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-26 13:25 Peter Ujfalusi [this message]
2015-05-26 13:25 ` [PATCH 00/13] dmaengine + omap drivers: support fro deferred probing Peter Ujfalusi
2015-05-26 13:25 ` Peter Ujfalusi
2015-05-26 13:25 ` [PATCH 01/13] dmaengine: of_dma: Correct return code for of_dma_request_slave_channel in case !CONFIG_OF Peter Ujfalusi
2015-05-26 13:25   ` Peter Ujfalusi
2015-05-26 13:25   ` Peter Ujfalusi
2015-05-26 13:25 ` [PATCH 02/13] dmaengine: Introduce dma_request_slave_channel_compat_reason() Peter Ujfalusi
2015-05-26 13:25   ` Peter Ujfalusi
2015-05-26 13:25   ` Peter Ujfalusi
2015-05-29  9:33   ` Vinod Koul
2015-05-29  9:42     ` Geert Uytterhoeven
2015-05-29  9:42       ` Geert Uytterhoeven
2015-05-29 10:18       ` Vinod Koul
2015-05-29 14:32         ` Peter Ujfalusi
2015-05-29 14:32           ` Peter Ujfalusi
2015-06-02 12:55           ` Vinod Koul
2015-06-04 15:58             ` Peter Ujfalusi
2015-06-04 15:58               ` Peter Ujfalusi
2015-06-12 12:58               ` Vinod Koul
2015-06-22 11:31                 ` Peter Ujfalusi
2015-06-22 11:31                   ` Peter Ujfalusi
2015-06-22 11:31                   ` Peter Ujfalusi
2015-06-24 16:24                   ` Vinod Koul
2015-06-25 11:15                     ` Arnd Bergmann
2015-11-18 14:21                     ` Peter Ujfalusi
2015-11-18 14:21                       ` Peter Ujfalusi
2015-11-18 14:21                       ` Peter Ujfalusi
2015-11-18 14:29                       ` Arnd Bergmann
2015-11-18 14:41                         ` Peter Ujfalusi
2015-11-18 14:41                           ` Peter Ujfalusi
2015-11-18 14:41                           ` Peter Ujfalusi
2015-11-18 15:07                           ` Arnd Bergmann
2015-11-18 15:43                             ` Andy Shevchenko
2015-11-18 15:43                               ` Andy Shevchenko
     [not found]                               ` <CAHp75VeZFXp9i_zz7CBkVQVPGQxuzYk9AbWbbbn33r8YX3LCdw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-11-18 15:51                                 ` Arnd Bergmann
2015-11-18 15:51                                   ` Arnd Bergmann
2015-11-18 16:00                                   ` Andy Shevchenko
2015-11-18 16:06                                   ` Vinod Koul
2015-11-18 16:06                                     ` Vinod Koul
2015-11-19 10:34                             ` Peter Ujfalusi
2015-11-19 10:34                               ` Peter Ujfalusi
2015-11-19 11:25                               ` Arnd Bergmann
2015-11-20 10:25                                 ` Peter Ujfalusi
2015-11-20 10:25                                   ` Peter Ujfalusi
2015-11-20 10:58                                   ` Arnd Bergmann
2015-11-20 10:58                                     ` Arnd Bergmann
2015-11-20 12:24                                     ` Andy Shevchenko
2015-11-20 12:24                                       ` Andy Shevchenko
     [not found]                                       ` <CAHp75VdoHqPMNGFfz4mPhX+Lw+vxgiyqFS8j5+kQ9Z9CHt=OTA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-11-20 12:30                                         ` Peter Ujfalusi
2015-11-20 12:30                                           ` Peter Ujfalusi
     [not found]                                           ` <564F1253.4000800-l0cyMroinI0@public.gmane.org>
2015-11-20 14:08                                             ` Andy Shevchenko
2015-11-20 14:08                                               ` Andy Shevchenko
2015-11-20 12:52                                     ` Peter Ujfalusi
2015-11-20 12:52                                       ` Peter Ujfalusi
2015-11-20 12:52                                       ` Peter Ujfalusi
     [not found]                                       ` <564F1773.9030006-l0cyMroinI0@public.gmane.org>
2015-11-20 13:48                                         ` Arnd Bergmann
2015-11-20 13:48                                           ` Arnd Bergmann
2015-11-18 15:46                       ` Andy Shevchenko
2015-11-19 10:36                         ` Peter Ujfalusi
2015-11-19 10:36                           ` Peter Ujfalusi
2015-05-26 13:25 ` [PATCH 04/13] mmc: omap_hsmmc: No need to check DMA channel validity at module remove Peter Ujfalusi
2015-05-26 13:25   ` Peter Ujfalusi
2015-05-26 13:25   ` Peter Ujfalusi
2015-05-28  7:20   ` Ulf Hansson
2015-05-26 13:26 ` [PATCH 05/13] mmc: omap_hsmmc: Support for deferred probing when requesting DMA channels Peter Ujfalusi
2015-05-26 13:26   ` Peter Ujfalusi
2015-05-26 13:26   ` Peter Ujfalusi
     [not found]   ` <1432646768-12532-6-git-send-email-peter.ujfalusi-l0cyMroinI0@public.gmane.org>
2015-05-28  7:23     ` Ulf Hansson
2015-05-28  7:23       ` Ulf Hansson
2015-05-26 13:26 ` [PATCH 06/13] mmc: omap: " Peter Ujfalusi
2015-05-26 13:26   ` Peter Ujfalusi
2015-05-26 13:26 ` [PATCH 07/13] mmc: davinci_mmc: " Peter Ujfalusi
2015-05-26 13:26   ` Peter Ujfalusi
2015-05-26 13:26   ` Peter Ujfalusi
2015-05-28  7:31   ` Ulf Hansson
2015-05-26 13:26 ` [PATCH 08/13] crypto: omap-aes - " Peter Ujfalusi
2015-05-26 13:26   ` Peter Ujfalusi
2015-05-26 13:26 ` [PATCH 10/13] crypto: omap-sham - Support for deferred probing when requesting DMA channel Peter Ujfalusi
2015-05-26 13:26   ` Peter Ujfalusi
2015-05-26 13:26 ` [PATCH 11/13] spi: omap2-mcspi: Support for deferred probing when requesting DMA channels Peter Ujfalusi
2015-05-26 13:26   ` Peter Ujfalusi
2015-05-26 15:27   ` Mark Brown
2015-05-27 11:15     ` Peter Ujfalusi
2015-05-27 11:15       ` Peter Ujfalusi
     [not found]       ` <5565A740.2020707-l0cyMroinI0@public.gmane.org>
2015-05-27 17:48         ` Mark Brown
2015-05-27 17:48           ` Mark Brown
2015-05-27 17:48   ` Mark Brown
2015-05-26 13:26 ` [PATCH 12/13] [media] omap3isp: Support for deferred probing when requesting DMA channel Peter Ujfalusi
2015-05-26 13:26   ` Peter Ujfalusi
2015-11-09 19:50   ` Laurent Pinchart
2015-11-10  7:56     ` Peter Ujfalusi
2015-11-10  7:56       ` Peter Ujfalusi
2015-11-10  7:56       ` Peter Ujfalusi
     [not found] ` <1432646768-12532-1-git-send-email-peter.ujfalusi-l0cyMroinI0@public.gmane.org>
2015-05-26 13:25   ` [PATCH 03/13] serial: 8250_dma: Support for deferred probing when requesting DMA channels Peter Ujfalusi
2015-05-26 13:25     ` Peter Ujfalusi
2015-05-26 13:25     ` Peter Ujfalusi
     [not found]     ` <1432646768-12532-4-git-send-email-peter.ujfalusi-l0cyMroinI0@public.gmane.org>
2015-05-26 14:44       ` Greg Kroah-Hartman
2015-05-26 14:44         ` Greg Kroah-Hartman
2015-05-27 10:41         ` Peter Ujfalusi
2015-05-27 10:41           ` Peter Ujfalusi
2015-05-27 10:41           ` Peter Ujfalusi
2015-05-27 10:41             ` Peter Ujfalusi
2015-05-26 15:08     ` Tony Lindgren
2015-05-26 15:08       ` Tony Lindgren
2015-05-27 10:58       ` Peter Ujfalusi
2015-05-27 10:58         ` Peter Ujfalusi
2015-05-26 13:26   ` [PATCH 09/13] crypto: omap-des - " Peter Ujfalusi
2015-05-26 13:26     ` Peter Ujfalusi
2015-05-26 13:26     ` Peter Ujfalusi
2015-05-26 13:26   ` [PATCH 13/13] ASoC: omap-pcm: Switch to use dma_request_slave_channel_compat_reason() Peter Ujfalusi
2015-05-26 13:26     ` Peter Ujfalusi
2015-05-26 13:26     ` Peter Ujfalusi
2015-05-27 17:48     ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1432646768-12532-1-git-send-email-peter.ujfalusi@ti.com \
    --to=peter.ujfalusi@ti.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=dan.j.williams@intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=tony@atomide.com \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.