Re: [PATCH v13 0/6] Cavium MMC driver
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
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
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
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
On 30 March 2017 at 17:31, Jan Glauberwrote: > 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
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 >
[PATCH v13 0/6] Cavium MMC driver
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 --- 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
[PATCH v13 0/6] Cavium MMC driver
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 --- 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