Re: [PATCH v13 0/6] Cavium MMC driver

2017-04-12 Thread Steven J. Hill
On 04/12/2017 05:37 PM, Aaro Koskinen wrote:
> 
> Please rather post a new version that also works with OCTEON. I don't
> think a partial driver should be merged; originally this driver was
> working fine with OCTEON so there should be no issue supporting that?!
>
Hey Aaro.

The difference is that Jan added scatter/gather support to take
advantage of the DMA FIFOs on Thunder. The same FIFOs exist on
Octeon parts 73xx, 76xx, 78xx, CNF73xx, and CNF75xx to name a
few. In order to support those, portions of the Octeon platform
code had to be rewritten as well as minor changes in the core
Cavium driver code. I have a fully tested patchset that cleanly
applies on top of Jan's v13 driver. My personal preference is
for the Octeon code to be a separate patch. I will defer that
decision to Jan, David and the MMC maintainers.

Steve


Re: [PATCH v13 0/6] Cavium MMC driver

2017-04-12 Thread Steven J. Hill
On 04/12/2017 05:37 PM, Aaro Koskinen wrote:
> 
> Please rather post a new version that also works with OCTEON. I don't
> think a partial driver should be merged; originally this driver was
> working fine with OCTEON so there should be no issue supporting that?!
>
Hey Aaro.

The difference is that Jan added scatter/gather support to take
advantage of the DMA FIFOs on Thunder. The same FIFOs exist on
Octeon parts 73xx, 76xx, 78xx, CNF73xx, and CNF75xx to name a
few. In order to support those, portions of the Octeon platform
code had to be rewritten as well as minor changes in the core
Cavium driver code. I have a fully tested patchset that cleanly
applies on top of Jan's v13 driver. My personal preference is
for the Octeon code to be a separate patch. I will defer that
decision to Jan, David and the MMC maintainers.

Steve


Re: [PATCH v13 0/6] Cavium MMC driver

2017-04-12 Thread Aaro Koskinen
Hi,

On Thu, Mar 30, 2017 at 05:31:22PM +0200, Jan Glauber wrote:
> Hi Ulf,
> 
> we have a bug on some Octeon plattforms so I removed the Octeon driver for now
> (but kept the DT bindings for it). We'll submit the Octeon driver later when
> we've fixed the issue.

Please rather post a new version that also works with OCTEON. I don't
think a partial driver should be merged; originally this driver was
working fine with OCTEON so there should be no issue supporting that?!

A.


Re: [PATCH v13 0/6] Cavium MMC driver

2017-04-12 Thread Aaro Koskinen
Hi,

On Thu, Mar 30, 2017 at 05:31:22PM +0200, Jan Glauber wrote:
> Hi Ulf,
> 
> we have a bug on some Octeon plattforms so I removed the Octeon driver for now
> (but kept the DT bindings for it). We'll submit the Octeon driver later when
> we've fixed the issue.

Please rather post a new version that also works with OCTEON. I don't
think a partial driver should be merged; originally this driver was
working fine with OCTEON so there should be no issue supporting that?!

A.


Re: [PATCH v13 0/6] Cavium MMC driver

2017-04-10 Thread Ulf Hansson
On 30 March 2017 at 17:31, Jan Glauber  wrote:
> Hi Ulf,
>
> we have a bug on some Octeon plattforms so I removed the Octeon driver for now
> (but kept the DT bindings for it). We'll submit the Octeon driver later when
> we've fixed the issue.
>
> Changes to v12:
> - dts: use generic "mmc-slot" for slots
> - dts: mention deprecated power gpio
> - Rename driver files
> - Use hardcoded voltage instead of mmc_of_parse_voltage()
> - Phase out gpiod usage from cavium.c
> - Change DT property scan order
> - Clean up bus_width setting
> - Use GPIOLIB depend for ThunderX driver
> - ThunderX: Remove TODO
> - ThunderX: Move platform pointers to host struct
> - Check slot node compatible string
> - Remove gpio includes from ThunderX driver
>
> Changes to v11:
> - Fix build error and kill IS_ENABLED() by using an offset per arch
> - Added Rob's ACK for the DT bindings
> - Removed obsolete voltage-ranges from DT example
> - Replace pci_msix_enable() with pci_alloc_irq_vectors()
> - Remove superior hardware comment
> - Prefixed probe/removal functions with of_
> - Merged OF parsing code into one function, change order of property
>   lookup and simplify code
> - Removed slot->sclock, no need to store it there
> - Substituted now invisible mmc_card_blockaddr()
> - Use new 3.3V CAP for DDR
> - Update Copyright
> - Allow set_ios to set clock to zero
> - Converted bitfields to shift-n-mask logic
> - Improved error codes after receiving error interrupt
> - Added ifndef guards to header
> - Add meaningful interrupt names
> - Remove stale mmc_host_ops prototype
>
> Changes to v10:
> - Renamed files to get a common prefix
> - Select GPIO driver in Kconfig
> - Support a fixed regulator
> - dts: fixed quotes and re-ordered example
> - Use new MMC_CAP_3_3V_DDR instead of 1_8V hack
> - Use blksz instead of now internal mmc_card_blockaddr
> - Added some maintainers
>
> Previous versions:
> v10: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1295316.html
> v9:  http://marc.info/?l=linux-mmc=147431759215233=2
>
> Cheers,
> Jan

Thanks, applied for next! Amending patch 3 with the fix you posted on top.

Kind regards
Uffe

>
> ---
>
>
> Jan Glauber (6):
>   dt-bindings: mmc: Add Cavium SOCs MMC bindings
>   mmc: cavium: Add core MMC driver for Cavium SOCs
>   mmc: cavium: Add MMC PCI driver for ThunderX SOCs
>   mmc: cavium: Add scatter-gather DMA support
>   mmc: cavium: Support DDR mode for eMMC devices
>   MAINTAINERS: Add entry for Cavium MMC driver
>
>  .../devicetree/bindings/mmc/cavium-mmc.txt |   57 +
>  MAINTAINERS|8 +
>  drivers/mmc/host/Kconfig   |   10 +
>  drivers/mmc/host/Makefile  |2 +
>  drivers/mmc/host/cavium-thunderx.c |  198 
>  drivers/mmc/host/cavium.c  | 1090 
> 
>  drivers/mmc/host/cavium.h  |  215 
>  7 files changed, 1580 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mmc/cavium-mmc.txt
>  create mode 100644 drivers/mmc/host/cavium-thunderx.c
>  create mode 100644 drivers/mmc/host/cavium.c
>  create mode 100644 drivers/mmc/host/cavium.h
>
> --
> 2.9.0.rc0.21.g322
>


Re: [PATCH v13 0/6] Cavium MMC driver

2017-04-10 Thread Ulf Hansson
On 30 March 2017 at 17:31, Jan Glauber  wrote:
> Hi Ulf,
>
> we have a bug on some Octeon plattforms so I removed the Octeon driver for now
> (but kept the DT bindings for it). We'll submit the Octeon driver later when
> we've fixed the issue.
>
> Changes to v12:
> - dts: use generic "mmc-slot" for slots
> - dts: mention deprecated power gpio
> - Rename driver files
> - Use hardcoded voltage instead of mmc_of_parse_voltage()
> - Phase out gpiod usage from cavium.c
> - Change DT property scan order
> - Clean up bus_width setting
> - Use GPIOLIB depend for ThunderX driver
> - ThunderX: Remove TODO
> - ThunderX: Move platform pointers to host struct
> - Check slot node compatible string
> - Remove gpio includes from ThunderX driver
>
> Changes to v11:
> - Fix build error and kill IS_ENABLED() by using an offset per arch
> - Added Rob's ACK for the DT bindings
> - Removed obsolete voltage-ranges from DT example
> - Replace pci_msix_enable() with pci_alloc_irq_vectors()
> - Remove superior hardware comment
> - Prefixed probe/removal functions with of_
> - Merged OF parsing code into one function, change order of property
>   lookup and simplify code
> - Removed slot->sclock, no need to store it there
> - Substituted now invisible mmc_card_blockaddr()
> - Use new 3.3V CAP for DDR
> - Update Copyright
> - Allow set_ios to set clock to zero
> - Converted bitfields to shift-n-mask logic
> - Improved error codes after receiving error interrupt
> - Added ifndef guards to header
> - Add meaningful interrupt names
> - Remove stale mmc_host_ops prototype
>
> Changes to v10:
> - Renamed files to get a common prefix
> - Select GPIO driver in Kconfig
> - Support a fixed regulator
> - dts: fixed quotes and re-ordered example
> - Use new MMC_CAP_3_3V_DDR instead of 1_8V hack
> - Use blksz instead of now internal mmc_card_blockaddr
> - Added some maintainers
>
> Previous versions:
> v10: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1295316.html
> v9:  http://marc.info/?l=linux-mmc=147431759215233=2
>
> Cheers,
> Jan

Thanks, applied for next! Amending patch 3 with the fix you posted on top.

Kind regards
Uffe

>
> ---
>
>
> Jan Glauber (6):
>   dt-bindings: mmc: Add Cavium SOCs MMC bindings
>   mmc: cavium: Add core MMC driver for Cavium SOCs
>   mmc: cavium: Add MMC PCI driver for ThunderX SOCs
>   mmc: cavium: Add scatter-gather DMA support
>   mmc: cavium: Support DDR mode for eMMC devices
>   MAINTAINERS: Add entry for Cavium MMC driver
>
>  .../devicetree/bindings/mmc/cavium-mmc.txt |   57 +
>  MAINTAINERS|8 +
>  drivers/mmc/host/Kconfig   |   10 +
>  drivers/mmc/host/Makefile  |2 +
>  drivers/mmc/host/cavium-thunderx.c |  198 
>  drivers/mmc/host/cavium.c  | 1090 
> 
>  drivers/mmc/host/cavium.h  |  215 
>  7 files changed, 1580 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mmc/cavium-mmc.txt
>  create mode 100644 drivers/mmc/host/cavium-thunderx.c
>  create mode 100644 drivers/mmc/host/cavium.c
>  create mode 100644 drivers/mmc/host/cavium.h
>
> --
> 2.9.0.rc0.21.g322
>