qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: Alistair Francis <alistair.francis@xilinx.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>
Cc: "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	qemu-devel@nongnu.org,
	"Edgar E . Iglesias" <edgar.iglesias@xilinx.com>,
	"Sai Pavan Boddu" <saipava@xilinx.com>,
	"Clement Deschamps" <clement.deschamps@antfield.fr>,
	"Jean-Christophe Dubois" <jcd@tribudubois.net>,
	"Grégory Estrade" <gregory.estrade@gmail.com>,
	"Krzysztof Kozlowski" <krzk@kernel.org>,
	"Andrew Baumann" <Andrew.Baumann@microsoft.com>,
	"Prasad J Pandit" <pjp@fedoraproject.org>,
	qemu-arm@nongnu.org, "Eduardo Habkost" <ehabkost@redhat.com>,
	"Peter Crosthwaite" <crosthwaite.peter@gmail.com>
Subject: [Qemu-devel] [PATCH v5 00/31] SDHCI: make it abstract, add inherited devices, add qtests
Date: Mon,  8 Jan 2018 12:42:32 -0300	[thread overview]
Message-ID: <20180108154303.6522-1-f4bug@amsat.org> (raw)

Since v4 ("SDHCI: add qtests and fix few issues"):
- spec_version default to v2 (current behaviour)
- addressed Alistair review (no v1, tell user about valid version)
- generic-sdhci is now abstract, added more sdhci device following Linux
  Device Tree names:
  - hw/arm/fsl-imx6: "fsl,imx6q-usdhc"
  - hw/arm/exynos4210: "samsung,exynos4210-dw-mshc"
  - hw/arm/bcm2835_peripherals: "brcm,bcm2835-sdhci"
  - hw/arm/xilinx_zynq: "arasan,sdhci-4.9a"
  - hw/arm/xilinx_zynqmp: "arasan,sdhci-8.9a"

Since v3:
- no change, but split back in 2 series, 1st part is "SDHCI: housekeeping v5",
Based-on: 20180103180805.18140-18-f4bug@amsat.org

Since v2:
- more detailed 'capabilities', all boards converted to use these properties
- since all qtests pass, removed the previous 'capareg' property
- added Stefan/Alistair R-b
- corrected 'access' LED behavior (Alistair's review)
- more uses of the registerfields API
- remove some dead code
- cosmetix:
  - added more comments
  - renamed a pair of registers
  - reordered few struct members

Note, the bcm2835 seems to have 1KB minimum blocksize, however the current
model is implemented with 512B. I didn't change the current value.

Since v1:
- addressed Alistair Francis review comments, added some R-b
- only move register defines to "sd-internal.h"
- fixed deposit64() arguments
- dropped unuseful s->fifo_buffer = NULL
- use a qemu_irq for the LED, restrict the logging to ON/OFF
- fixed a trace format string error
- included Andrey Smirnov ACMD12ERRSTS write patch
- dropped few unuseful patches, and separate the Python polemical ones for later

>From the "SDHCI housekeeping" series:
- 1: we restrict part of "sd/sd.h" into local "sd-internal.h",
- 2,3: we somehow beautiful the code, no logical changes,
- 4-7: we refactor the common sysbus/pci qdev code,
- 8-10: we add plenty of trace events which will result useful later,
- 11: we finally expose a "dma-memory" property.
>From the "SDHCI: add a qtest and fix few issues" series:
- 12,13: fix registers
- 14,15: boards can specify which SDHCI Spec to use (v2 and v3 so far)
- 15-20: HCI qtest

Regards,

Phil.

[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/31:[0006] [FC] 'sdhci: add a spec_version property'
002/31:[----] [-C] 'sdhci: add basic Spec v1 capabilities'
003/31:[----] [-C] 'sdhci: add max-block-length capability (Spec v1)'
004/31:[0002] [FC] 'sdhci: add clock capabilities (Spec v1)'
005/31:[----] [--] 'sdhci: add DMA and 64-bit capabilities (Spec v2)'
006/31:[----] [--] 'sdhci: add BLOCK_SIZE_MASK for DMA'
007/31:[----] [--] 'sdhci: Fix 64-bit ADMA2'
008/31:[down] 'hw/sd: clean/reorder the Makefile adding few comments'
009/31:[down] 'sdhci: add a common class'
010/31:[down] 'sdhci: add a Designware/Samsung host controller'
011/31:[down] 'hw/arm/exynos4210: use the "samsung,exynos4210-dw-mshc" device'
012/31:[down] 'sdhci: add the generic Arasan SDHCI 4.9a PHY controller'
013/31:[down] 'hw/arm/xilinx_zynq: use the "arasan,sdhci-4.9a" device'
014/31:[----] [--] 'sdhci: add qtest to check the SD Spec version'
015/31:[----] [--] 'sdhci: check Spec v2 capabilities qtest'
016/31:[0007] [FC] 'sdhci: add v3 capabilities'
017/31:[----] [--] 'sdhci: rename the hostctl1 register'
018/31:[down] 'sdhci: add the Broadcom BCM2835 SDHCI controller'
019/31:[down] 'hw/arm/bcm2835_peripherals: use the "brcm,bcm2835-sdhci" device'
020/31:[down] 'sdhci: add the Freescale controller for i.MX'
021/31:[down] 'hw/arm/fsl-imx6: use the "fsl,imx6q-usdhc" controller'
022/31:[down] 'sdhci: add the generic Arasan SDHCI 8.9a PHY'
023/31:[down] 'hw/arm/xilinx_zynqmp: use the "arasan,sdhci-8.9a" device'
024/31:[down] 'sdhci: let the SYSBUS_SDHCI type be abstract'
025/31:[----] [--] 'sdhci: check Spec v3 capabilities qtest'
026/31:[----] [-C] 'sdhci: remove the deprecated 'capareg' property'
027/31:[----] [--] 'sdhci: add check_capab_readonly() qtest'
028/31:[----] [--] 'sdhci: add a check_capab_baseclock() qtest'
029/31:[----] [--] 'sdhci: add a check_capab_sdma() qtest'
030/31:[----] [--] 'sdhci: add a check_capab_v3() qtest'
031/31:[----] [--] 'sdhci: add Spec v4.2 register definitions'

Philippe Mathieu-Daudé (30):
  sdhci: add a spec_version property
  sdhci: add basic Spec v1 capabilities
  sdhci: add max-block-length capability (Spec v1)
  sdhci: add clock capabilities (Spec v1)
  sdhci: add DMA and 64-bit capabilities (Spec v2)
  sdhci: add BLOCK_SIZE_MASK for DMA
  hw/sd: clean/reorder the Makefile adding few comments
  sdhci: add a common class
  sdhci: add a Designware/Samsung host controller
  hw/arm/exynos4210: use the "samsung,exynos4210-dw-mshc" device
  sdhci: add the generic Arasan SDHCI 4.9a PHY controller
  hw/arm/xilinx_zynq: use the "arasan,sdhci-4.9a" device
  sdhci: add qtest to check the SD Spec version
  sdhci: check Spec v2 capabilities qtest
  sdhci: add v3 capabilities
  sdhci: rename the hostctl1 register
  sdhci: add the Broadcom BCM2835 SDHCI controller
  hw/arm/bcm2835_peripherals: use the "brcm,bcm2835-sdhci" device
  sdhci: add the Freescale controller for i.MX
  hw/arm/fsl-imx6: use the "fsl,imx6q-usdhc" controller
  sdhci: add the generic Arasan SDHCI 8.9a PHY
  hw/arm/xilinx_zynqmp: use the "arasan,sdhci-8.9a" device
  sdhci: let the SYSBUS_SDHCI type be abstract
  sdhci: check Spec v3 capabilities qtest
  sdhci: remove the deprecated 'capareg' property
  sdhci: add check_capab_readonly() qtest
  sdhci: add a check_capab_baseclock() qtest
  sdhci: add a check_capab_sdma() qtest
  sdhci: add a check_capab_v3() qtest
  sdhci: add Spec v4.2 register definitions

Sai Pavan Boddu (1):
  sdhci: Fix 64-bit ADMA2

 include/hw/sd/sdhci.h        |  32 +++++-
 hw/sd/sdhci-internal.h       |  70 +++++++++++--
 hw/arm/bcm2835_peripherals.c |  19 +---
 hw/arm/exynos4210.c          |  12 +--
 hw/arm/fsl-imx6.c            |   2 +-
 hw/arm/xilinx_zynq.c         |  41 +++-----
 hw/arm/xlnx-zynqmp.c         |   2 +-
 hw/sd/arasan_sdhci.c         | 124 ++++++++++++++++++++++
 hw/sd/bcm2835_sdhci.c        |  77 ++++++++++++++
 hw/sd/dw-mshc.c              |  64 ++++++++++++
 hw/sd/fsl-sdhc.c             |  58 +++++++++++
 hw/sd/sdhci.c                | 240 ++++++++++++++++++++++++++-----------------
 hw/sd/Makefile.objs          |  14 ++-
 tests/sdhci-test.c           | 177 +++++++++++++++++++++++++++++++
 tests/Makefile.include       |   3 +
 15 files changed, 774 insertions(+), 161 deletions(-)
 create mode 100644 hw/sd/arasan_sdhci.c
 create mode 100644 hw/sd/bcm2835_sdhci.c
 create mode 100644 hw/sd/dw-mshc.c
 create mode 100644 hw/sd/fsl-sdhc.c
 create mode 100644 tests/sdhci-test.c

-- 
2.15.1

             reply	other threads:[~2018-01-08 15:43 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-08 15:42 Philippe Mathieu-Daudé [this message]
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 01/31] sdhci: add a spec_version property Philippe Mathieu-Daudé
2018-01-08 21:41   ` Alistair Francis
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 02/31] sdhci: add basic Spec v1 capabilities Philippe Mathieu-Daudé
2018-01-08 22:00   ` Alistair Francis
2018-01-08 22:33     ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 03/31] sdhci: add max-block-length capability (Spec v1) Philippe Mathieu-Daudé
2018-01-08 22:20   ` Alistair Francis
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 04/31] sdhci: add clock capabilities " Philippe Mathieu-Daudé
2018-01-08 22:22   ` Alistair Francis
2018-01-08 22:35     ` Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 05/31] sdhci: add DMA and 64-bit capabilities (Spec v2) Philippe Mathieu-Daudé
2018-01-09 21:53   ` Alistair Francis
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 07/31] sdhci: Fix 64-bit ADMA2 Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 08/31] hw/sd: clean/reorder the Makefile adding few comments Philippe Mathieu-Daudé
2018-01-08 21:53   ` Alistair Francis
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 09/31] sdhci: add a common class Philippe Mathieu-Daudé
2018-01-09 21:54   ` Alistair Francis
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 10/31] sdhci: add a Designware/Samsung host controller Philippe Mathieu-Daudé
2018-01-09 23:14   ` Alistair Francis
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 11/31] hw/arm/exynos4210: use the "samsung, exynos4210-dw-mshc" device Philippe Mathieu-Daudé
2018-01-09 23:18   ` Alistair Francis
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 12/31] sdhci: add the generic Arasan SDHCI 4.9a PHY controller Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 13/31] hw/arm/xilinx_zynq: use the "arasan, sdhci-4.9a" device Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 14/31] sdhci: add qtest to check the SD Spec version Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 15/31] sdhci: check Spec v2 capabilities qtest Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 16/31] sdhci: add v3 capabilities Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 17/31] sdhci: rename the hostctl1 register Philippe Mathieu-Daudé
2018-01-08 21:54   ` Alistair Francis
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 18/31] sdhci: add the Broadcom BCM2835 SDHCI controller Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 19/31] hw/arm/bcm2835_peripherals: use the "brcm, bcm2835-sdhci" device Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 20/31] sdhci: add the Freescale controller for i.MX Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 21/31] hw/arm/fsl-imx6: use the "fsl, imx6q-usdhc" controller Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 22/31] sdhci: add the generic Arasan SDHCI 8.9a PHY Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 23/31] hw/arm/xilinx_zynqmp: use the "arasan, sdhci-8.9a" device Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 24/31] sdhci: let the SYSBUS_SDHCI type be abstract Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 25/31] sdhci: check Spec v3 capabilities qtest Philippe Mathieu-Daudé
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 26/31] sdhci: remove the deprecated 'capareg' property Philippe Mathieu-Daudé
2018-01-09 22:00   ` Alistair Francis
2018-01-08 15:42 ` [Qemu-devel] [PATCH v5 27/31] sdhci: add check_capab_readonly() qtest Philippe Mathieu-Daudé
2018-01-08 15:43 ` [Qemu-devel] [PATCH v5 28/31] sdhci: add a check_capab_baseclock() qtest Philippe Mathieu-Daudé
2018-01-08 15:43 ` [Qemu-devel] [PATCH v5 29/31] sdhci: add a check_capab_sdma() qtest Philippe Mathieu-Daudé
2018-01-08 15:43 ` [Qemu-devel] [PATCH v5 30/31] sdhci: add a check_capab_v3() qtest Philippe Mathieu-Daudé
2018-01-08 15:43 ` [Qemu-devel] [PATCH v5 31/31] sdhci: add Spec v4.2 register definitions Philippe Mathieu-Daudé
2018-01-18 18:21   ` Alistair Francis

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=20180108154303.6522-1-f4bug@amsat.org \
    --to=f4bug@amsat.org \
    --cc=Andrew.Baumann@microsoft.com \
    --cc=alistair.francis@xilinx.com \
    --cc=andrew.smirnov@gmail.com \
    --cc=clement.deschamps@antfield.fr \
    --cc=crosthwaite.peter@gmail.com \
    --cc=edgar.iglesias@xilinx.com \
    --cc=ehabkost@redhat.com \
    --cc=gregory.estrade@gmail.com \
    --cc=i.mitsyanko@gmail.com \
    --cc=jcd@tribudubois.net \
    --cc=krzk@kernel.org \
    --cc=peter.maydell@linaro.org \
    --cc=pjp@fedoraproject.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=saipava@xilinx.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).